Skip to main content
  • Textbook
  • © 2003

Come, Let’s Play

Scenario-Based Programming Using LSCs and the Play-Engine

  • THE book presenting the elegant and powerful new method and tool for software and systems engineering called Play-Engine

  • Includes supplementary material: sn.pub/extras

Buy it now

Buying options

eBook USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book USD 54.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Other ways to access

This is a preview of subscription content, log in via an institution to check for access.

Table of contents (21 chapters)

  1. Front Matter

    Pages I-XVIII
  2. Prelude

    1. Front Matter

      Pages 1-1
    2. Introduction

      • David Harel, Rami Marelly
      Pages 3-7
    3. Setting the Stage

      • David Harel, Rami Marelly
      Pages 9-24
    4. An Example-Driven Overview

      • David Harel, Rami Marelly
      Pages 25-52
  3. Foundations

    1. Front Matter

      Pages 53-53
    2. The Model: Object Systems

      • David Harel, Rami Marelly
      Pages 55-58
    3. The Language: Live Sequence Charts (LSCs)

      • David Harel, Rami Marelly
      Pages 59-82
    4. The Tool: The Play-Engine

      • David Harel, Rami Marelly
      Pages 83-87
  4. Basic Behavior

    1. Front Matter

      Pages 89-89
    2. Variables and Symbolic Messages

      • David Harel, Rami Marelly
      Pages 91-103
    3. Assignments and Implemented Functions

      • David Harel, Rami Marelly
      Pages 105-118
    4. Conditions

      • David Harel, Rami Marelly
      Pages 119-132
    5. Branching and Subcharts

      • David Harel, Rami Marelly
      Pages 133-146
  5. Advanced Behavior: Multiple Charts

    1. Front Matter

      Pages 147-147
    2. Executing Multiple Charts

      • David Harel, Rami Marelly
      Pages 149-158
    3. Testing with Existential Charts

      • David Harel, Rami Marelly
      Pages 159-171
  6. Advanced Behavior: Richer Constructs

    1. Front Matter

      Pages 173-173
    2. Loops

      • David Harel, Rami Marelly
      Pages 175-188
    3. Transition to Design

      • David Harel, Rami Marelly
      Pages 189-207

About this book

This book does not tell a story. Instead, it is about stories. Or rather, in technical terms, it is about scenarios. Scenarios of system behavior. It con­ centrates on reactive systems, be they software or hardware, or combined computer-embedded systems, including distributed and real-time systems. We propose a different way to program such systems, centered on inter­ object scenario-based behavior. The book describes a language, two tech­ niques, and a supporting tool. The language is a rather broad extension of live sequence charts (LSCs), the original version of which was proposed in 1998 by W. Damm and the first-listed author of this book. The first of the two techniques, called play-in, is a convenient way to 'play in' scenario­ based behavior directly from the system's graphical user interface (QUI). The second technique, play-out, makes it possible to execute, or 'play out', the behavior on the QUI as if it were programmed in a conventional intra­ object state-based fashion. All this is implemented in full in our tool, the Play-Engine. The book can be viewed as offering improvements in some ofthe phases of known system development life cycles, e.g., requirements capture and anal­ ysis, prototyping, and testing. However, there is a more radical way to view the book, namely, as proposing an alternative way to program reactivity, which, being based on inter-object scenarios, is a lot closer to how people think about systems and their behavior.

Reviews

The design of reactive systems is one of the most challenging problems in computer science. This books starts with a critical insight to explain the difficulty of this problem: there is a fundamental gap between the scenario-based way in which people think about such systems and the state-based way in which these systems are implemented. The book then offers a radical proposal to bridge this gap by means of playing scenarios. Systems can be specified by playing in scenarios and implemented by means of a Play-Engine that plays out scenarios. This idea is carried out and developed, lucidly, formally and playfully, to its fullest. The result is a compelling proposal, accompanied by a prototype software engine, for reactive systems design, which is bound to cause a splash in the software-engineering community. Moshe Y. Vardi, Rice University, Houston, Texas, USA

Scenarios are a primary exchange tool in explaining system behavior to others, but their limited expressive power never made them able to fully describe systems, thus limiting their use. The language of Live Sequence Charts (LSCs) presented in this beautifully written book achieves this goal, and the attached Play-Engine software makes these LSCs really come alive. This is undoubtedly a key breakthrough that will start long-awaited and exciting new directions in systems specification, synthesis, and analysis. Gérard Berry, Esterel Technologies and INRIA, Sophia-Antipolis, France

The approach of David Harel and Rami Marelly is a fascinating way of combining prototyping techniques with techniques for identifying behavior and user interfaces. Manfred Broy, Technical University of Munich, Germany

Authors and Affiliations

  • The Weizmann Institute of Science, Faculty of Mathematics and Computer Science, Rehovot, Israel

    David Harel, Rami Marelly

About the authors

David Harel is the Dean of the Faculty of Mathematics and Computer Science at the Weizmann Institute of Science in Israel. He is also co-founder of I-Logix, Inc., Andover, MA, and of SenseIT Technologies, Ltd. (DigiScents Israel). His research interests are in theoretical computer science (especially computability, automata theory and logics of programs), and in software and systems engineering (especially specification and modeling, object-oriented analysis and design, and visual languages), as well as the aesthetic layout of diagrams, clustering algorithms and the synthesis and communication of smell. He is the inventor of the language of statecharts (1983), was part of the team that designed the Statemate (1984-1987) and Rhapsody (1997) tools, and was co-inventor of LSCs (1998). His work is central to the behavioral aspects of the UML. He devotes part of his time to expository work: In 1984 he delivered a lecture series on Israeli radio, and in 1998 he hosted a series on Israeli television; some of his writing is intended for a general audience (see, for example, Computers Ltd.: What They Really Can't Do , Oxford University Press, September 2000). He has received a number of awards, including ACM's Karlstrom Outstanding Educator Award in 1992, and the 1997 Israeli Prime Minister's Award for Software. His book, Algorithmics: The Spirit of Computing (Addison-Wesley, 1987, 2nd. edn. 1992) was the Spring 1988 Main Selection of the Macmillan Library of Science. He is a Fellow of the ACM and of the IEEE.

Bibliographic Information

Buy it now

Buying options

eBook USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book USD 54.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Other ways to access