Skip to main content

2014 | Buch

Collaborative Design for Embedded Systems

Co-modelling and Co-simulation

herausgegeben von: John Fitzgerald, Peter Gorm Larsen, Marcel Verhoef

Verlag: Springer Berlin Heidelberg

insite
SUCHEN

Über dieses Buch

One of the most significant challenges in the development of embedded and cyber-physical systems is the gap between the disciplines of software and control engineering. In a marketplace, where rapid innovation is essential, engineers from both disciplines need to be able to explore system designs collaboratively, allocating responsibilities to software and physical elements, and analyzing trade-offs between them.

To this end, this book presents a framework that allows the very different kinds of design models – discrete-event (DE) models of software and continuous time (CT) models of the physical environment – to be analyzed and simulated jointly, based on common scenarios. The individual chapters provide introductions to both sides of this co-simulation technology, and give a step-by-step guide to the methodology for designing and analyzing co-models. They are grouped into three parts: Part I introduces the technical basis for collaborative modeling and simulation with the Crescendo technology. Part II continues with different methodological guidelines for creating co-models and analyzing them in different ways using case studies. Part III then delves into more advanced topics and looks into the potential future of this technology in the area of cyber-physical systems. Finally various appendices provide summaries of the VDM and 20-sim technologies, a number of valuable design patterns applicable for co-models, and an acronym list along with indices and references to other literature. By combining descriptions of the underlying theory with records of real engineers’ experience in using the framework on a series of case studies the book appeals to scientists and practitioners alike. It is complemented by tools, examples, videos, and other material on www.crescendotool.org.

Scientists/researchers and graduate students working in embedded and cyber-physical systems will learn the semantic foundations for collaborative modeling and simulation, as well as the current capabilities and limitations of methods and tools in this field. Practitioners will be able to develop an appreciation of the capabilities of the co-modeling techniques, to assess the benefits of more collaborative approaches to modeling and simulation, and will benefit from the included guidelines and modeling patterns.

Inhaltsverzeichnis

Frontmatter

Co-modelling and Co-simulation: The Technical Basis

Frontmatter
Chapter 1. Collaborative Development of Embedded Systems
Abstract
This chapter presents motivation for taking a collaborative multi-disciplinary approach to the model-based development of embedded systems. Starting from a consideration of the ubiquity of embedded systems in daily life it identifies challenges faced by industry in developing products in a timely manner, but to sufficient quality to merit the reliance of their users. Using a fictional story of product development, it presents the perspectives of both the control engineer and the software designer. We describe an approach—realised using the Crescendo tool—that promotes collaborative modelling and co-simulation, taking account of existing technology and current industry practice.
Marcel Verhoef, Kenneth Pierce, Carl Gamble, Jan Broenink
Chapter 2. Co-modelling and Co-simulation in Embedded Systems Design
Abstract
The collaborative development of an embedded system requires productive interaction between engineers from very different backgrounds. Control engineering and software engineering have matured over many decades, each with its own philosophy, methods and terminology, and so it is necessary to clarify the common ideas that underpin co-modelling and co-simulation. This chapter introduces the concepts of co-modelling and co-simulation, including notions of system, model and co-model, simulation and co-simulation. It also describes the ways in which co-modelling and co-simulation can be integrated with established systems and software life cycle processes such as IEEE 15288 and IEEE 12207.
John Fitzgerald, Kenneth Pierce
Chapter 3. Continuous-Time Modelling in 20-sim
Abstract
This chapter provides an introduction to continuous-time modelling of physical systems for readers whose main area of expertise is in the discrete-event modelling of computing and software. Fundamental concepts such as bond graphs and differential equations are presented together with graphical representations (block diagrams and iconic diagrams) used in the 20-sim tool. Control architectures in the form of feed forward and feedback controllers are briefly discussed, including sensors and actuators. Modern controllers are mostly implemented in computers. The sampled data controllers in the computer are coupled to the continuous-time plant by analogue-to-digital and digital-to-analogue converters. The roles of the sampling rate, the converter and arithmetic accuracy as well as event handing are briefly discussed. The need for discrete-event modelling of modern supervisory control software is identified.
Job van Amerongen, Christian Kleijn, Carl Gamble
Chapter 4. Discrete-Event Modelling in VDM
Abstract
The design of software controllers for embedded systems demands notations and tools that have that are able to describe systems that evolve via discrete events, and so express the structure and logic of control architectures. This chapter presented the features of VDM—an established formalism for describing discrete event systems—that support the modelling and design of controllers. These include abstract specification of data restricted by invariants, and operations that work on persistent data for specification of control functionality. Structured and collection types enable supervisory control to be modelled. Model structuring on object-oriented principles enable the description of architectural solutions to problems like safety control, and the management of concurrency. The formalism, which is implemented in the Overture and Crescendo tools, is illustrated via a series of examples based on control of a torsion bar.
Peter Gorm Larsen, John Fitzgerald, Marcel Verhoef, Kenneth Pierce
Chapter 5. Support for Co-modelling and Co-simulation: The Crescendo Tool
Abstract
We describe tool support for multidisciplinary modelling of embedded systems using the Crescendo tool which allows discrete-event models given in the VDM notation using the Overture tool to co-simulate with continuous-time models that are developed using the 20-sim tool. The linking of discrete and continuous models via contracts, and co-simulation under the control of predefined scenarios injecting disturbances are presented.
Peter Gorm Larsen, Carl Gamble, Kenneth Pierce, Augusto Ribeiro, Kenneth Lausdahl
Chapter 6. Co-model Structuring and Design Patterns
Abstract
In the design of potentially complex control software for embedded systems, it is essential to have the ability to structure collaborative models (co-models) in order to manage complexity and support re-use. This chapter presents aspects of the Crescendo modelling framework that support the organisation of co-models, and in particular their discrete-event constituent models that describe elements that will ultimately be realised as computer software. The role of inheritance in object-orientation is presented, along with the concept of a design pattern. Such co-modelling patterns are illustrated using a torsion bar example, with patterns for sensors and actuators and for reuse of concurrent thread definitions.
Kenneth Pierce, Peter Gorm Larsen, John Fitzgerald

