Reliable Design of Safety Critical Systems Dr. Abhik Roychoudhury School of Computing

Slides:



Advertisements
Similar presentations
Embedded System, A Brief Introduction
Advertisements

Conformance Testing of MOST based Applications Towards Effective System Testing André Baresel, Michael Schmidt - DaimlerChrysler AG Contact:
ES Seminar1 Communicating Transaction Processes P.S. Thiagarajan National University of Singapore Joint Work with: Abhik Roychoudhury; ……
Component Oriented Programming 1 Chapter 2 Theory of Components.
ECOE 560 Design Methodologies and Tools for Software/Hardware Systems Spring 2004 Serdar Taşıran.
LIFE CYCLE MODELS FORMAL TRANSFORMATION
Software system modeling
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
Presenter: PCLee – This paper outlines the MBAC tool for the generation of assertion checkers in hardware. We begin with a high-level presentation.
Reporter:PCLee With a significant increase in the design complexity of cores and associated communication among them, post-silicon validation.
1 Formal Methods in SE Qaisar Javaid Assistant Professor Lecture 05.
Teaching MC to Undergrads. Abhik Roychoudhury National University of Singapore.
Automata Based Programming Anatoly Shalyto, Fedor Tsarev Saint-Petersburg State University of Information Technologies, Mechanics and Optics.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Course Summary. © Katz, 2003 Formal Specifications of Complex Systems-- Real-time 2 Topics (1) Families of specification methods, evaluation criteria.
Presenter : Yeh Chi-Tsai System-on-chip validation using UML and CWL Qiang Zhu 1, Ryosuke Oish 1, Takashi Hasegawa 2, Tsuneo Nakata 1 1 Fujitsu Laboratories.
Model Checking. Used in studying behaviors of reactive systems Typically involves three steps: Create a finite state model (FSM) of the system design.
Behavioral Design Outline –Design Specification –Behavioral Design –Behavioral Specification –Hardware Description Languages –Behavioral Simulation –Behavioral.
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.
A Model-Driven Framework for Architectural Evaluation of Mobile Software Systems George Edwards Dr. Nenad Medvidovic Center.
Review of “Embedded Software” by E.A. Lee Katherine Barrow Vladimir Jakobac.
Course Summary. © Katz, 2007 Formal Specifications of Complex Systems-- Real-time 2 Topics (1) Families of specification methods, evaluation criteria.
Software Testing and Reliability Testing Real-Time Systems Aditya P. Mathur Purdue University May 19-23, Corporation Minneapolis/St Paul,
Modeling State-Dependent Objects Using Colored Petri Nets
Department of Computer Science & Engineering College of Engineering Dr. Betty H.C. Cheng, Laura A. Campbell, Sascha Konrad The demand for distributed real-time.
5/24/011 Advanced Tool Integration for Embedded Systems Assurance Insup Lee Department of Computer and Information Science University of Pennsylvania.
What Exactly are the Techniques of Software Verification and Validation A Storehouse of Vast Knowledge on Software Testing.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 1.1.
1  Staunstrup and Wolf Ed. “Hardware Software codesign: principles and practice”, Kluwer Publication, 1997  Gajski, Vahid, Narayan and Gong, “Specification,
Formal Methods 1. Software Engineering and Formal Methods  Every software engineering methodology is based on a recommended development process  proceeding.
Cheng/Dillon-Software Engineering: Formal Methods Model Checking.
Chapter 9 Database Planning, Design, and Administration Sungchul Hong.
Overview of the Database Development Process
© 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.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Requirements Expression and Modelling
ECE 720T5 Winter 2014 Cyber-Physical Systems Rodolfo Pellizzoni.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
Reporter: PCLee. Assertions in silicon help post-silicon debug by providing observability of internal properties within a system which are.
An Introduction to Software Architecture
Lecture 13 Introduction to Embedded Systems Graduate Computer Architecture Fall 2005 Shih-Hao Hung Dept. of Computer Science and Information Engineering.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
CS4730 Real-Time Systems and Modeling Fall 2010 José M. Garrido Department of Computer Science & Information Systems Kennesaw State University.
Design Verification An Overview. Powerful HDL Verification Solutions for the Industry’s Highest Density Devices  What is driving the FPGA Verification.
Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.
Framework for the Development and Testing of Dependable and Safety-Critical Systems IKTA 065/ Supported by the Information and Communication.
Dynamic Analysis of Multithreaded Java Programs Dr. Abhik Roychoudhury National University of Singapore.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
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.
Fall 2004EE 3563 Digital Systems Design EE 3563 VHSIC Hardware Description Language  Required Reading: –These Slides –VHDL Tutorial  Very High Speed.
- 1 - ©2009 Jasper Design Automation ©2009 Jasper Design Automation JasperGold for Targeted ROI JasperGold solutions portfolio delivers competitive.
CS4730 Real-Time Systems and Modeling Fall 2010 José M. Garrido Department of Computer Science & Information Systems Kennesaw State University.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
International Telecommunication Union © ITU-T Study Group 17 Integrated Application of SDL Amardeo Sarma NEC Europe Ltd.
What’s Ahead for Embedded Software? (Wed) Gilsoo Kim
Software Quality and Safety Pascal Mbayiha.  software engineering  large, complex systems  functionality, changing requirements  development difficult.
Formal Methods in Software Engineering1 Today’s Agenda  Mailing list  Syllabus  Introduction.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Hardware/Software Co-Design of Complex Embedded System NIKOLAOS S. VOROS, LUIS SANCHES, ALEJANDRO ALONSO, ALEXIOS N. BIRBAS, MICHAEL BIRBAS, AHMED JERRAYA.
Copyright 1999 G.v. Bochmann ELG 7186C ch.1 1 Course Notes ELG 7186C Formal Methods for the Development of Real-Time System Applications Gregor v. Bochmann.
Definition CASE tools are software systems that are intended to provide automated support for routine activities in the software process such as editing.
Software Design Methodology
Software Verification and Validation
Software Verification and Validation
Department of Computer Science Abdul Wali Khan University Mardan
Software Verification and Validation
Presentation transcript:

