Live Sequence Charts and the Play-In/Play-Out Approach Hillel Kugler New York University Work by...
-
date post
15-Jan-2016 -
Category
Documents
-
view
214 -
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.](https://reader035.fdocuments.in/reader035/viewer/2022070412/56649d395503460f94a1349c/html5/thumbnails/1.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022070412/56649d395503460f94a1349c/html5/thumbnails/2.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022070412/56649d395503460f94a1349c/html5/thumbnails/3.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022070412/56649d395503460f94a1349c/html5/thumbnails/4.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022070412/56649d395503460f94a1349c/html5/thumbnails/5.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022070412/56649d395503460f94a1349c/html5/thumbnails/6.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022070412/56649d395503460f94a1349c/html5/thumbnails/7.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022070412/56649d395503460f94a1349c/html5/thumbnails/8.jpg)
• 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.](https://reader035.fdocuments.in/reader035/viewer/2022070412/56649d395503460f94a1349c/html5/thumbnails/9.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022070412/56649d395503460f94a1349c/html5/thumbnails/10.jpg)
• 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.](https://reader035.fdocuments.in/reader035/viewer/2022070412/56649d395503460f94a1349c/html5/thumbnails/11.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022070412/56649d395503460f94a1349c/html5/thumbnails/12.jpg)
![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.](https://reader035.fdocuments.in/reader035/viewer/2022070412/56649d395503460f94a1349c/html5/thumbnails/13.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022070412/56649d395503460f94a1349c/html5/thumbnails/14.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022070412/56649d395503460f94a1349c/html5/thumbnails/15.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022070412/56649d395503460f94a1349c/html5/thumbnails/16.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022070412/56649d395503460f94a1349c/html5/thumbnails/17.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022070412/56649d395503460f94a1349c/html5/thumbnails/18.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022070412/56649d395503460f94a1349c/html5/thumbnails/19.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022070412/56649d395503460f94a1349c/html5/thumbnails/20.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022070412/56649d395503460f94a1349c/html5/thumbnails/21.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022070412/56649d395503460f94a1349c/html5/thumbnails/22.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022070412/56649d395503460f94a1349c/html5/thumbnails/23.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022070412/56649d395503460f94a1349c/html5/thumbnails/24.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022070412/56649d395503460f94a1349c/html5/thumbnails/25.jpg)
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: