1. |
- Biehl, Matthias
(author)
-
Supporting model evolution in model-driven development of automotive embedded system
- 2010
-
Licentiate thesis (other academic/artistic)abstract
- Innovative functions in cars, such as active safety systems and advanced driver assistance systems, are realized as embedded systems. The development of such automotive embedded systems is challenging in several respects: the product typically has several crosscutting system properties, experts of diverse disciplines need to cooperate and appropriate processes and tools are required to improve the effciency and the complexity management of development. Model-driven development captures the architecture of the embedded system in the form of models with well-defined metamodels. Model-driven development provides a partial solution to some of the challenges of embedded systems development, but it also introduces new challenges. Models do not remain static, but they change over time and evolve. Evolution can change models in two ways: (1) by making design decisions and adding, deleting or changing model elements, or (2) by reusing models in different tools. We propose support for both aspects of model evolution. (1) When models are changed, the design decisions and the justification for the change are usually neither captured nor documented in a systematic way. As a result, important information about the model is lost, making the model more difficult to understand, which hampers model evolution and maintenance. To support model evolution, design decisions need to be captured explicitly using an appropriate representation. This representation reduces the overhead of capturing design decisions, keeps the model and the design decision documentation consistent and links the design decision documentation to the model. As a result, the captured design decisions provide a record of the model evolution and the rationale of the evolution. (2) Several models and views are used to describe an embedded system in different life cycle stages and from the viewpoints of the involved disciplines. To create the various models, a number of specialized development tools are used. These tools are usually disconnected, so the models cannot be transferred between different tools. Thus, models may become inconsistent, which hampers understandability of the models and increases the cost of development. We present a model-based tool integration approach that uses a common metamodel in combination with model transformation technology to build bridges between different development tools. We apply this approach in a case study and integrate several tools for automotive embedded systems development: A systems engineering tool, a safety engineering tool and a simulation tool. As a part of future work, we plan to extend the tool integration approach to exchange not only models but also the attached documentation of design decisions. As a result, the design decision documentation is linked consistently to corresponding model elements of the various tool-specific models, supporting model evolution across several development tools
|
|
2. |
- de Lemos, Rogerio, et al.
(author)
-
Software Engineering for Self-Adaptive Systems : A Second Research Roadmap
- 2013
-
In: Software Engineering for Self-Adaptive Systems II. - Berlin, Heidelberg : Springer. - 9783642358128 ; , s. 1-32
-
Conference paper (other academic/artistic)abstract
- The goal of this roadmap paper is to summarize the state-of-the-art and identify research challenges when developing, deploying and managing self-adaptive software systems. Instead of dealing with a wide range of topics associated with the field, we focus on four essential topics of self-adaptation: design space for self-adaptive solutions, software engineering processes for self-adaptive systems, from centralized to decentralized control, and practical run-time verification & validation for self-adaptive systems. For each topic, we present an overview, suggest future directions, and focus on selected challenges. This paper complements and extends a previous roadmap on software engineering for self-adaptive systems published in 2009 covering a different set of topics, and reflecting in part on the previous paper. This roadmap is one of the many results of the Dagstuhl Seminar 10431 on Software Engineering for Self-Adaptive Systems, which took place in October 2010.
|
|
3. |
- Krause, Christian, et al.
(author)
-
Implementing graph transformations in the bulk synchronous parallel model
- 2014
-
In: Fundamental Approaches to Software Engineering. 17th International Conference on Fundamental Approaches to Software Engineering (FASE), June 7-10, Grenoble, France. - Berlin, Heidelberg : Springer Berlin Heidelberg. - 0302-9743 .- 1611-3349. - 9783642548031 ; , s. 325-339
-
Conference paper (peer-reviewed)abstract
- Big data becomes a challenge in more and more domains. In many areas, such as in social networks, the entities of interest have relational references to each other and thereby form large-scale graphs (in the order of billions of vertices). At the same time, querying and updating these data structures is a key requirement. Complex queries and updates demand expressive high-level languages which can still be efficiently executed on these large-scale graphs. In this paper, we use the well-studied concepts of graph transformation rules and units as a high-level modeling language with declarative and operational features for transforming graph structures. In order to apply them to large-scale graphs, we introduce an approach to distribute and parallelize graph transformations by mapping them to the Bulk Synchronous Parallel (BSP) model. Our tool support builds on Henshin as modeling tool and consists of a code generator for the BSP framework Apache Giraph. We evaluated the approach with the IMDB movie database and a computation cluster with up to 48 processing nodes with 8 cores each.
|
|
4. |
- Weyns, Danny, et al.
(author)
-
On Patterns for Decentralized Control in Self-Adaptive Systems
- 2013
-
In: Software Engineering for Self-Adaptive Systems II. - Berlin, Heidelberg : Springer. - 9783642358128 ; , s. 76-107
-
Conference paper (peer-reviewed)abstract
- Self-adaptation is typically realized using a control loop. Oneprominent approach for organizing a control loop in self-adaptive systemsis by means of four components that are responsible for the primary functionsof self-adaptation: Monitor, Analyze, Plan, and Execute, togetherforming a MAPE loop. When systems are large, complex, and heterogeneous,a single MAPE loop may not be sufficient for managing alladaptation in a system, so multiple MAPE loops may be introduced. Inself-adaptive systems with multiple MAPE loops, decisions about how todecentralize each of the MAPE functions must be made. These decisionsinvolve how and whether the corresponding functions from multiple loopsare to be coordinated (e.g., planning components coordinating to preparea plan for an adaptation). To foster comprehension of self-adaptive systemswith multiple MAPE loops and support reuse of known solutions,it is crucial that we document common design approaches for engineers.As such systematic knowledge is currently lacking, it is timely to reflecton these systems to: (a) consolidate the knowledge in this area, and (b)to develop a systematic approach for describing different types of controlin self-adaptive systems. We contribute with a simple notation fordescribing interacting MAPE loops, which we believe helps in achieving(b), and we use this notation to describe a number of existing patternsof interacting MAPE loops, to begin to fulfill (a). From our study, weoutline numerous remaining research challenges in this area.
|
|