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.

Slides:



Advertisements
Similar presentations
Renate Ristov Fachgebiet Softwaretechnik Prof. Dr. Wilhelm Schäfer 17. Juli 2008 Synthesizing State Machines from Live Sequence Charts Software Quality.
Advertisements

Playing with Verification, Planning and Aspects Unusual Methods for Running Scenario- Based Programs David Harel The Weizmann Institute of Science.
INTERVAL Next Previous 13/02/ Timed extensions to SDL Analysis requirements –Assumptions on moments and duration Semantics with controllable time.
Seyedehmehrnaz Mireslami, Mohammad Moshirpour, Behrouz H. Far Department of Electrical and Computer Engineering University of Calgary, Canada {smiresla,
Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.
Week 6Fall 2001 CS5991 The STATEMATE Semantics of Statecharts D. Harel and A. Naamand Ahmad Alsawi 1-4 Bob Chen 5-8 Dapeng Xie 9-11.
Scenario Based Resolution of Aspect Interactions with Aspect Interaction Charts Shubhanan Bakre, Tzilla Elrad Illinois Institute of Technology.
Alternate Software Development Methodologies
Run Time Monitoring of Reactive System Models Mikhail Auguston Naval Postgraduate School Mark Trakhtenbrot Holon Academic Institute of.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 04. Other.
ISBN Chapter 3 Describing Syntax and Semantics.
Requirements Engineering n Elicit requirements from customer  Information and control needs, product function and behavior, overall product performance,
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1/18 Use Case Analysis – continued Control Classes.
Logic Based LSC Consistency Testing Presenter: Anup Niroula.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Structuring SDs Normally a use case scenario is too long and complex to fit on a single (A4?) SD. We need to hierarchically structure SDs and decompose.
Activity, Collaboration, and Component Diagrams Philip Liew
Software Engineering, COMP201 Slide 1 Protocol Engineering Protocol Specification using CFSM model Lecture 30.
C++ Training Datascope Lawrence D’Antonio Lecture 11 UML.
Analysis Concepts and Principle.
NJIT Drawing System Sequence Diagrams Chapter 10 Applying UML and Patterns Craig Larman Presented by Anuradha Dharani.
© Copyright Eliyahu Brutman Programming Techniques Course.
Statecharts: A Visual Formalism for Complex Systems Jeff Peng Model-based Design Lab.
Visual Basic Introduction IDS 306 from Shelly, Cashman & Repede Microsoft Visual Basic 5: Complete Concepts and Techniques.
UML Sequence Diagrams Eileen Kraemer CSE 335 Michigan State University.
Describing Syntax and Semantics
Use Case Analysis – continued
SE-565 Software System Requirements More UML Diagrams.
1 Joint work with Antonio Bucchiarone (Fondazione Bruno Kessler - IRST, Trento) and Fabrizio Montesi (University of Bologna/INRIA, Bologna) A Framework.
An Introduction to Rational Rose Real-Time
Programming Paradigms Imperative programming Functional programming Logic programming Event-driven programming Object-oriented programming A programming.
CMPT 275 Software Engineering
Ch.2 Part A: Requirements, State Charts EECE **** Embedded System Design.
Lecture 4 Finite State Machine CS6133 Software Specification and Verification.
Kris Horn Santhoshi Smitha Thota Uday Chandra Karrotthi.
Requirements Analysis
SOFTWARE ENGINEERING BIT-8 APRIL, 16,2008 Introduction to UML.
1 Object-Oriented Modeling Using UML (2) CS 3331 Fall 2009.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
1 UML Basic Training. UML Basic training2 Agenda  Definitions: requirements, design  Basics of Unified Modeling Language 1.4  SysML.
Selected Topics in Software Engineering - Distributed Software Development.
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
02/04/2008 A Concrete Syntax for UML 2.1 Action Semantics Using +CAL 13th IEEE International Conference on Engineering of Complex Computer Systems – ICECCS.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Chapter Three The UNIX Editors.
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
OMT Modeling 1. Object Model : presented by the object model and the data dictionary. 2. Dynamic Model: presented by the state diagrams and event flow.
CS3773 Software Engineering Lecture 06 UML State Machines.
Winter 2011SEG Chapter 11 Chapter 1 (Part 1) Review from previous courses Subject 1: The Software Development Process.
1 Lecture 5: Interactive Tools: Prototypers (HyperCard, Director, Visual Basic), Interface Builders Brad Myers Advanced User Interface Software.
Essentials of Visual Modeling w/ UML Instructor Notes
Version 02U-1 Computer Security: Art and Science1 Correctness by Construction: Developing a Commercial Secure System by Anthony Hall Roderick Chapman.
Prof. Hany H. Ammar, CSEE, WVU, and
McGraw-Hill/Irwin© 2008 The McGraw-Hill Companies, All Rights Reserved Chapter 17 Object-Oriented Design and Modeling Using the UML.
Appendix Object-Oriented Analysis and Design: Use Cases and Sequence Diagrams Modern Systems Analysis and Design Fifth Edition Jeffrey A. Hoffer Joey F.
Application Analysis. Application Interaction Model The purpose of analysis is to understand the problem so.
Specifying and executing behavioral requirements The play-in/play-out approach David Harel, Rami Marelly Weizmann Institute of Science, Israel An interpretation.
UML AN OVERVIEW. Topics covered in this Session 1. Introducing UML. 2. What constitutes the UML. 3. Concepts of UML.
Lecture 2 Specification and Requirement Analysis of Embedded System.
The Movement To Objects
Unified Modeling Language
Week 10: Object Modeling (1)Use Case Model
Online Shopping APP.
UML dynamic Modeling (Behavior Diagram)
UML Activity Diagrams & State Charts
Unified Modeling Language
Chapter 20 Object-Oriented Analysis and Design
PPT4: Requirement analysis
Presentation transcript:

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

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)

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

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

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

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

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

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

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

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 )

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

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

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

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

Playing with Time

Utilizing cold time elements

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.

Forbidden messages and conditions (scoped)

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

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

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

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

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

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

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 …

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: A book on the topic: