Skip to main content

Come, Let’s Play

Scenario-Based Programming Using LSCs and the Play-Engine

  • Textbook
  • © 2003

Overview

  • 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

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

Access this book

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

Licence this eBook for your library

Institutional subscriptions

Table of contents (21 chapters)

  1. Prelude

  2. Foundations

  3. Basic Behavior

  4. Advanced Behavior: Multiple Charts

  5. Advanced Behavior: Richer Constructs

Keywords

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

Publish with us