Humboldt-Universität zu Berlin - Faculty of Mathematics and Natural Sciences - Software Engineering

Research of the Software Engineering Group

Long-term vision of research.

Different engineering disciplines use models and statistical techniques to predict, forecast and monitor critical system properties. The long-term vision of my research is to provide fundamental research results to establish specific efficient statistical techniques in the area of software engineering. This will significantly improve the way we build complex software systems.

 

Application Domain and Problem Definition:

Complex mission- and safety-critical systems play a vital role in aerospace applications, automotive system, air traffic control, railway signalling and medicine, to name just a few. Design and development of such systems is challenging, because systems and software engineers, especially software architects, need to deal with a large number of functional requirements as well as probabilistic quality requirements (or dependability requirements), such as safety, availability, reliability, performance and temporal correctness with respect to different environment inputs, while keeping full life-cycle costs as low as practicable. Furthermore, the fulfilment of these probabilistic quality requirements needs to be monitored at runtime, to provide evidence for their realization.
In this context there are the following fundamental research problems which the RSS group aims to solve:

  1. To apply systematic statistical techniques to handle probabilistic quality requirements, systems and software engineers need to specify their specific project- and domain-related quality requirement in an unambiguous and formal way. Additionally, it is important to specify the required system properties as precisely as possible. Consequently, a formal language and a systematic procedure to derive a formal representation are needed, since most dependability requirements are often informally specified by the customer.
  2. Based on a formal definition of the probabilistic quality requirements, appropriate statistical models and techniques are required to predict the likelihood of their fulfilment based on an architectural specification at design-time. If such statistical models and techniques were available, this would significantly improve the capability of decision making with respect to probabilistic quality requirements.
  3. Information about probabilistic characteristics of software elements at design-time may be inaccurate due to the lack of certain details and due to vague information about the environment. Consequently, techniques are required to monitor these probabilistic characteristics at run-time and update the characteristics if needed to improve the quality of design time quality predictions.

Quality requirements often conflict with one another, making trade-offs inevitable: for example, often it is safer to shut a system down when an electrical component fails, but this obviously conflicts with the desire to keep the system available. Furthermore, probabilistic quality requirements are a major cost driver in systems development, and design decision – such as the amount of component redundancy required – can have a significant impact on the cost of deploying and maintaining such systems. As a result based on the predictions and estimations of probabilistic metrics (eg. failure probabilities) for quality attributes or the results of statistical monitoring or forecasting at runtime, tailored optimisation and decision making methods are required.