CIS 700-3: Selected Topics in Embedded Systems Insup Lee University of Pennsylvania June 24, 2015 Introduction.

Slides:



Advertisements
Similar presentations
ECE 720T5 Fall 2012 Cyber-Physical Systems Rodolfo Pellizzoni.
Advertisements

Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
Verification/Simulati on –GUI for simulation and formal verification –Simulator: Exploration of dynamic behavior Checking.
Automated creation of verification models for C-programs Yury Yusupov Saint-Petersburg State Polytechnic University The Second Spring Young Researchers.
Train Control Language Teaching Computers Interlocking By: J. Endresen, E. Carlson, T. Moen1, K. J. Alme, Haugen, G. K. Olsen & A. Svendsen Synthesizing.
Systems Engineering for Automating V&V of Dependable Systems John S. Baras Institute for Systems Research University of Maryland College Park
6/22/011 Case Study: Computer Assisted Resuscitation Algorithm (CARA) System Insup Lee Department of Computer and Information Science University of Pennsylvania.
Integrated Design and Analysis Tools for Software-Based Control Systems Shankar Sastry (PI) Tom Henzinger Edward Lee University of California, Berkeley.
Testing and Monitoring at Penn Testing and Monitoring Model-based Generated Program Li Tan, Jesung Kim, and Insup Lee July, 2003.
Copyright © 2006 Software Quality Research Laboratory DANSE Software Quality Assurance Tom Swain Software Quality Research Laboratory University of Tennessee.
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.
SDRL and GRASP University of Pennsylvania 6/27/00 MoBIES 1 Design, Implementation, and Validation of Embedded Software (DIVES) Contract No. F C-1707.
Property-Based Test Generation Li Tan, Oleg Sokolsky, and Insup Lee University of Pennsylvania.
Ritu Varma Roshanak Roshandel Manu Prasanna
Design of Fault Tolerant Data Flow in Ptolemy II Mark McKelvin EE290 N, Fall 2004 Final Project.
Software Testing and Reliability Testing Real-Time Systems Aditya P. Mathur Purdue University May 19-23, Corporation Minneapolis/St Paul,
CASE Tools CIS 376 Bruce R. Maxim UM-Dearborn. Prerequisites to Software Tool Use Collection of useful tools that help in every step of building a product.
8/3/011 Formal methods for CARA development Insup Lee (Univ. of Pennsylvania) Rance Cleaveland (SUNY at Stony Brook) Elsa Gunter (NJIT)
System Design Research Laboratory Model-based Testing and Monitoring for Hybrid Embedded Systems Li Tan Jesung Kim Oleg Sokolsky Insup Lee University of.
Model-based Analysis of Distributed Real-time Embedded System Composition Gabor Madl Sherif Abdelwahed
November 18, 2004 Embedded System Design Flow Arkadeb Ghosal Alessandro Pinto Daniele Gasperini Alberto Sangiovanni-Vincentelli
DIVES Alur, Lee, Kumar, Pappas: University of Pennsylvania  Charon: high-level modeling language and a design environment reflecting the current state.
Testing and Monitoring at Penn An Integrated Framework for Validating Model-based Embedded Software Li Tan University of Pennsylvania September, 2003.
End-to-End Design of Embedded Real-Time Systems Kang G. Shin Real-Time Computing Laboratory EECS Department The University of Michigan Ann Arbor, MI
MOBIES Project Progress Report Engine Throttle Controller Design Using Multiple Models of Computation Edward Lee Haiyang Zheng with thanks to Ptolemy Group.
Code Generation from CHARON Rajeev Alur, Yerang Hur, Franjo Ivancic, Jesung Kim, Insup Lee, and Oleg Sokolsky University of Pennsylvania.
5/24/011 Advanced Tool Integration for Embedded Systems Assurance Insup Lee Department of Computer and Information Science University of Pennsylvania.
Software Engineering Tools and Methods Presented by: Mohammad Enamur Rashid( ) Mohammad Rashim Uddin( ) Masud Ur Rahman( )
Introduction to Software Testing
Formal Methods 1. Software Engineering and Formal Methods  Every software engineering methodology is based on a recommended development process  proceeding.
CS527: (Advanced) Topics in Software Engineering Overview of Software Quality Assurance Tao Xie ©D. Marinov, T. Xie.
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 1 Introduction to Software Engineering CEN 4010.
© Siemens AG, CT SE 1, Dr. A. Ulrich C O R P O R A T E T E C H N O L O G Y Research at Siemens CT SE Software & Engineering Development Techniques.
Copyright © Siemens AG All rights reserved. Essential Criteria on MBT to Ensure Quality of Software in Industry PVR Murthy Andreas Ulrich Siemens.
ECE 720T5 Winter 2014 Cyber-Physical Systems Rodolfo Pellizzoni.
Instructor: Peter Clarke
Product Development Chapter 6. Definitions needed: Verification: The process of evaluating compliance to regulations, standards, or specifications.
Software Engineering Research paper presentation Ali Ahmad Formal Approaches to Software Testing Hierarchal GUI Test Case Generation Using Automated Planning.
Framework for the Development and Testing of Dependable and Safety-Critical Systems IKTA 065/ Supported by the Information and Communication.
Approaching a Problem Where do we start? How do we proceed?
5/27/03MDES Supporting Model-Based Validation at Run-time Insup Lee and Oleg Sokolsky Department of Computer and Information Science University of.
BE-SECBS FISA 2003 November 13th 2003 page 1 DSR/SAMS/BASP IRSN BE SECBS – IRSN assessment Context application of IRSN methodology to the reference case.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
Interactive CARA Simulation Prof. Insup Lee. Hierarchical EFSM Specification for CARA.
Polymorphous Computing Architectures Run-time Environment And Design Application for Polymorphous Technology Verification & Validation (READAPT V&V) Lockheed.
Model Checking and Model-Based Design Bruce H. Krogh Carnegie Mellon University.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
ANKITHA CHOWDARY GARAPATI
Formal Methods.
Architecture Analysis Techniques
Title 11/5/2000 eSimplex Architecture Using MaCS Insup Lee Oleg Sokolsky Moonjoo Kim Anirban Majumdar Sampath Kannan Mahesh Viswanathan Insik Shin and.
Using Symbolic PathFinder at NASA Corina Pãsãreanu Carnegie Mellon/NASA Ames.
Version 02U-1 Computer Security: Art and Science1 Correctness by Construction: Developing a Commercial Secure System by Anthony Hall Roderick Chapman.
Grigore Rosu Founder, President and CEO Professor of Computer Science, University of Illinois
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
Real-time Systems Group University of Pennsylvania 10/13/98 1 Design-time and Run-time Assurance Insup Lee Department of Computer and Information Science.
SOFTWARE TESTING AND QUALITY ASSURANCE. Software Testing.
Cs498dm Software Testing Darko Marinov January 24, 2012.
An Overview of Requirements Engineering Tools and Methodologies*
ATTRACT TWD Symposium, Barcelona, Spain, 1st July 2016
Formally Specified Monitoring of Temporal Properties
runtime verification Brief Overview Grigore Rosu
Monitoring, Checking and Steering of Real-Time Systems
Software Design Methodology
Introduction to Software Testing
QGen and TQL-1 Qualification
QGen and TQL Qualification
Department of Computer Science Abdul Wali Khan University Mardan
Software Engineering for Safety: a Roadmap
Presentation transcript:

