ASAP: An Extensible Platform for State Space Analysis Michael Westergaard (Aarhus, DK) Sami Evangelista (Aarhus, DK) Lars Michael Kristensen (Bergen, NO)

Slides:



Advertisements
Similar presentations
Network II.5 simulator ..
Advertisements

INTERVAL Next Previous 13/02/ Timed extensions to SDL Analysis requirements –Assumptions on moments and duration Semantics with controllable time.
.NET Technology. Introduction Overview of.NET What.NET means for Developers, Users and Businesses Two.NET Research Projects:.NET Generics AsmL.
DIGIDOC A web based tool to Manage Documents. System Overview DigiDoc is a web-based customizable, integrated solution for Business Process Management.
Comparison of Several Meta-modeling Tools 2 Yi Lu Computer Science Department McGill University
Operating System.
Building Verifiable Software Prototypes Using Coloured Petri NetsQualifying Exam 1/39 June 17, 2005 Building Verifiable Software Prototypes Using Coloured.
Semantic Mutation Testing John A. Clark, Haitao Dan, Robert M Hierons.
Generative Programming for a Component-based Framework of Distributed Embedded Software Systems Xu Ke, Krzysztof Sierszecki Mads Clausen Institute for.
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:
Automated creation of verification models for C-programs Yury Yusupov Saint-Petersburg State Polytechnic University The Second Spring Young Researchers.
Kurt Jensen Lars M. Kristensen 1 Coloured Petri Nets Department of Computer Science Coloured Petri Nets Modelling and Validation of Concurrent Systems.
VERTAF: An Application Framework for Design and Verification of Embedded Real-Time Software Pao-Ann Hsiung, Shang-Wei Lin, Chih-Hao Tseng, Trong-Yen Lee,
Two main requirements: 1. Implementation Inspection policies (scheduling algorithms) that will extand the current AutoSched software : Taking to account.
UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering CSCE 580 Artificial Intelligence Problem Spaces and Search Fall 2008 Jingsong.
WebRatio BPM: a Tool for Design and Deployment of Business Processes on the Web Stefano Butti, Marco Brambilla, Piero Fraternali Web Models Srl, Italy.
Modelling with Coloured Petri Nets Søren Christensen Department of Computer Science University of Aarhus.
Modeling State-Dependent Objects Using Colored Petri Nets
1 Formal Engineering of Reliable Software LASER 2004 school Tutorial, Lecture1 Natasha Sharygina Carnegie Mellon University.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Architectural Design.
Cheng/Dillon-Software Engineering: Formal Methods Model Checking.
Chapter 10 Architectural Design
OpenAlea An OpenSource platform for plant modeling C. Pradal, S. Dufour-Kowalski, F. Boudon, C. Fournier, C. Godin.
Remote OMNeT++ v2.0 Introduction What is Remote OMNeT++? Remote environment for OMNeT++ Remote simulation execution Remote data storage.
Zhonghua Qu and Ovidiu Daescu December 24, 2009 University of Texas at Dallas.
Mihir Daptardar Software Engineering 577b Center for Systems and Software Engineering (CSSE) Viterbi School of Engineering 1.
1 MDWE'2008, Toulouse, France, September 30, 2008 A Comparative Analysis of Transformation Engines for User Interface Development Juan Manuel González.
Nicholas LoulloudesMarch 3 rd, 2009 g-Eclipse Testing and Benchmarking Grid Infrastructures using the g-Eclipse Framework Nicholas Loulloudes On behalf.
 Platform Independent Petri net Editor 2 (PIPE2) CS2650 Distributed Multimedia Systems Wen Xu November 23 rd, 2010.
