Automatic Synthesis of SDL models in Use Case Methodology
description
Transcript of Automatic Synthesis of SDL models in Use Case Methodology
![Page 1: Automatic Synthesis of SDL models in Use Case Methodology](https://reader035.fdocuments.in/reader035/viewer/2022062217/56814e4a550346895dbbce4c/html5/thumbnails/1.jpg)
Dr. Nikolai N. Mansurov, Dept. of CASE tools, ISP
Automatic Synthesis of SDL models
in Use Case Methodology
Dr. Nikolai N. Mansurov
![Page 2: Automatic Synthesis of SDL models in Use Case Methodology](https://reader035.fdocuments.in/reader035/viewer/2022062217/56814e4a550346895dbbce4c/html5/thumbnails/2.jpg)
Dr. Nikolai N. Mansurov, Dept. of CASE tools, ISP
Dr. Nikolai N. MansurovHead of Dept. of CASE Tools, Institute for System
Programming, Moscow
• Formal description techniques: SDL, MSC, UML, ASN.1, ACT-1
• Compiler Design• Automatic Code
Generation• Program
understanding, reverse engineering
![Page 3: Automatic Synthesis of SDL models in Use Case Methodology](https://reader035.fdocuments.in/reader035/viewer/2022062217/56814e4a550346895dbbce4c/html5/thumbnails/3.jpg)
Dr. Nikolai N. Mansurov, Dept. of CASE tools, ISP
Definition of Use Case• Actor
– external entity, communicates with system to achieve goal
• Use Case– sequence of
interactions between one or more actors and system
• Scenario– sequence of events
![Page 4: Automatic Synthesis of SDL models in Use Case Methodology](https://reader035.fdocuments.in/reader035/viewer/2022062217/56814e4a550346895dbbce4c/html5/thumbnails/4.jpg)
Dr. Nikolai N. Mansurov, Dept. of CASE tools, ISP
Description of Use Cases
user
operator
external
extends
uses
![Page 5: Automatic Synthesis of SDL models in Use Case Methodology](https://reader035.fdocuments.in/reader035/viewer/2022062217/56814e4a550346895dbbce4c/html5/thumbnails/5.jpg)
Dr. Nikolai N. Mansurov, Dept. of CASE tools, ISP
Description of Use Cases
• Use Case diagram– relations between actors and use cases– relations between use cases
• Description of scenarios– informal text– structured text/tabular– UML Sequence Diagram– Message Sequence Charts (MSC)
![Page 6: Automatic Synthesis of SDL models in Use Case Methodology](https://reader035.fdocuments.in/reader035/viewer/2022062217/56814e4a550346895dbbce4c/html5/thumbnails/6.jpg)
Dr. Nikolai N. Mansurov, Dept. of CASE tools, ISP
Overview of the Process
• Analysis– Requirements Analysis– System Analysis
• Design– System Design– Detailed Design
• Implementation
![Page 7: Automatic Synthesis of SDL models in Use Case Methodology](https://reader035.fdocuments.in/reader035/viewer/2022062217/56814e4a550346895dbbce4c/html5/thumbnails/7.jpg)
Dr. Nikolai N. Mansurov, Dept. of CASE tools, ISP
Two Modeling Perspectives
• Static Path– how entities form
structures and hierarchies
• Functional Path– how entities
collaborate
Requirements
Completesystem
static functional
![Page 8: Automatic Synthesis of SDL models in Use Case Methodology](https://reader035.fdocuments.in/reader035/viewer/2022062217/56814e4a550346895dbbce4c/html5/thumbnails/8.jpg)
Dr. Nikolai N. Mansurov, Dept. of CASE tools, ISP
Use Case Methodology
Requirements
Actors
Architecture
Use Cases
System Scenarios
Collaborations System model
Detailed model
![Page 9: Automatic Synthesis of SDL models in Use Case Methodology](https://reader035.fdocuments.in/reader035/viewer/2022062217/56814e4a550346895dbbce4c/html5/thumbnails/9.jpg)
Dr. Nikolai N. Mansurov, Dept. of CASE tools, ISP
Behavior and Structure
A B
C
P
![Page 10: Automatic Synthesis of SDL models in Use Case Methodology](https://reader035.fdocuments.in/reader035/viewer/2022062217/56814e4a550346895dbbce4c/html5/thumbnails/10.jpg)
Dr. Nikolai N. Mansurov, Dept. of CASE tools, ISP
Summary of Approach• Formalization of Use Cases using HMSC
• Use Cases are mapped to FSM
• Use Cases describe Data Flow
• Automatic Synthesis of SDL models– complete – both static structure & behavior– typebased– non-deterministic
![Page 11: Automatic Synthesis of SDL models in Use Case Methodology](https://reader035.fdocuments.in/reader035/viewer/2022062217/56814e4a550346895dbbce4c/html5/thumbnails/11.jpg)
Dr. Nikolai N. Mansurov, Dept. of CASE tools, ISP
Summary of Approach (2)
Requirements
Actors
Architecture
Use Cases
System scenarios
Class collaborations System model
Detailed model
![Page 12: Automatic Synthesis of SDL models in Use Case Methodology](https://reader035.fdocuments.in/reader035/viewer/2022062217/56814e4a550346895dbbce4c/html5/thumbnails/12.jpg)
Dr. Nikolai N. Mansurov, Dept. of CASE tools, ISP
Summary of Approach (3)
Requirements
Actors
Architecture
Use Cases
System scenarios
Class collaborations System model
Detailed model
![Page 13: Automatic Synthesis of SDL models in Use Case Methodology](https://reader035.fdocuments.in/reader035/viewer/2022062217/56814e4a550346895dbbce4c/html5/thumbnails/13.jpg)
Dr. Nikolai N. Mansurov, Dept. of CASE tools, ISP
Formalization of Use Cases
• Each scenario is formalized using Message Sequence Charts (MSC)
• Control-flow relationships between scenarios are formalized using High-Level MSC (HMSC)
• Data-flow relationships between scenarios are formalized using our Data Extensions to MSC language
![Page 14: Automatic Synthesis of SDL models in Use Case Methodology](https://reader035.fdocuments.in/reader035/viewer/2022062217/56814e4a550346895dbbce4c/html5/thumbnails/14.jpg)
Dr. Nikolai N. Mansurov, Dept. of CASE tools, ISP
Message Sequence Charts
a
b
cmsc abc
x
global
localinstance axis
instance headmessage to
environment
global condition
local condition
instance end
stop
message
text
action
![Page 15: Automatic Synthesis of SDL models in Use Case Methodology](https://reader035.fdocuments.in/reader035/viewer/2022062217/56814e4a550346895dbbce4c/html5/thumbnails/15.jpg)
Dr. Nikolai N. Mansurov, Dept. of CASE tools, ISP
High-Level MSC (HMSC)
msc habc
loop
abc cba
start
global condition
msc reference
flow line
![Page 16: Automatic Synthesis of SDL models in Use Case Methodology](https://reader035.fdocuments.in/reader035/viewer/2022062217/56814e4a550346895dbbce4c/html5/thumbnails/16.jpg)
Dr. Nikolai N. Mansurov, Dept. of CASE tools, ISP
Control-flow relationships
• Alternative (sub-) scenarios
• Iterations of (sub-) scenarios
• “Uses” relation between use cases
• “Extends” relation between use cases
![Page 17: Automatic Synthesis of SDL models in Use Case Methodology](https://reader035.fdocuments.in/reader035/viewer/2022062217/56814e4a550346895dbbce4c/html5/thumbnails/17.jpg)
Dr. Nikolai N. Mansurov, Dept. of CASE tools, ISP
Execution of use cases
• Sequential schema– use cases can not execute simultaneously
• Parallel schema– different use cases can execute simultaneously
• Multiple instance schema– multiple instances of the same use case can
execute simultaneously
![Page 18: Automatic Synthesis of SDL models in Use Case Methodology](https://reader035.fdocuments.in/reader035/viewer/2022062217/56814e4a550346895dbbce4c/html5/thumbnails/18.jpg)
Dr. Nikolai N. Mansurov, Dept. of CASE tools, ISP
Sequential schema
msc sequential
start
UC_1 UC_2
![Page 19: Automatic Synthesis of SDL models in Use Case Methodology](https://reader035.fdocuments.in/reader035/viewer/2022062217/56814e4a550346895dbbce4c/html5/thumbnails/19.jpg)
Dr. Nikolai N. Mansurov, Dept. of CASE tools, ISP
Parallel schemamsc parallel
start
UC_2
start
UC_1
![Page 20: Automatic Synthesis of SDL models in Use Case Methodology](https://reader035.fdocuments.in/reader035/viewer/2022062217/56814e4a550346895dbbce4c/html5/thumbnails/20.jpg)
Dr. Nikolai N. Mansurov, Dept. of CASE tools, ISP
Data Flow
• Local data flows– actions– information passing between actors– local conditions
• Data-flow relations between scenarios– variables
![Page 21: Automatic Synthesis of SDL models in Use Case Methodology](https://reader035.fdocuments.in/reader035/viewer/2022062217/56814e4a550346895dbbce4c/html5/thumbnails/21.jpg)
Dr. Nikolai N. Mansurov, Dept. of CASE tools, ISP
Local data flow
a
b
cmsc abc
x
local
r:=p+1
(p,q)(p,q)
y
a
r>0
z
r
w
q
![Page 22: Automatic Synthesis of SDL models in Use Case Methodology](https://reader035.fdocuments.in/reader035/viewer/2022062217/56814e4a550346895dbbce4c/html5/thumbnails/22.jpg)
Dr. Nikolai N. Mansurov, Dept. of CASE tools, ISP
Global data flow
amsc abc
x
(p,q)
stack:=push(stack,p,q)
z
amsc cba
y
stack:=pop(stack,p,q)
w
(p,q)
![Page 23: Automatic Synthesis of SDL models in Use Case Methodology](https://reader035.fdocuments.in/reader035/viewer/2022062217/56814e4a550346895dbbce4c/html5/thumbnails/23.jpg)
Dr. Nikolai N. Mansurov, Dept. of CASE tools, ISP
Extensions to MSC
• Actions– var := expr– func( expr_1, …, expr_n )
• message parameters– only variable names
• local conditions with boolean expression as comment
– var <op> {var | const }
![Page 24: Automatic Synthesis of SDL models in Use Case Methodology](https://reader035.fdocuments.in/reader035/viewer/2022062217/56814e4a550346895dbbce4c/html5/thumbnails/24.jpg)
Dr. Nikolai N. Mansurov, Dept. of CASE tools, ISP
Synthesis Algorithm
parsing
slicing
ordering
NDFSM
DFSM
MDFSM
synthesis
![Page 25: Automatic Synthesis of SDL models in Use Case Methodology](https://reader035.fdocuments.in/reader035/viewer/2022062217/56814e4a550346895dbbce4c/html5/thumbnails/25.jpg)
Dr. Nikolai N. Mansurov, Dept. of CASE tools, ISP
Synthesis Algorithm (2)
smsc wait
xs
msc reply
y
w
r r
T
In(x,s)Set(T)
Timeout(T)
In(y,s)Out(w,s)
DFSM R DFSM S
Out(y,r)In(w,r)
Out(x,s)
![Page 26: Automatic Synthesis of SDL models in Use Case Methodology](https://reader035.fdocuments.in/reader035/viewer/2022062217/56814e4a550346895dbbce4c/html5/thumbnails/26.jpg)
Dr. Nikolai N. Mansurov, Dept. of CASE tools, ISP
Synthesis Algorithm (3)
In(x,s)Set(T)
Timeout(T)
In(y,s)Out(w,s)
DFSM R
St_0
Set(T)
St_1
w to s
x y
T
process R
![Page 27: Automatic Synthesis of SDL models in Use Case Methodology](https://reader035.fdocuments.in/reader035/viewer/2022062217/56814e4a550346895dbbce4c/html5/thumbnails/27.jpg)
Dr. Nikolai N. Mansurov, Dept. of CASE tools, ISP
Synthesis Algorithm (4)
DFSM S
Out(y,r)In(w,r)
Out(x,s)
St_0
x to s
w
process S
any
y to r
![Page 28: Automatic Synthesis of SDL models in Use Case Methodology](https://reader035.fdocuments.in/reader035/viewer/2022062217/56814e4a550346895dbbce4c/html5/thumbnails/28.jpg)
Dr. Nikolai N. Mansurov, Dept. of CASE tools, ISP
Conclusions
• Automatic synthesis of SDL models is suitable for rapid prototyping in MSC
• Can be applied for re-engineering legacy software
• Dramatically reduces learning curve for SDL