Methods and Applications: the Pragmatics of Co-modelling and Co-simulation

Frontmatter
Chapter 7. Case Studies in Co-modelling and Co-simulation
Abstract
We introduce two case studies in co-modelling and co-simulation, concentrating on the design problems presented by each of them. A simple line-following robot serves to illustrate the principles of co-model construction, fault modelling and design space exploration. An experimental self-balancing scooter provides insights into the problems posed by the industrial practice of developing a safety-related system.
Marcel Verhoef, Bert Bos, Kenneth Pierce, Carl Gamble, Job van Amerongen
Chapter 8. Methods for Creating Co-models of Embedded Systems
Abstract
In developing an embedded system by multidisciplinary co-modelling, the choice of modelling process is at least as important as the technical decisions made in the co-models themselves. We here present several alternative routes to the development of a first working co-model, and suggest criteria for their selection based on characteristics based on features of the problem and its decomposition, and by pragmatic concerns such as the relative development risks of the system elements. We demonstrate the use of SysML to provide early clarity on the purpose of modelling and suggest structural decompositions, and illustrate the approaches on two case studies.
Kenneth Pierce, Sune Wolff, Marcel Verhoef
Chapter 9. Co-modelling of Faults and Fault Tolerance Mechanisms
Abstract
Design for dependability is essential for the increasing range of embedded systems with rich digital control. However, the need to model and mitigate faults on the part of the system, user or environment, can introduce complexity into design. We present approaches to the description of realistic and faulty behaviour, as well as fault-tolerance mechanisms, in co-models of embedded systems. We demonstrate how established techniques including HAZOP studies and FMEA can be integrated with embedded systems design that uses co-models linking discrete-event descriptions of computing elements with continuous-time descriptions of controlled plant. The approaches are illustrated using two case studies
Carl Gamble, Kenneth Pierce, John Fitzgerald, Bert Bos
Chapter 10. Design Space Exploration for Embedded Systems Using Co-simulation
Abstract
In the development of embedded systems, co-simulation permits the systematic exploration of the design space with the aim of selecting models of optimal solutions, and allowing trade-offs between computing and physical elements of alternative designs. We present an approach to such design space exploration using experiment design. Beginning from a classification for the parameters that one may wish to vary during an experiment, we discuss methods for reducing the number of experiments performed, from screening experiments to the use of orthogonal matrices or a space-filling search. Two case studies which illustrate the importance of careful experiment design in this context. We finally discuss ways in which experimental results may be ranked to permit automatic selection of the best designs analysed.
Carl Gamble, Kenneth Pierce
Chapter 11. Industrial Application of Co-modelling and Co-simulation Technology
Abstract
We describe three industrial applications of the Crescendo collaborative modelling and co-simulation technology, including a dredging excavator system, a high-speed document handling system, and an experimental self-balancing scooter. In each case we consider the observations made by the initial industrial users of the technology, including issues detected only as a result of co-simulation and not within the mono-disciplinary modelling activities. These include early detection of design issues, reducing the number of overall design iterations, as well as improved communication within design teams.
Marcel Verhoef, Peter Gorm Larsen

Advanced Topics

Frontmatter
Chapter 12. Deploying Co-modelling in Commercial Practice
Abstract
We present observations on the initial industrial deployment of collaborative modelling and co-simulation technology using the Crescendo tools. We asked the practitioners who had undertaken the studies to comment on how the approach differed from or could be integrated with current practice, how resources were distributed, and what challenges and benefits were encountered in the process. Key observations included the value of extra time expended in early development stages being recovered later, the reduced need for physical prototypes, importance of stable and usable tools, and the need for processes to coordinate the production of co-models.
Sune Wolff, Peter Gorm Larsen, Marcel Verhoef
Chapter 13. Semantics of Co-simulation
Abstract
This chapter provides an overview of the formal operational semantics for a co-simulation framework to support the multidisciplinary modelling of embedded systems. Following a master/slave architecture, discrete-event and continuous-time simulations proceed in their own engines, but under the control of a coordinating co-simulation layer. The semantics are extended to accommodate a scripting language that permits co-simulation over predefined scenarios.
Joey W. Coleman, Kenneth Lausdahl, Peter Gorm Larsen
Chapter 14. From Embedded to Cyber-Physical Systems: Challenges and Future Directions
Abstract
Embedded systems can be seen as the first generation of a wider class of cyber-physical systems that integrate possibly large numbers of computing platforms in physical environments. Given the significant challenges facing the developers of such systems, we briefly review the state of the art in collaborative modelling and co-simulation technology for embedded systems design, and identify advances needed on the way to scaling this technology to the cyber-physical level. We consider the role of co-modelling in the design flow for cyber-physical systems and the generalisation of co-models to networks of constituent models of cyber and physical elements, the need for open co-simulation in order to support greater heterogeneity among constituent models, and the features needed to describe ubiquitous systems.
John Fitzgerald, Peter Gorm Larsen, Marcel Verhoef
Backmatter
Metadaten
Titel
Collaborative Design for Embedded Systems
herausgegeben von
John Fitzgerald
Peter Gorm Larsen
Marcel Verhoef
Copyright-Jahr
2014
Verlag
Springer Berlin Heidelberg
Electronic ISBN
978-3-642-54118-6
Print ISBN
978-3-642-54117-9
DOI
https://doi.org/10.1007/978-3-642-54118-6

Premium Partner