Expected Key Benefits

Architecture Centric Approach

The adoption of architecture centric approaches has been recognised since many years as a key enabler for improved quality process and productivity. Some languages for elicitation of these architectures have been proposed in the nineties. We can note in this area: UML (Unified Modelling Language), Architecture description languages (so called ADLs - Rapide, Wright, ACME). These trends have been maturing since the end of the nineties, and gone to enhanced standardisation, also reaching new capability levels. More expressivity, coverage of needs, and also formal semantics were brought. We have today in this panorama: UML and its set of profiles (e.g., MARTE), SysML (UML for System Engineering), and the recent AADL (Architecture Analysis & Design Language), adopted in the SPICES project.

Adoption of Open International Standards

Use of Open International Standards allows for visibility and the emergence of a community as well as an ecosystem of tools. A Business model can organise around the the standard, and allow to break the vertical market strategy so as to enable different providers to organise so as to enable the integration of technically and commercially optimised solutions. The use of standards will also allow to secure the stability of adopted technologies, and so guarantee the reusability of artefacts for industrially usually long-lived systems.

The project focuses on the following open, living standards, in the development and extensions of which the consortium is deeply involved: The AADL architecture analysis & design language, defined by the SAE (Society of Automotive Engineers), and the Lightweight CCM component model from the OMG (Object Management Group).

 

 

Architecture Analysability and Verification of the Architectures due to Formal Semantics

Traditional processes have been focusing directly on the inspection of implementation code, manual, tedious costly procedures for integration and testing, and manual traceability of user requirements down to implementation. In the scope of certification processes, a whole set of verification documents needs to be provided to certification authorities, which also drastically increases cost.

Defining architectures not only in a structural fashion, but also with the help of finer grain behavioral descriptions allows for early system simulation, early predictions, and when synchronised to the implementation (via implementations units characterisation) for system properties obtention.

SPICES project technological partners are engaged in providing a comprehensive set of tools targetting a number of properties of the systems.

Development Process supported by Tools (Modelling, Framework and Generative Techniques)

The SPICES project promotes the usage of tools all along the development process. The panel of tools involves modelling, verification and validation, simulation, mapping to targets thanks to a state of the art embedded software platform.

More precisely, the tools range from AADL modelling, AADL behavioral models simulation, Scheduling analysis, Power consumption prediction, Worst-case execution time prediction, Model checking (Petri-nets techniques, States exploration techniques), to component-based embedded software platforms.

These tools deal either with AADL models or with Implementation code as inputs.

See the list of tools developed in the project for more information.

The vision of the project emphasises the fact that building an embedded system involves integration of software on a hardware target, and relies on implementation techniques. The implementation steps is recognised since some years to be best supported by software frameworks (providing recurring solutions i.e patterns and relying on generative techniques) for instance with the aim of composability(so-called component-based frameworks), and allowing to reach new reusability and modularity levels.

The synchronisation of the software with the models is also considered key in the approach. Indeed, transfering proofs or estimations at the model level to real systems properties cannot be achieved without ensuring that the implementation matches the described architecture.

Support for Real-Time Systems Development with Cross-Domain Approaches

The SPICES project targets the realisation of real-time and embedded systems, in several engineering domains. Traditionally, the embedded industry has been organising for technologies definition by business domain consortiums and forums (e.g., Avionics, Space, Telecommunications, Transportation, Industrial systems ...).

Traditionally, modelling and software technologies adopted transversely in business domains has typically been limited to a basic use of UML (e.g., class diagrams, sequence diagrams - for documentation purposes) on one hand, and real-time operating systems and programming languages on the other side, complemented by domain specific or in-house technologies.

The inherent complexity of real-time and embedded systems development, in which engineers have to master a whole set of problematics and technologies (from core-business topics, e.g., signal processing, control-algorithms, to real-time scheduling and operating systems, mastery of used hardware), and for which bad design decisions have far larger consequences than in conventional systems, is known to reflect as very costly compared to traditional systems. This is largely amplified in the context of systems subject to certification constraints.

An ambition of the project is hence also to prove that technologies like AADL and CCM component-based frameworks, accompanied with a comprehensive set of verification and validation tools, are applicable in a cross-domain way, still allowing to take into account engineering domain peculiarities.

Support for Certification (DO-178B, DO-254)

The SPICES project considers the avionics certification constraints for software and electronics, and is in the process of analysing the integration of modeling, verification and validation tools, and software component frameworks in engineering processes. In particular, guidelines for use of the tools and software frameworks in the avionics domains will be provided.