Ed Brinksma Dept. of CS, University of Twente, NL joint work with Angelika Mader Monterey Workshop 2003 Chicago Verification Modelling of Embedded systems.

Slides:



Advertisements
Similar presentations
Formal Methods and Testing Goal: software reliability Use software engineering methodologies to develop the code. Use formal methods during code development.
Advertisements

Omnibus: A clean language and supporting tool for integrating different assertion-based verification techniques Thomas Wilson, Savi Maharaj, Robert G.
1 Integration Testing CS 4311 I. Burnstein. Practical Software Testing, Springer-Verlag, 2003.
Presenter: PCLee VLSI Design, Automatic and Test, (VLSI-TSA-DAT).
© Dr. Ernest CachiaSlide 1 Consider the nature of a computer as a tool –Non conventional in that it’s universal –Reasons for it being so (separation.
Annoucements  Next labs 9 and 10 are paired for everyone. So don’t miss the lab.  There is a review session for the quiz on Monday, November 4, at 8:00.
Object-Oriented Software Development CS 3331 Fall 2009.
1 Chapter 4 - Part 1 Software Processes. 2 Software Processes is: Coherent (logically connected) sets of activities for specifying, designing, implementing,
© Chinese University, CSE Dept. Software Engineering / Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________.
LIFE CYCLE MODELS FORMAL TRANSFORMATION
Professor John Hosking, Dean of Engineering and Computer Science Models, Modelling, MBSE.
Background information Formal verification methods based on theorem proving techniques and model­checking –to prove the absence of errors (in the formal.
Software Reliability CIS 640 Adapted from the lecture notes by Doron Pelel (
1 Formal Methods in SE Qaisar Javaid Assistant Professor Lecture 05.
Software Model Checking for Embedded Systems PIs: Matthew Dwyer 1, John Hatcliff 1, and George Avrunin 2 Post-docs: Steven Seigel 2, Radu Iosif 1 Students:
Formal Methods in Software Engineering Credit Hours: 3+0 By: Qaisar Javaid Assistant Professor Formal Methods in Software Engineering1.
Building Reliable Software Requirements and Methods.
Unit 251 Implementation and Integration Implementation Unit Testing Integration Integration Approaches.
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.
Formal methods Basic concepts. Introduction  Just as models, formal methods is a complement to other specification methods.  Standard is model-based.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Swami NatarajanJuly 14, 2015 RIT Software Engineering Reliability: Introduction.
Formal verification Marco A. Peña Universitat Politècnica de Catalunya.
Software Reliability: The “Physics” of “Failure” SJSU ISE 297 Donald Kerns 7/31/00.
Using a Formal Specification and a Model Checker to Monitor and Guide Simulation Verifying the Multiprocessing Hardware of the Alpha Microprocessor.
1 Software Testing (Part-II) Lecture Software Testing Software Testing is the process of finding the bugs in a software. It helps in Verifying and.
Software Engineering CS B Prof. George Heineman.
Assurance techniques for code generators Ewen Denney USRA/RIACS, NASA Ames Bernd Fischer ECS, U Southampton.
Software Engineering 2003 Jyrki Nummenmaa 1 REQUIREMENT SPECIFICATION Today: Requirements Specification Requirements tell us what the system should.
SE-02 SOFTWARE ENGINEERING LECTURE 3 Today: Requirements Analysis Requirements tell us what the system should do - not how it should do it. Requirements.
Design Science Method By Temtim Assefa.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
Chapter 2: Software Process Omar Meqdadi SE 2730 Lecture 2 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
The Program Development Cycle
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
Overview of Formal Methods. Topics Introduction and terminology FM and Software Engineering Applications of FM Propositional and Predicate Logic Program.
Framework for the Development and Testing of Dependable and Safety-Critical Systems IKTA 065/ Supported by the Information and Communication.
Verification and Validation in the Context of Domain-Specific Modelling Janne Merilinna.
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
1 Introduction to Software Engineering Lecture 1.
Lyra – A service-oriented and component-based method for the development of communicating systems (by Sari Leppänen, Nokia/NRC) Traditionally, the design,
Monterey Workshop, Chicago, September 2003 in cooperation with Hubert Baumeister and Alexander Knapp Techniques for Improving Test-Driven Design Martin.
CS Data Structures I Chapter 2 Principles of Programming & Software Engineering.
Safety-Critical Systems 5 Testing and V&V T
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.
Quality Assurance.
Software Debugging, Testing, and Verification Presented by Chris Hundersmarck November 10, 2004 Dr. Bi’s SE516.
MODES-650 Advanced System Simulation Presented by Olgun Karademirci VERIFICATION AND VALIDATION OF SIMULATION MODELS.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
HACNet Simulation-based Validation of Security Protocols Vinay Venkataraghavan Advisors: S.Nair, P.-M. Seidel HACNet Lab Computer Science and Engineering.
Formal Verification. Background Information Formal verification methods based on theorem proving techniques and model­checking –To prove the absence of.
Formal Methods in Software Engineering1 Today’s Agenda  Mailing list  Syllabus  Introduction.
September 1999Compaq Computer CorporationSlide 1 of 16 Verification of cache-coherence protocols with TLA+ Homayoon Akhiani, Damien Doligez, Paul Harter,
Course: Software Engineering – Design I IntroductionSlide Number 1 What is a specification Description of a (computer) system, which:  is precise;  defines.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
CS223: Software Engineering Lecture 25: Software Testing.
Software Engineering Algorithms, Compilers, & Lifecycle.
1 Ontological Foundations For SysML Henson Graves September 2010.
Chapter3:Software Processes
Engineering Fundamentals and Problem Solving, 6e
Verifying Stability of Network Protocols
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Formal Methods (i.e. mathematical, algorithmic) for Software and Hardware Designs and, more generally, Design Tools and Technologies
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Model-Based Design: Software Engineers Wanted
Logical architecture refinement
CS385T Software Engineering Dr.Doaa Sami
Activities of Formal Methods
Presentation transcript:

Ed Brinksma Dept. of CS, University of Twente, NL joint work with Angelika Mader Monterey Workshop 2003 Chicago Verification Modelling of Embedded systems

September, 2003Monterey Workshop, Chicago Area flooded in 1953 catastrophe Last construction of the Delta Works ES Verification Example: storm surge barrier control dimensions

September, 2003Monterey Workshop, Chicago The control system l no human intervention human operation too unreliable l responsible for closing & opening online meteorological & hydrological data l very low failure rates event failure rate ~10 -5 /barrier event l design & verification with FM considered successful

September, 2003Monterey Workshop, Chicago Design validation ldata types & operations formally specified in Z lcrucial control parts modelled in Promela & model checked with Spin limplementations were hand-coded using Z specs limplementations were tested lno actual code was proved correct

September, 2003Monterey Workshop, Chicago Questions lHow to do practical verification of ES ? lIs it methodologically sound? lHow should this affect research?

September, 2003Monterey Workshop, Chicago The Setting lverification of ES designs is desirable critical aspects are common: safety-critical, high replication, costly, etc. lverification needs formalization operational model, logical theory, requirements lformalization is problematic nthe (standard) combinatorial explosion nincorporation of (physical) environment

September, 2003Monterey Workshop, Chicago Typical Situation lverification model is constructed in an ad hoc and opportunistic manner lthe success of verification is crucially dependent on scarce expertise lthe relation of the verification model to the actual design is opaque the verification crisis: model hacking precedes model checking

September, 2003Monterey Workshop, Chicago What do we need? Verification models should have/be l limited complexity must be open to computer-aided verification l faithful must capture relevant properties l traceable clear relation to actual design or system

September, 2003Monterey Workshop, Chicago Complexity Issues lmodels must be sufficiently small limited capacity verification tools limited capacity verification management lhybrid nature ES complicates models mixed techniques, symbolic analysis ltool capacity growth exceeds Moore’s law better algorithms & data structures

September, 2003Monterey Workshop, Chicago Abstractions Verification models are abstractions: n inherent abstractions mathematical modelling of physical aspects n controlled abstractions simplifications reducing complexity

September, 2003Monterey Workshop, Chicago Faithfulness lVerification of erroneous models is useless (or even worse). lModels must obviously capture the relevant system properties. However: lwhat are relevant (formal) properties? these are often part of the design problem ldo our abstractions preserve them? this can be difficult to show (begging the question) verification models & properties must be validated !

September, 2003Monterey Workshop, Chicago Model validation In addition to traceability verification models can be validated by experimental means: 1.simulation of the model requires constructive modelling 2.analysis of verification results in practice model validation and verification are mixed

September, 2003Monterey Workshop, Chicago Separating the errors la verification run may fail due to 1. an error in the implementation 2. an error in the verification model 3. an error in the formal property l errors must be analysed to modify appropriate entity l requires rigourous protocol for analysis & documentation verification should always include a systematic error discussion (cf. physics)

September, 2003Monterey Workshop, Chicago Software Model Extraction lprogram code as model lreduction by abstract interpretation ndata/predicate abstraction nvariable slicing lmodel check abstractions leliminate false negatives can be done concurrently on many abstractions does not work for non-programmable model parts

September, 2003Monterey Workshop, Chicago Verification Engineering lVerification modelling as a design problem nclosely related but different from system design nmain design criterion: limited complexity & tool support lSystematic approach to model construction ncapture physical aspects nreduce complexity nformal and experimental justification lTool support for verification management nmodel/property version management nmeta-level specification of verification campaigns

September, 2003Monterey Workshop, Chicago Systematic Verification Model interpret error M, S abstract M i,  i model check correct errorreverify models error all done? correct modelling Design phase Modelling phase system descriptionrequirements simulation design error back to design phase no yes verified M w.r.t. S Verification phase

September, 2003Monterey Workshop, Chicago Xspin/Project - usage “Sandbox” environment: Accessing PRCS Saving validation results Forcing version integrity Xspin/Project adds an extra Project-menu. Verification data can be saved into the repository.

September, 2003Monterey Workshop, Chicago Challenges lverification methodology (MoMS project) nsystematic model traceability combining formal and non-formal aspects nmodelling & abstraction patterns libraries, domain dependent solutions nsystematic model validation lverification management tools ndocumentation & version control nverification integrity control nverification campaign management

September, 2003Monterey Workshop, Chicago And finally … lthe company involved got very enthusiastic about FM la 1-year technology transfer project was carried out lafter 5 years they are still only using the (model-driven) testing tools