28
Dr. Nikolai N. Mansurov, Dept. of CASE tools, ISP Automatic Synthesis of SDL models in Use Case Methodology Dr. Nikolai N. Mansurov

Automatic Synthesis of SDL models in Use Case Methodology

  • Upload
    decker

  • View
    38

  • Download
    0

Embed Size (px)

DESCRIPTION

Automatic Synthesis of SDL models in Use Case Methodology. Dr. Nikolai N. Mansurov. Dr. Nikolai N. Mansurov Head 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 - PowerPoint PPT Presentation

Citation preview

Page 1: Automatic Synthesis  of SDL models in Use Case Methodology

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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