Skip to main content

Über dieses Buch

This book focuses on the design and testing of large-scale, distributed signal processing systems, with a special emphasis on systems architecture, tooling and best practices. Architecture modeling, model checking, model-based evaluation and model-based design optimization occupy central roles. Target systems with resource constraints on processing, communication or energy supply require non-trivial methodologies to model their non-functional requirements, such as timeliness, robustness, lifetime and “evolution” capacity. Besides the theoretical foundations of the methodology, an engineering process and toolchain are described. Real-world cases illustrate the theory and practice tested by the authors in the course of the European project ARTEMIS DEMANES. The book can be used as a “cookbook” for designers and practitioners working with complex embedded systems like sensor networks for the structural integrity monitoring of steel bridges, and distributed micro-climate control systems for greenhouses and smart homes.



Chapter 1. Model-Based Engineering of Runtime Reconfigurable Networked Embedded Systems

Today’s societal challenges, such as sustainable urban living and public safety and security require monitoring and control solutions for large-scale complex and dynamical systems. The distinguishing features of these systems are serious resource constraints, demanding non-functional requirements such as robustness, timeliness, lifetime and the capability of handling system evolution through runtime reconfiguration. In this chapter, a multi-aspect modeling language is introduced that allows system designers to model the architecture of large scale networked systems from different aspects. This modeling language introduces innovative concepts to model runtime reconfiguration at design-time. The proposed architecture for modeling runtime reconfiguration consists of primary tasks in one layer and secondary management tasks in another layer. Special reconfiguration primitives allow the description of four types of reconfiguration: re-parameterisation, re-instantiation, rewiring and relocation. The modeling language is accompanied by a modeling and design methodology (inspired by the MAPE-K technique [1]) and uses feedback loops in the system model to realize runtime reconfiguration. This chapter also proposes Key Performance Indicators (KPIs) that allow designers to quantify the “quality” of the system designs and pick the most promising one. Special attention is paid to the fact that the availability of a runtime reconfiguration (i.e. re-design capability) in a system requires KPIs to be derived and evaluated at runtime as a precondition for guiding the reconfiguration process.
Coen van Leeuwen, Yolanda Rieter-Barrell, Zoltan Papp, Andrei Pruteanu, Teus Vogel

Chapter 2. Designing Reconfigurable Systems: Methodology and Guidelines

One of the major challenges when designing software for complex systems relates to a lack of a specific and comprehensive set of rules and methodologies. Even more so, adaptation to field conditions is difficult to model and implement on systems composed of a larger number of devices/components, such as distributed systems or systems of systems. On state-of-the-art technology such as wireless sensor/actuator networks and cyber-physical systems, addressing the lack of a compressive set of rules for their design and realization offers considerable benefits. If successfully realized, it can accelerate and simplify their design and implementation. The main contribution of this chapter is a clear set of rules that are specific for the design of adaptive networked embedded systems. To be more specific, we discuss design-time vs. runtime trade-offs, introduce design patterns for reconfigurable real-time monitoring and control, propose techniques for runtime design space exploration (managing runtime reconfiguration) and a systems engineering process for runtime reconfigurable systems. We provide guidelines for all stages of the architectural process and help system and software designers in choosing wisely specific algorithms and techniques. In conclusion, this chapter introduces a set of rules (methodologies) that are specific for designing adaptive networked embedded systems.
Zoltan Papp, Raul del Toro Matamoros, Coen van Leeuwen, Julio de Oliveira Filho, Andrei Pruteanu, Přemysl Šůcha

Chapter 3. Runtime Services and Tooling for Reconfiguration

