340 likes | 551 Views
TOPCASED status: component view, industrial usage and future directions. Eclipse Integrated Development Day Berlin. May 9, 2011. Raphael FAUDOU – Atos Origin, TOPCASED consortium. http://www.topcased.org . TOPCASED Simulator Engines. TOPCASED Model editors. TOPCASED Model to Text
E N D
TOPCASED status: component view, industrial usage and future directions Eclipse Integrated Development Day Berlin. May 9, 2011. Raphael FAUDOU – Atos Origin, TOPCASED consortium http://www.topcased.org
TOPCASEDSimulator Engines TOPCASEDModel editors TOPCASEDModel to Text Transformations TOPCASEDModel to ModelTransformations TOPCASEDFormal Checking TOPCASED goal : an open platform to build critical software & systems with a model-based approach Source code, Test code, Documentation, … Configuration, Change and Requirements managementtools communication
Critical systems Strong safety requirements High verification effort (up to 80% of total development effort for A level of DO178 certification…) Requirement traceability (vertical and horizontal) Initial targets were: Specification and architecture at equipment, software and hardware level Detailed system specification for software intensive systems Seamless process and tools from system design to final product Models have now proved their efficiency and are a possible answer to address upper level in any domain (especially with SysML coupled with physical law models) TOPCASED target
TOPCASED chronology Improvements + first documentation generator + Verification (simulation and rules checkers) Model editors (UML,SysML,…) + change management (gPM) + collaborative work Full model process + Model requirement traceability Performance optimizations + Gendoc2 Aerospace Valley French Cluster First ideas Start of experimentations Project kickOff v 1.0 v 2.0 v 3.0 v 4.0 2010 2006 2004 2008 Start of Industrial Deployments Ecore editor contributed to Eclipse foundation TOPCASED Days (1st edition)
TOPCASED current known EcoSystem • 1M Line of Code • Education of Engineer at University/School : more than 500 • Industrial known users (real life projects): Airbus, Astrium, CNES, Eurocontrol, Rockwell&Collins, Eurocopter, Atos Origin, CS • 50 developers • 13 thesis as we known • Strong relationship with Eclipse foundation (see later) • A lot of research projects • Strong relationship between Academics/Industrial/SMEs • Downloads: around 6000/month
Agenda • The TOPCASED initiative – quick overview(5’) • TOPCASED platform and components (15’) • Open integrated platform • Modelling components • Software and System engineering support components • Process & User interaction • TOPCASED industrial usage (10’) • Major captured benefits • Future directions (10’) • Development and Eclipse contribution roadmaps • Long term support and maintenance organization • Q&A (5’)
An open platform based on Eclipse Modelling stack TOPCASED 4.0 branch: an integrated set of components Ecore editor (nowcontributed to Eclipse): editor to define new languages, SDK to define (generate) new model-based editors Model-based editors, model simulation, model checking, code & doc generation Requirement import (doc, excel,…), coverage and traceability Eclipse connector to a generic Process Management (gPM) solution ALM Engine (gPM) Mostly generated editors Formal Proof tools gPM client Doc generator Req engine code generators simulation engine OCL checker AUI Editor UML2 Editor SysML Editor SAM Editor Ecore Editor TOPCASED SDK templates GMF Acceleo/oAW compare UML2 search ATL/QVT Eclipse Modeling Framework Graphical Editor Framework Eclipse RCP 3.6
TOPCASED REQ – import • Create a requirement model from several possible sources • doc, xls, odt, docx, xlsx • plain text: csv • DOORS • Reqtify output • Based on: • Styles recognition • Regular expression recognition • Column number identification Finish and attach to the model
1.D&D 1.2 1.1 TOPCASED REQ – coverage and traceability • Drag an upstream requirement on a model element creates a “current” requirement linked to the upstream one and to the model element
TOPCASED REQ – update and export • Manage upstream document modification (impact analysis on coverage) • Compute at Real Time the coverage rate • Export traceability matrix upstream current Model element
TOPCASED gendoc2 - architecture • TOPCASED GenDoc2 provides a way to generate documentation from models and from template document Template document Extract scripts Acceleo template (M2T) Documentation EMF Models
TOPCASED gendoc2 – usage (tag example) • Table: All table rows found inside <table> tag are merged in a unique table. • Example : <gendoc> … <table> [for (u:UseCase|self.ownedElement)] [/for] </table> …</gendoc> • After generation :
Server slide Client side TOPCASED Simu: execution of automaton • Can execute different kinds of automaton models • model to model transformation that extends the meta model (UML/SysML, SAM, Petri net..) with dynamic features (token, fireable transitions) no code generated: transformation of the dynamic model and interpretation • Multi-instances • Example: TFTP protocol in UML
TOPCASED version management & Team Work • Model are saved as XMI, aka text. • Text-based VCS can be used with models: • CVS (supported by Eclipse) • Subversion (supported by Eclipse) • etc. • TOPCASED Team Work • Export/Import mechanisms • Adapted to complex industrial partnerships
TOPCASED – OCL Tools • OCL Editor and Evaluation tool • Support both model constraints and metrics • OCL checker with rich GUI and CLI for tests automation
TOPCASED – Model Transformation & Scripting • All TOPCASED models can be transformed with EMF-based engines: • M2T: Acceleo, Xpand, JET, etc. • M2M: ATL, Kermeta, etc. • General purpose: Java+EMF • But these technologies are more for tool developers than end users… • So TOPCASED includes also a simple automation technology dedicated to end users: • Based on Javascript or Python • Provide a way to add model macros into Eclipse without Java code or plug-ins • Examples (lots are available): • Change title font of blocks everywhere in a model in one click • Specific requirements analysis reports • Ensure models consistency • Etc.
TOPCASED Quality Insurance • Quality Kit for industrial use (TPC_Kit_2.0.odt) • Specification • Design • Verification (plan and results) • Installation • User guide • Configuration plan • Evaluation results • Classification (results) • Toolkit (>= 80%) • Experimental (< 80%) • Current Toolkit level (TPC 4.0) • UML editor • SysML editor • Gendoc2 • SAM editor • Simulation
TOPCASED – User Interaction • www.topcased.org • Contacts • Tutorials • Documentation • Downloads • gforge.enseeiht.fr • Mailing lists (user, devel) • Trackers (bugs/new features) • CVS / SVN repositories
Agenda • The TOPCASED initiative – quick overview(5’) • TOPCASED platform and components (15’) • Open integrated platform • Modelling components • Software and System engineering support components • Process & User interaction • TOPCASED industrial usage (10’) • Main captured benefits • Future directions (10’) • Development and Eclipse contribution roadmaps • Long term support and maintenance organization • Q&A (5’)
1. Accelerates specification maturation • Helps in validating requirements earlier in the cycle • Requirement ambiguities are revealed through modelling • Allows detection of inconsistencies amongst several inputs • Gives means to check specification completeness • Cover high level requirements is not enough need rules (check “AllPortsConnected”…) • Facilitates agile specification delivery and reviews • Modelling is iterative by nature – just need to export or publish in HTML • Models are more concise than documents and easier to navigate and validate • Remarks can be done directly on diagrams in their context • Facilitates work in parallel • Easier to split the model and work in configuration management than with documents • Gives means to follow specification progress • Queries on the model are more accurate metrics than pure DOORS and Word metrics
2. Saves time with documentation generation • Specification & design : several projects reached 100% of generation • Step1: need to ensure that all dynamic data are available in models • UML or SysML models to represent functional requirements • AUI models to represent screen descriptions • Requirement models for both high level requirements and current requirements • Links between the different models • Decisions (architecture, justifications) to put in models • Step 2: think about factorization and navigation in document • hyperlinks • Step 3: deal with styles and layout in document template • Step 4: industrialize documentation generation in continuous integration • Validation plan: success story with tests cases and traceability • Requires methodology to model test cases and cover requirements
3. Reduces validation efforts with test generation • Validation test generators developed in different domains • Test environment is often domain dependant • Requires methodology • testing language, scenario representation, simulation and verification strategy, requirement traceability… • Good practices • separate “test cases” and “test code” concerns • Reuse the specification model if available • Leads to customize the platform with new plug-ins • Wizards, testing perspective, dedicated editor, dedicated menus…
4. Improves productivity with code generation (SW) • UML2C, UML2Java • UML2EC (Embedded C – MISRA), publishing in progress • Mainly code skeletons from UML classes… … but experiences of behaviour generation from UML activities • Includes generation of unit tests
Other expected benefits (not yet captured) • Reduce specification phase thanks to model execution (early validation) and/or coupling with formal methods tooling • Coupling change management with models Improve change quotation thanks to impact analysis tooling
Agenda • The TOPCASED initiative – quick overview(5’) • TOPCASED platform and components (15’) • Open integrated platform • Modelling components • Software and System engineering support components • Process & User interaction • TOPCASED industrial usage (10’) • Main captured benefits • Future directions (10’) • Development and Eclipse contribution roadmaps • Long term support and maintenance organization • Q&A (5’)
Development roadmap – short term • TOPCASED 5.0 (summer 2011) • Full integration of MDT Papyrus UML & SysML editors • Migration tools (from Topcased 4.0 and from other COTS) • New subproject for user model samples (driven by the community) Remain present for some period but will not evolve (ascending compatibility) ALM Engine (gPM) Formal Proof tools Papyrus UML& SysML editors Simulation Engine gPM client Req engine code generators Doc generator OCL checker AUI Editor UML2 Editor SysML Editor SAM Editor Papyrus backbone TOPCASED SDK GMF UML2 compare Acceleo/oAW templates ATL/QVT search Eclipse Modeling Framework Graphical Editor Framework Eclipse RCP 3.7 - INDIGO
Development roadmap – mid term (2012-2014) • Editors • Customization, view points, process support • New editors for physical laws (Scilab/Xcos), architecture (AADL) and safety • Coupling between editors • Import/exports from commercial products • UML/SysML model and Simulink/stateflow importers • Doors ® and Reqtifyimporters • Coupling with qualified code generation and simulation solutions • Scade suite and “P” gateways • AMESim gateway • TOPCASED Req • Alignment with Req-IF: ReqIF importer and exporter • Tabular view + more requirement engineering functions (DOORS), • Generation from models • TOPCASED Simu • Extension to activity graphs + conformance to fUML • Dedicated “debug like” perspective in Papyrus
Eclipse contribution roadmap – mid term (2012-2014) • Contribution to the Eclipse foundation • Propose most components to the Eclipse foundation • Propose TOPCASED as “Eclipse System Engineering Platform” gPM server Scilab & Xcos editors Formal Proof Tools gateway Eclipse System Engineering Platform Reqtify Importer DOORS® importer Safety Editor Simulink/stateflow importer P gateway SCADE suite gateway templates ReqIF importer & exporter Process engine UML,SysML &AADL editors Simulation Engine AMESim gateway Doc generator code generators Req engine AUI Editor OCL checker Scripting engine Papyrus backbone & sphinx services gPM client GMF UML2 compare Acceleo/oAW ATL/QVT search Eclipse Modeling Framework Graphical Editor Framework Eclipse RCP 3.X / 4.X
Long term support organization : OPEES & Eclipse? • Under investigation: OPEES as Eclipse Industrial Working Group… • Eclipse foundation would provide legal entity and infrastructure services • OPEES members would rule their own governance TOPCASED “OPEES” IWG
Detailed vision of the OPEES IWG (TBC soon) [OPEES consortium]
TOPCASED – Now You can Thanks a lot for your Attention Questions ?