CIS 700-3: Selected Topics in Embedded Systems Insup Lee University of Pennsylvania June 24, 2015 Introduction

Course requirements  Select a topic and then you are expected to  Do In-class presentation  Write a survey paper  Download a toolset and do a demo in class  Partial paper listing at  Proceedings of RV’01, RV’02, RV ‘03, RV ’04, WODA  Safeware, Nancy Leveson, Addison Wesley,1995.

List of possible topics  Foundations of run-time verification  Probabilistic run-time verification  Merging partial specifications  Test generation from specifications, hybrid models  Certification, CMM  Safeware, by Nancy Leveson  Model-carrying code  Intrusion detection  Signature-based IDS, Model-based IDS  Anomaly-based intrusion IDS  Application domains: medical devices, sensor networks, stateless PC  Modical device architecture and specification; e.g., infusion pump  Security in sensor networks  Tools  Run-time verification: JPaX  Test generation: ASML  Software model checker: Bangor  Run-time concurrency analyzers  Etc.

Embedded Systems  An embedded system is a system  that interacts with (or reacts to) its environment, and  whose correctness is subject to the physical constraints imposed by the environment.  Difficulties  Increasing complexity  Decentralized and networked  Resource constrained (e.g. power, size)  Safety critical  Development of reliable and robust embedded software

