Critical Computing Systems Engineering
REQUIREMENTS AND MODEL-DRIVEN ENGINEERING
Description
Theory
2
Laboratory
3
Instructors
Paulo Maio
Contents
The syllabus for this course is divided in seven specific learning contents. They are proposed in this to guarantee that there is the right balance between more theoretical and foundational content, and the usage of software tools to support them in practical application.
CP1. Fundamental concepts, principles and techniques of MDE, and its specificities when applied to critical systems;
CP2. The Software Development Process and its specificities when applied to critical systems and in the MDE context;
CP3. Fundamentals of requirement engineering;
CP4. UML and SysML as software and system modelling languages for enabling critical systems MDE;
CP5. Model checking (validation and verification) of critical systems models: principles and tools;
CP6. Fundamentals of testing and fault analysis, and its usage in MDE;
CP7. Case studies.
Learning Outcomes
By successfully passing this course, the student must be able to understand the principles of MDE. Specifically, by the end of the course, the student must be able to:
CO1. Understand the fundamental concepts and techniques of MDE, its role in a critical system?s development and safety assessment processes, and apply the acquired knowledge in practical use-cases;
CO2. Identify and write functional and non-functional requirements for critical systems, using the best practices and ensuring that they respect the expected quality standards (verifiable, traceable, unambiguous, correct, etc.);
CO3. Understand the software development process, in particular requirements engineering and software validation and verification activities, demonstrating the ability to apply the process in practical cases;
CO4. Acquire hands-on experience by using tools that support requirement specification and management, system modelling and its safety assessment, using model checking and testing.