Formal Methods for Real-Time Computing

Book Title: FORMAL METHODS FOR REAL-TIME COMPUTING

Editors: Constance Heitmeyer and Dino Mandrioli
ISBN: 0-471-95835-2

Publisher: John Wiley & Sons Ltd

Series: Trends in Software

Chapter 1
"Formal methods for specifying and analyzing real-time systems: An overview,"
Constance Heitmeyer (Naval Research Lab) and Dino Mandrioli (Politecnico di Milano)

This chapter defines real-time systems and illustrates them with a number of small examples. It also discusses issues central to applying formal methods in the development of real-time systems: the trade-offs between operational and descriptive specifications, different levels of formality that can be applied, and the requirements of formal methods for building industrial-strength systems. To put the newer formal methods into perspective, two methods widely used in practice to design and analyze real-time systems, namely, structured analysis and Statecharts, are reviewed. Several promising new techniques for specifying and analyzing real-time systems are then summarized and illustrated with examples. These include graphical notations, state machine and logic-based models, process algebras, and analysis techniques, such as model checking and deductive reasoning.


Chapter 2
"Specification and analysis of real-time systems: Modechart language and toolset,"
Aloysius Mok, Douglas Stuart (Univ. of Texas), and Farnam Jahanian (Univ. of Michigan)

This chapter illustrates the use of the Modechart specification language and the MT toolset by using them in the specification and analysis of the control rod system of a nuclear reactor. The specification language and an associated logic, RTL, are introduced, as is a tool for building specifications. Two approaches are then used to analyze the specification. The Modechart simulator is used to exhibit individual behaviors of the system. The Modechart verifier is used to verify global properties of the system.


Chapter 3
"Automata-theoretic verification of real-time systems,"
Rajiv Alur (AT&T Laboratories) and David Dill (Stanford Univ.)

We propose "timed (finite) automata" to model the behavior of real-time systems over time. Our definition provides a simple, and yet powerful, way to annotate state-transition graphs with timing constraints using finitely many real-valued clocks. A timed automaton accepts timed words --- infinite sequences in which a real-valued time of occurrence is associated with each symbol. We study timed automata from the perspective of formal language theory: we consider closure properties, decision problems, and subclasses. We discuss the application of this theory to automatic verification of real-time requirements of finite-state systems. Finally, we give an overview of the heuristics employed by different tools to alleviate the computational complexity of the verification algorithm.


Chapter 4
"Formal verification of real-time systems using timed automata,"
Constance Heitmeyer (Naval Research Lab) and Nancy Lynch (MIT)

The use of the Lynch-Vaandrager timed automaton model is illustrated with a solution to the Generalized Railroad Crossing problem. The solution shows formally the correspondence between four system descriptions: an axiomatic (i.e., descriptive) specification, an operational specification represented in terms of timed automata, a discrete system implementation, and a system implementation that works with a continuous gate model. Several sample proofs are given. In the development of the solution, a number of guidelines were applied. These guidelines, which should prove useful in applying formal methods to practical systems, are described and illustrated with examples.


Chapter 5
"Refining system requirements to program specifications,"
Ernst-Rüdiger Olderog, Anders P. Ravn, and Jens U. Skakkebæk

A coherent and mathematically well-founded approach to the design of real-time and hybrid systems is presented. It covers requirements analysis and specification, design of controlling automata satisfying the requirements, and derivation of occam-like communicating programs from these automata. The generalized railroad crossing illustrates the approach. Requirements are analyzed within a conventional dynamic systems model of a plant, where states are functions of the reals, representing time. The requirements are specified in an assumption-commitment style using the Duration Calculus, a real-time interval logic. Controlling real-time automata are specified in the same formalism by elementary constraints on the plant states for each control state or phase. The Duration Calculus is used to verify that the control design refines the requirements. The real-time automata map smoothly to component descriptions in a systems design language that uses timed trace assertions over state transition events to constrain control flow. Components can under certain conditions be transformed to occam-like communicating programs.


Chapter 6
"A Petri net and logic approach to thespecification and analysis of real-time systems,"
Dino Mandrioli, Angelo Morzenti, Mauro Pezzè, Pierluigi SanPietro, and Sergio Silva (Politecnico di Milano)

