Title: Synthesis of Behavioral Models from Scenarios
1Synthesis of Behavioral Models from Scenarios
- Sebastian Uchitel, Jeff Kramer, Jeff Magee
- IEEE Transactions on Software Engineering
- February 2003
June 10, 2003 Presented by, Younju Oh
2Contents
- Introduction
- Background
- MSC Semantics
- Synthesis of Behavioral Models
- Analysis
- Case Study
- Conclusion
3Introduction (1/3)
- Scenario-based specifications
- Useful in requirements specification
- Proven to be good for bridging gap between
stakeholders and developers - Scenarios
- Describe how system components,environment, users
interact - One scenario partial behavior
- Widespread notation is MSC
4Introduction (2/3)
- Why Scenario synthesis ?
- Partial behavior - relatively little information
- Scenarios may be provided by different
stakeholders - Address different system functionality
- Combination More complete system description
- Relations between scenarios
5Introduction (3/3)
Scenario-based specification, Synthesis, Behavior
Analysis
Finite Sequential Processes (FSP)
Labeled Transition System (LTS)
6Message Sequence Charts (MSC) syntax
bMSC
- bMSCs - describes finite interactions between a
set of components - hMSCs - directed graphs, nodes are bMSCs or
hMSCs, edges indicate possible continuations
7Multiple Scenarios (1/2)
- Relation between scenarios
- Scenario Composition Using graph-like notation
(hMSC) - Scenario reuse
- Large number of short scenarios ? composed in
complex ways - State Identification identify common states in
different scenarios - No need to split into small parts
- Requires stakeholders to to think of system in
states
Scenario composition State identification
8Multiple Scenarios (2/2)
9ATM system
10MSC Semantics
- Labeled Transition Systems (LTS)
11Labeled Transition System
Minimized Component LTS for Consortium
- Components defined by MSC specification
- Result of putting together instance LTSs and
their continuation relation - Semantics of MSC specifications
- LTSs and parallel composition
12Synthesis of Behavioral Models
- LTS model can be synthesized from MCS
specification - MSC ? FSP ? LTS
- Synthesis Algorithm
- Translates MSC specification to FSP
- Labeled Transition System Analyzer (LTSA)
- Verification tool for concurrent systems
- Builds LTS model from FSP
- Check that specification satisfies behavioral
properties
13Synthesis Algorithm (1/3)
Bad Bank Account
User
ATM
Consortium
Bank
Enter Password
Verify Account
Verify card with bank
Verifying With Bank
Waiting
Verifying
Checking
Bad bank account
Bad Account
14Synthesis Algorithm (2/3)
4
ATM
(Init, B_CustomerArrives) (E_BadBankPassword,
B_UserCancel1) (E_CustomerArrives, B_UserCancel1)
(E_BadBankPassword, B_BadBankAccount)
(E_CustomerArrives, B_BadBankAccount)
(E_BadBankPassword, B_UserCancel2)
(E_CustomerArrives, B_UserCancel2)
(E_BadBankPassword, B_ BadBankPassword)
(E_CustomerArrives, B_ BadBankPassword)
(E_UserCancel2, B_CustomerArrives)
(E_UserCancel1, B_ CustomerArrives)
(E_BadBankAccount, B_CustomerArrives)
ATM
Verifying
E_CustomerArrives
Bad Account
Enter Password
Verify Account
Verifying
B_CustomerArrives
ATM
ATM
Verifying
B_BadBankAccount
Bad Account
Enter Password
Verify Account
Verifying
E_BadBankAccount
15Synthesis Algorithm (3/3)
ATM
5
E_CustomerArrives
Enter Password
E_CustomerArrives (EnterPassword -
verifyAccount - Verifying)
Verify Account
Verifying
Multiple Definitions of local processes
E_CustomerArrives (cancel - canceledMessage -
ejectCard - requestTakeCard - takeCard - Init
enterpassword - verifyAccount -
Verifying)
16Analysis
- FSP ? LTS
- Synthesized model can be analyzed to provide
useful feedback - LTSA
- Applies model checking algorithms that traverse
the system LTS verifying properties - LTSA provides automated rigorous analysis of
behavioral models - Other representations of large systems does not
favor rigorous analysis - LTSA minimizes models
17Case Study (1/3)
- Whittle, Schumann
- Generate UML Statecharts from scenarios and pre-,
post-conditions in Object Constraint Language
(OCL) - No state labeling or hMSC
- Proposed approach
- LTS from MSC and OCL
18Case Study (2/3)
1. Scenarios describe system behavior from the
start
19Case Study (3/3)
20Conclusion
- Labeled transition systems and parallel
compositions - ? define semantics of MSC language
- Synthesis algorithm generates FSP
- From FSP, LTS behavior model is built for
analysis in LTSA - hMSC, state labels promote scenario reuse,
explicit info - LTS Behavior analysis in LTSA
- Approach provides basis for common approach to
other approaches