Skip to main content
main-content

Über dieses Buch

Thetopicof“Model-BasedEngineeringofReal-TimeEmbeddedSystems”brings together a challenging problem domain (real-time embedded systems) and a - lution domain (model-based engineering). It is also at the forefrontof integrated software and systems engineering, as software in this problem domain is an essential tool for system implementation and integration. Today, real-time - bedded software plays a crucial role in most advanced technical systems such as airplanes, mobile phones, and cars, and has become the main driver and - cilitator for innovation. Development, evolution, veri?cation, con?guration, and maintenance of embedded and distributed software nowadays are often serious challenges as drastic increases in complexity can be observed in practice. Model-based engineering in general, and model-based software development in particular, advocates the notion of using models throughout the development and life-cycle of an engineered system. Model-based software engineering re- forces this notion by promoting models not only as the tool of abstraction, but also as the tool for veri?cation, implementation, testing, and maintenance. The application of such model-based engineering techniques to embedded real-time systems appears to be a good candidate to tackle some of the problems arising in the problem domain.

Inhaltsverzeichnis

Frontmatter

Foundation

Frontmatter

1 Models of Reactive Systems

Communication, Concurrency, and Causality
Abstract
In this chapter, communication, concurrency, and causality are introduced as basic aspects of reactive systems together with different levels of abstraction for each aspect, giving prominent examples of specific models as specifically useful combinations. By relating models along different dimension, we show how to set up development processes allowing not only to support step-wise adding of implementation details, but also to treat different aspects of a system in isolation and to combine the results, leading to a fork-and-join approach.
Bernhard Schätz, Holger Giese

2 Model-Based Integration

Abstract
The integration of different development activities and artifacts into a single coherent system is a major challenge for the development of complex embedded real-time systems. For complex software the functional integration alone is a major undertaking, in the case of embedded real-time systems we in addition have to cope with all the affected system characteristics such as real-time behavior, resource consumption, and behavior in the case of failures.
In this chapter we will discuss the state-of-the-art of model-based integration. Therefore, we will clarify the terminology concerning integration, provide a classification of the integration challenges for complex embedded real-time systems, and outline the fundamental techniques employed to cope with the integration challenges. This framework is then used to explain the current standard practice concerning integration of hardware and software for functional development as well as function integration. Furthermore, a number of advanced proposal how to address some of the remaining integration challenges such as AUTOSAR and Mechatronic UML using model-based concepts are presented using the framework.
Holger Giese, Stefan Neumann, Oliver Niggemann, Bernhard Schätz

Language Engineering

Frontmatter

3 Metamodelling

State of the Art and Research Challenges
Abstract
This chapter discusses the current state of the art, and emerging research challenges, for metamodelling. In the state-of-the-art review on metamodelling, we review approaches, abstractions, and tools for metamodelling, evaluate them with respect to their expressivity, investigate what role(s) metamodels may play at run-time and how semantics can be assigned to metamodels and the domain-specific modeling languages they could define. In the emerging challenges section on metamodelling we highlight research issues regarding the management of complexity, consistency, and evolution of metamodels, and how the semantics of metamodels impacts each of these.
Jonathan Sprinkle, Bernhard Rumpe, Hans Vangheluwe, Gabor Karsai

4 Semantics of UML Models for Dynamic Behavior

A Survey of Different Approaches
Abstract
Models are used for a number of different purposes, from the requirements capture and design of a new system, to the testing of an existing system. Many different modeling languages are available, and the semantics given for the languages vary from informal natural language descriptions to various kinds of mathematical or logical definitions. When choosing a modeling language and accompanying semantics, a number of things need to be taken into consideration, such as who are the users of the models, what is the purpose of the models, what kind of application is being modeled, and what are the essential features that must be captured.
When modeling embedded systems, an essential aspect is the interaction between hardware and software. Hence, we need to capture the behavior of the hardware and software components. For capturing the dynamic behavior of components, modeling languages like UML sequence diagrams, state machines and similar notations are often used. This paper surveys different approaches to formally capturing the semantics of models expressed using languages of this kind.
Mass Soldal Lund, Atle Refsdal, Ketil Stølen

Modeling

Frontmatter

5 Modeling and Simulation of TDL Applications

