1 / 63

CERN-IDE Project

CERN-IDE Project. Boosting your Career. Software Technology. Content. PDEng Program Program Structure The trainees Team formation Editor team Debugger team. PDEng. 3TU SAI (Stan Ackermans Institute) PDEng ( P rofessional D octorate in Eng ineering) TU/e - Software Technology .

wyatt
Download Presentation

CERN-IDE Project

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CERN-IDE Project BoostingyourCareer Software Technology

  2. Content • PDEngProgram • Program Structure • The trainees • Team formation • Editor team • Debugger team

  3. PDEng 3TU • SAI (Stan Ackermans Institute) • PDEng (Professional Doctorate in Engineering) • TU/e - Software Technology • TU/e • TU Delft • University of Twente PDEng Structure Trainees Team E-Team D-Team

  4. PDEng ST (2-years) 1 Year 1 Year In-House On-Site I II III IV V CERN-IDE Project PDEng Structure Trainees Team E-Team D-Team

  5. The Trainees Seventeen Trainees Twelve nationalities Learn Software architecture & design & Project management PDEng Structure Trainees Team E-Team D-Team

  6. Team Formation CERN Project • 1 x Project Manager • 1 x Architect • 1 x Communication Manager/Coordinator • 2 x Workgroups • Editor & Debugger Tarun Miroslav Konstantinos PDEng Structure Trainees Team E-Team D-Team

  7. Editor Team Christos Jonathan (Tester) Abelneh Parisa Surafel Vadim (Tester) Panagiotis (Designer) PDEng Structure Trainees Team E-Team D-Team

  8. Debugger Team Vladimir Fangyi (Tester) Mari Bayasgalan Suleyman (Designer) Mohsen Djohan (Tester) PDEng Structure Trainees Team E-Team D-Team

  9. Content • Context • Scope • Requirements • Time Line • Architecture • Editor • Debugger • Results

  10. Context • WinCC-OA: robust SCADA system • Control scripts • Usability • Distributed windows • Primitive editor • Not-Integrated debugger Context Scope Req… Time Archi… Editor Results Debugger

  11. Scope • Feature rich prototype • Modern IDE features • Expose WinCC-OA debugger • Limited WinCC-OA knowledge Context Scope Req… Time Archi… Editor Results Debugger

  12. Requirements • Integrated windows • Editor related • Smart refactoring • Referencing • Coding standards • Debugger related • Usable debugger (integrated) Context Scope Req… Time Archi… Editor Results Debugger

  13. First Prototype (internal) 25/10/2013 Time Line IDE Evaluation Feature Package 1 18/10/2013 1/11/2013 Feature Package 2 Feature Package 3 15/11/2013 29/11/2013 Context Scope Req… Time Archi… Editor Results Debugger

  14. Architecture • CAFCR • Modeling derives, justifies, needs enables, supports What does Customer need In a Product and Why? Product How Product What Customer How Customer What Customer objectives Application Functional Conceptual Realization Context Scope Req… Time Archi… Editor Results Debugger

  15. Editor • Eclipse based • Xtext • Plugin based • 28+ features of a modern IDE • Integrated windows • Uses eclipse marketplace • Extensible Context Scope Req… Time Archi… Editor Results Debugger

  16. Debugger • Plugin based • Thrift • Connected IDE • Multilevel debugging • Confirms to distributed nature • API based Context Scope Req… Time Archi… Editor Results Debugger

  17. Results • IDE • Feature rich code editor • integrated debugger • POC for IDE for DSL Context Scope Req… Time Archi… Editor Results Debugger

  18. Content • Functional view • Use case model • Requirement model • Quality attributes • Conceptual view • Structural decomposition • Realization view • Design decisions • Derived architecture

  19. Architecture derives, justifies, needs enables, supports What does Customer need In a Product and Why? Product How Product What Customer How Customer What Customer objectives Application Functional Conceptual Realization

  20. Functional View (What?) • Use Case Model • Requirement Model Func. UC Model Req. Model C View Struc. Dec. Func. Dec. R View DD QA Style

  21. Use Case Model • Top Level: • Create a Ctrl Script • Edit a Ctrl Script • Execute a Ctrl Script • Debug a Ctrl Script • Secondary Level • Monitor the Project Log • Open a Ctrl Project • Load from CVS Func. UC Model Req. Model C View Struc. Dec. Func. Dec. R View DD QA Style

  22. Use Case Model Func. UC Model Req. Model C View Struc. Dec. Func. Dec. R View DD QA Style

  23. Requirement Model • Source Code Editor Requirements • Content Assistance • Smart Refactoring • Syntax Coloring • Validation Func. UC Model Req. Model C View Struc. Dec. Func. Dec. R View DD QA Style

  24. Requirement Model Func. UC Model Req. Model C View Struc. Dec. Func. Dec. R View DD QA Style

  25. Conceptual View (How?) • Structural Decomposition • Functional Decomposition Func. UC Model Req. Model C View Struc. Dec. Func. Dec. R View DD QA Style

  26. Structural Decomposition Ctrl Ctrl UI Debugger Plug-in XtextPlug-in Doxygen Plug-in SVN Plug-in GIT Plug-in Eclipse based IDE Eclipse IDE RPC Communication Thrift Interface API Manager WinCC-OA Event Manager Data Manager Control Manager SCADA SCADA Middleware Sensors & Actuators Func. UC Model Req. Model C View Struc. Dec. Func. Dec. R View DD QA Style

  27. Debug a Ctrl Script Edit a Ctrl Script Execute a Ctrl Script Syntax UI Source code editor UI Debug UI Execute UI Log viewer UI Syntax Source code editor Debug Execute Log Viewer Syntax Refactor Syntax Coloring Debug Step Stop Run Content Assistant Validation Breakpoint Continue Parser Lexical Analysis WinCC-OA Communication Datapoint Lifecycle Ctrl Manager Func. UC Model Req. Model C View Struc. Dec. Func. Dec. R View DD QA Style

  28. Realization View (How?) • Early Design Decisions • Quality Attributes • Architecture Style Func. UC Model Req. Model C View Struc. Dec. Func. Dec. R View DD QA Style

  29. Design Decisions • New Debugger vs. Current Debugger • Consistency • Limitations • NetBeans vs. Eclipse • Architecturally Similar • Lower Learning Curve • Third-party Plugin Support • DSL Support (Xtext,IMP) Func. UC Model Req. Model C View Struc. Dec. Func. Dec. R View DD QA Style

  30. Quality Attributes • Usability • Learning System Features (Learning Curve) • Efficient System Usage • System Customization (Perspectives and Views) • Portability • OS Compatibility • Extensibility • Minimal Development Effort • Interoperability • Semantic Understanding Func. UC Model Req. Model C View Struc. Dec. Func. Dec. R View DD QA Style

  31. Architecture Style Func. UC Model Req. Model C View Struc. Dec. Func. Dec. R View DD QA Style

  32. Architecture Eclipse IDE GIT Plug-In UI Workbench Doxygen Plug-In SVN Plug-In WinCC-OA System Xtext Plug-In Debugger Plug-In Func. UC Model Req. Model C View Struc. Dec. Func. Dec. R View DD QA Style

  33. Content • Requirements • Xtext over IMP • Importing Grammar • Feature Classification • Features • Challenges • Future work Eclipse IDE GIT Plug-In UI Workbench Doxygen Plug-In SVN Plug-In Xtext Plug-In

  34. Requirements • Editor that recognizes the Control language • Provides the user with 28 features • User friendly programming environment Requirements Xtext Grammar Features Challenges Future Work

  35. Why Xtext • Better documentation • Features derived from Eclipse • Officially supported tool Requirements Xtext Grammar Features Challenges Future Work

  36. Importing grammar • Use of lex and yacc files  BNF • Transformations ( avoid left recursions ) • Restructuring grammar elements helps feature developers • Cross reference reduces the development time Requirements Xtext Grammar Features Challenges Future Work

  37. Feature Classification Requirements Xtext Grammar Features Challenges Future Work

  38. Auto-complete Function Names Requirements Xtext Grammar Features Challenges Future Work

  39. Rules Based Code Reformatting Requirements Xtext Grammar Features Challenges Future Work

  40. Multiple Variable Definition Requirements Xtext Grammar Features Challenges Future Work

  41. Package Import Requirements Xtext Grammar Features Challenges Future Work

  42. Validation Rules Requirements Xtext Grammar Features Challenges Future Work

  43. Challenges • Many features are grammar related • Conflicts between grammar and feature implementation. • Grammar semantics are useful but take time. • Grammar needed some kind of restructuring. • No support for some non-derived features • Some features developed from scratch. • Only few plugins available. Requirements Xtext Grammar Features Challenges Future Work

  44. Future work • Grammar, Grammar, Grammar! • Semantics instead of validations • Restructuring (optimization) • Optimizing the implementation of some features to achieve better total performance. Requirements Xtext Grammar Features Challenges Future Work

  45. Content Eclipse IDE • Requirements • Expectation • Design decisions • Reality • Modern Debugger • Features • Ctrl Debugger • Challenges • Future work UI Workbench WinCC-OA System Debugger Plug-In

  46. Requirements • Make a functional debugger • Requirements derived from use cases • Execute script • Debug script • Debug perspective • Stack trace • Variable watch • Log viewer Req… Expec… DD Reality Modern Features Ctrl. D. Challenges F. Work

  47. Debugger - expectation Communication framework Eclipse IDE GIT Plug-In UI Workbench Doxygen Plug-In SVN Plug-In WinCC-OA System Xtext Plug-In Debugger Plug-In Req… Expec… DD Reality Modern Features Ctrl. D. Challenges F. Work

  48. Design Decisions • Imp vs. Xtext vs. Independent Plugin • Eclipse debug toolbar API vs. Scratch implementation • API based at WinCC-OA side • Variable watcher: Tree view vs. Table view • Control manager: code vs. command line Req… Expec… DD Reality Modern Features Ctrl. D. Challenges F. Work

  49. Debugger - reality Communication framework Console log WinCC-OA System Debugger Plug-In Variable watcher Parser Stack trace API Manager Ctrl Manager Req… Expec… DD Reality Modern Features Ctrl. D. Challenges F. Work

  50. Modern Debugger WinCC debugger OOTI Craftsmanship Req… Expec… DD Reality Modern Features Ctrl. D. Challenges F. Work

More Related