Section: New Results

A Step-wise Approach for Integrating QoS throughout Software Development

Non-functional requirements are used to express the quality to be expected from a system. For real-time systems such as avionics, it is critical to guarantee this quality, in particular time-related performance properties. In this domain, deterministic QoS is generally ensured at the execution platform level (e.g., operating systems, distributed systems technologies, hardware specificities), independently of a particular application. When addressing the QoS requirements of a given application, these platform-specific guarantees are not sufficient.

In this work, we have proposed a step-wise QoS approach integrated through all development phases and development artifacts [17] . This approach is dedicated to control-loop systems. Control-loop systems are systems that sense the external environment, compute data, and eventually control the environment accordingly. This kind of systems can be found in a range of domains, including avionics, robotics, and pervasive computing. For example, in the avionics domain, a flight management application is a control-loop system that (1) senses the environment for location and other navigation information, (2) computes the trajectory and (3) modifies the wings configuration accordingly.

The main contributions of this work are the following:

  • We have developed a step-wise approach that systematically processes QoS requirements throughout software development. This integrated approach is dedicated to control-loop systems, allowing to rely on a particular architectural pattern and thus enhancing the design and programming support level for non-functional aspects. For now, we focus on time-related performance but the approach could be generalized to other non-functional properties (e.g., CPU or memory consumption).

  • Our approach has been integrated into DiaSuite , a tool-based development methodology dedicated to control-loop systems. DiaSuite is based on a dedicated design language that we have enriched with time-related performance properties. This non-functional extension has been used to offer verification and programming support at each development stage.

  • Our approach has been applied to the development of avionics applications such as a flight management system and a collision avoidance system. These experiments have demonstrated that our step-wise approach can effectively guide the avionics certification process.