Skip to main content
To KTH's start page To KTH's start page

Rigorous Systems Engineering


Many software intensive systems of today, such as aircrafts and heavy trucks, are incredibly complex. They are a result of thousands of man-years of engineering, and contain thousands of components. Many of these systems are also safety critical. A recent example is autonomous cars. Furthermore, the engineering companies strive to make development more efficient by adopting agile methods, continuous integration, and product line thinking. The latter means that not only one product is developed but rather a family of products from which the customer can select a single configuration. This results in, not only added product complexity, but also in that the engineering of these systems becomes extremely complex.

To cope with the above challenges, the engineering methodology needs to go beyond traditional ”systems engineering”. Therefore, in our research, we aim for a systems engineering approach that is ”rigorous”. By this we mean that the whole methodology is founded in a theoretical formal framework. However, we acknowledge that many activities of engineering are informal in its nature, and rely on skilled humans. Therefore, our framework must support and be able to include artefacts resulting from such informal engineering.

We focus on the following areas:

- A framework for systems engineering of heterogeneous systems founded in a formal language. A particular focus is on contract-based specification and compositional verification.

- Automatic generation of assurance cases, with formal arguments for dependability attributes such as safety (then called safety case).

- Analysis, by formal reasoning and inference, of product properties and dependability attributes.

- A general support for product lines. This includes specification of artefacts, generation of assurance cases, and analysis of product properties.

- Formal verification of C-code, Simulink models, and requirements decompositions.

- How to formally capture uncertainties resulting from informal engineering using probabilities.


Within the scope of Rigorous Systems Engineering, a Matlab app for dependability analyses of safety-critical systems has been released. The app is known as "SMP-tool" and is a freeware.

APProVe toolchain

APProVe toolchain

The APProVe toolchain automates the process of deductive verification, through automatic inference of annotations needed in tools such as Frama-C.

APProVe toolchain

Contributing People

Adjunct Professor Mattias Nyberg

Associate Professor Dilian Gurov

PhD Jonas Westman

PhD Predrag Filipovikj

PhD student Damir Nesic

PhD student Christian Lidström

PhD student Stefan Kaalen

PhD student Jesper Amilon  

Research Engineer Anton Hampus


See publication lists on personal web pages of persons linked above.

Belongs to: Engineering Design
Last changed: Oct 10, 2022
EXHILO: Real-time exoskeleton control for human-in-the-loop optimization
HARU: On the compliance, reliability and motion control of a tabletop robot
IRIS: Novel Mechatronic Systems and Soft Robotics enabled by 4D Printing and Machine Learning
Excellence in production research (XPRES)
FIRE - the Future of mItigating Rural firEs
PICTORIAL - Predictive Intelligent Control for Resistance Welding
TADDO: Trustworthy Automated Driving DevOps
Entice - Enablers for trustworthy, infrastructure supported, autonomous vehicles
StorAIge: Embedded storage elements on next MCU generation ready for AI on the edge
BOAUT - Boundaries Of AUTonomy
Susan's Ride on Campus 2030
WASP: AD-EYE – an Open Modular Testbed
CAMPUS 2030 – Enabling systemic solutions for smart roads
ATRIUM: ArchiTectural RefInement using Uncertainty Management
InSecTT – Intelligent Secure Trustable Things
Rigorous Systems Engineering
SMP Tool