Testing and Verification

Similar documents
Quantitative. Kim G. Larsen DENMARK

Priced Timed Automata and Timed Games. Kim G. Larsen Aalborg University, DENMARK

Model-based GUI testing using Uppaal at NOVO Nordisk

IST ARTIST2 Network of Excellence on Embedded Systems Design. JPRA-NoE Integration Quantitative Testing and Verification

TAPAS. Tests and Proofs and Synthesis. Kim G Larsen Aalborg University, DENMARK

Single-Path Programming on a Chip-Multiprocessor System

System-level co-modeling AADL and Simulink specifications using Polychrony (and Syndex)

Automatic Synthesis of Robust and Optimal Controllers An Industrial Case Study

Uppaal Stratego. Alexandre David Peter Gjøl Jensen Kim Guldstrand Larsen Marius Mikucionis Jakob Haahr Taankvist

Test and Verification Of Real-Time Systems using UPPAAL Brian Nielsen

The Embedded Systems Design Challenge. EPFL Verimag

Formal Methods in CPS

-- the Timing Problem & Possible Solutions

Statistical Model Checking in UPPAAL

UPPAAL Tutorial. UPPAAL Family

Execution modeling. The missing leg in model-based development of performance-oriented embedded systems

D 8.4 Workshop Report

Formal Verification and Performance Analysis of Embedded Systems

COMPASS GRAPHICAL MODELLER

UML for RTES: develop a UML-based proposal for modelling and analysing of RTES

Symbolic and Statistical Model Checking in UPPAAL

Statistical Model Checking in UPPAAL

Verification in Continuous Time Recent Advances

Huawei European Research University Partnerships. Michael Hill-King European Research Institute, Huawei

COMP 763. Eugene Syriani. Ph.D. Student in the Modelling, Simulation and Design Lab School of Computer Science. McGill University

Software Synthesis, Code Generation and Timing Analysis

Activity leader: Luis Almeida University of Porto Porto, Portugal

CS 11 java track: lecture 1

CURRICULUM VITAE. June, 2013

Formal Analysis of Timing Effects on Closed-loop Properties of Cyber Physical Systems

Compositionality in system design: interfaces everywhere! UC Berkeley

A Single-Path Chip-Multiprocessor System

A High Integrity Distributed Deterministic Java Environment. WORDS 2002 January 7, San Diego CA

M. De Wulf, L. Doyen,J.-F. Raskin Université Libre de Bruxelles Centre Fédéré en Vérification

Aalborg Universitet. Published in: Lecture Notes in Computer Science. DOI (link to publication from Publisher): / _29

Developing Uppaal over 15 Years

Beyond Model Checking: Parameters Everywhere

Persiform: Performance Engineering Based on

KAAPI : Adaptive Runtime System for Parallel Computing

Testing and Verfication of Real-Time Systems

To Store or Not To Store

Mission Modes for Safety Critical Java

From Timed Automata to Stochastic Hybrid Games

Kim Guldstrand Larsen

TIMES A Tool for Modelling and Implementation of Embedded Systems

Analyses, Hardware/Software Compilation, Code Optimization for Complex Dataflow HPC Applications

Media (NEM) Initiative

PROGRAMMING FUNDAMENTALS

Towards Compositional Testing of Real-Time Systems

Smarter and safer in an increasingly complex world European Mixed-Criticality Cluster

Verification and Test with Model-Based Design

Contract-based design, model checking, and model-based safety assessment

HALF-YEARLY EXAMINATIONS FEBRUARY Subject: Computing Form: 4 Time: 1 ½ hours MARKING SCHEME

Quantitative analysis of real-time systems

UPPAAL. Validation and Verication of Real Time Systems. Status & Developments y. Abstract

Getting started with Java

Editor. Analyser XML. Scheduler. generator. Code Generator Code. Scheduler. Analyser. Simulator. Controller Synthesizer.

Stavros Nikolaou. 413 Gates Hall URL: Ithaca, NY, 14853, USA Date of Birth: December, 1987

