Live Sequence Charts and the Play-In/Play-Out Approach Hillel Kugler New York University Work by...

25
Live Sequence Charts and the Play-In/Play-Out Approach Hillel Kugler New York University Work by David Harel, Rami Marelly and others Software Engineering Course 7 February 2005
  • date post

    15-Jan-2016
  • Category

    Documents

  • view

    217
  • download

    0

Transcript of Live Sequence Charts and the Play-In/Play-Out Approach Hillel Kugler New York University Work by...

Page 1: Live Sequence Charts and the Play-In/Play-Out Approach Hillel Kugler New York University Work by David Harel, Rami Marelly and others Software Engineering.

Live Sequence Charts and the Play-In/Play-Out Approach

Hillel Kugler

New York University

Work by David Harel, Rami Marelly and others

Software Engineering Course 7 February 2005

Page 2: Live Sequence Charts and the Play-In/Play-Out Approach Hillel Kugler New York University Work by David Harel, Rami Marelly and others Software Engineering.

Click

Click

Keyboard

Click(digit)

Retrieve(digit)

Call(number)

signal

signal not busy

Sent

number

Send Key

Main visual formalism used for requirements: message sequence charts (MSCs)

Page 3: Live Sequence Charts and the Play-In/Play-Out Approach Hillel Kugler New York University Work by David Harel, Rami Marelly and others Software Engineering.

Scenario-based

Stories about the system

MSCs: (Message Sequence Charts)

inter-object behavior

(one story for all relevant objects)

Requirements;

Page 4: Live Sequence Charts and the Play-In/Play-Out Approach Hillel Kugler New York University Work by David Harel, Rami Marelly and others Software Engineering.

may/must; can/always ;

fragmental and overlapping

scenarios ;

anti-scenarios; etc.

We must go far beyond MSCs

Consistency gets very difficult

But,… we need richer requirements

Page 5: Live Sequence Charts and the Play-In/Play-Out Approach Hillel Kugler New York University Work by David Harel, Rami Marelly and others Software Engineering.

Live sequence charts (LSC’s)

“LSC’s: Breathing Life into

Message Sequence Charts ”

(Damm & Harel, ‘98)

A natural extension of classical MSCs, with modalities (universal/existential, hot/cold, etc.) and structure (subcharts, conditionals, loops, etc.)

Page 6: Live Sequence Charts and the Play-In/Play-Out Approach Hillel Kugler New York University Work by David Harel, Rami Marelly and others Software Engineering.

element mandatory

provisional

chart universal

all system runs satisfy chart

existential

at least one run satisfies

chart

A E

Page 7: Live Sequence Charts and the Play-In/Play-Out Approach Hillel Kugler New York University Work by David Harel, Rami Marelly and others Software Engineering.

Basic form of an LSC

prechart (if)

main chart (then)

Page 8: Live Sequence Charts and the Play-In/Play-Out Approach Hillel Kugler New York University Work by David Harel, Rami Marelly and others Software Engineering.

• Subcharts

• Loops

• Cold conditions enable control structures

• Hot conditions enable anti-scenarios:

False

the forbidden scenario

Page 9: Live Sequence Charts and the Play-In/Play-Out Approach Hillel Kugler New York University Work by David Harel, Rami Marelly and others Software Engineering.

system modelstructure

behavior

code generation

code

requirements

methodologies & synthesis

testing &

verification

model-code associativity

use-cases

played-in scenarios (smart )

play-outplay-in

Play-In/ Play-Out (Harel & Marelly)

(LSCs )

Page 10: Live Sequence Charts and the Play-In/Play-Out Approach Hillel Kugler New York University Work by David Harel, Rami Marelly and others Software Engineering.

• Use the GUI whenever possible; clicks, right-clicks, menus, etc.

• Reflect as much as possible in the GUI itself, including mouse-over displaying and pop-up notes.

• Allow direct chart manipulation too, and chart element selection.

• Slicker HCI definitely desirable.

The Play-Engine:The Play-Engine: Play-In

Page 11: Live Sequence Charts and the Play-In/Play-Out Approach Hillel Kugler New York University Work by David Harel, Rami Marelly and others Software Engineering.

The Play-Engine:The Play-Engine: Play-Out

• Universal charts drive the execution

• (external event; step*; stable?) = superstep

• Play-Out activates system events