Scientific Computing By: Fatima Hallak To: Dr. Guy Tel-Zur.
Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Architecture: Component and Deployment Diagrams Patrick Bailey Keith Vander Linden Calvin College.
Engr. M. Fahad Khan Lecturer Software Engineering Department University Of Engineering & Technology Taxila.
INTRODUCTION SOFTWARE HARDWARE DIFFERENCE BETWEEN THE S/W AND H/W.
Košice, 10 February Experience Management based on Text Notes The EMBET System Michal Laclavik.
Vision The ultimate IDE/CASE tool should supports all steps in the software development process. Current tools perform only minimal semantic-level analysis.
The ACGT Workflow Editing & Enactment Environment Giorgos Zacharioudakis Institute of Computer Science, Foundation for Research & Technology – Hellas (ICS-FORTH)
Institute e-Austria in Timisoara 1 Author: prep. eng. Calin Jebelean Verification of Communication Protocols using SDL ( )
B. Fernández, D. Darvas, E. Blanco Formal methods appliedto PLC code verification Automation seminar CERN – IFAC (CEA) 02/06/2014.
Contents 1.Introduction, architecture 2.Live demonstration 3.Extensibility.
11 CORE Architecture Mauro Bruno, Monica Scannapieco, Carlo Vaccari, Giulia Vaste Antonino Virgillito, Diego Zardetto (Istat)
Joseph Cordina 1/11 The Use of Model-Checking for the Verification of Concurrent Algorithms Joseph Cordina Department of C.S.&A.I.
Selected Topics in Software Engineering - Distributed Software Development.
Generic API Test tool By Moshe Sapir Almog Masika.
CERN - IT Department CH-1211 Genève 23 Switzerland t DB Development Tools Benthic SQL Developer Application Express WLCG Service Reliability.
Fundamental Programming: Fundamental Programming K.Chinnasarn, Ph.D.
We can’t walk on water, Trinity Software computer simulation. but we can produce the.
Refining middleware functions for verification purpose Jérôme Hugues Laurent Pautet Fabrice Kordon
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 14 Database Connectivity and Web Technologies.
CPSC 372 John D. McGregor Module 3 Session 1 Architecture.
INNOV-10 Progress® Event Engine™ Technical Overview Prashant Thumma Principal Software Engineer.
11 CORE Architecture Mauro Bruno, Monica Scannapieco, Carlo Vaccari, Giulia Vaste Antonino Virgillito, Diego Zardetto (Istat)
1 CSEP590 – Model Checking and Automated Verification Lecture outline for August 6, 2003.
Ch- 8. Class Diagrams Class diagrams are the most common diagram found in modeling object- oriented systems. Class diagrams are important not only for.
© 2006, National Research Council Canada © 2006, IBM Corporation Solving performance issues in OTS-based systems Erik Putrycz Software Engineering Group.
PROPOSAL : The Use of Voice Command in Operating Personal Computer By : COLLEGE OF ART & SCIENCE UNIVERSITI UTARA MALAYSIA STIW5023 ADVANCED PROGRAMMING.
CSI 3125, Preliminaries, page 1 SERVLET. CSI 3125, Preliminaries, page 2 SERVLET A servlet is a server-side software program, written in Java code, that.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
Proposal for an Open Source Flash Failure Analysis Platform (FLAP) By Michael Tomer, Cory Shirts, SzeHsiang Harper, Jake Johns
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
Design-Directed Programming Martin Rinard Daniel Jackson MIT Laboratory for Computer Science.
Onlinedeeneislam.blogspot.com1 Design and Analysis of Algorithms Slide # 1 Download From
Mobile Analyzer A Distributed Computing Platform Juho Karppinen Helsinki Institute of Physics Technology Program May 23th, 2002 Mobile.
Developing GRID Applications GRACE Project
Extension du formalisme SES pour l’intégration de la hiérarchie d’abstraction et la granularité temporelle au sein de la modélisation et la simulation.
System Concept Simulation for Concurrent Engineering
Principles of Programming Languages
MAPO: Mining and Recommending API Usage Patterns
Presentation transcript:

ASAP: An Extensible Platform for State Space Analysis Michael Westergaard (Aarhus, DK) Sami Evangelista (Aarhus, DK) Lars Michael Kristensen (Bergen, NO)

Outline Tool overview Specification of verification jobs The state space search engine Extending ASAP Benchmarks Conclusion

What is ASAP? Next generation of computer tool support for state space analysis of CPN models. Developed within the ASCoVeCo research project. Supported by the Danish Research Council for Technology and Production [09/2006 – 09/2009]. Project members ASCoVeCo Advanced State Space Methods and Computer Tools for Verification of Communication Protocols ASAPASCoVeCo State Space Analysis Platform Lars Michael KristensenSurayya Urazimbetova Michael WestergaardSami Evangelista

Aim and vision A state space analysis tool and development platform aimed at – Research – implementation of verification algorithms / state space reduction techniques (e.g., sweep line); experimental comparison of algorithms – Education – user- and implementation perspective – Industrial use – ease of use; stability; highly automatic; pragmatic methods; practical expressiveness of models. The challenge: support all this in a coherent manner with a suitable user interface. Implementation of ASAP started in summer 2007.

Software architecture Graphical User Interface State Space Exploration Engine JAVA Eclipse Rich Client Platform Eclipse Modelling Framework Graphical Modelling Framework CPN Model Representation CPN Model Loader CPN Model Instantiator Standard ML CPN Tools Simulator Explorations Storages Waiting sets Query Languages JoSEL Editor JoSEL Scheduler Reporting BIRT ASAP runs on Windows XP/Vista, Linux, and Mac OS X. JoSEL Representation Method- specific tasks

Outline Tool overview Specification of verification jobs The state space search engine Extending ASAP Benchmarks Conclusion

JoSEL overview - 1 Graphical language inspired by – Dataflow diagrams (input and output) – Coloured Petri nets (hierarchy concept, abstraction mechanism) A task is the atomic unit of computation Tasks have typed input and output ports. Task name Typically used to represent instantiation or execution of a component on the underlying state space exploration platform

JoSEL overview - 2 Output ports and input ports can be connected A verification job – is a collection of tasks and their connections – specifies a producer/consumer scenario

JoSEL overview - 3 A job can have exported ports. A job can be abstractly represented by a macro task. The use of macros enables – reuse of sub-jobs among different verification jobs – simplification of JoSEL specifications – different levels of abstraction

