Presentation is loading. Please wait.

Presentation is loading. Please wait.

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.

Similar presentations


Presentation on theme: "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."— Presentation transcript:

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 Course 7 February 2005

2 Click Keyboar d Click(digit) Retrieve(digit) Call(number) signal signal not busy Sent number Send Key Main visual formalism used for requirements: message sequence charts (MSCs)

3 Scenario-based Stories about the system MSCs: (Message Sequence Charts) inter-object behavior (one story for all relevant objects) Requirements;

4 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

5 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.)

6 elementmandatoryprovisional chartuniversal all system runs satisfy chart existential at least one run satisfies chart AE

7 elementmandatoryprovisional chartuniversal all system runs satisfy chart existential at least one run satisfies chart AE location in chart hot run of instance must progress beyond location cold run of instance need not progress beyond location message hot if message is sent it must be received cold receipt of message is not guaranteed condition hot condition must be met otherwise abort cold if condition not met exit current (sub) chart

8 Basic form of an LSC prechart (if) main chart (then)

9 Subcharts Loops Cold conditions enable control structures Hot conditions enable anti-scenarios: False the forbidden scenario

10 system model structure behavior code generation code requirements methodologies & synthesis testing & verification model-code associativity use-cases played-in scenarios (smart) play-out play-in Play-In/ Play-Out (Harel & Marelly) (LSCs )

11 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

12 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”.

13

14 LSC Language Features Messages Assignments Conditions Advanced Features: Symbolic Instances Time Forbidden Elements

15 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).

16 Playing with Time

17 Utilizing cold time elements

18 Playing with Time (cont) Play-Out mechanism extended to support timed specifications. The Synchrony Assumption. Clock can be advanced manually or by being connected to the computer clock. Intervals between clock-ticks are determined by the user.

19 Forbidden messages and conditions (scoped)

20 Applications Smart Cards Machine ( with Gera Weiss) (Ametist project)

21 Flight Control - Voting and Monitoring IAI – Halman, Haruvi, Lahav, Zenou (OMEGA)

22 Depannage Service - Telecom France Telecom – Pierre Combes (OMEGA)

23 Modeling C. elegans (J. Hubbard, N. Kam, J. Fisher, M. Stern, D. Harel and others)

24 LSCs and the Play/In-Play-Out approach - Requirement Specification -Rapid prototyping -Testing -Verification (Smart Play-Out)

25 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

26 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 …

27 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.wisdom.weizmann.ac.il/~harel http://www.cs.nyu.edu/~kugler A book on the topic:


Download ppt "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."

Similar presentations


Ads by Google