210 likes | 360 Views
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
E N D
Logic Based LSC Consistency Testing Presenter: AnupNiroula
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
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,S1,L1 | P4,S4,L2 | P5,S5,L4 Synchronization points P1 < P2< P3< P4< P5
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.
Prechart violated Universal LSC Exit Deleted PreActive One of the minimal event of prechart occurs Chart completed successfully or chart violated by an event while the current cut is cold Prechart completed Active Abort ! Chart violated while the cut is hot 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. • http://137.48.185.2:8080/lsc/index.jsp