In model-based design methodologies, the system model is at the center of the development process. The model is the single source of design information, and typically is separated—logically and physically—in several views, such as requirements, specifications, design decisions, implementation guidelines, and testing protocols. When building up on such a model, the methodology prescribe—often formally—what the system model information represents, how it is manipulated and evaluated, and how it is refined from conception towards deployment. More often than not, system models and their manipulation tend to be too complex, formal, and multi-faceted to be made manually by a human designer. Such task requires appropriate tooling, that enables a correct-by-construction automation of the process. These tools then become a mandatory support to the designer. This chapter discusses how to build up a model-oriented tool chain and its most important activity flows: model editing, model visualization and transformation; model validation and evaluation; and finally, (semi-) automatic system implementation based on the system model. In addition and for each activity, emphasis goes also to the specific tool support which is necessary for the design of adaptive/reconfigurable systems.
Julio Oliveira de Filho, Teus Vogel, Jan de Gier

Chapter 4. Runtime Validation Framework

Testing large-scale complex systems at runtime is of paramount importance. This is particularly true for dynamical systems, such as distributed adaptive network embedded systems (ANES), which exhibit adaptive capabilities aiming at autonomously reconfiguring and adjusting their behavior based on the changing environmental conditions. In such cases, it is not feasible, during the development stages, to anticipate all the possible operating conditions that the system may face in a real environment. This is because some information about the execution context and the system itself can be available only once the system has been deployed. Thus, in order to correctly assess the effectiveness, efficiency and robustness of ANES, it is required to verify that the system correctly adopts the proper adaptation mechanisms in response to the context changes as well as to check the quality of such adaptations. The focus of the chapter is to discuss about the needs for employing runtime verification and validation of ANES and the main challenges and requirements for its implementation. In addition, it presents a reference framework that supports developers in testing adaptive systems at runtime. One of its key feature is the capability to emulate certain realistic conditions through synthetic data, which is useful to check the system’s behavior under specific and controlled situations.
Roshan Kotian, Stefano Galzarano, Claudio Bacchiani, Aly A. Syed, Přemysl Šucha, Roman Václavík, Andrei Pruteanu

Chapter 5. Tools and Methods for Validation and Verification

An intelligent lighting system capable of runtime self-adaption to occupants behaviour is an example of a context-level application in which faulty operation has a strong and undesirable impact on the occupants comfort. Especially in cases where the long-term functioning of the systems is of interest, the systems quality should proof very high and therefore proper validation and verification practices are required. To our knowledge there is non an existent tool that deals with testing runtime self-adaptive systems. In this chapter we propose the implementation of a V&V framework previously introduced, by merging several already known tools. First, we give an understanding of ways to quantify and predict the reliability of large-scale distributed systems. Second, key performance indicators of the self-adaptive systems are identified from monitoring techniques and third, the test cases are formalized in a structured form. We present two test cases as examples of a system working under normal operation conditions as well as under induced conditions, based on real-life implementations. Execution of the test is lead by a test coordinator for which we used JSON notation, and then the interpretation and testing is carried out in a c++ toolbox where the monitoring and testing algorithms reside.
Paola Jaramillo, Andrei Pruteanu, Willem van Driel, Wijnand van Kooten, Jean-Paul Linnartz

Chapter 6. An Illustrative Application Example: Cargo State Monitoring

The previous chapters in this book provide the foundations and a brief description of the DEMANES tool chain. This chapter describes a real self-adaptive system developed using the DEMANES tool chain. This chapter focuses on the design and implementation stages of a real use case development. The use case under study is a subsystem, called Cargo Monitoring System (CMS), that monitors the state of the container cargo and pushes all the data to a back office infrastructure for further processing. The containers can be on a truck, a train, or any other appropriate transportation means, or stacked in a container terminal or a cargo ship. A WSN will measure physical magnitudes (temperature, humidity and so on) inside a container and will forward data to others processing nodes in the CMS network. The CMS has to meet several self-adaptive requirements. For instance, the parameters of the CMS elements that monitor the container cargo state are reconfigured accordingly to adapt to internal or external changes (e.g. a low battery level or a container temperature out of the adequate bounds), and the CMS adapts the WSN nodes power transmission to save energy while providing an acceptable quality of service.
Coen van Leeuwen, Vicente Hernández Díaz, Roshan Kotian, Raúl del Toro Matamoros, Zoltan Papp, Yolanda Rieter-Barrell


Weitere Informationen