EUDAT. Towards a pan-european Collaborative Data Infrastructure. Damien Lecarpentier CSC-IT Center for Science, Finland EUDAT User Forum, Barcelona

Safety Checks and Semantic Understanding via Program Analysis Techniques

Programming Embedded Systems

Direct 100G connectivity with optoelectronic POLYmer InP integration for data center SYStems

Validating Timed Component Contracts

SCHEDULING LACQUER PRODUCTION BY REACHABILITY ANALYSIS - A CASE STUDY 1

Overview of Timed Automata and UPPAAL

Strengthen hybrid cloud operations and controls with Liquid Sky. Singtel Business

WebGME-BIP: A Design Studio for Modeling Systems with BIP. Anastasia Mavridou, Joseph Sifakis, and Janos Sztipanovits

Modeling & Verification

Performance Evaluation of Computer Systems

HPC IN EUROPE. Organisation of public HPC resources

A game-theoretic approach to real-time system testing David, Alexandre; Larsen, Kim Guldstrand; Li, Shuhao; Nielsen, Brian

Outline 18/12/2014. Accessing GROMACS on a Science Gateway. GROMACS in a nutshell. GROMACS users in India. GROMACS on GARUDA

Further Topics in Modelling & Verification

CS11 Java. Fall Lecture 1

Sharing Objects Ch. 3

Lecture 1: Overview of Java

Operating Systems and Networks

Verification and Validation meet Planning and Scheduling

Applying Componentbased. Engineering in On-board Software

Model-Driven Verifying Compilation of Synchronous Distributed Applications

Take Control of Your IT. Copyright OP All rights reserved.

Minutes: ARTIST DESIGN European NoE GENERAL ASSEMBLY

IoTSec - Security in IoT for Smart Grids

PROFESSIONAL MASTER S IN

Announcements. 1. Forms to return today after class:

Grid Computing Systems: A Survey and Taxonomy

Program verification. Generalities about software Verification Model Checking. September 20, 2016

Seminar Software Quality and Safety

Evaluation in Quaero. Edouard Geoffrois, DGA Quaero Technology Evaluation Manager. Quaero/imageCLEF workshop Aarhus, Denmark Sept 16 th, 2008

G52PGP. Lecture oo3 Java (A real object oriented language)

Verification Using Static Analysis

Model-based Analysis of Event-driven Distributed Real-time Embedded Systems

Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn. 2.3 Timed Automata and Real-Time Statecharts

Research Infrastructures and Horizon 2020

FROM TIME-TRIGGERED TO TIME-DETERMINISTIC REAL-TIME SYSTEMS

Algorithms & Datastructures Laboratory Exercise Sheet 1

CS/ENGRD 2110 Object-Oriented Programming and Data Structures Spring 2012 Thorsten Joachims

Manual for Basic Java

Quasimodo. under uncertainty. Alexandre David & K.G Larsen & Aalborg University, DK.

CompSci 125 Lecture 02

Transcription:

Final Review Brussels, December 12th, 2008 Achievements and Perspectives : Testing and Verification Cluster leader : Kim Guldstrand Larsen CISS, Aalborg University, DENMARK

Core Partners of the Cluster CISS, Aalborg University (real-time verification and testing, controller synthesis, security) EPFL (models and tools for quantitative aspects of embedded systems) CFV / Centre Fédéré de Verification (model checking and robustness of hybrid and real-time systems) INRIA / Rennes (symbolic testing, security, controller synthesis) LSV / CNRS (model checking, security protocols and logics) OFFIS, Oldenborg (UML-based verification and testing) University of Twente (verification and testing of hybrid and stochastic systems, security) Uppsala University (real-time verification, testing and schedulability) Verimag (real-time verification and testing, security protocols analysis) Affiliated partners: 5 industrial 6 academic

Cluster Activities JPRA-Cluster Integration Quantitative Testing and Verification (Ed Brinksma) JPIA-Platform: Testing and Verification Platform (Kim G. Larsen) JPRA-Cluster Integration Verification of Security Properties

