Collaborative Development of Dependable Cyber-Physical Systems by Co-Modeling and Co-Simulation

Collaborative Development of Dependable Cyber-Physical Systems by Co-Modeling and Co-Simulation

John Fitzgerald (Newcastle University, UK), Ken Pierce (Newcastle University, UK) and Peter Gorm Larsen (Aarhus University, Denmark)
Copyright: © 2014 |Pages: 28
DOI: 10.4018/978-1-4666-6194-3.ch001
OnDemand PDF Download:
No Current Special Offers


The pace of innovation in Cyber-Physical Systems (CPSs) drives the need for multi-disciplinary methods and tools to support rapid and accurate assessment of design alternatives. In this chapter, the authors describe collaborative models (co-models) that link Discrete-Event (DE) models of control software with Continuous-Time (CT) models of controlled plant. They present methods and tools for co-modeling using VDM as the DE formalism, and bond graphs on the CT side, using the Crescendo platform to link existing simulators (Overture for VDM and 20-sim for bond graphs). The authors discuss the exploitation of co-models within the design flow, including their use with SysML, and the roles of Software-in the-Loop and Hardware-in-the-Loop simulation on the way to realising co-models in cyber and physical media. The authors identify research challenges in providing sufficient model fidelity and the evidence needed to support the engineering of certifiably dependable systems.
Chapter Preview

1. Introduction

Cyber-Physical Systems (CPSs) are groups of collaborating computational elements controlling physical entities (Rajkumar, Lee, Sha, & Stankovic, 2010; Lee, 2010). They present exciting opportunities for innovative product development, with examples ranging from body-area networks for medical monitoring to “smart” power grids and transport networks. Enabled by advances in mobile and wireless networking, as well as by rapid improvements in processor capability and power consumption, the pace of innovation in both the market for and the technology of CPSs mean that multi-disciplinary methods and tools are needed to support rapid but accurate exploration of design alternatives.

Although there is great potential in CPS technology, the challenges facing developers are also significant (Marwedel, 2010; Broy, Cengarle, & Geisberger, 2012). The presence of multiple distributed, mobile and heterogeneous components, and the need to accommodate change and reconfiguration, make it difficult to demonstrate the levels of dependability required in many applications. CPSs will typically interact with other systems and human beings, so that they may be considered as Systems of Systems (SoS) involving a wide range of stakeholders and engineering disciplines in their design and operation. For example, development of a CPS for rail transport management might require collaboration between control engineers, mechanical engineers, power transmission specialists and software developers.

Model-based design is increasingly recognised as a way to master complexity and support the collaboration of engineering teams (France & Rumpe, 2007). For the development of CPSs, the greatest challenge lies in bridging the gaps between the distinct computational models underpinning the disciplines involved (Henzinger & Sifakis, 2007). Although model-based methods and tools require formal foundations in order to support consistent analysis, models must nevertheless be accessible to engineering practitioners and domain experts, be capable of integration with established techniques and processes (Woodcock, Larsen, Bicarregui, & Fitzgerald, 2009), and support multiple views covering different system facets.

The challenge that we address in our work is that of creating methods and tools to support multi-disciplinary (and hence multi-paradigm) model-based development. In this chapter, we focus on the development and use of collaborative models (co-models) linking discrete-event (DE) models of control software with continuous-time (CT) models of controlled plant. The focus will be on embedded control systems in which a cyber (computing hardware plus software) controller interacts with a physical plant. We first illustrate the construction of co-models and co-simulation for embedded control systems using technology developed in the DESTECS1 project described by Broenink el al. (2010). This combines VDM as the DE formalism (Fitzgerald, Larsen, Mukherjee, Plat, & Verhoef, 2005) with bond graphs as the CT formalism (van Amerongen, 2010). Using the approach proposed by Fitzgerald, Larsen, Pierce, Verhoef, & Wolff (2010), we show how models developed in these two diverse formalisms have been linked within the open tools platform Crescendo which supports co-simulation. We introduce methodological aspects of co-model construction (Fitzgerald, Larsen, Pierce, & Verhoef, 2013), and the use of co-models in “design space exploration” (DSE).

Key Terms in this Chapter

Co-Model: Collaborative models (co-models) are composed of a DE model of a controller, a CT model of a plant and a contract connecting them (see Figure 2 : A co-model contains a DE model, contract, and CT model ).

Cyber-Physical System (CPS): A CPS is a system of collaborating computational elements controlling physical entities. Unlike more traditional embedded systems, a full-fledged CPS is typically designed as a network of interacting elements with physical input and output instead of as standalone devices.

Co-Simulation: Interaction between the DE and CT models is achieved by executing them simultaneously and allowing information to be shared between them. This is termed a co-simulation. In a co-simulation, a shared variable is a variable that appears in and can be accessed from both the DE and CT models. Design parameters that are common to both models are called shared design parameters.

Contract: Shared variables, shared design parameters, and events define the nature of the communication between CT and DE models. These elements are recorded in a contract acting as the glue for the co-simulation engine.

Embedded Control System: This is a device, or set of devices, that manages, commands, directs or regulates the behaviour of one or more physical devices or other device(s) or system(s) mostly without human intervention.

Complete Chapter List

Search this Book: