Model-based systems engineering
This course will teach you the fundamentals of model-based systems engineering through practical exercices.
System engineering relies on key principles such as:
- have a better grip of the user's needs, taking into account the environment of the company
- elicit user's requirements and be able to measure the impacts on necessary transformations
- design and prototype architectures satisfying functional and extra-functional requirements (safety, security, performance, cost, etc.)
- anticipate evolutions (separation of concerns, reusability, modularity, product lines)
- anticipate operations of maintenance and recall
In the past years, Model Driven Engineering (MDE) has provided tooled approaches and methodologies to support design and implementation activities of complex systems. At the heart of MDE, models and transformations are extensively used in order to provide a more formal framework to discharge engineers from tedious works, allowing them to focus on activities with more added value. At the one hand, models are used to represent more formally specific viewpoints about the system under study: structure, behavior, safety, etc. At the other hand, model's transformations allow horizontal (to and from dedicated tools) and vertical (process activities) transitions, including code and documentation generation. In practice, modeling activities require the use of modeling languages, which can be of two types: general purpose languages (GPL -- UML, SysML, Capella) and domain specific languages (DSL -- UPPAAL, CPN, AltaRica). GPL and DSL have pros and cons, and the choice of using one of them depends on the intention (sharing information, perform analyses, generate code, etc.)
This training is available as "onsite live training" as well as "remote live training".
Languages: French, English
Why take this course
Based on a use case study, this course combines hands-on exercices (about 60%) with concept understanding and theory (about 40%) and can be adapted to the learner's needs. By the end of the journey, you will be able to select, tool and apply a dedicated methodology to design and implement any complex system. On successfull completion of this course, you will receive an instructor-signed certificate with the institution's logo.
What you'll learn
- Select and use existing modeling languages, specify and tool your own DSL to complete a specific task
- Provide a fully tooled methodology based on models and transformations.
- Specify all required viewpoints on the system under study.
- Consolidate your system specification using formal methods and simulation.
- Generate code and documentation from models
- Basic Object-Oriented Programming (OOP) experience.
Course syllabusModule 1 - Systems engineering
- Why is Systems Engineering so important ?
- History and principles
- Overview of main activities
- Study of the ISO-15288 standard and the SEbook
- Presentation of the Use Case Study of the course
- Benefits of Model Driven Engineering
- History and principles
- System Modeling with SysML or Capella
- Formalizing requirements
- Understanding needs using scenarios
- Specifying the system breakdown structure using blocks
- Specifying the sub-systems interactions using collaborations
- Specifying behaviors with finite state machines and activities
- Specifying physical architecture with nodes
- Specifying allocation of functional blocks onto physical nodes
- Design your own Modeling language with Eclipse EMF
- Constrain your language with OCL
- Provide a graphical syntax of your language with Eclipse Sirius
- Provide a textual syntax of your language using Eclipse xText
- Deploy and use your custom language
- Query your models with QVT
- Transform your models with ATL
- Generate code and documentation with Acceleo
- Combine your models with formal methods for model checking
- Check the functional correctness
- Check the adequacy between system's functions and physical architecture
- Generate code for simulation
Meet your instructor
Ali Koudri is co-founder of Cénotélie and a dedicated researcher and trainer. He has more than 20 years of experience in MBSE; in particular, to design and implement complex systems in the field of defence and space domains.
He participated to many collaborative projects, like e-Collab.
He holds a PhD in MBSE for real-time embbeded systems. As a researcher, he is particularly interested in using collaborative approaches to make the MBSE approach more effective. He has a strong teaching experience as a teaching assistant in top universities in Paris, Lille and Brest.