OMEGA will develop a methodology and tools for the development of real-time and embedded systems using UML, based on a clean semantics of the different architectural viewpoints and their relations. The aim of the project is to increase the efficiency and competitiveness of the European software industry by providing tools improving the quality of software while reducing the expense of the validation phase. The OMEGA approach to software quality is to use UML for the description of a unique reference model, from which are derived semantically related models for functional, validation, performance analysis, as well as implementations; all evolutions are reported in the reference model for tracking of its influence. A semantically sound component based development plays an important role, which makes sure that interfaces are sufficient to guarantee the requirements.
OMEGA aims at the definition of a development methodology in UML for embedded and real-time systems based on formal techniques and used to improve commercially available UML tools. For this purpose we will - Identify reasonable and effective subsets of UML for real-time, as well as necessary extensions. - Provide formal foundations, methods and tools for compositional verification of real-time systems within UML. - Construct a development methodology based on the UML modelling and specification capabilities and the verification methods and tools developed in the project. - Apply industrial case studies for evaluating the proposed methodology and verification tools.
To achieve our aim, we will develop results in the following interdependent directions:
1. Modelling and specification language: we select a small subset of UML notations that allow the design of reactive and real-time systems. If needed, we also propose small extensions. The resulting language contains notations to - model the system under development including both functional and non-functional aspects, and - specify the requirements to be met by the system;
2. Verification and Synthesis: we will adapt and extend existing formal verification technologies to UML, identify the new needs in verification techniques raised by the powerful structuring features of UML and develop compositional verification methods, allowing to derive properties of systems from properties of components. The techniques are connected to two industrial CASE tools, leading to two verification tool-sets. We will also develop tools that in certain cases directly synthesize systems satisfying required properties;
3. Development Methodology: we will develop a methodology, providing guidelines about the use and the combination of the different notations. In particular, the methodology will be based on refinement and property preservation rules, relating the different abstraction levels;
4. Technology Transfer: we will show how the developed results - theory, methods and tools - can be applied to real-time systems development by using appropriate extensions of commercially available tools. Our approach will be evaluated and adapted on the basis of four industrial case studies.
1. Definition of a UML kernel model (KM): a minimal subset of UML for the development of real-time and embedded systems;
2. Semantic foundations of the KM;
3. Adaption of existing model-checking techniques to the KM for component verification;
4. Two integrated tool-sets for system verification based on compositional methods and synthesis;
5. A development methodology based on semantic preserving notions of refinement;
6. Evaluation by feedback from 4 case studies in different application domains.
Funding SchemeCSC - Cost-sharing contracts
75794 Paris Cedex 16
75505 Paris 15
70100 Ben Gurion International Airport
1098 SJ Amsterdam
1059 CM Amsterdam
38400 Saint Martin D'heres