Abstract
Most of the existing modeling tools and frameworks for embedded applications use levels of abstraction where execution and communication times of computational tasks are not captured. Thus, properties such as time and value determinism can be lost when refining the model closer to a target platform. The Logical Execution Time (LET) paradigm has been proposed to deal with this issue, by enabling specification of platform-independent execution times of periodic time-triggered computational tasks at higher levels of abstraction.
This chapter deals with modeling and simulation of embedded applications where LET requirements are specified by using the Timing Definition Language (TDL). TDL provides a programming model for time- and event-triggered components suitable for large distributed systems. We present specific TDL extensions that increase the expressiveness of the language, accommodating the needs of control applications such as minimum sensor-actuator delays. We describe simulation of TDL programs in dataflow models (using Simulink) and discrete event (DE) models (using Ptolemy II). We show how the Ptolemy II based simulation can be used to validate preservation of timing and value behaviors when mapping a DE model of an application with concurrent components into a sequential implementation platform with fixed priority preemptive scheduling.
Stefan Resmerita, Patricia Derler, Wolfgang Pree, Andreas Naderlinger

6 Modeling Languages for Real-Time and Embedded Systems

Requirements and Standards-Based Solutions*
Abstract
Development of increasingly more sophisticated dependable real-time and embedded systems requires new paradigms since contemporary code-centric approaches are reaching their limits. Experience has shown that model-based engineering using domain-specific modeling languages is an approach that can overcome many of these limitations. This chapter first identifies the requirements for a modeling language to be used in the real-time and embedded systems domain. Second, it describes how the MARTE profile of the industry-standard UML language meets these requirements. MARTE enables precise modeling of phenomena such as time, concurrency, software and hardware platforms, as well as their quantitative characteristics.
Sébastien Gérard, Huascar Espinoza, François Terrier, Bran Selic

7 Requirements Modeling for Embedded Realtime Systems

Abstract
Requirements engineering is the process of defining the goals and constraints of the system and specifying the system’s domain of operation. Requirements activities may span the entire life cycle of the system development, refining the system specification and ultimately leading to an implementation. This chapter presents methodologies for the entire process from identifying requirements, modeling the domain, and mapping requirements to architectures.
We detail multiple activities, approaches, and aspects of the requirements gathering process, with the ultimate goal of guiding the reader in selecting and handling the most appropriate process for the entire lifecycle of a project. Special focus is placed on the challenges posed by the embedded systems. We present several modeling approaches for requirements engineering and ways of integrating real-time extensions and quality properties into the models. From requirements models we guide the reader in deriving architectures as realizations of core requirements and present an example alongside with a formal verification approach based on the SPIN model checker.
Ingolf Krüger, Claudiu Farcas, Emilia Farcas, Massimiliano Menarini

8 UML for Software Safety and Certification

Model-Based Development of Safety-Critical Software-Intensive Systems
Abstract
With the proliferation of UML in the development of embedded real-time systems, the interest in methods and techniques integrating safety aspects into a UML-based software and system development process has increased. This chapter provides a survey on relevant UML profiles and dialects as well as on design and verification methods and process issues supporting a safety assessment. These subjects are discussed in the light of norms and standards on software development for safety-critical systems.
Michaela Huhn, Hardi Hungar

Model Analysis

Frontmatter

9 Model Evolution and Management

Abstract
As complex software and systems development projects need models as an important planning, structuring and development technique, models now face issues resolved for software earlier: models need to be versioned, differences captured, syntactic and semantic correctness checked as early as possible, documented, presented in easily accessible forms, etc. Quality management needs to be established for models as well as their relationship to other models, to code and to requirement documents precisely clarified and tracked. Business and product requirements, product technologies as well as development tools evolve. This also means we need evolutionary technologies both for models within a language and if the language evolves also for an upgrade of the models.
This chapter discusses the state of the art in model management and evolution and sketches what is still necessary for models to become as usable and used as software.
Tihamer Levendovszky, Bernhard Rumpe, Bernhard Schätz, Jonathan Sprinkle

10 Model-Based Analysis and Development of Dependable Systems

