Designing embedded systems with UML


Architects, tailors, and directors all use plans (or models) for their creation, and software engineers are no exception. Thus, it is a common practice for software project managers to rely on the UML language to document their software projects and to perform modeling of the software itself.

Teaching and Learning Methods: Lectures (20%), Exercises (40%) and lab sessions (40%).

Course Policies: Attendance to lab sessions is mandatory.


All necessary documents and references to books are provided in the website:

This includes all past exams.




The course tackles the use of UML (Unified Modeling Language) and SysML (System Modeling Language) in the context of embedded systems, specifically smart objects, in preparation for software design in the industry. This course addresses all development stages of an embedded system, i.e. requirement capture, analysis, design, validation, and automated code generation. Validation includes the simulation of a model and the formal/mathematical verification of properties, e.g., proving that reaching a given error state is not possible.

The course is practice-oriented, including a modeling-based final exam performed in the lab room. "Real-world" case studies, such as those taken from avionic or automotive systems, are used in lab sessions.

Learning Outcomes:

  • Knowledge of UML/SysML in the scope of embedded systems (block diagrams, state machine diagrams, etc.);
  • Practical use of UML/SysML for managing software-oriented projects (requirements, analysis, design, validation).

Nb hours: 21.00


  • Lab reports (20% of the final grade),
  • Final Exam (80% of the final grade)