480 likes | 831 Views
Toolkit in OPen-source for Critical Applications & SystEms Development. Patrick FARAIL Airbus patrick.farail@airbus.com. http://www.topcased.org . Agenda. 1 Introduction – 20’ . 2 Strategy & contents – 40’. 3 Platform & roadmap – 30’. 4 Positioning/market & support – 15’.
E N D
Toolkit in OPen-source for Critical Applications & SystEms Development Patrick FARAIL Airbus patrick.farail@airbus.com http://www.topcased.org
Agenda • 1 Introduction – 20’ • 2 Strategy & contents – 40’ • 3 Platform & roadmap – 30’ • 4 Positioning/market & support – 15’ • 5 Starting guide – 10’
Agenda • 1 Introduction – 20’ • 2 Strategy & contents • 3 Platform & roadmap • 4 Positioning/market & support • 5 Starting guide
TOPCASEDSimulator Engines TOPCASEDFormal Checking TOPCASEDModel to Text Transformations TOPCASEDModel editors TOPCASEDModel to ModelTransformations TOPCASED overviewModel Based System Engineering for critical systems Source code, Test code, Documentation, … Configuration, Change and Requirements managementtools communication
Scope : what kind of system ? • Critical systems • Strong safety requirements • High verification effort (up to 80% of total development effort for A level of DO178 certification, probably the same for nuclear norms…) • 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 for upper level TOPCASED is a possible answer to address upper level in any domain
Cesta TOPCASED project – initial members Industries SMEs Atlas Triskell Laboratories School/Universities
TOPCASED project - Chronology 1st open source delivery Aerospace Valley proposition First steering committee First ideas Partnership National funding Project kickOff 2006 2004 2005 Model editors (UML,SysML,…) + change management (gPM) + collaborative work Improvements + first documentation generator + Verification (simulation and rules checkers) Full model process + Model requirement traceability Users feedback Start of experimentations v 1.0 v 2.0 v 3.0 OPEES Start of Industrial Improvements for A350 Deployment 2007 2008 2009
SPICES Collaboration with standard organizations EcoreTool, UML-Papyrus GMF
Agenda • 1 Introduction • 2 Strategy & contents – 40’ • 3 Platform & roadmap • 4 Positioning/market & support • 5 Starting guide
Goals and vision – Why TOPCASED? • Ensure durability • Aeronautics, space and automotive industries (initiators) have context and requirements (limited market, very long lifecycle, mastering of costs and deployment, …) that require independence from editor strategy and durability • Open source approach considered as the best answer • Reduce development costs • Verification costs can reach up to 80% of the total development effort • Support Model Based System Engineering (MBSE) with optimized process and tools supporting this process helps finding errors earlier • Get more benefits from academic research • Early integration of academic research results in our processes • Strengthening of Academics/industries relationships • Secure the extended Enterprise approach • Enforce SME/industry relationships (share processes, methods and tools) • Open source approach considered as the best answer
Open Source benefits already noticed in TOPCASED • No lock-in • Can evaluate at anytime and for any period – no fees, no inscription • Can always access the code (even old releases) - nightly builds, releases candidates, patches… • No deployment issue – very important for extended enterprise • Easy to download and to install • Community feedback • Federate (wire) companies with same interests – TOPCASED community • Benefit from a larger and wider validation - bugs • Get roadmap suggestions - feature requests, roadmap suggestions • Benefit from contributions - several patches sent and integrated • Encourages university collaboration • Easy to download • Easy to contribute (patches to submit) • Encourages high quality • Communication transparency (forums, mailing lists) • Committers election process based on meritocracy
Modeling for communication is a first step… • Communication is a key factor of success (or failure) in projects • More and more distributed teams, especially on big projects • Experience shows that communication is still an issue • Even when sharing the same language… • Perfect communication requires strong formalism • Diagrams to capture main pieces of information (functional or technical) • Short sentences to complete diagrams (additional requirements) • Example (authorization model) • No ambiguity • Replaces more than 30 lines of English Modeling is a key part of communication between teams
… full Model Driven Engineering gives more benefit! • Helps in validating requirements in early stage (formal languages do not allow ambiguity) • Example of such a detection in a recent Airbus SysML experiment • “ … after 28v, power supply values shall be stabilized at : • 5v • 3,3v • 15v” • Several modelling possibilities (ambiguous requirement) • The designer had to choose… • … and he updated (fixed) the requirement • Ensures consistency amongst several inputs • Example: power supply type definition • Ensures completeness (through rules and model validation) • Example: check that each system is connected to all its subsystems
MDE – documentation generation • Allows full documentation generation • From template document with tags… • …to final document • Remark : the only condition is to store the required data in the models ;-)
MDE – textual requirement coverage • Addresses requirement management, fine-grained model coverage • Import requirements from document (word, excel) coming from Doors, ReqPro… • Cover those requirements by current requirements attached to model elements • Check upper/current traceability through specific views
Server slide Client side Safe MDE - model execution (simulation) • Any automaton can be simulated by TOPCASED simulation engine • Model to model transformation to extend the meta model (UML/SysML, SAM, Petri net..) with dynamic features (token, fireable transitions) • no code generated (pure M2M transformations) • Multi-instances support • Example
Safe MDE case study: INRIA Rhône-Alpes / VASY • TFTP verification
Analysing Proof « Pivot » Language « Pivot » Language Synchronous verification tool : Sigali … Asynchronous verification tool : TINA (petri net) /CADP/ OBP ... Safe MDE – model verification & validation • Integration of existing formal proof tools through a pivot language (FIACRE) • First results
Extended enterprise – “outsourcing mode” • “outsourcing” mode for extended collaborative work with (sub) models • Goal: give to a supplier a sub-model without needing parent model to be able to export the sub-model and its dependencies with parent model • The exported sub-model becomes completely autonomous • the dependencies with the parent model are found in its cache
Extended enterprise – “outsourcing” mode • Modifications can be done in parallel by both supplier and integrator… • Example : • addition of two parts of type “FIFO” by supplier • FIFO renamed “FIFOQueue” in main model by integrator • …and be integrated later by the integrator Modifications sent to the integrator
Agenda • 1 Introduction • 2 Strategy & contents • 3 Platform & roadmap – 30’ • 4 Positioning/market & support • 5 Starting guide
Plug-in Plug-in Plug-in Technical vision – Java and Eclipse RCP • TOPCASED lays on top of the Eclipse Rich Client Platform since 2004… • Portability (java) • Minimal core able to load essential plug-ins (Runtime) • Powerfull update mechanism (hot deployment, concurrent versions…) • Good ergonomy and user experience (UI/JFace/SWT) • Team API and predefined team connectors (CVS, SVN) team
Eclipse Modeling Framework Graphical Editor Framework Eclipse RCP 3.4 Technical vision – EMF & GEF • TOPCASED lays on top of Eclipse Modeling and Graphical Editor frameworks • EMF: Model/metamodel loading, editing, transaction, query, transformation… • GEF: palette, figures, routers, drawing…
Technical vision – Eclipse Modeling stack • TOPCASED lays on top of Eclipse Modeling stack • UML2 API, • M2M and M2T engines Model to text transformation engine Compare models Model to model transformation engines Search in models Acceleo/oAW compare search UML2 ATL/QVT Eclipse Modeling Framework Graphical Editor Framework Eclipse RCP 3.4 UML API
Mostly generated model editors TCM TVM gPM Formal Proof tools Doc generator traceability engine code generator simulation engine Rules checker UML2 Editor SysML Editor XXX Editor Ecore Editor SAM Editor TOPCASED SDK templates Acceleo/oAW UML2 search ATL/QVT compare Eclipse Modeling Framework Graphical Editor Framework Eclipse RCP 3.4 Technical vision – Eclipse Modeling stack • TOPCASED layer • 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 • Change mgt (gPM), version mgt (TVM), conf mgt (TCM)
Meta-model Editor Graphical editor conf. Document Generator Meta-model (ECORE) Graphical Configuration EMF Generator TOPCASED generator API to navigate in models Arborescent Editor Documentation Support to edit graphic Graphical Editor Other tools Technical vision – creating a new model editor [Abstract User Interface Ecore meta model – http://www.usixml.org] TOPCASED AUI editor – Atos Origin future contribution
TOPCASED as an integration platform [source opees/inria/espresso]
Illustration ( experimental) [source opees/inria/espresso]
Interoperability • TOPCASED model data are stored in XMI format • Can be exchanged with any UML2 compliant tool • TOPCASED can import models from any UML2 XMI compliant tool • RSM/RSA • Rhapsody • Entreprise Architect • Magic Draw • …
Interfaces • Requirements can be imported from any document source • Doc2Model generic plug-in behind the scene • Identifies requirements and their attributes by style, regExp, tag or column • Can import into SysML requirements, UML classes, .requirement elements • Several input formats • Word, Excel, OpenOffice • Tests or any other data can be imported with Doc2Model • Just have to ensure that data can be identified through styles, regExp or tags • Then adapt the mapping to define which elements will be created ! • Can retrieve tests, CRC cards, … • Model simulation engine is generic
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 2.4) • UML editor • SysML editor • SAM editor • Simulation
Roadmap • Current TOPCASED release is 2.5.0 (May 7th) • 3.0.0 planned for July 24th (based on Eclipse 3.5) • Requirement traceability (upper/current/model/tests) with change management • Gendoc quality for integration in the toolkit • Improved web site and documentation • 3.1.0 planned for 25th of September (improvements/bug fixes and quality) • 3.2.0 – mid November • Large improvements of model simulation (execution) • First integration of Eclipse MDT Papyrus (next generation of UML/SysML editor) • Current work from CEA, Atos Origin, Moskitt (spain) and OBEO • Contributions from TOPCASED, Moskitt and PapyrusUML projects • http://wiki.eclipse.org/MDT/Papyrus • First quarter 2010 • Migration procedure from current UML diagrams to MDT papyrus diagrams • First Eclipse MDT SysML editor • Formal proof integration
Agenda • 1 Introduction • 2 Strategy & contents • 3 Platform & roadmap • 4 Positioning/market & support – 15’ • 5 Starting guide
Comparison with RSM and other open source tools [extracted from an industrial project modelling study] ER and IDL generators (script language)
Comparison with RSM and other open source tools • Conclusion of the modelling study (in their context) • RSM • globally first rank, just before TOPCASED, but does not win on all criteria. • RSM outperforms the other solutions on two categories: • change management (detection of graphical data changes) • Model import and export (copy/paste to clipboard command) • NetBeans • appears to be “out of the scope”. • Provides some UML diagrams but does not provide any help on modelling facilities (navigation, edition, export….). • TOPCASED • 2nd rank just after RSM (a few points of difference). • TOPCASED has same functionalities than RSM and is sometimes better. • End user model access (scripting language) • Model navigation (diagram navigation) • Language and technology conformance (native eclipse UML2 format) • UML tools • solution too far from the requirements. Not surprising as its goal is to generate 100% of the tool
Downloads - trend V2.0 V2.1 V2.2 V2.3 V2.4 V2.5 V3.0 V1.0
Downloads - origin .com Ip address .de .net .fr
Some companies that download each release (End 2008) SAP, Embraer, Fraunhofer, Edisoft (P), Logica, BMW, Barco, Capgemini, Air France, Fujitsu, Shimadzu, Bosch, Siemens, Sofbase, BT, Roche, Mentor, Saint-Gobain, Philips, Hopitaux-Paris, Nokia, Imprimerie-centrale (Lu), Schneider Electric, Daimler Chrysler, Lufthansa Systems, IBM, Delphi, HM Diffusion, Unedic, ORNL, Alcatel, Ericsson, German, French, US, Swiss Universities ...
Development activity (at end of 2008) • Overall Activity (From beginning) : Bugs = 789 ; Feature Requests = 457 • Between the Beginning and Topcased 1.0.0 : • FR opened : 183; FR closed : 92 • Bugs opened : 468; Bugs closed : 208 • Topcased 1.0.0 - Topcased 2.0.0 : • FR opened : 155; FR closed : 149 • Bugs opened : 170; Bugs closed : 143 • From Topcased 2.0.0 • FR opened : 298; FR closed : 185 • Bugs opened : 372; Bugs closed : 152 • 300 people on the user list
Month Tot. 0709 0609 0509 0409 0309 0209 0109 1208 1108 1008 0908 Downloads 4279 5375 7081 6902 7762 7100 6744 6450 6548 6680 5911 Bugs opened 334 23 24 39 43 37 32 23 22 18 45 28 Bugs fixed not closed 71 7 7 17 15 6 3 0 2 1 10 3 Bugs closed 121 5 5 18 10 0 2 36 4 7 24 10 Features requests opened 244 15 35 24 52 26 15 12 26 12 14 13 Features requests closed 77 2 6 9 4 1 2 33 0 0 16 4 Development activity (end of 2008 – Mid 2009)
Future support organization (OPEES) Adacore sme FRA Airbus ind FRA Anyware Technologies sme FRA Dassault Aviation ind FRA Thalès ind FRA MBDA ind FRA Alyotech sme FRA CNES res FRA CEA List res FRA Astrium Satellites ind FRA Astrium Space Transportation ind FRA Atos Origin ind FRA CS ind FRA OBEO sme FRA Xipp sme FRA UTM uni FRA INP-IRIT uni FRA Schneider Electric ind FRA INRIA res FRA ONERA res FRA ESI res SPA TELVENT ind SPA Indra ind SPA Innovalia res SPA SQS sme SPA Space Applications Services sme BEL Barco NV ind BEL KU Leuven uni BEL Tronik Kontrol sme AUS • OPEES ITEA project • Goal: build OPEES organization and repository
Agenda • 1 Introduction • 2 Strategy & contents • 3 Platform & roadmap • 4. Positioning/market & support • 5 Starting guide – 5’
First links • From public web site: http://www.topcased.org • Download • TOPCASED RCP Linux • TOP 5 documents • UML editor tutorial • Contacts • topcased-users@lists.gforge.enseeiht.fr • Training on tool or process • topcased-contact@lists.gforge.enseeiht.fr
Specific guidance in Industrial context • List specific methods and tools to integrate • Define the best integration strategy (remote access, local API, Eclipse views) • List required transformation between formalisms • Develop the transformation • Proof Of Concept and iterative approach on integration tasks