Software Development Process  Requirements capture and analysis  Informal to formal  Consistency and completeness  Assumptions and interfaces between system components  Application-specific properties  Design specifications and analysis  Formal modeling notations  Analysis techniques  simulation, model checking, equivalence checking, testing, etc.  Abstractions  Implementation  Manual/automatic code generation  Validation  Testing  Model extraction and verification  Run-time monitoring and checking  Motivation & Objectives  make each step more rigorous using formal method techniques  narrow the gaps between phases Requirements Design specification Implementation

RTG: Real-Time Systems Group  Goals:  To develop methods and tools for improving the reliability and quality of real-time embedded systems  To apply them to real world problems and applications  Projects:  Modeling and analysis techniques  requirements capture and analysis: user requirements  design specification and analysis: systems and hardware/device platforms  Techniques  EMFS (Extended Finite State Machines)  CHARON (Hybrid systems: discrete and continuous)  Prototyping using simulator, code generator  Test generation for validation (of real implementation)  Runtime monitoring and checking  Validation and Certification  Real-time operating systems, e.g., resource management, scheduling  Application domains  Wireless sensor networks  Medical devices  Stateless PC

Modeling languages and tools  ACSR  CHARON  EFSM

CHARON language  Hierarchical modeling of concurrent embedded systems  Discrete computation, continuous environment  Avionics, automotive, medical device controllers  Architectural hierarchy  Communicating concurrent components  Shared variable communication  Behavioral hierarchy  Hierarchical hybrid state machines  Mode switches, interrupts, exceptions  Formal compositional semantics enables rigorous analysis

Charon toolset  Visual/textual editors  Simulator  Reachability analyzer  Code generator

CHARON Environment CHARON Code (High level language) Java Code Charon to Java Translator Control Code Generator Java Libraries Human Interface Analysis Simulator Code Generator Drivers Model Checker Runtime Monitor Formal Requirements

Example: Four Legged Robot  Control objective  v = c  High-level control laws  Low-level control laws x y j1 j2 L1 (x, y) v L2 *[LCTES 2003] R. Alur, F. Ivancic, J. Kim, I. Lee, and O. Sokolsky. Generating embedded software from hierarchical hybrid models.

CHARON Code Generator  CHARON code generator translates CHARON models into C++ code  Each object of CHARON models is translated into a C++ structure  Generated C++ code is compiled by the target compiler along with additional code  Run-time scheduler: invokes active components periodically  API interface routines: associates variables with devices  Correctness of generated code

Bridging the gap between specification and implementation  Model-based code generation and synthesis  Model-based testing  Software model checking  Run-time monitoring and checking (i.e., run-time verification)

Model-based testing  Narrowing the gap between the model and implementation  Testing remains the primary validation technique  Model-based test generation adds rigor to testing:  Provide test suites based on a formally verified model  Conventional testing coverage criteria applied to the model  Determines whether an implementation conforms to its specification  Two main steps  Test generation from specification model  Test execution of implementation Specification Model Test Generation Test Suite Implementation Test Outcomes Test Execution

Model-based test generation  Developed a framework for test generation:  Model is Extended Finite-State Machines (EFSM)  Coverage Criteria  control-flow (e.g., state coverage, transition coverage)  data-flow (e.g., all-def, all-use coverage)  Test generation using model checker  Covert test sequences to scripts for test execution  Basis for conformance metrics Specification Input to model checker Coverage criterion A set of form ulas Model checker A set of tests E[ U ]

Testing-based Validation  Determines whether an implementation conforms to its specification  Hardware and protocol conformance testing  Widely-used specifications  Finite state machines and labeled transition systems  Two main steps  Test generation from specifications  What to test, how to generate test  Test execution of implementations  Applies tests to implementations and validates the observed behaviors

