Model-Implementation Fidelity in Cyber Physical System Design Model-Implementation Fidelity in Cyber Physical System Design Anca Molnos • Christian Fabre Editors
Total Page:16
File Type:pdf, Size:1020Kb
Anca Molnos · Christian Fabre Editors Model-Implementation Fidelity in Cyber Physical System Design Model-Implementation Fidelity in Cyber Physical System Design Anca Molnos • Christian Fabre Editors Model-Implementation Fidelity in Cyber Physical System Design 123 Editors Anca Molnos Christian Fabre Campus MINATEC Campus MINATEC CEA, Grenoble, France CEA, Grenoble, France ISBN 978-3-319-47306-2 ISBN 978-3-319-47307-9 (eBook) DOI 10.1007/978-3-319-47307-9 Library of Congress Control Number: 2016958303 © Springer International Publishing AG 2017 This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use. The publisher, the authors and the editors are safe to assume that the advice and information in this book are believed to be true and accurate at the date of publication. Neither the publisher nor the authors or the editors give a warranty, express or implied, with respect to the material contained herein or for any errors or omissions that may have been made. Printed on acid-free paper This Springer imprint is published by Springer Nature The registered company is Springer International Publishing AG The registered company address is: Gewerbestrasse 11, 6330 Cham, Switzerland Preface The trend towards large-scale deployments of cyber-physical systems (CPSs) makes analysis of computing and physical world interactions of paramount importance. During the development of the software, designers model the physical world that the future CPS will interact with. Some of these models represent the external physical world that the CPS will monitor and control, and others represent a physical part of the CPS itself: its computing platform, sensors and actuators. Models are built with various techniques and granularity. Several of these models are used at various stages of the CPS lifecycle, from the early stages of specification to development and all the way to production time when a CPS is actually deployed. Furthermore, they are involved not only in the development of the software but also in the assessment of functional and non-functional properties of the full CPS. As a consequence, CPS software development raises several questions on the fidelity of models: • What is the fidelity of a model with regard to the part of the physical world it represents? • To what extent is a model’s fidelity adequate, i.e. accurate enough but not too complex or costly, with regard to the way the model will be used by the CPS software? • What is the impact of a model’s fidelity on key properties of the full CPS, like dependability, performance or energy consumption? These three questions lay beneath the authors’ contributions. The chapters address several crucial CPS design aspects such as cross-application interference, parsimonious modelling and trustful code production. The book describes a wide range of solutions from simulation for extra-functional properties, extension of programming techniques, model-driven development (MDD), resource-driven mod- elling and quantitative and qualitative verification based on statistics and formal proofs. These solutions are applied to several CPS design techniques: mixed critical- ity, communication protocols and computing platform simulation. Tentative answers are presented from very different communities, such as compiler construction, v vi Preface power/temperature modelling of digital devices, high-level performance analysis, code/device certification, etc. The target audience is researchers and engineers in the field of CPS development and validation. They will have the opportunity to learn what is the common practice in these fields and, more importantly, to make the links between them. Trends and open research issues presented in this book can be an inspiration for future research. Grenoble, France Anca Molnos August 29, 2016 Christian Fabre Introduction This book presents different modelling and analysis techniques used for CPS devel- opment, such as model-driven development (MDD), resource-driven development, statistical analysis and proofs of simulator implementation. Each chapter describes the modelling techniques used and the analysis enabled thereby and discusses model fidelity in this specific context. The first chapter overviews some of the sought challenges for building faithful embedded systems models, especially the growing demand for using formal models for dealing with, e.g., performance. The impact of the hardware part of the system on performance is discussed, and a probabilistic interpretation is proposed to build appropriately abstract models towards trustworthy analysis. Such a view is useful to investigate the system performance as it provides a formal and parsimonious framework. The second chapter offers a view on how to manage the fidelity of a model’s representation in order to control its complexity. This approach includes two concrete and related methods targeting two aspects of the problem. Dynamic resource graphs highlight the dependencies between system resources and describe a system’s progression as resource and dependency evolution steps. This forms a theoretical foundation for tracking the parameters that can be regarded as resources, e.g. power consumption, time and computation units. With this resource-oriented view of a system, a hierarchical modelling method emphasising cross-layer cuts is established. This method facilitates parameter-proportional modelling to achieve fidelity vs. complexity trade-offs in models. Use-case simulation and state space analysis help to validate the approach. The third chapter covers the power, thermal and reliability problems brought by the extreme device, core and multicore scaling that we face today. A system engineer should be aware of any possible cross-application interferences with respect to timing, power and thermal properties as soon as possible in the design process. Power and temperature management should be dealt with without introducing unwanted interference. For this reason, the extra-functional properties need to be modelled and analysed at the system level, because they can strongly affect the overall quality of service (QoS)—performance and battery lifetime—or even cause vii viii Introduction the system to fail meeting its real-time and safety requirements. This covers the specification of platform properties (extra-functional model) as well as the dynamic capturing, processing and extraction of power/temperature information during the simulation. Especially closing the loop back to the application and run-time services is an important feature for complex heterogeneous hardware platforms and software stacks. As an example, a battery-powered mixed-critical avionics system, running a safety-critical flight control application and a performance critical image processing application on the same multicore system-on-chip (SoC) is presented. Chapter 4 addresses the performance analysis in relation with the programming models for the embedded domain. In particular, the focus is on synchronous data flow (SDF) graphs that are often the computational model of choice for specification, analysis and automated synthesis of parallel streaming kernels tar- geting embedded multiprocessor system-on-chip (MPSoC) platforms. The chapter discusses several limitations of the SDF graphs in the context of conventional parallel software synthesis methodologies and highlights the associated degradation of fidelity, in terms of analysis’ accuracy and synthesised software performance. Subsequently, the chapter proposes several extensions to the strict notion of SDF graph model that address the identified issues. An extensive empirical evaluation, which underscores the model limitations and the effectiveness of the approach, is included. Chapter 5 presents a simulation view on the process of verification of MPSoC. The virtual prototyping framework, SimSoC, is proposed. SimSoC is a full system simulation framework based on SystemC and transaction-level modelling (TLM). It takes as input a binary executable file, which can be a full operating system, and simulates the behaviour of the target hardware on the host system. It is using internally dynamic binary translation from target code to host code to simulate the application software. A potential issue with simulators is that they might not accurately simulate the real hardware. This gap is filled by proving that an instruction set simulator coded in C (of an ARM processor, in our case) is a high- fidelity implementation of the processor architecture. The first part of the chapter presents the general architecture and features of SimSoC. The second part describes the proof of the ARM simulator. Chapter 6 addresses the design and verification of mixed-critical systems from models of computation to describe an application all the way to the implementation on a hardware platform. The chapter describes a compositional method to design applications independently