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.