Designing embedded systems with UML


« Those who fail to plan, plan to fail... ».  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 langage to document their software projects, and to perform modeling of the software itself. 

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

Course Policies: Attendance to  labs 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 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 UML/SysML for managing software oriented projects(requirements, analysis, design, validation)

Nb hours:21.00, at least 3 Lab sessions

Grading Policy: Lab reports (20%), Final Exam (80%)