Vision & Long Term Goals 30-70% of production time is currently spend on elaborate, ad-hoc testing Gap between industrial practice and academic stateof-the-art Time-to-market may be shortened considerable by verification and performance analyses of early design models Models must deal with quantitative information (realtime, memory, bandwidth, energy). ARTIST2 Model Network of Excellence on Embedded Systems Design Year1 Review -- Grenoble, October 3rd-4th, 2005 Verification and Testing /* Wait for events */ void /* Wait OS_Wait(void); for events */ void OS_Wait(void); /* Operating system visualstate process. Mimics a OS process for a * /* visualstate Operating system system. visualstate In this implementation process. Mimics this a is OS the process mainloop for a * * interfacing visualstate to system. the visualstate In this implementation basic API. */ this is the mainloop void * interfacing OS_VS_Process(void); to the visualstate basic API. */ void OS_VS_Process(void); /* Define completion code variable. */ unsigned /* Define char completion cc; code variable. */ unsigned char cc; void HandleError(unsigned char ccarg) { void HandleError(unsigned char ccarg) { printf("error code %c detected, exiting application.\n", ccarg); exit(ccarg); printf("error code %c detected, exiting application.\n", ccarg); } exit(ccarg); } /* In d-241 we only use the OS_Wait call. It is used to simulate a * /* system. In d-241 It we purpose only use is to the generate OS_Wait events. call. It How is this used is to done simulate is up a to * * you. system. It purpose is to generate events. How this is done is up to */ * you. void */ OS_Wait(void) { void OS_Wait(void) { /* Ignore the parameters; just retrieve events from the keyboard and * /* put Ignore them the into parameters; the queue. just When retrieve EVENT_UNDEFINED events from is read the from keyboard the and * * keyboard, put them return into the to queue. the calling When EVENT_UNDEFINED process. */ is read from the SEM_EVENT_TYPE * keyboard, event; return to the calling process. */ int SEM_EVENT_TYPE num; event; int num; Code Φ ΦΦΦ Req Running System

Vision & Long Term Goals Improve current industrial practice for validating embedded systems applications by continuous dissemination and improvement of existing powerful testing and verification techniques and tools. Effort on making state-of-the-art verification and testing technology visible and easily accessible for industry with long term vision of integration in tool chains applied in industry.

Quantitative Testing and Verification: High Level Objectives Y4 controller synthesis, robustness and implementability property-preserving code generation, generic frameworks using abstraction and compositionality combinations of testing and verification techniques. optimal scheduling, monitoring and fault diagnosis, analysis of hybrid models, stochastic and timed models

Testing and Verification Platform High Level Objectives Y4 continued improvement related to the individual tools dissemination as well as application on industrial case studies (https://bugsy.grid.aau.dk/artist2) high performance tools server (64 bit architecture and distributed implementation, common web-interface)

State of Integration in Europe Extensive collaboration between partners of the cluster Extensive collaboration with leading research teams outside Europe. Extensive interaction with other communities National Centers and projects CISS, ESI,.. CREDO, DaNES, DOTS, Testec, SAVE++,.. New FP7/ARTEMIS/ESF Projects ARTIST Design (Modeling and Validation) QUASIMODO (STREP) MULTIFORM (STREP) COMBEST (STREP) GASICS CESAR ARTIST2 Network of Excellence on Embedded Systems Design Year1 Review -- Grenoble, October 3rd-4th, 2005 Testing and Verification in Europe Birmingham Uppsala Chalmers Royal Holloway CISS MicroSoft Research Aalborg Oxford Tampere CWI Twente Helsinki ESI Nijmegen Oldenborg Eindhoven AVACS Namur OFFIS Verisoft CFV Liege Brussels Aachen Bonn Mons Saarlandes LSV LIAFA Verimag INRIA Rhone-Alpes Brno Lausanne Trento IRCCyn 18 Exchange INRIA/Rennes 22 visits Visits Microsoft Research NASA Ames Kestrel Technologies Weizmann Haifa Rice, Texas Kansas Cadence Hebrew University Bangalore TCS

Building Excellence 98 publications Y4 (ARTIST2 total: 299) 19 joint publications Y4 (ARTIST2 total: 62) High level of dissemination through PhD schools and industrial seminars (>30 keynote presentations). 120 100 80 Strong impact on a number of important international conferences (CAV, TACAS, FORMATS, EMSOFT, CONCUR, ETAPS, HSCC,..) ARTIST2 PhD schools (Autrans, Shanghai). 60 40 20 0 Y1 Y2 Y3 Y4 Pub Joint Transfer to industry through long-term collaboration performed by individual partners. National centers and laboratories.

Building Excellence Workshops organized INFINITY08 TIME 08 PDMC 08 Dagstuhl Seminar on Distributed and GRID computing RTSS 08 Track on Design and Verification FIT 08 NWPT 08 MOVEP CAV 09 TURING AWARD 2007 Ed Clarke, Allen Emerson, Joseph Sifakis Grand Officier de l'ordre national du Merite

Overall Assessment at the end of the NoE Quantitative Testing and Verification Verification for new quantitative models (priced TA, probabilistic TA, priced HA, stochastic games,..) CEGAR for quantitative models (timed, hybrid, stochastic,..) Compositional Verification Frameworks Controller Synthesis (1-clock PTA, budget constraints, Part. Obs., ATL) Generation of predictable code not pursued

Overall Assessment at the end of the NoE Testing and Verification Platform Individual tools mature, with industrial applications (AMT, BIP, DeVINE,SPIN,TIMES, UPPAAL,..) High-performance Verification Server has been achieved. Joint infra-structure for European Verification Grid not pursued.

Overall Assessment at the end of the NoE Extensive list of publications, invited and keynote lectures, etc witnesses true excellence within the area. Substantial effort has been put by individual partners in dissemination to research and industry. A large number of new collaborative projects has been initiated.

Highlight 1: A Safety Critical System

Hardware JOP (Java Optimized Processor) Native execution of Java Bytecode Bytecode implemented in Microcode Avoid unpredictable data-cache Time predictable Developed new method and stack cache Implemented in FPGA

FPGA Java Optimizing Processor Martin Schöberl University of Tech., Vienna

SARTS Safety Critical Java public static void main(string[] args) { new SporadicPushMotor( new SporadicParameters(4, 4000, 60), 0); new SporadicPushMotor( private void handlebrick() { new SporadicParameters(2, Sensors.synchronizedReadSensors(); private void handlebrick() 4000, 60), { 1); input private = (Sensors.getBufferedSensor(0) void handlebrick() { + Sensors PeriodicMotorSpooler motorspooler intsensors.synchronizedreadsensors(); input private = (Sensors.getBufferedSensor(0) =.getbufferedsensor(1)) void handlebrick() { >> 1; + Sensors int input new PeriodicMotorSpooler( Sensors.synchronizedReadSensors(); = (Sensors.getBufferedSensor(0).getBufferedSensor(1)) >> 1; + Sensors if (awaitingbrick) int input private = {(Sensors.getBufferedSensor(0).getBufferedSensor(1)) void handlebrick() { >> 1; + Sensors new PeriodicParameters(4000)); if (awaitingbrick) Sensors.synchronizedReadSensors(); if (input {.getbufferedsensor(1)) > lastread) { >> 1; if (awaitingbrick) int input if private (input = {(Sensors.getBufferedSensor(0) > void lastread) handlebrick() { = input; { + Sensors new PeriodicReadSensor( if (awaitingbrick) } else Sensors.synchronizedReadSensors(); if if (input ((lastread {.getbufferedsensor(1)) > lastread) - input) { = >= input; TRESHOLD) >> 1; { new PeriodicParameters(2000), } int else input motorspooler); if (input ((lastread = (Sensors.getBufferedSensor(0) awaitingbrick > lastread) - input) = { >= input; false; TRESHOLD) + { Sensors if (awaitingbrick) } else if ((lastread if (lastread { awaitingbrick.getbufferedsensor(1)) lastread - input) > BRICK_DETECTED) >= = false; input; TRESHOLD) >> 1; { { brickfound(lastread); RealtimeSystem.start(); } else if if (input ((lastread if (lastread awaitingbrick > lastread) - input) > BRICK_DETECTED) { = >= false; TRESHOLD) { if (awaitingbrick) } if (lastread { awaitingbrick lastread > brickfound(lastread); BRICK_DETECTED) = input; false; { } } } else } if if (input ((lastread if (lastread > lastread) - input) brickfound(lastread); > BRICK_DETECTED) { >= TRESHOLD) { { } } awaitingbrick lastread brickfound(lastread); = input; false; } } else } if ((lastread if (lastread - input) > BRICK_DETECTED) >= TRESHOLD) { { } awaitingbrick brickfound(lastread); = false; TASKS } if (lastread > BRICK_DETECTED) { } brickfound(lastread); } } METHODS

Byte code Timed Automata protected boolean run() if i<5 { } else { } i = i + 4; i = i * 4; return true; Data abstracted } Timing = WCET from microcode

SARTS to Timed Automata Detection of Deadline Violation Integrated SARTS w ECLIPSE Visualize WCET in ECLIPSE 18 methods + 4 tasks = 76 components

Highlight 2: Plastic Injection Molding Machine Robust and optimal control Tool Chain Synthesis: UPPAAL TIGA Verification: PHAVer Performance: SIMULINK 40% improvement of existing solutions..

Oil Pump Control Problem R1: stay within safe interval [ 5, 25 ] R2: minimize average/overall oil volume

25 l Time: 0 Vol: 10 Rate: 0 5 l

25 l Time: 1 Vol: 10 Rate: 0 5 l

25 l Time: 2 Vol: 10 Rate: -1.2 5 l

25 l Time: 3 Vol: 8.8 Rate: +1.0 5 l

25 l Time: 4 Vol: 9.8 Rate: +2.2 5 l

25 l Time: 5 Vol: 12 Rate: 0 5 l

25 l Time: 6 Vol: 12 Rate: 0 5 l

25 l Time: 7 Vol: 12 Rate: 0 5 l

25 l Time: 8 Vol: 12 Rate: -1.2 5 l

25 l Time: 9 Vol: 10.8 Rate: -1.2 5 l

25 l Time: 10 Vol: 9.6 Rate: -0.3 5 l

25 l Time: 10 Vol: 9.6 Rate: -0.3 5 l

25 l Time: 11 Vol: 9.3 Rate: -0.3 5 l

25 l Time: 12 Vol: 9.3 Rate: +2.2 5 l

25 l Time: 13 Vol: 11.5 Rate: +2.2 5 l

25 l Time: 14 Vol: 13.7 Rate: +0.5 5 l

25 l Time: 15 Vol: 14.2 Rate: -1.7 5 l

25 l Time: 16 Vol: 12.5 Rate: -0.5 5 l

25 l Time: 17 Vol: 12.0 Rate: -0.5 5 l

25 l Time: 18 Vol: 11.5 Rate: 0 5 l

25 l Time: 19 Vol: 11.5 Rate: 0 5 l

25 l Time: 20 Vol: 11.5 Rate: 0 5 l

Tool Chain Synthesis TIGA Performance Evaluation SIMULINK Guaranteed Correctness Robustness with 40% improvement Verification PHAVER

To be continued in To be continued in ARTIST ARTIST DESIGN DESIGN (Modeling & Validation) (Modeling Validation) Quasimodo Quasimodo Multiform Multiform Gasics Gasics DaNES DaNES DOTS DOTS....!!

Verification Using PHAVER Bang-Bang safe and robust HyDAC optimized possibly unsafe under fluctuation

Uniform distribution in [-0.1,+0.1] Performance SIMULINK Cycle UPPAAL Tiga strategy in m-format

Results

HSCC09: Franck Cassez, Jan J Jessen, Kim G. Larsen, Jean-Francois Raskin, Pierre-Alain Reynier Results Guaranteed Correctness Robustness with 40% improvement in performance