Model-based testing Specification Model Test Output Test Suite Implementation Test Generation Test Execution Test Evaluator input output

Run-time verification and checking  Run-time monitoring and checking (MaC) w.r.t. formal specification  Ensures the runtime compliance of the current execution of a system with its formal requirement  detect incorrect execution of applications  predict error and steer computation  collect statistics of actual execution  Complementary methodology to formal verification and program testing  Prevention, avoidance, and detection & recovery

The MaC Framework Program Static Phase Run-time Phase low-level behavior high-level behavior Program Filter Automatic Instrumentation Human Monitoring Scripts Low-level Specification High-level Specification Event Recognizer Event Recognizer Automatic Translation Run-time Checker Run-time Checker Automatic Translation Input Informal Requirement Spec

Case Studies

Experience/case studies in medical devices  CARA infusion pump system  Requirements modeling and analysis  Design specification and analysis  Hardware in-the-loop simulation  Blood bank policy and DBSS  Extracting formal models from FDA guidelines  Test generation from models  (evaluation of DBSS for conformance to the FDA guidelines)  (testing DBSS)

CARA case study  The CARA (Computer Assisted Resuscitation Algorithm) infusion pump control system is being developed by WRAIR (Walter Reed Army Institute of Research)  Goals:  Study applicability of state-of-the-art formal techniques for development of safety critical embedded systems  System modeling from requirements  Formulation and checking of properties on models  General properties  Specific safety properties (from requirements) Caregiver Infusion Pump Blood Pressure Monitor Patient Pump Monitor Blood Pressure Monitor Algorithm Caregiver Interface CARA

Consistency checker Model checker simulator Equality checker Informal requirements translator EFSM translator SCR SMV CHARON ACSR Model checker translator DOVE Etc. Check for Completeness, Non-determinism Check CTL Properties Run real hardware Compare models Check LTL Properties

Interfaces of CARA Simulation

Hardware in-the-loop Simulation  We connected the CHARON Simulator and GUI to the hardware setup.  The hardware consists of four components:  M100 Infusion Pump  mL flasks  Pressure Sensor  A/D interface

Blood Bank Case Study  The FDA Code of Federal Regulations (CFR) requirements are complemented by an explanatory guidance memo.  Extract formal models from documents and then analyze for  errors such as incompleteness;  inconsistencies between documents; and  requirements traceability and maintenance.  DBSS (Defense Blood Standard System) is the system used by the Army to keep track of their blood supply. ? Errors found include: Inconsistency Incompleteness

CFRMemo CFR Model Memo Model System Model Merging NLP Our approach  CFR and Memo documents are translated into formal models.  Merge multiple models into a single model to  Verify using formal methods techniques  Generate test suite  Working on semi-automatic way to extract models using NLP techniques  Army’s DBSS

Policy Modeling and Verification NL Documents Paragraphs NLFSMs Build NLFSM Manual Translation and Merging System Specification Test Script Generation Tool Properties Yes / No Outcome Certification Test Scripts Program Code Test Outcomes Certification Criteria Certifier Tester Programmer 1.Write NL Requirements 2.Extract formal System Specification (EFSMs) 3.Programmer implements system 4.Create Test Scripts 5.Tester runs scripts on implementation 6.Certifier uses test results and properties to decide if implementation passes

The HASTEN Project  High Assurance Systems Tools and ENvironments (HASTEN)  Develop techniques and tools for “end-to-end” software engineering of embedded systems  Requirements capture  Specification, analysis, simulation  Implementation generation and validation: code generation, testing  Deployed system monitoring, checking, and steering  Integrated use of tools and artifacts  Vertical integration: multiple uses of models  Horizontal integration: multiplicity of techniques  Case Studies and Tech Transfers

Opportunities and Challenges  Modeling challenges  Semi-automatic extraction of formal models from informal docs  Composition of partial, heterogeneous models  Open-source requirements and models  Multiple use and sharing of modeling artifacts  Assess to domain experts & Model validation  Certification based on models  Benchmarks for tool evaluation  Support for system integration  Applying model-based techniques to legacy code  Extracting behavioral interfaces  Compositional real-time scheduling framework  Certification challenges  Metrics based on formal method foundations

The End.