We report on our ongoing research whose long-term goal is to build methods and tools for developing industrial-strength real-time systems. We describe two independent but coordinated approaches, one an operational formalism based on Petri nets and the other a specification language based on logic. Both formalisms are specially designed to deal with time-critical aspects of real-time systems. We also describe our prototype tools and our experience in applying the tools in industrial projects. In the long term, we plan to integrate the two approaches so that system structure is described formally by a Petri net, whereas system properties are expressed and proved in the logic language. We discuss the advantages of such a ``dual language'' approach and the barriers to applying the approach to industrial projects in the short term.


Chapter 7
"A process algebraic approach and methodology to the specification and analysis of resource-bound real-time systems,"
Insup Lee, Hanêne Ben-Abdallah, Jin-Young Choi, and Duncan Clarke (Univ. of Pennsylvania)

This chapter describes a timed process algebra, called ACSR, which supports time-consuming actions and instantaneous events. Actions model the usage of shared resources and the passage of time, whereas events allow synchronization between processes. To be able to specify real-time systems accurately, ACSR supports static priorities that can be used to arbitrate between actions competing for shared resources and between events that are ready for synchronization. ACSR also offers different notions of equivalence that can be used to verify that two processes behave the same. ACSR is illustrated through the specification and analysis of a scheduler example, as well as three variants of the railroad crossing problem.


Chapter 8
"Constraint-oriented specification style for time-dependent behaviors,"
Tommaso Bolognesi

In this chapter we emphasize human-oriented usage of formal specifications, and insist that these be not only amenable to automated analysis but also appealing to human intuition and understanding. We concentrate on a specification style called `constraint-oriented', which is meant to simplify the writing and reading of formal descriptions by approximating, in some aspects, the style of informal descriptions as expressed in natural language. The constraint-oriented style has already been applied succesfully to specifications in standard LOTOS; in this chapter we show how it naturally extends to the specification of time-dependent behaviours in timed LOTOS. The approach is illustrated by the Generalized Railroad Crossing example.


Chapter 9
"Analysis of real-time systems using symbolic techniques,"
Sergio Campos, Edmund Clarke, and Marius Minea (Carnegie-Mellon Univ.)

The chapter presents the use of symbolic model checking for the verification of real-time systems. This method automatically determines whether a temporal logic specification is satisfied for a finite state model. Symbolic techniques use a representation based on binary decision diagrams, which allow extremely large state spaces to be handled. Real-time logics have been introduced that allow the expression of time-bounded properties. In addition, we have introduced quantitative reasoning in the verification process. The algorithms that we have developed produce quantitative information about a real-time system, in addition to determining its correctness. This information allows a more detailed analysis than possible with previous methods. These techniques have been applied to the verification of a number of real-world system, of which we present a few examples: an aircraft controller, a robotics system, a medical monitoring system and the PCI local bus. These examples demonstrate that the techniques are able to verify complex, realistic systems.


Chapter 10
"End-to-end design of real-time systems,"
Richard Gerber, Seongsoo Hong, Dong-In Kang, and Manas Saksena

This chapter presents a comprehensive design methodology for guaranteeing end-to-end requirements of real-time systems. Applications are structured as a set of process components, connected by asynchronous channels, in which the endpoints are the system's external inputs and outputs. Timing constraints are then postulated between these inputs and outputs; they express properties such as end-to-end propagation delay, temporal input-sampling correlation, and allowable separation times between updated output values. The automated design method works as follows: First new tasks are created to correlate related inputs. An optimization algorithm, whose objective is to minimize CPU utilization, transforms the end-to-end requirements into a set of intermediate rate constraints on the tasks. If the algorithm fails to find a solution to the constraints, a restructuring tool attempts to eliminate bottlenecks by transforming the application. Then it is re-submitted to the assignment algorithm. The final result is a schedulable set of fully periodic tasks that collaboratively maintain the end-to-end constraints.

OVERVIEW CHAPTERS' ORGANIZATION

Reproduced with permission of John Wiley & Sons Limited

For more information about the book, contact Connie Heitmeyer (scr@itd.nrl.navy.mil) or Dino Mandrioli (mandriol@elet.polimi.it).

Privacy Policy