Abstract
The term dependability was defined in the 1980s to encompass aspects like fault tolerance and system reliability. According to IFIP, it is defined as the trustworthiness of a computing system which allows reliance to be justifiably placed on the service it delivers. Hence, dependability is the capability of a system to successfully and safely complete its mission. This chapter concentrates on safety and reliability aspects. It starts with a review of the basic terminology including, for example, fault, failure, availability, and integrity. In the following, a mathematical model of fault-tolerant systems is defined. It is used in the further sections for comparison with different techniques for safety and reliability analysis. Also selected currently available model-based development tools are reviewed. A summary and identification of future research challenges conclude the chapter.
Christian Buckl, Alois Knoll, Ina Schieferdecker, Justyna Zander

Approaches

Frontmatter

11 The EAST-ADL Architecture Description Language for Automotive Embedded Software

Abstract
Current trends in automotive embedded systems focus on how to manage the increasing software content, with a strong emphasis on standardization of the embedded software structure. The management of engineering information remains a critical challenge in order to support development and other stages of the life-cycle. System modelling based on an Architecture Description Language (ADL) is a way to keep these assets within one information structure. This paper presents the EAST-ADL2 modelling language, developed in the ITEA EAST-EEA project and further enhanced in the ATESST project (www.atesst.org). EAST-ADL2 supports comprehensive model-based development of embedded systems and provides dedicated constructs to facilitate variability and product line management, requirements engineering, representation of functional as well as software/hardware solutions, and timing and safety analysis.
Philippe Cuenot, Patrick Frey, Rolf Johansson, Henrik Lönn, Yiannis Papadopoulos, Mark-Oliver Reiser, Anders Sandberg, David Servat, Ramin Tavakoli Kolagari, Martin Törngren, Matthias Weber

12 Fujaba4Eclipse Real-Time Tool Suite

Abstract
The Fujaba Real-Time Tool Suite supports modeling and verification of software in mechatronic or embedded systems. It also addresses the specification of advanced systems which reconfigure part of their structure and behavior at runtime. The Fujaba Real-Time Tool Suite requires a rigorous development process concerning the use of the different (partially refined) UML diagrams. All diagrams have a formally and well-defined semantics which allow to check models for given safety properties. Further, the tool suite provides a tight integration with software tools used by control engineers like CaMEL-View and Matlab to enable the simulation of production code of a complete system.
Claudia Priesterjahn, Matthias Tichy, Stefan Henkler, Martin Hirsch, Wilhelm Schäfer

13 AutoFocus 3 - A Scientific Tool Prototype for Model-Based Development of Component-Based, Reactive, Distributed Systems

Abstract
We give an introduction of the AutoFocus 3 tool, which allows component-based modeling of reactive, distributed systems and provides validation and verification mechanisms for these models. Furthermore, AutoFocus 3 includes descriptions of specific technical platforms and deployments. The modeling language is based on precise semantics including the notion of time and allows for a refinement-based methodology for the development of reactive systems, typically found in user-accessible embedded realtime-systems.
Florian Hölzl, Martin Feilkas

14 MATE - A Model Analysis and Transformation Environment for MATLAB Simulink

Abstract
In the automotive industry, the model driven development of software is generally based on the use of the tool MATLAB Simulink. Huge catalogues with hundreds of modeling guidelines have already been developed to increase the quality of models and ensure the safety and reliability of the generated code. In this paper, we present the MATLAB Simulink Analysis and Transformation Environment (MATE), a tool using metamodeling techniques and visual graph transformations to automate the analysis and correction of models according to these guidelines. The MATE approach is illustrated by a typical example, and compared to other classical approaches for model analysis.
Elodie Legros, Wilhelm Schäfer, Andy Schürr, Ingo Stürmer

15 Benefits of System Simulation for Automotive Applications

Abstract
The automotive industry faces the challenge of handling increasingly complex software systems in modern vehicles. The solution may be twofold: (i) A model-based development paradigm on the system level, using standards such as AUTOSAR, (ii) the usage of such models for a seamless testing and quality assurance process, using simulations and (reusable) tests.
This paper describes, from an automotive industry perspective, system models and their advantages for manufacturers and suppliers. The main focus is on tooling for offline system simulations and on the introduction of such solutions in standard development processes. For this, different industrial simulation and testing scenarios are outlined; starting with single software component tests and ending with virtual integrations. For each phase of the development process, chances and problems are discussed.
Oliver Niggemann, Anne Geburzi, Joachim Stroop

16 Development of Tool Extensions with MOFLON

