Communicating TILCO: a model for real-time system specification (original) (raw)
Related papers
Temporal logics for real-time system specification
ACM Computing Surveys, 2000
The specification of reactive and real-time systems must be supported by formal, mathematically-founded methods in order to be satisfactory and reliable. Temporal logics have been used to this end for several years. Temporal logics allow the specification of system behavior in terms of logical formulas, including temporal constraints, events, and the relationships between the two. In the last ten years, temporal logics have reached a high degree of expressiveness. Most of the temporal logics proposed in the last few years can be used for specifying reactive systems, although not all are suitable for specifying real-time systems. In this paper we present a series of criteria for assessing the capabilities of temporal logics for the specification, validation, and verification of real-time systems. Among the criteria are the logic's expressiveness, the logic's order, presence of a metric for time, the type of temporal operators, the fundamental time entity, and the structure of time. We examine a selection of temporal logics proposed in the literature. To make the comparison clearer, a set of typical specifications is identified and used with most of the temporal logics considered, thus presenting the reader with a number of real examples.
An interval logic for real-time system specification
IEEE Transactions on Software Engineering, 2001
The paper on Comments on "An Interval Logic for Real-Time System Specification" presents some remarks on the comparison examples from TILCO and other logics and some slips on the related examples. This paper gives evidence that such issues have no impact on the validity of the TILCO Theory of paper [1] and provides some further clarifications about some aspects of the comparison.
A constraint-based approach for specification and verification of real-time systems
1997
We develop a general constraint logic programming (CLP) based framework for specification and verification of real-time systems. Our framework is based on the notion of timed automata that have traditionally been used for specihing real-time systems. In our framework, a user models the ordering of real-time events as the grammar of a language accepted by a timed automata, the real-time constraints on these events are then captured as denotations of the grammar productions specijied by the usel: The grammar can be speciJied as a Definite Clause Grammar (DCG), while the denotations can be speccped in constraint logic. The resulting specijication can hence be regarded as a constraint logic program (CLP), and is executable. Many interesting properties of the real-time system can be verc3ed by posing appropriate queries to this CLP program. A major advantage of our approach is that it is constructive in nature, i.e., it can be used for computing the conditions under which a property will holdfor a given real-time system. Our framework also suggests new types of formalisms that we call Constraint Automata and Timed Push-down Automata.
Comments on temporal logics for real-time system specification
ACM Computing Surveys, 2009
The article "Temporal Logics for Real-Time System Specification" surveys some of the relevant literature dealing with the use of temporal logics for the specification of real-time systems. Unfortunately, [3] introduces some imprecisions that might create some confusion in the reader. While a certain degree of informality is certainly useful when addressing a broad audience, imprecisions can negatively impact the legibility of the exposition. We clarify some of the remarks of [3] on a few topics, in an effort to contribute to the usefulness of the survey for the reader.
TILCO temporal logic for real-time systems implementation in C++
2003
Temporal logics are capable to describe temporal constraints among events and actions, as invariance, precedence, periodicity, repeated occurrences, liveness and safety conditions. They are typically used to specify and verify properties in the requirement analysis, to describe the system behavior that can be verified via property proof. Operational approaches have a state-based semantics which is many cases preferred at denotational approaches for their immediate interpretation and automatic conversion into programming language. In fact, for the implementation of real-time systems traditional programming languages are still used. In this paper, an integrated development environment to implement real-time systems based on the integration of TILCO temporal logic and C++ programming is presented. The integration is based on the execution of TILCO Temporal Logic specifications to manage the concurrent, behavioral and temporal requirements of the C++ application in Real-Time. Results about this new model of development are presented.
Compositional verification of real-time systems with Explicit Clock Temporal Logic
Formal Aspects of Computing, 1996
To specify and verify real-time systems, we consider a real-time version of temporal logic called Explicit Clock Temporal Logic. Timing properties are specified by extending the classical framework of temporal logic with a special variable which explicitly refers to a global notion of time. Programs are written in an Occam-like real-time language with synchronous message passing. To show that a program satisfies a specification, we formulate a proof system which is proved to be sound and relatively complete. The proof system is compositional, which makes it possible to decompose the design of a large system into the design of subsystems. This is shown by the verification of a small part of an avionics system.
Real-time interval logic for reasoning about executions of real-time programs
1989
Research on the testing and debugging of distributed realtime programs now focuses on more formal approaches to specification and testing. Temporal logic is a natural candidate for this since it can specify properties of event and state sequences. However, the absence of any concept of realtime limits the application of temporal logic to non real-time behavior. This paper presents an extension of the interval logic of Schwartz et al. [SMSVP83], by increasing the expressive power of the logic (with respect to real time) while retaining its intuitive appeal and understandability. The extensions are added in a "layer" that can be stripped away if formal verification is the goal, or retained if timing behavior must be tested. The extensions include: the ability to deal with real time (as in [JM86b, JM86a, OW87, NA88]); more powerful interval specification mechanisms; a limited form of quantification; and the direct expression of event predicates (as in [LeD86]). Since our work is intended to yield practical tools for software testers, we emphasize the ease of expressing the complex timing properties of real-time software (e.g. periodic behavior, performance constraints), and we demonstrate the use of the interval logic on some realtime examples that represent a test of the expressiveness and understandability of the notation.
A compositional proof system for real-time systems based on explicit clock temporal logic
DOI to the publisher's website. • The final author version and the galley proof are versions of the publication after peer review. • The final published version features the final layout of the paper including the volume, issue and page numbers. Link to publication General rights Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights. • Users may download and print one copy of any publication from the public portal for the purpose of private study or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain • You may freely distribute the URL identifying the publication in the public portal. If the publication is distributed under the terms of Article 25fa of the Dutch Copyright Act, indicated by the "Taverne" license above, please follow below link for the End User Agreement:
Specification of Realtime Systems
1997
ASTRAL is a formal specification language for realtime systems. It is intended to support formal software development and, therefore, has been formally defined. The structuring mechanisms in ASTRAL allow one to build modularized specifications of complex systems with layering. A realtime system is modeled by a collection of state machine specifications and a single global specification. This paper discusses the rationale of ASTRAL's design. ASTRAL's specification style is illustrated by discussing a telephony example. Composability of one or more ASTRAL system specifications is also discussed by the introduction of a composition section, which provides the needed information to combine two or more ASTRAL system specifications.
Embedding time granularity in a logical specification language for synchronous real-time systems
Science of Computer Programming, 1993
Embedding time granularity in a logical specification language for synchronous real-time systems, Science of Computer Programming 20 (1993) 141-171. Formal methods have proved to be highly beneficial in the requirements specification phase of software production and are particularly valuable in the development of real-time applications (the most critical software systems). Unfortunately, most common specification languages are inadequate for real-time applications because they lack a quantitative representation of time. In this paper, we define a logical language to specify the temporal constraints of the wide-ranging class of real-time systems whose components have dynamic behaviours regulated by very different time constants. We motivate the need for allowing the consistent treatment of different time scales in formal specifications of these systems with the purpose of enhancing the naturalness and practical usability of the notation. The logical specification language is based on a revised version of the specification language TRIO. We first present the features of the basic logical language; then, we semantically and axiomatically define its granularity extension in a topological logic framework. Finally, we show some examples of its application.