Sign up & Download
Sign in

STATEMATE: A Working Environment for the Development of Complex Reactive Systems

by D Harel, H Lachover, A Naamad, A Pnueli, M Politi, R Sherman, A Shtull-Trauring, M Trakhtenbrot
IEEE Transactions on Software Engineering (1990)

Abstract

STATEMATE is a set of tools, with a heavy graphical orientation, intended for the specification, analysis, design, and documentation of large and complex reactive systems. It enables a user to prepare, analyze, and debug diagrammatic, yet precise, descriptions of the system under development from three interrelated points of view, capturing structure, functionality, and behavior. These views are represented by three graphical languages, the most intricate of which is the language of statecharts, used to depict reactive behavior over time. In addition to the use of statecharts, the main novelty of STATEMATE is in the fact that it understands the entire descriptions perfectly, to the point of being able to analyze them for crucial dynamic properties, to carry out rigorous executions and simulations of the described system, and to create running code automatically. These features are invaluable when it comes to the quality and reliability of the final outcome.

Cite this document (BETA)

Available from portal.acm.org
Page 1
hidden

STATEMATE: A Working Environment for the Development of Complex Reactive Systems

STATEMATE:t A Working Environment
for the Development of Complex Reactive Systems
D. Harel’*‘, H. Lachover, A. Naamad, A. Pnueli’,
M. Politi, R. Sherman3 and A. Shtul-Trauring
i-Logix Inc., Burlington, MA 01803
and
Ad Cad Ltd., Rehovot, Israel
Abstract: This paper provides a brief overview of the STATE
MATE system, constructed over the past three years by i-Logix
- r - .,
Inc., and Ad Cad Ltd. STATEMATE is a graphical working en-
vironment, intended for the specification, analysis, design and
documentation of large and complex reactive systems, such as
real-time embedded systems, control and communication sys-
tems, and interactive software. It enables a user to prepare,
analyze and debug diagrammatic, yet precise, descriptions of
the system under development from three inter-related points
of view, capturing, structure, functionality and behavior. These
views are represented by three graphical languages, the most
intricate of which is the language of statecharts used to depict
reactive behavior over time. In addition to the use of state-
charts, the main novelty of STATEMATE is in the fact that
it ‘understands’ the entire descriptions perfectly, to the point
of being able to analyze them for crucial dynamic properties,
to carry out rigorous animated executions and simulations of
the described system, and to create running code automatically.
These features are invaluable when it comes to the quality and
reliability of the final outcome.
Keywords: code generation, computable specifications, func-
tional decomposition, reactive systems, statecharts, STATEM-
ATE.
t STATEMATE is a registered trademark of i-Logix, Inc.
’ Also with the Department of Applied Mathematics,
The Weizmann Institue of Science, Rehovot, Israel
2 This author’s work partially carried out at the
Computer Science Department, Carnegie-Mellon Univer-
sity, Pittsburgh, PA.
3 This author’s work partially carried out at the Uni-
versity of Southern California’s Information Sciences Insti-
tute, Marina del-Ray, CA.
1. Introduction
Reactive systems (see [P, HP]) are characterized as ow-
ing much of their complexity to the intricate nature of re-
actions to discrete occurrences. The computational and
continuous parts of such systems are assumed to be dealt
with using other means, and it is their reactive, control-
driven parts that are considered here to be the most prob-
lematic. Examples of reactive systems include most kinds
of real-time computer embedded systems, control plants,
communication systems, interactive software of varying na-
ture, and even VLSI circuits. Common to all of these is
the notion of reactive behavior, whereby the system is not
adequately described by a simple relationship that specifies
outputs as a function of inputs, but, rather, requires relat-
ing outputs to inputs through their allowed combinations
in time. Typically, such descriptions involve complex se-
quences of events, actions, conditions and information flow,
often with explicit timing constraints, that combine to form
the system’s overall behavior.
It is fair to say that the problem of finding good meth-
ods to aid in the development of such systems has not been
satisfactorily solved. Standard structured design methods
do not adequately deal with the dynamics of reactive sys-
tems, since they were proposed to deal primarily with non-
reactive, data-driven applications, in which a good func-
tional decomposition and data-flow description are suffi-
cient. As to commercially available tools for real-time
system design, most are, by and large, but sophisticated
graphics editors, in which one can model certain aspects
of reactive systems but in which a user can do little with
the resulting descriptions beyond testing them for syntactic
consistency and completeness and producing various kinds
of output reports. These systems are often helpful in or-
ganizing a designer’s thoughts and in communicating those
thoughts to others, but they are vastly inadequate when it
comes to the more difficult task of preparing reliable spec-
ifications and designs that satisfy the initial requirements,
that behave over time as expected, and from which a rea-
sonable final system can be constructed with relative ease.
If we were to draw an analogy with the discipline of
conventional programming, there is an acute need for the
reactive system’s analog of a programming environment
027%5257/88/0000/0396!$01 .OO 0 4 988 IEEE 396 Recommended by: K. Ochimizu and T. Matsubara

Sign up today - FREE

Mendeley saves you time finding and organizing research. Learn more

  • All your research in one place
  • Add and import papers easily
  • Access it anywhere, anytime

Start using Mendeley in seconds!

Already have an account? Sign in

Readership Statistics

32 Readers on Mendeley
by Discipline
 
 
 
by Academic Status
 
28% Ph.D. Student
 
16% Student (Master)
 
16% Associate Professor
by Country
 
13% Germany
 
13% United States
 
9% South Korea

Groups

pool