automatic synthesis of sdl models in use case methodology

Post on 19-Jan-2016

38 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

TRANSCRIPT

Dr. Nikolai N. Mansurov, Dept. of CASE tools, ISP

Automatic Synthesis of SDL models

in Use Case Methodology

Dr. Nikolai N. Mansurov

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

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

Dr. Nikolai N. Mansurov, Dept. of CASE tools, ISP

Description of Use Cases

user

operator

external

extends

uses

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)

Dr. Nikolai N. Mansurov, Dept. of CASE tools, ISP

Overview of the Process

• Analysis– Requirements Analysis– System Analysis

• Design– System Design– Detailed Design

• Implementation

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

Dr. Nikolai N. Mansurov, Dept. of CASE tools, ISP

Use Case Methodology

Requirements

Actors

Architecture

Use Cases

System Scenarios

Collaborations System model

Detailed model

Dr. Nikolai N. Mansurov, Dept. of CASE tools, ISP

Behavior and Structure

A B

C

P

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

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

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

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

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

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

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

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

Dr. Nikolai N. Mansurov, Dept. of CASE tools, ISP

Sequential schema

msc sequential

start

UC_1 UC_2

Dr. Nikolai N. Mansurov, Dept. of CASE tools, ISP

Parallel schemamsc parallel

start

UC_2

start

UC_1

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

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

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)

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 }

Dr. Nikolai N. Mansurov, Dept. of CASE tools, ISP

Synthesis Algorithm

parsing

slicing

ordering

NDFSM

DFSM

MDFSM

synthesis

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)

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

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

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

top related