Reliable Design of Safety Critical Systems Dr. Abhik Roychoudhury School of Computing

Safety Critical Systems  Safety  Design invariants must always hold in all executions of the system.  Critical  Violating invariants in any execution can be disastrous.  Examples  Air traffic controller  Automobile parts.

Straits Times News Report Airbag sensory system in Automobiles “--- this thing will probably have to work only once in 10 years, but it better work then, otherwise you might die.” News Report on design work at Ang Mo Kio Facility (Singapore) of Delphi Automotive Systems.

Methodological view point  Inject higher reliability in design life cycle.  Safety critical systems often have a computer component.  This trend is increasing with growth of embedded applications.  What kind of computer systems are they ?

Reactive Systems  Continuously interacts with its environment.  Interaction with env. is asynchronous.  Often, its response to environment needs to obey time constraints.  Often consists of a concurrent composition of processes.

Why study them now ?  Embedded systems  Using a computer component as part of a bigger system becoming pervasive.  Many of them safety-critical e.g. automobile parts  Current verification techniques do not suffice.  Lack of tool support for reliable modeling.  Perceived as intrusive to design process.

Validation Techniques  In circuit Emulator (ICE)  Logic Analyzer  Model based simulation  Formal verification techniques  Model Checking  Deduction  Combinations of the two

In circuit Emulator (ICE)  Used widely in industry for designs where a microproc. interacts with potpourri of peripherals.  ICE is a dedicated hardware for a particular processor which allows its internals to be read.  Response of processor (to environment) observed by physically replacing chip with ICE.

Logic Analyzer  Used for sampling many signals simultaneously in a complex design.  Can snoop on a bus to observe interactions of a microprocessor with its environment.  ICE and Logic Analyzer do not work when:  Processor, peripherals, bus all integrated in a chip.  System-on-Chip (SoC) – Current industry trend.

Model based simulation  Simulate and observe the behaviors of a system model, rather than the system itself.  Takes validation/debugging higher in the design life-cycle.  Since a model is validated, can take place prior to system integration  Hardware software co-simulation (POLIS)

Model Checking Same as model based simulation except that you check all possible behaviors. Needed for checking critical properties. Can be used if model has finite states. Many realistic systems are infinite-state e.g. all real-time systems. For these systems, extensions of model checking exist (via deduction).

Some questions  How to accommodate the complex mix of languages in which a safety critical system is described ?  Automation and efficiency of simulation/validation  Should all the validation be static ? What about run-time checks ?

Project 1: UML diagrams UML (Unified Modeling Language) emerging as industry standard for high level visual description of software. UML provides 2 diagrams for modeling reactive systems – State Charts (Modeling components) – Msg. Seq. Charts (Interaction between components) Any real-life reactive system (e.g. software for controlling airbus) modeled as a combination of StateCharts and MSC.

Project 1: UML diagrams How to analyze such designs (written in 2 languages) ? How to generate code from these high level descriptions ? Convert diagrams to an intermediate textual representation. Should be rich enough to handle real-time constraints. Tools for conversion between UML and textual. Techniques for simulating behaviors of textual description. Jointly with Dr. Roland Yap

Project 2: Run time Checks Design of reactive Embedded Systems becoming component based. Designers use vendor provided off-the-shelf component and plug them into a bus. The bus as well as the components often integrated into a single chip, called System-on- chip designs.

Project 2: Run time Checks Vendor provided components are unreliable. But designer does not have the paper design of these components. How to ensure reliable operation of these components in safety critical systems ? System level testing will not work. Entire system in one chip.

Project 2: Run time Checks Plant an observer process. The observer will snoop on the bus. Detects possible failures to transmit signals. Raises alarm for critical failures. Software implementation of the observer. Empirical study to estimate its accuracy.

Component based Designs Research aimed at facilitating component based development of embedded systems. Focus on the communication protocols between interacting hardware components. Synthesis of Interfaces in Embedded Systems. (rp097) - Jointly with Prof. P.S. Thiagarajan

My Side of the Story Each of the projects in the area of model based validation tools and techniques. Projects hinge on a well-studied case study serving as the driving application. Manageable smaller chunks exist for bigger projects.

… and yours At the end of the projects, you will – Gain familiarity with software engineering industry standards e.g. UML – Gain familiarity with Electronic Design Automation industry standards During the project : – Not falling off the deep-end

Contact Information Office : S Telephone : See You