A Unified Approach for Modeling, Developing, and Assuring Critical Systems

Developing and assuring safety- and security-critical real-time embedded systems is a challenging endeavor that requires many activities applied at multiple levels of abstraction. For these activities to be effective and trustworthy, they must be grounded

  • PDF / 1,913,719 Bytes
  • 21 Pages / 439.37 x 666.142 pts Page_size
  • 44 Downloads / 206 Views

DOWNLOAD

REPORT


2

Kansas State University, Manhattan, USA [email protected] US Food and Drug Administration, Silver Spring, USA

Abstract. Developing and assuring safety- and security-critical realtime embedded systems is a challenging endeavor that requires many activities applied at multiple levels of abstraction. For these activities to be effective and trustworthy, they must be grounded in a common understanding of the system architecture and behavior. We believe that these activities are best addressed in a unified framework of modeling and programming that enables developers, analysts, and auditors to freely move up and down layers of abstraction, shifting their viewpoints to suit the activities at hand, while maintaining strong traceability across the different layers and views. In this approach, the distinction between “models”, “specifications”, and “programs” is often blurred. In this paper, we summarize an architecture-centric approach to critical system development and assurance that emphasizes the use of formally specified architectures as the “scaffolding” through which many different activities are organized and synchronized. We provide examples of: (a) analyses, behavioral constraints, and implementations, (b) important abstraction transitions, and (c) key traceability relationships within the framework. We discuss how these features are being used to develop systems on time and space partitioned execution and communication platforms for systems in the medical domain. We use an open-source medical device that we are developing – Patient-Controlled Analgesic (PCA) infusion pump as a concrete example.

1

Introduction

Developing and assuring safety- and security-critical real-time embedded systems is a challenging endeavor that requires many activities applied at multiple This work is sponsored in part by US National Science Foundation Food and Drug Administration Scholar-in-Residence program (CNS 1238431, 1355778, 1446544, 1565544), the Department of Homeland Security (DHS) Science and Technology Directorate, Homeland Security Advanced Research Projects Agency (HSARPA), Cyber Security Division (DHS S&T/HSARPA/CDS) BAA HSHQDC- 14-R-B0005, the Government of Israel and the National Cyber Bureau in the Government of Israel via contract number D16PC00057. c Springer Nature Switzerland AG 2018  T. Margaria and B. Steffen (Eds.): ISoLA 2018, LNCS 11244, pp. 225–245, 2018. https://doi.org/10.1007/978-3-030-03418-4_14

226

J. Hatcliff et al.

levels of abstraction. Use cases are often developed to informally document the intended behavior of the system in terms of the user’s (or broader system context’s) view of the system inputs and outputs. Requirements are developed that, among other things, establish relationships and constraints between inputs and outputs. System and component interfaces and architecture are specified, and component behavioral interface specifications derived from requirements. Many forms of design-level analysis are performed including dependence analysis, hazard analysis, and control loop analysis. The results