Logic Based LSC Consistency Testing Presenter: Anup Niroula.

Slides:



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

A Method for Validating Software Security Constraints Filaret Ilas Matt Henry CS 527 Dr. O.J. Pilskalns.
Model checking with Message Sequence Charts Doron Peled Collaborators: R. Alur, E. Gunter, G. Holzmann, A. Muscholl, Z. Su Department of Computer Science.
Construction process lasts until coding and testing is completed consists of design and implementation reasons for this phase –analysis model is not sufficiently.
Auto-Generation of Test Cases for Infinite States Reactive Systems Based on Symbolic Execution and Formula Rewriting Donghuo Chen School of Computer Science.
Behavioral Modeling: State Diagrams CIS 4800 Kannan Mohan Department of CIS Zicklin School of Business, Baruch College Copyright © 2009 John Wiley & Sons,
Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.
Timed Automata.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 9 Slide 1 Appendix 3 Object-Oriented Analysis and Design.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall A.1.
Software Requirements Engineering
A university for the world real R © 2009, Chapter 15 The Business Process Execution Language Chun Ouyang Marlon Dumas Petia Wohed.
Run Time Monitoring of Reactive System Models Mikhail Auguston Naval Postgraduate School Mark Trakhtenbrot Holon Academic Institute of.
1 Towards formal manipulations of scenarios represented by High-level Message Sequence Charts Loïc Hélouet Claude Jard Benoît Caillaud IRISA/PAMPA (INRIA/CNRS/Univ.
Formal Methods in Software Engineering Credit Hours: 3+0 By: Qaisar Javaid Assistant Professor Formal Methods in Software Engineering1.
Temporal Specification Chris Patel Vinay Viswanathan.
Live Sequence Charts and the Play-In/Play-Out Approach Hillel Kugler New York University Work by David Harel, Rami Marelly and others Software Engineering.
Introduction to UML Part 2 Behavioral Modeling. Sequence (event) diagram Describes object interaction Typically captures behavior of a single use case.
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.
Interaction Models. Interaction Definition An interaction is a behavior that comprises a set of messages exchanged among a set of objects within a context.
UML Sequence Diagrams Eileen Kraemer CSE 335 Michigan State University.
Advanced Behavioral Modeling
System-Level Types for Component-Based Design Paper by: Edward A. Lee and Yuhong Xiong Presentation by: Dan Patterson.
SE-565 Software System Requirements More UML Diagrams.
Object-Oriented Analysis and Design
UML Sequence Diagrams Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
Cheng/Dillon-Software Engineering: Formal Methods Model Checking.
Chapter 10 Architectural Design
Timed UML State Machines Ognyana Hristova Tutor: Priv.-Doz. Dr. Thomas Noll June, 2007.
(C) 2009 J. M. Garrido1 Object Oriented Simulation with Java.
1 Object-Oriented Modeling Using UML (2) CS 3331 Fall 2009.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Benjamin Gamble. What is Time?  Can mean many different things to a computer Dynamic Equation Variable System State 2.
Object-Oriented Modeling Using UML CS 3331 Section 2.3 of Jia 2003.
CS6133 Software Specification and Verification
1 Interacting Process Classes P.S. Thiagarajan National University of Singapore Joint with: Ankit Goel, Abhik Roychoudhury, Sun Meng To be presented at.
Chapter 5 Models and UML Notation for The Object-Oriented Approach.
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
7 Systems Analysis and Design in a Changing World, Fifth Edition.
Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Interaction and Communication Diagrams Patrick Bailey Keith Vander Linden Calvin College.
Internal Talk, Oct Executable Specifications using Message Sequence Charts Abhik Roychoudhury School of Computing National University of Singapore.
The Unified Modeling Language Part II Omar Meqdadi SE 2730 Lecture 9 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
1 System Analysis and Design Using UML INSTRUCTOR: Jesmin Akhter Lecturer, IIT, JU.
1 Kyung Hee University Statecharts Spring Kyung Hee University Specifying Objects’ Behaviour  Interaction diagrams show message-passing behaviour.
1 Checking Interaction Consistency in MARMOT Component Refinements Yunja Choi School of Electrical Engineering and Computer Science Kyungpook National.
State Modeling. Introduction A state model describes the sequences of operations that occur in response to external stimuli. As opposed to what the operations.
OMT Modeling 1. Object Model : presented by the object model and the data dictionary. 2. Dynamic Model: presented by the state diagrams and event flow.
Systems Analysis and Design in a Changing World, Fourth Edition
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
Prof. Hany H. Ammar, CSEE, WVU, and
USING MODEL CHECKING TO DISCOVER AUTOMATION SURPRISES Java class User: - getExpectation() - checkExpectation() FAULTY EXECUTION start incrMCPAlt pullAltKnob.
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
Finite State Machines Logical and Artificial Intelligence in Games Lecture 3a.
Specifying and executing behavioral requirements The play-in/play-out approach David Harel, Rami Marelly Weizmann Institute of Science, Israel An interpretation.
Introduction to UML and Rational Rose UML - Unified Modeling Language Rational Rose 98 - a GUI tool to systematically develop software through the following.
Test Generation from UML Specifications Michael A. Gray American University Washington, DC.
State Modeling. Introduction A state model describes the sequences of operations that occur in response to external stimuli. As opposed to what the operations.
Defects of UML Yang Yichuan. For the Presentation Something you know Instead of lots of new stuff. Cases Instead of Concepts. Methodology instead of the.
 Sequence Diagrams Introduction.  Sequence Diagrams  Review Schedule Sheridan.
Activity and State Transition Diagram
Business System Development
Dynamic Modeling: Defining Classes
UML Diagrams: Sequence Diagrams Dynamic Analysis Model
Chapter 20 Object-Oriented Analysis and Design
Review CSE116 2/21/2019 B.Ramamurthy.
Appendix 3 Object-Oriented Analysis and Design
PASSI (Process for Agent Societies Specification and Implementation)
Presentation transcript:

Logic Based LSC Consistency Testing Presenter: Anup Niroula

Before going to LSCs Requirement Capturing and Analysis UML diagrams - Specify scenario of the system behavior -Interaction between the objects Message Sequence Chart - Used to describe requirement -Describe scenario and behavior

MSCs

LSCs-Live Sequence Charts Extension of Message sequence chart Specify the possible and mandatory behavior of the requirement Describe liveness Has more expressive power Others: anti-scenario- forbidden scenario, strengthens subcharts, branching and iteration

Example of LSC Fig: Universal and Existential Chart

Partial Order P1 < P2< P3< P4< P5 P1,S1,L1 | P4,S4,L2 | P5,S5,L4 Synchronization points

Play In To Create LSCs the live sequence chart for each use case of the system

Play-out To test and execute the modeled system and simulate the behavior defined by LSC Helps to identify inconsistencies in the modeled system

Live Copy Copy of the chart Identifies the full status of the chart Contains copy of original LSC, its activation mode and its current cut.

Universal LSC PreActive Active Exit Abort ! One of the minimal event of prechart occurs Prechart completed Chart violated while the cut is hot Prechart violated Chart completed successfully or chart violated by an event while the current cut is cold Deleted Fig: Basic life cycle of the live copy of Universal LSC

Consistency Checking Major and formidable problem on LSCs Inconsistency may arise due to: – Inherent contradiction among multiple charts – Inappropriate environmental/ external event sequences

LSC Simulator Implemented in logic programming Utilizes a traversal algorithm using memoized depth first search strategy Shows how a reactive system in LSCs would respond to a set of external event sequences External event sequences is defined by extending regular expression notation with a parallel operator and a property testing operator

Contd.. Parallel operator: allows LSC simulator to test the scenarios Property Testing Operator: provides new approach in LSCs to trigger certain temporal property testing

PLAY-tree New high level computational semantics of LSCs Shows how a running LSC affects the system behavior in response to a set of continuous input external events Branch from the root to the leaves corresponds to the possible LSC run on a finite sequence of external events inputs

PLAY-tree (contd..) Consistency of LSC specification L: For a non-empty language I of external events, a PLAY-tree with all successful branches should exist. If play-tree doesn’t exist then a failure trace is obtained along failure branch

PLAY-tree (contd..) PLAY-tree can serve as an automated simulation and debugging tool for running LSCs Executable LSC specification as well as automatic simulation, debugging and consistency testing capabilities are necessary for early design of software/hardware.

EESL (External Events Specification Language) Formal language used to specify a set of external event sequences Given input L, the LCT system simulates each event sequence e ε L It extends a parallel operator ||and a property testing operator ‹›

Testing Given an LSC specification and an input language in EESL, the research tool returns a truth value as well as justification. The input regular expression is of the form (createOrder.(createAbort+createConfirm))* If consistency is false, it returns failure trace The tool also provides state transition diagrams for positive justification

Introduction of Java application to check the consistency of LSCs A research tool LSC consistency testing system (LCTS) The research tool incorporates LSC simulator Specifies and tests certain temporal properties in the form of LSCs. Provides either a state transition graph or a failure trace to justify the consistency checking results

Demo of the LCTS Research tool to check the consistency of given LSC.