• Feeling of working with Final Implementation

Play-Engine can thus be viewed as a “Universal Reactive System”.

Page 12: Live Sequence Charts and the Play-In/Play-Out Approach Hillel Kugler New York University Work by David Harel, Rami Marelly and others Software Engineering.
Page 13: Live Sequence Charts and the Play-In/Play-Out Approach Hillel Kugler New York University Work by David Harel, Rami Marelly and others Software Engineering.

LSC Language Features

• Messages• Assignments• Conditions• Advanced Features: Symbolic Instances Time

Forbidden Elements

Page 14: Live Sequence Charts and the Play-In/Play-Out Approach Hillel Kugler New York University Work by David Harel, Rami Marelly and others Software Engineering.

Symbolic Instances • Associate instances with classes rather

than with objects.

• Useful for parameterized systems or when the number of objects may change dynamically (construction and destruction).

Page 15: Live Sequence Charts and the Play-In/Play-Out Approach Hillel Kugler New York University Work by David Harel, Rami Marelly and others Software Engineering.

Playing with Time

Page 16: Live Sequence Charts and the Play-In/Play-Out Approach Hillel Kugler New York University Work by David Harel, Rami Marelly and others Software Engineering.

Utilizing cold time elements

Page 17: Live Sequence Charts and the Play-In/Play-Out Approach Hillel Kugler New York University Work by David Harel, Rami Marelly and others Software Engineering.

Forbidden messages and conditions (scoped)

Page 18: Live Sequence Charts and the Play-In/Play-Out Approach Hillel Kugler New York University Work by David Harel, Rami Marelly and others Software Engineering.

Applications

• Smart Cards Machine (with Gera Weiss)

(Ametist project)

Page 19: Live Sequence Charts and the Play-In/Play-Out Approach Hillel Kugler New York University Work by David Harel, Rami Marelly and others Software Engineering.

Flight Control - Voting and Monitoring

IAI – Halman, Haruvi, Lahav, Zenou (OMEGA)

Page 20: Live Sequence Charts and the Play-In/Play-Out Approach Hillel Kugler New York University Work by David Harel, Rami Marelly and others Software Engineering.

Depannage Service - Telecom

France Telecom – Pierre Combes (OMEGA)

Page 21: Live Sequence Charts and the Play-In/Play-Out Approach Hillel Kugler New York University Work by David Harel, Rami Marelly and others Software Engineering.

Modeling C. elegans

(J. Hubbard , N. Kam, J. Fisher, M. Stern, D. Harel

and others)

Page 22: Live Sequence Charts and the Play-In/Play-Out Approach Hillel Kugler New York University Work by David Harel, Rami Marelly and others Software Engineering.

LSCs and the Play/In-Play-Out approach

- Requirement Specification

- Rapid prototyping

- Testing

- Verification (Smart Play-Out)

Page 23: Live Sequence Charts and the Play-In/Play-Out Approach Hillel Kugler New York University Work by David Harel, Rami Marelly and others Software Engineering.

system model

structure

behavior

code generation

code

requirements methodologies & synthesis

testing &

verification

model-code associativity

use-cases

play-in

Perhaps no need for model or code at all?

object model diagrams & statecharts

played behavior

LSCs or temporal logic

play-out

basic structure

Page 24: Live Sequence Charts and the Play-In/Play-Out Approach Hillel Kugler New York University Work by David Harel, Rami Marelly and others Software Engineering.

Lots of Related Work(Apologies to work not

mentioned) • MSC’s – Alur/Holzmann/Peled/Yannakakis, Henriksen/Mukund/Kumar/Thiagarajan, Systa/Koskimies/Tuomi/Mannisto, Broy, Kruger, Schumann /Whittle …

• LSC’s – Damm Klose Wittke …• SCR – Heitmeyer Kirby Labaw Bharadwaj …• Temporal Logic …• Model Checking …

Page 25: Live Sequence Charts and the Play-In/Play-Out Approach Hillel Kugler New York University Work by David Harel, Rami Marelly and others Software Engineering.

Come, Let’s Play: Scenario-Based Programming Using LSCs

and the Play-Engine

D. Harel and R. Marelly

Springer-Verlag, 2003

(includes the Play-Engine software)

References: http://www.wisdom.weizmann.ac.il/~harel http://www.cs.nyu.edu/~kugler

A book on the topic: