Contents

  • Abstract
  • Quantitative Constraints and Model-Driven Development
  • Objectives
  • Overall Work Strategy
  • Abstract

    Characteristic for embedded systems is that they have to meet a multitude of quantitative constraints. These constraints involve the resources that a system may use (computation resources, power consumption, memory usage, communication bandwidth, costs, etc.), assumptions about the environment in which it operates (arrival rates, hybrid behaviour), and requirements on the services that the system has to provide (timing constraints, QoS, availability, fault tolerance, etc.).

    Model-Driven Development (MDD) is a new software development technique in which the primary software artefacts are models providing a collection of views. Existing MDD tools for real-time embedded systems are rather sophisticated in handling functional requirements but their treatment of quantitative constraints is still very limited. Hence MDD will not realise its full potential in the embedded systems area unless the ability to handle quantitative properties is drastically improved.

    The objective of the Quasimodo project is to develop theory, techniques and tool components for handling quantitative (e.g. real-time, hybrid and stochastic) constraints in model-driven development of real-time embedded systems. More specifically, the project aims at:

    1. Improving the modelling of diverse quantitative aspects of embedded systems.
    2. Providing a wide range of powerful techniques for analysing models with quantitative information and for establishing abstraction relations between them.
    3. Generating predictable code from quantitative models.
    4. Improving the overall quality of testing by using suitable quantitative models as the basis for generating sound and correct test cases.

    In order to demonstrate the usefulness of our techniques, we will apply them to several complex industrial case studies, and provide a collection of unique tool components to be use as plug-ins in industrial tools or tool chains in order to create first prototypes of a tool environment that supports - in an integrated fashion - quantitative modelling, analysis, implementation and testing of embedded systems.

    Quantitative Constraints and Model-Driven Development

    Embedded systems are a modern technology that is rapidly changing society as we know it. Intelligence, in the form of software and hardware, is introduced into all kinds of products and objects  with the objective of enhancing their functionality. To meet this goal, their design must face a complex array of constraints related to hardware, software, and the specific needs of the application of the overall product. The reliable design of embedded systems, therefore, poses a great challenge.

    The Quasimodo project will research and develop methods and tools that can be used to design reliable embedded systems that meet their requirements in a controlled and resource-efficient way using a model-based approach. This means that design decisions, analysis, simulation, testing, code generation, etc. are always based upon models that reflect the relevant aspects of the design.

    This requires methods to maintain, manipulate, analyse and transform models in a coherent and meaningful way. Characteristic for embedded systems is that they have to meet a multitude of quantitative constraints. These constraints involve the resources that a system may use (computation resources, power consumption, memory usage, communication bandwidth, costs, etc.), assumptions about the environment in which it operates (arrival rates, hybrid behaviour), and requirements on the services that the system has to provide (timing constraints, QoS, availability, fault tolerance, etc.).

    Embedded System with Quantitative Properties

    Model-Driven Development (MDD) is a new software development technique in which the primary software artefact is a model, which is a collection of views. Ideally, the technique allows engineers to (graphically) model the requirements, behaviour and functionality of computer-based systems. The design is iteratively analysed, validated, and tested throughout the development process while automatically generated production quality code can be output in a variety of languages.

    MDD is a drastic approach where models are the product of each step in the development. More modest approaches that use models only at some critical points in the development cycle will also benefit from the outcomes of the project.

    Existing MDD tools for real-time embedded systems are rather sophisticated in handling functional requirements but their treatment of quantitative constraints is still very limited. There is little to no support for high-level modelling and analysis of real-time, probabilistic and hybrid aspects of system behaviour, and for ensuring that quantitative properties that have been established for some model are preserved when this model is further refined and/or implemented. Hence MDD will not realise its full potential in the embedded systems area unless the ability to handle quantitative properties is drastically improved.

    Objectives

    The objective of Quasimodo is to develop theory and techniques for handling quantitative constraints in the model-driven development of real-time embedded systems. To this end, the project will use timed, hybrid and probabilistic automata as a preferred formalism. More specifically, the Quasimodo project aims at:

    1. Improving the modelling of (possibly diverse) quantitative aspects of embedded systems in a sound, coherent and effective manner. For instance, there is currently no satisfactory formalism to specify and analyse stochastic aspects together with real-time constraints.
    2. Providing a wide range of powerful techniques for analysing models with quantitative information and for establishing abstraction relations between such models. The ability to model and analyse quantitative aspects will make it possible to represent important features of the final execution platform at early design stages, and enable early assessment of resource consumption and performance (QoS) of particular designs.
    3. Providing effective implementation mappings (code generation) from abstract quantitative models onto concrete (often small) platforms with guarantees that correctness and performance properties established of the models also hold (maybe in slightly weakened form) of the running implementation. This is a challenge, as models often lack various aspects only introduced at the translation step (e.g. knowledge of operating system, manipulation and representation of data variables, abstract actions of the model may correspond to executable C-code at the implementation level, indirect interaction with environment via various device drivers, arbitrary precision of clocks in the model).
    4. Improving the overall quality of testing by using suitable quantitative models as the basis for generating sound and correct test cases.

    Test generation for models with e.g. stochastic aspects is still mainly an open issue: test cases that expose the more representative scenarios in term of probability mass is a research challenge. In order to demonstrate the usefulness of our techniques, we will apply them to several complex industrial case studies. The consortium will provide unique tool components to be used as plugins in industrial tools or tool chains in order to create first prototypes of a tool environment that supports - in an integrated fashion - quantitative modelling, analysis, implementation and testing of embedded systems. These tool environments will provide a starting point for further industrial development.

    Overall Work Strategy

    To achieve its aims, Quasimodo will - as illustrated in the figure below  - develop its results towards quantitative model-driven development by covering all of the logical phases of a typical development trajectory including Modelling and Specification, Analysis, Implementation and Testing. The Quasimodo project will start on the basis of previous theoretical and practical experience of the consortium members, in the areas of verification (real-time, cost-decorated, stochastic and hybrid systems), scheduling and controller synthesis (finite-state, real-time and cost-decorated systems), implementability (finite-state and real-time systems) and testing (finite-state, data-intense and realtime systems).

    Quasimodo Workplan

    The principle aim of the project is to provide a coherent and scalable methodology with a supporting collections of tool components that can be used to design reliable embedded systems that meet their requirements in a controlled and resource-efficient way using a model-driven approach. This means that design decision, analysis, code-generation, testing, etc. are always based upon design models that reflect the relevant aspects of the systems. To focus on aspects such as performance, timeliness, and efficient resource-usage, which are central to embedded systems, the models must provide quantitative information such as information about timing, cost, data, stochastics and hybrid phenomena. To this end we intend to investigate several quantitative models and their combination, and see how they are best used for building faithful models of embedded systems and standard embedded components. This activity will constitute the Modelling workpackage.

    Once the various classes of quantitative models and their semantics are defined, algorithmic methods will be developed for analysis of functional correctness and performance issues. The analysis methods include data-structures for symbolic exploration of the behaviour of models, abstraction and compositionality principles for relating design models and help to control the size and complexity of the models, exploitation of approximate analysis techniques for partial analysis of very complex models and, orthogonally, optimal utilisation of the given computing platform on which the algorithms are implemented. The development and implementation of the above constitutes the Analysis workpackage.

    In the implementation step, executable code running on given physical devices has to be provided. The theoretical framework of the quantitative models assumes infinitely fast hardware, infinitely precise clocks, unbounded memory etc. In contrast real CPUs are subject to hard limitations in terms of frequency and memory-size. Thus, how to guarantee that properties established by a given model are also valid of its implementation is a major challenge undertaken by the Implementation workpackage.

    Current industrial testing practise is often manual without effective automation and is consequently rather error prone and costly: it is estimated that 30-70% of the total development cost is related to testing. Model-based testing is a novel approach to testing with high potential of improving cost and efficiency. In the Testing workpackage, we intend to extend the model-based testing technology to the setting of quantitative models allowing generation, selection, execution and provision of coverage-measures to be made.

    Finally Case Studies, Tools, Dissemination and Exploitation workpackage  establishes coherence between the methodologies and tool components developed within the previous workpackages, driven by application to a number of industrial case-studies, integration of tool components into industrial tools or tool chains, and continuous dissemination to industry. We will invest a significant amount of time on demonstrating the applicability of our approach.

    we strongly believe in research following a similar iterative model: i.e., theory is formed, prototype tools and tool components are developed, case studies are performed and experience gained is used to refine the theory. Even though there is a significant demonstration component to it, doing case studies and integrating tool components is an integral part of the way in which we do research.