JoSEL example – Top-level of a job Macro task for report generation Macro task for checking a safety property Instantiate safety property to be checked Name of safety property Load file containing the property Load file containing CPN model Instantiation of CPN model simulator

JoSEL example – Safety checker

Outline Tool overview Specification of verification jobs The state space search engine Extending ASAP Benchmarks Conclusion

Written in SML Based on a few SML signatures (  JAVA interfaces) – STORAGE for data structures storing states – EXPLORATION for search algorithms – MODEL for specific model operations – WAITING_SET for data structures storing states waiting to be processed by an EXPLORATION The state space search engine

signature MODEL = sig eqtype state eqtype event val getInitialStates: unit -> (state * event list) list val nextStates: state * event -> (state * event list) list val executeSequence: state * event list -> (state * event list) list val stateToString: state -> string val eventToString: event -> string end The MODEL signature Get the initial state(s) with their enabled events Compute the successor(s) of a state by executing an event Execute a sequence of events and return the states on the path String representation of states and events

Current status of the engine Search algorithms: – DFS, BFS – Random walks – External memory algorithms Reduction techniques – Bit-state hashing, hash compaction – State caching – Sweep-line method – ComBack method Type of properties analyzed – Safety properties – Deadlock – Generic properties of CPNs (liveness, boundness, home markings, …)

Outline Tool overview Specification of verification jobs The state space search engine Extending ASAP Benchmarks Conclusion

Integration of a sweep-line plug-in - 1 Graphical User Interface State Space Exploration Engine JAVA Eclipse Rich Client Platform Eclipse Modelling Framework Graphical Modelling Framework CPN Model Representation CPN Model Loader CPN Model Instantiator Standard ML CPN Tools Simulator Explorations Storages Waiting sets Query Languages JoSEL Editor JoSEL Scheduler Reporting BIRT JoSEL Representation Method- specific tasks

SML implementation of the sweep-line algorithm functor SweepLineExploration ( structure Storage: STORAGE structure Model: MODEL structure Measure: PROGRESS_MEASURE): EXPLORATION = struct fun explore filterEvents transformState arcHook stateHook = … end Exploration algorithm using the sweep-line method. ≈100 lines of SML code Filter the executable events of a state, e.g., for partial-order reduction Transform a state, e.g., with a canonicalization function Functions called for each state and arcs of the reachability graph Data structure used to store reachable states Model of which we explore the graph Used to evaluate the progression of states

Integration of a sweep-line plug-in - 2 Graphical User Interface State Space Exploration Engine JAVA Eclipse Rich Client Platform Eclipse Modelling Framework Graphical Modelling Framework CPN Model Representation CPN Model Loader CPN Model Instantiator Standard ML CPN Tools Simulator Explorations Storages Waiting sets Query Languages JoSEL Editor JoSEL Scheduler Reporting BIRT JoSEL Representation Method- specific tasks

JAVA implementation of the sweep-line task functor SweepLineExploration ( structure Storage: STORAGE structure Model: MODEL structure Measure: PROGRESS_MEASURE): EXPLORATION = struct fun explore filterEvents transformState arcHook stateHook = … end

JAVA implementation of the sweep-line task class SweepLineExplorationTask implements FunctorTask { String getName () { return "Sweep Line Exploration"; } String getFunctor () { return "SweepLineExploration"; } Value getReturnType () { return new Value ("Traversal", Exploration.class); } Value[] getParameters () { return new Value[] { new Value ("Model", Model.class), new Value ("Storage", Storage.class), new Value ("Progress Measure", Measure.class) }; } Exploration exec (Model m, Storage s, Measure p) { … } } Name of the SML functor in the search engine Generates the SML code executed when the task is performed

Outline Tool overview Specification of verification jobs The state space search engine Extending ASAP Benchmarks Conclusion

Experimentation context ASAP can load – CPN models produced by CPN Tools – DVE models (language of the DiVinE model checker) Two types of inputs – CPN models from our own collection – DVE models from the BEEM database: Performed an exhaustive state space exploration (with and without the ComBack method) and recorded execution time.

ASAP vs CPN Tools State space exploration time (sec.) ModelStatesCPN ToolsASAPSpeed-up Dining philosophers40 K6, Simple protocol204 K7, ERDP207 K19, DYMO114 K7, Average on 4 models164

ASAP vs DiVinE State space exploration time (sec.) ModelStatesDiVinEASAPSpeed-up brp M firewire_tree.53.8 M plc.43.7 M rether.49.5 M Average on 50 models1.39

Outline Tool overview Specification of verification jobs The state space search engine Extending ASAP Benchmarks Conclusion

To sum up ASAP is a state space analysis tool. It is graphical, based on the eclipse platform Verification tasks are performed using the JoSEL graphical language. Intented to be easy to use by different types of users – Students – Researchers – Industrial users and to extend w.r.t. – verification algorithms – specification languages ASAP is free of charge.

What’s next Temporal logic verification (LTL, CTL) Drawing of state spaces Multi-threaded / distributed verification

Thank you for your attention! ASAP download page: Visit us during tools demonstration.