A key fundamental challenge in developing embedded systems is that of managing their complexity while providing products of the desired quality, and at the right cost considering the whole life-cycle. As one important means to handle complexity, architecture description languages (ADL’s) have emerged as a means to formally describe software and hardware architectures, providing a basis for analysis of system properties such as reliability and performance, and for synthesis (e.g. generating glue code). The dominating views provided by ADLs is that of describing the system structure, mainly with the notion of black box (SW/HW) components, following the lines of compositionality where the idea is that system properties can be derived from a configuration of components and their externally visible properties. This situation fits well for the purposes of a system integrator that specifies the system architecture and has to reason about system level properties without details of the internals of component implementations. It is clear that embedded systems expose many different types of structures. The term architecture is usually reserved for the fundamental organization of a system that determines essential non-functional properties.
At the same time several graphical formalisms have been proposed with the purpose to visualize, communicate and document advanced embedded systems. Examples of early ADL’s and formalisms include MetaH, Hatley-Pirbhai modeling, CoDARTS and ROOM.
Over the recent years, many development have taken place, including
OMG development and standardization leading to UML, SysML and MARTE.
The standardization of the AADL by SAE (based on MetaH).
The development of Autosar and the EAST-ADL in the automotive industry.
Further evolution and maturity of model-driven engineering, including domain-specific languages, environments, and model transformation techniques.
Obviously, each formalism is developed in a particular context, thereby emphasizing certain abstractions, relations and properties. One thrust shared by these efforts is to combine the support for visualization with that of formalized descriptions that are amenable to analysis and synthesis. Visualization, analysis and synthesis, are all key to the engineering of advanced embedded systems based products, with the goals to facilitate communication among people, early decision making and automation. However, while such formalisms have been researched, and prototype tools been developed, there has been a slow, or only partial adoption in embedded systems industry, with varying degree of success.
The lack of adoption of such formalisms could be explained by the lack of mature tools and standards, and the "normal" gap from research to industrial take-up. It can also be noted that while behavior descriptions and design flows are quite mature for several embedded systems domains, structural descriptions a la ADLs have been lagging behind. The automotive AUTOSAR represents a new effort and departure from this state in providing a middleware standard and by pushing tool vendors to support AUTOSAR.
All these efforts, in one way or another, represent efforts in the area of model and component based development. However, because of the multitude of research, standardization and industrial efforts, the current situation is, to say the least, a bit confusing.
This workshop therefore has the overall goal to provide the following discussion points and insights:
- What key formalisms, ADL’s and visual languages, for design of embedded systems are there and what are the trends?
- What is the maturity (languages, tools) and industrial adoption of such formalisms?
- What are the industrial expectations on and experiences in adopting such tools?
- Which formalism best suits different types of systems and design tasks?
- What are the key outstanding research issues to pave way for larger scale industrial adoption.
The workshop also provides for hands-on experiences with selected formalisms including AADL, EAST-ADL (a UML profile for embedded systems), Transaction level hardware design; SystemC/VHDL, and Domain specific ADL’s, using a meta-modeling environment where different formalisms can be created.
The hands-on session will be carried out in a KTH lab where the participants will be provided with prepared tutorials and modeling exercises to be able to try the formalisms. Supervisors will be available. Note that there is a limited number of seats for the hands-on session!