1 Checking Interaction Consistency in MARMOT Component Refinements Yunja Choi School of Electrical Engineering and Computer Science Kyungpook National.

Slides:



Advertisements
Similar presentations
1 Verification by Model Checking. 2 Part 1 : Motivation.
Advertisements

Copyright 2000 Cadence Design Systems. Permission is granted to reproduce without modification. Introduction An overview of formal methods for hardware.
MOdel-based GENeration of Tests for Embedded Systems # FP7-ICT Embedded Systems Design WP3: Qualitative Fault Modelling András Pataricza,
Translation-Based Compositional Reasoning for Software Systems Fei Xie and James C. Browne Robert P. Kurshan Cadence Design Systems.
Partial Order Reduction: Main Idea
Introducing Formal Methods, Module 1, Version 1.1, Oct., Formal Specification and Analytical Verification L 5.
Automated Refinement Checking of Concurrent Systems Sudipta Kundu, Sorin Lerner, Rajesh Gupta Department of Computer Science and Engineering, University.
Giving a formal meaning to “Specialization” In these note we try to give a formal meaning to specifications, implementations, their comparisons. We define.
CS 290C: Formal Models for Web Software Lecture 4: Implementing and Verifying Statecharts Specifications Using the Spin Model Checker Instructor: Tevfik.
Lecture # 2 : Process Models
Chapter 2 – Software Processes
Karolina Muszyńska Based on:
Hydra (A General Framework for Formalizing UML with Formal Languages for Embedded Systems*) *from the Ph.D. thesis of William E. McUmber Software Engineering.
WebRatio BPM: a Tool for Design and Deployment of Business Processes on the Web Stefano Butti, Marco Brambilla, Piero Fraternali Web Models Srl, Italy.
Background information Formal verification methods based on theorem proving techniques and model­checking –to prove the absence of errors (in the formal.
Automated creation of verification models for C-programs Yury Yusupov Saint-Petersburg State Polytechnic University The Second Spring Young Researchers.
An Integrated Approach to Enterprise Architecture LIACS, Martijn Wiering 23 juni ‘04.
Logic Based LSC Consistency Testing Presenter: Anup Niroula.
Systems Analysis and Design in a Changing World, Fourth Edition
Model Checking. Used in studying behaviors of reactive systems Typically involves three steps: Create a finite state model (FSM) of the system design.
Lecture 4&5: Model Checking: A quick introduction Professor Aditya Ghose Director, Decision Systems Lab School of IT and Computer Science University of.
The Rare Glitch Project: Verification Tools for Embedded Systems Carnegie Mellon University Pittsburgh, PA Ed Clarke, David Garlan, Bruce Krogh, Reid Simmons,
Witness and Counterexample Li Tan Oct. 15, 2002.
Automata and Formal Lanugages Büchi Automata and Model Checking Ralf Möller based on slides by Chang-Beom Choi Provable Software Lab, KAIST.
1 Formal Engineering of Reliable Software LASER 2004 school Tutorial, Lecture1 Natasha Sharygina Carnegie Mellon University.
1 Scenario-based Analysis of UML Design Class Models Lijun Yu October 4th, 2010 Oslo, Norway.
The Model Checker SPIN Written by Gerard J. Holzmann Presented by Chris Jensen.
[ §4 : 1 ] 4. Requirements Processes II Overview 4.1Fundamentals 4.2Elicitation 4.3Specification 4.4Verification 4.5Validation Software Requirements Specification.
Software Product Line Architectures (SPLA) Nipun Shah
Chapter 7: The Object-Oriented Approach to Requirements
Architectural Design.
Formal Techniques for Verification Using SystemC By Nasir Mahmood.
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.
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
An Introduction to Software Architecture
Software Processes lecture 8. Topics covered Software process models Process iteration Process activities The Rational Unified Process Computer-aided.
Model-based Methods for Web Service Verification.
SOFTWARE DESIGN.
UML Diagrams: Sequence Diagrams The Requirements Model, and The Dynamic Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical.
1 The CeNTIE project is supported by the Australian Government through the Advanced Networks Program of the Department of Communications, Information Technology.
Institute e-Austria in Timisoara 1 Author: prep. eng. Calin Jebelean Verification of Communication Protocols using SDL ( )
Software Engineering Research paper presentation Ali Ahmad Formal Approaches to Software Testing Hierarchal GUI Test Case Generation Using Automated Planning.
WSMX Execution Semantics Executable Software Specification Eyal Oren DERI
A Static Approach to Consistency Verification of UML Models Andrea Baruzzo Department of Computer Science University of Udine MoDeV.
7 Systems Analysis and Design in a Changing World, Fifth Edition.
Secure Systems Research Group - FAU Model Checking Techniques for Security Systems 5/14/2009 Maha B Abbey PhD Candidate.
1 Qualitative Reasoning of Distributed Object Design Nima Kaveh & Wolfgang Emmerich Software Systems Engineering Dept. Computer Science University College.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
1 CSEP590 – Model Checking and Automated Verification Lecture outline for August 6, 2003.
Formal Methods.
Chapter 2 – Software Processes Lecture 1 Chapter 2 Software Processes1.
Lecture 5 1 CSP tools for verification of Sec Prot Overview of the lecture The Casper interface Refinement checking and FDR Model checking Theorem proving.
Systems Analysis and Design in a Changing World, Fourth Edition
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Formal Verification. Background Information Formal verification methods based on theorem proving techniques and model­checking –To prove the absence of.
Fall 2007 Week 9: UML Overview MSIS 670: Object-Oriented Software Engineering.
1 Model-Checking of Component-Based Real-Time Embedded Software Based on CORBA Event Service Yuanfang Zhang for Seminar CSE7216 Presentation based on Zonghua.
Today’s Agenda  Quiz 4  Temporal Logic Formal Methods in Software Engineering1.
Methodology Review Chapter 7 Part 2: Design Methodology Object-Oriented Modeling and Design Byung-Hyun Ha
7 Systems Analysis – ITEC 3155 The Object Oriented Approach – Use Cases.
Symbolic Model Checking of Software Nishant Sinha with Edmund Clarke, Flavio Lerda, Michael Theobald Carnegie Mellon University.
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.
 The processes used for RE vary widely depending on the application domain, the people involved and the organisation developing the requirements.  However,
IWFST 2005 Formal Specification and Verification of a Communication Protocol Ho Jung Bang Sung Deok Cha.
1 Visual Computing Institute | Prof. Dr. Torsten W. Kuhlen Virtual Reality & Immersive Visualization Till Petersen-Krauß | GUI Testing | GUI.
Software Design Methodology
An Introduction to Software Architecture
Department of Computer Science Abdul Wali Khan University Mardan
Translating Linear Temporal Logic into Büchi Automata
Presentation transcript:

1 Checking Interaction Consistency in MARMOT Component Refinements Yunja Choi School of Electrical Engineering and Computer Science Kyungpook National University

2 Overview MARMOT methodology Component and refinements Interaction consistency A general framework for consistency checking Case example Model checking elevator system Performance improvement through abstraction Discussion

3 MARMOT Methodology Branched from KobrA by Atkinson et. al Designed for the development of embedded systems High quality system through systematic, structured development Components are the focus of entire development process Tree-structured hierarchy of components Flexibility and reuse of components

4 MARMOT Component

5 Refined component Refining component

6 Recursive Development Specification Realization Identification Kpt A Kpt B Kpt D Kpt C Component Reuse COTS Component

7 Example: elevator system

8 Specifying externally visible behavior

9 Quality Control MAMOT supports systematic identification and refinements of a component the principle of “separation of concerns”: specification vs. realization Iterative decomposition and refinements There can be many issues in consistency Structural consistency Behavioral consistency Behavioral consistency between the realization of refined component and the specification of its refining components

10 Interaction Consistency at i th refinement step, the realization of the refined component constrains the environment of the refining components A system is consistent with its environment in its behavior if it either terminates normally or runs infinitely under the infinite sequence of stimuli generated from its environment A system is inconsistent with its environment in its behavior if it terminates abnormally under the infinite sequence of stimuli generated from its environment

11 Process model A component and its environment are specified as two processes P and E, where each of them is represented as a labeled transition system (S p, L p, R p, I p, T p ) and (S e, L e, R e, I e, T e ) A restricted form of process composition of P and E is defined as P↑E = (S p × S e, L p ∪ L e, R p × R e, I p × I e, T p × T e ) where

12 Consistency Model

13 Formal definitions Termination Terminate(P(s))↑E : P terminates to a state s that belongs to the pre-defined set of terminal states T under the environment E P(s) ∧ s ∈ T, If P is a compositional process, P = P 1 ∥ P 2 ∥.. ∥ P n Terminate(P(s)) ↑E if and only if ∀ i, Terminate(P i (s i )) ↑E i, where E i = E ∥ P 1 ∥ P 2 ∥.. P i-1 ∥ P i+1 ∥ … ∥ P n

14 Formal definitions Progressiveness Progress(P(s)) ↑E : eventually, there is a transition out of the state s under the environment E Interaction Consistency Consistent(P(s)) ↑E = Terminate(P(s))↑E ∨ Progress(P(s)) ↑E

15 Model checking consistency Based on the exhaustive search of system state-space Fully automated SPIN: invalid-endstate checking SMV: we can formulate the consistency property in temporal logic and use model checker to verify it Provide counter-examples Need translation to PROMELA or SMV input language A number of translation approaches are available

16 model checking consistency - Framework -

17 Consistency Model in PROMELA

18 Performance issue

19 Abstraction techniques Trigger-based abstraction Abstract the environment so that it contains all the transitions generating a triggering event for the process P, and all the transitions from the initial state leading to the transition Transition reduction collapse several transitions into one if the intermediate transitions do not generate triggering actions for the process P s0s0 s1s1 s2s2 sisi S i+1 t i /a i s0s0 sisi S i+1 t i /a i

20 Performance Improvement

21 Discussion Formal methods can be effective and useful when integrated into development process Our work focuses on the seamless integration There are a number of existing works on UML consistency, refinements, CBD methodology, and the use of model checking However, they mostly focus on one of the issues separately. Hardly any of the earlier works concerns on performance issue when using model checking Environment constraints have been manually identified in the previous works More investigation is needed on optimization and automation Translation and abstraction

22 Thank you!