Aims
- To understand, explain, and apply more systematic methods and techniques for engineering complex software systems, in particular, for elaborating requirements, designing architectures, validating and verifying software models.
- To understand and explain the problems and solutions specific to mission-critical systems, in particular, security-critical and safety-critical applications.
- To be exposed to research: study of relevant bibliography, synthesis and evaluation of ideas, personal contribution, participation to research group discussions.
Main themes
The advanced topics under consideration may vary from year to year. Examples include:
- Requirements engineering --goal-oriented and scenario-oriented methods.
- Behavioral software models --construction, synthesis, analysis.
- Modeling and analysing security and trust aspects in open systems.
- Architectural design --architectural description language, pattern languages, self-healing systems.
- Specification techniques --state-based techniques; temporal, deontic, epistemic logics; process algebras.
- Analysis techniques --model validation by animation; algorithmic and deductive verification of model properties.
- Tool support for model specification and analysis: LTSA, SCR toolset, SpecTRM, Alloy, VDMTools, RAISE tools, B, SPIN, NuSMV, PVS, SteP, etc.
Content and teaching methods
Active learning that may integrate various types of activities, e.g., bibliographical search, question-answer sessions,talks, discussion groups, external seminars, and experimentation of various tools on a common case study.
Other information (prerequisite, evaluation (assessment methods), course materials recommended readings, ...)
- Prerequisite
INGI2251 Software Engineering : Development Methods.
- References
Literature and technical reports on the selected subjects.
- Evaluation
Based on individual and group work during the quadrimester, and on a final report
|