Abstract
The increasing complexity of embedded systems is accompanied by an increasing number and complexity of models, modeling languages and tools in the development process. This results in a need for appropriate tool support at the metamodel level. Besides the necessity to develop new languages and tools, there is also a large demand for extensions to existing tools as well as for integration frameworks. Such frameworks ensure consistency between data that is distributed over several tools. In this chapter, we present MOFLON, a metamodeling tool primarily focused on tool extension and integration. It adopts several standards such as MOF 2.0 and JMI. It also supports story driven modeling as a means of describing on-model transformations as well as a combination of MOF QVT and triple graph grammars for model-to-model transformations and integration. We present a typical application of these features to tools used in the development of embedded systems.
Ingo Weisemöller, Felix Klar, Andy Schürr

17 Towards Model-Based Engineering of Self-configuring Embedded Systems

Abstract
In self-configuring embedded systems, upgrades, attachment of devices, relocation of applications and adjustment of performance parameters can be carried out during run-time for the purposes of information/function integration, maintenance, performance, resource efficiency, and robustness. We describe a model-based engineering approach to support the development of such systems. Essential ingredients include a combined usage of a system model, simulation combined with a number of formal techniques, and run-time models used as a basis for on-line decision making, with the overall goal to ascertain flexible, yet dependable, system behavior.
DeJiu Chen, Martin Törngren, Magnus Persson, Lei Feng, Tahir Naseer Qureshi

18 Representation of Automotive Software Description Means in ASCET

Abstract
Embedded automotive real-time software is developed according to the V-Cycle. The control engineers start with the so-called function development where they specify the control-algorithm. This control-algorithm transforms input signals to output signal reflecting also the state variables and parameters. A software engineer partitions the control-algorithm to executable software components, which are then transformed to C-code with a code-generator
Ulrich Freund

19 Papyrus: A UML2 Tool for Domain-Specific Language Modeling

Abstract
This chapter outlines Papyrus, a tool for graphical modeling of UML2 applications. It is an open-source project, designed as an Eclipse component, and based on the existing EMF-based realization of the UML2 meta-model. The goal of this open-source project is twofold. First, it is a complete, efficient, robust, and methodologically agnostic implementation of a UML2 tool to both industry and academia. Second, it is an open and flexible facility for defining and utilizing domain-specific modeling languages using a very advanced implementation of the UML profile concept.
Sébastien Gérard, Cédric Dumoulin, Patrick Tessier, Bran Selic

20 The Model-Integrated Computing Tool Suite

Abstract
Embedded system software development is challenging, owing to a tight integration of the software and its physical environment, profoundly impacting the software technology that can be applied for constructing embedded systems. Modeling and model-based design are central to capture all essential aspects of embedded systems. Vanderbilt University’s Model Integrated Computing tool suite, driven by the recognition of the need for integrated systems and software modeling, provides a reusable infrastructure for model-based design of embedded systems. The suite includes metaprogrammable model-builder (GME), model-transformation engine (UDM/GReAT), tool-integration framework (OTIF), and design space exploration tool (DESERT). The application of the MIC tool suite in constructing a tool chain for Automotive Embedded System (VCP) is presented.
Janos Sztipanovits, Gabor Karsai, Sandeep Neema, Ted Bapty

21 Application of Quality Standards to Multiple Artifacts with a Universal Compliance Solution

Abstract
For standards compliance achievement in model-based engineering of embedded real-time systems, model analyzers and code checkers are constituted in early development phases to lower error rates and to eliminate time-consuming quality reviews. However, solutions available today only address a single modeling language and examinations are localized to specific development environments. Fulfilling more advanced traceability examinations required by procedural and technical quality standards, compliance checking has to be applicable across different modeling tools and development workflows. Furthermore it should cover correlation analyses that include model-to-model, model-to-file and model-to-database comparisons on multiple artifacts. This chapter introduces a novel compliance solution Assessment Studio that supports universal guideline and traceability checking with automated analyses in multi-domain modeling environments. MESA, our meta-modeling approach for guideline checking, was enhanced to support multiple meta-models with associated artifacts. Therefore, we use a XML-based transformation and proof mechanism by automatically executing rules written in LINQ, adding auto-correction and metrics measurement capabilities. Several case studies demonstrate the feasibility of this approach at Volkswagen.
Tibor Farkas, Torsten Klein, Harald Röbig

Backmatter

Weitere Informationen

Premium Partner

    Bildnachweise