Chapter

The Concept of Time in the Specification of Real-Time Systems

Authors:
To read the full-text of this research, you can request a copy directly from the authors.

Abstract

Everyone knows what time is, or at least how the word “time” is used in everyday language. Time is so much a part of our everyday experience that it has become a self-evident aspect of the world in which we live. One might expect that this familiarity with time would enhance the ability to relate it to the behavior of computing systems. In particular, the timing of input-output relations should pose no special problems. But a quick glance at the state of affairs in computer science tells us that, in sharp contrast to the alleged exactness of the discipline, there is little concern for descriptions of systems or programs that are exact with respect to time. Most of the attention devoted to time is directed toward speeding up the rate of data processing or developing time-efficient algorithms.

No full-text available

Request Full-text Paper PDF

To read the full-text of this research,
you can request a copy directly from the authors.

... Alternative models influenced by neurophysiology are discussed by McCulloch and Pitts in [32], Rosenblatt in [37], Minsky and Papert in [34], Rall in [35], Hertz et al. in [21] and Hopfield in [24], [26] and [25]. In [20] Halang et al. describe some advantages of using time. Important work on quantum computing models is presented in [1], [2], [13], [15], [16], [19], [30], [31] and [39]. ...
Conference Paper
Full-text available
A new computing model, called the active element machine (AEM), is presented that demonstrates Turing incomputable computation using quantum random input. The AEM deterministically executes a universal Turing machine (UTM) program η with random active element firing patterns. These firing patterns are Turing incomputable when the AEM executes a UTM having an unbounded number of computable steps. For an unbounded number of computable steps, if zero information is revealed to an adversary about the AEM’s representation of the UTM’s state and tape and the quantum random bits that help determine η’s computation and zero information is revealed about the dynamic connections between the active elements, then there does not exist a “reverse engineer” Turing machine that can map the random firing patterns back to the sequence of UTM instructions. This casts a new light on Turing’s notion of a computational procedure. In practical terms, these methods present an opportunity to build a new class of computing machines where the program’s computational steps are hidden. This non-Turing computing behavior may be useful in cybersecurity and in other areas such as machine learning where multiple, dynamic interpretations of firing patterns may be applicable.
... In any real-time programming environment, a time base must exist from which jobs and functions are scheduled. The very nature of time-constrained computing requires frequent access to a clock and, in turn, a need for a convenient means by which a clock can be queried 2,24]. ...
Article
The development and maintenance of most real-time systems has always beenproblematic. In most real-time and embedded systems, software development usuallyemploys ad-hoc methods, utilizing assembly or machine specific languages.Research on various algorithmic means for providing real-time program behaviourhas been in existence since the 70's. Over the past two decades, real-timescheduling algorithms have gained tremendous popularity and maturity. However,a convenient means of utilizing...
Conference Paper
In this paper we describe a design methodology for the development of (potentially multi-processor) real-time system. Our proposed methodology differs fundamentally from current methodology and serves to help manage the complexity of massive-intensive systems. One of the distinguishing aspects of this methodology is in its ability to express timing constraints and verify to what extent such constraints are met. A second distinguishing aspect of this methodology is to develop a system according to five views of systems. In particular, the problems concerned with the transformation of the specifications into the parallel programs are addressed. The proposed methodology is applied to develop an onboard generator for generating transfer frames, complyannt to the CCSDS Recommendations [34], [35]. This onboard generator is implemented on a transputer network [1], [2].
Chapter
Drei speziell für sicherheitsgerichtete Anwendungen konzipierte programmierbare elektronische Systeme werden vorgestellt. Das erste wird höchsten Sicherheitsansprüchen gerecht, indem seine Software die Form leicht verifizierbarer Ursache-/Wir- kungstabellen hat, die unmittelbar von der Hardware ausgeführt werden. Das zweite ist auf inhärente Unterstützung der Verifikation von Funktionsplänen mittels diversitärer Rückwärtsanalyse hin ausgelegt. Eine asymmetrische Mehrprozessorarchitektur vermeidet durch Betriebssysteme erzeugte Nichtdeterminismen mittels Migration der Funktionen des Betriebssystemkerns auf einen Koprozessor und fördert die Vorhersehbarkeit des Ausführungsverhaltens. Weiterhin wird Prozeßperipherie für zeitgenau bestimmbaren Datenaustausch beschrieben.
Chapter
Drei speziell für sicherheitsgerichtete Anwendungen konzipierte programmierbare elektronische Systeme werden vorgestellt. Das erste wird höchsten Sicherheitsansprüchen gerecht, indem seine Software die Form leicht verifizierbarer Ursache-/ Wirkungstabellen hat, die unmittelbar von derHardware ausgeführtwerden.Das zweite ist auf inhärente Unterstützung der Verifikation von Funktionsplänen mittels diversitärer Rückwärtsanalyse hin ausgelegt. Eine asymmetrische Mehrprozessorarchitektur vermeidet durch Betriebssysteme erzeugte Nichtdeterminismen mittels Migration der Funktionen des Betriebssystemkerns auf einen Koprozessor und fördert die Vorhersehbarkeit des Ausführungsverhaltens.Weiterhin wird Prozessperipherie für zeitgenau bestimmbaren Datenaustausch beschrieben.
Conference Paper
RealSpec is a declarative and executable specification language for specifying real-time and concurrent software systems based on the dataflow computation model. Predictability is one of the most important traits of real-time software systems. A real-time specification language should be able to define and support the predictability requirements for real-time systems. A specification language should be expressive enough to prescribe all timing behavior. Lack of such a capability may result in a faulty system definition. This paper provides an analysis of the preciseness for predictability in the RealSpec real-time executable specification language. The paper also identifies potential language areas of concern for predictability analysis and proposes possible solutions to ensure that specifications have a high degree of preciseness for predictability.
Article
Full-text available
The paper describes the syllabus and the students' projects from a graduate course on the subject of “Reactive and Real-Time Systems”, taught at Tel-Aviv University and at the Open University of Israel. The course focuses on the development of provably correct reactive real-time systems. The course combines theoretical issues with practical implementation experience, trying to make things as tangible as possible. Hence, the mathematical and logical frameworks introduced are followed by presentation of relevant software tools and the students'projects are implemented using these tools. The course is planned so that no special purpose hardware is needed and so that all software tools used are freely available from various Internet sites and can be installed quite easily. This makes our course attractive to institutions and instructors for which purchasing and maintaining a special lab is not feasible due to budget, space, or time limitations (as in our case). In the paper we elaborate on the rationale behind the syllabus and the selection of the students' projects, presenting an almost complete description of a sample design of one team's project.
Technical Report
Full-text available
The safety aspects of computer-based systems as increasingly important as the use of software escalates because of its convenience and flexibility. However the complexity of even modestly sized programs is such that the elimination of errors with a high degree of confidence is extremely difficult. There are a number of approaches to enhancing safety in safety-critical control systems. These are surveyed and compared with particular emphasis on systems with software in the controlling system. A glossary of terms and an extensive bibliography for further reading are included.
Article
Full-text available
This article describes a graduate course on the subject of "Reactive and Real-Time Systems", which serves as the basis for courses taught by the authors at Bar-Ilan University and at Tel-Aviv University, and undergraduate course at the Netania Academic College and The Academic College of Tel-Aviv-Yaffo. The course focuses on the development of provably correct reactive or real-time systems. It is mainly a theoretical course, hence the students do not build (even the simplest) systems. Still, we try to make things as tangible as possible. This means that all the mathematical and logical frameworks introduced are followed by presentation of software tools that implement them. This course is planned so that no purchasing of special hardware and/or software is needed. All the software tools used are freely available from various Internet sites and can be installed quite easily. This should make our course attractive to institutions and instructors for which purchasing and maintaining a spe...
Article
What are real-time systems? Instead of trying to define them, we can think of real time systems as those that react to external stimuli in a timely and reliable fashion. Real time systems are often used to solve real world problems. Some examples of real time systems include air traffic control, automatic pilots, unmanned robots etc. Current research in real time systems lags far behind that in other areas. This is due to a largely false notion of what real time systems are and what they involve. I begin this survey by describing some of the characteristics of real time systems. Then I will dispel some of the misconceptions and make an argument for the importance of further research in the area. Next I will present some formal methods for specifying and verifying real time systems. Most of the current real time systems have been written in conventional programming languages which are not very suitable for the task and do not provide control over timing constraints. Most of the real tim...
Article
Programming language research should be driven by the needs of specific application domains, such as real-time embedded systems, multimedia, distributed data-base management applications, etc. For instance, most often large real-time applications involve distributed and concurrently but asynchronously operating devices. The correctness of the integrated systems depends not only on the correct operation of each individual device, but also on the correct coordination among these devices. Furthermore, the correctness of device operation and cooperation requires that both the underlying logical computation be correct and the computation satisfy some notion of quantitative timing requirements. This thesis is a case study for how a language should be designed to suit a specific application domain. Specifically, I have designed RTsynchronizers (Real Time Synchronizers), a high-level programming language abstraction for specifying real-time coordination constraints between objects in a distrib...
Article
Full-text available
Process scheduling in real-time systems has almost invariably used one or more of three algorithms, namely, fixed priority, FIFO, or round robin. The notion that the primary distinguishing characteristic of a real-time system is the concept that completion of a process or a set of processes has a value to the system which can be expressed as a function of time is discussed. This notion is described in terms of a time-driven scheduling model for real-time operating systems and provides a tool for measuring the effectiveness of most of the currently used process schedulers in real-time systems. Applying this model, a multiprocessor real-time system simulator was constructed with which a number of well-known scheduling algorithms such as Shortest Process Time (SPT), Deadline, Shortest Slack Time, FIFO, and a fixed priority scheduler are measured with respect to the resulting total system values. This approach to measuring the process scheduling effectiveness is a first step in the longer term effort to produce a scheduler which will explicitly schedule real-time processes in such a way that their execution times maximize their collective value to the system.
Article
The authors formalize the safety analysis of timing properties in real-time systems. The analysis is based on a formal logic, RTL (real-time logic), which is especially suitable for reasoning about the timing behavior of systems. Given the formal specification of a system and a safety assertion to be analyzed, the goal is to relate the safety assertion to the systems specification. There are three distinct cases: (1) the safety assertion is a theorem derivable from the systems specification; (2) the safety assertion is unsatisfiable with respect to the systems specification; or (3) the negation of the safety assertion is satisfiable under certain conditions. A systematic method for performing safety analysis is presented.
Article
Scitation is the online home of leading journals and conference proceedings from AIP Publishing and AIP Member Societies
Article
This paper gives a short overview of the architecture of the distributed real-time system MARS (MAintainable Real-Time System) and describes the design and implementation of its operating system. The main purpose of the MARS kernel is to achieve a timely execution of hard real-time tasks and to provide an efficient communication mechanism suitable for distributed real-time systems.
Article
(1) Any two members of the group overlap in time, i.e. neither is wholly before the other.(Received September 30 1935)(Accepted March 09 1936)
Article
Various manifestations of the time-as-a-proxy phenomenon in specification of computing problems are considered. It is argued that unless the time-related considerations constitute an essential part of natural (physical) problems, safer specifications are obtained from avoiding short-cuts offered by introduction of time-related notions. This methodological principle is illustrated by examples from several fields: digital control and simulation, design of operator's interface and communication protocols.
Article
In this paper, a formal model of Event-Driven Nets (EDNs) is presented. Real-time temporal logic is used for representing both the behavior and structure of a modelled net. The structure of the net is defined using a set of executable predicates formed over state and pulse temporal variables. Considering this formal model, we outline an implementation of an interpretation technique for the EDN structural description. Finally, the modelling power of EDNs is demonstrated by the behavioral and performance simulation of a simple distributed computer system.
Chapter
Without Abstract
Article
The generation of a fault-tolerant global time base with known accuracy of synchronization is one of the important operating system functions in a distributed real-time system. Depending on the types and number of tolerated faults, this paper presents upper bounds on the achievable synchronization accuracy for external and internal synchronization in a distributed real-time system. The concept of continuous versus instantaneous synchronization is introduced in order to generate a uniform common time base for local, global, and external time measurements. In the last section, the functions of a VLSI clock synchronization unit, which improves the synchronization accuracy and reduces the CPU load, are described. With this unit, the CPU overhead and the network traffic for clock synchronization in state-of-the-art distributed real-time systems can be reduced to less than 1 percent.
Article
Work on the formal description and analysis of realtime systems has followed two paths. On one side, it has considered the specification of realtime systems, the design of language constructs for realtime programming, and semantic models to describe the properties of realtime programs. On the other side, there has been a large body of work analysing the performance of realtime systems in terms of scheduling theory, relating program modules with their use of resources, and determining timing characteristics, especially in relation to hard realtime problems. The paper reviews some of this work and examines how realtime computations are modelled in a proof-theoretic framework and in scheduling analyses. The object of this review, and indeed of other contemporary work in the field, is to examine whether it is possible to relate issues of correctness and performance, e.g., interpreting the semantics of execution of realtime programs in terms of scheduling solutions to realtime problems.
Article
This paper shows that constraint logic programming languages (such as CLP ()) provide a useful computational logic for modelling, simulating and verifying real-time discrete event processes. The designer's knowledge about discrete processes can be represented in a fashion that stays close to the mathematical definition of the processes, and can be used to semi-automate verification of (possibly infinite state) systems.
Conference Paper
Without Abstract
Article
This paper is motivated by the need for a formal specification method for real-time systems. In these systemsquantitative temporal properties play a dominant role. We first characterize real-time systems by giving a classification of such quantitative temporal properties. Next, we extend the usual models for temporal logic by including a distance function to measure time and analyze what restrictions should be imposed on such a function. Then we introduce appropriate temporal operators to reason about such models by turning qualitative temporal operators into (quantitative) metric temporal operators and show how the usual quantitative temporal properties of real-time systems can be expressed in this metric temporal logic. After we illustrate the application of metric temporal logic to real-time systems by several examples, we end this paper with some conclusions.
Article
Verification and compile-time checking of the behavior of programs in real time is an important issue in many applications, e.g., process control, lab automation, and monitoring of missiles and vehicles. Present day programming languages and compilers lack the facilities of calculating execution times of programs. Based on the concepts of “guarded commands” [1] and PARC's [2], [4], and using the formal means of predicate transformers, a method of checking the fulfillment of real time constraints is developed. The method allows the calculation of execution times of both sequential and parallel programs, both in single- and multiprocessor systems. The key issue is the introduction of real time as a variable into the data space of the program. The manipulation of this time variable during the execution of a program is determined by the programstructure, input data, and by the hardware properties of processors and memories. Rather than formal proofs, examples will be given: calculation of the conditions to be fulfilled when a program has to meet a specified dead-line. Copyright © 1981 by The Institute of Electrical and Electronics Engineers, Inc.
Article
A methodology for specifying and providing assertions about time in higher-level-language programs is described. The approach develops three ideas: the distinction between, and treatment of, both real-time and computer times; the use of upper and lower bounds on the execution times of program elements; and a simple extension of Hoare logic to include the effects of the passage of real-time. Schemas and examples of timing bounds and assertions are presented for a variety of statement types and programs, such as conventional sequential programs including loops, time-related statements such as delay, concurrent programs with synchronization, and software in the presence of interrupts. Examples of assertions that are proved include deadlines, timing invariants for periodic processes, and the specification of time-based events such as those needed for the recognition of single and double clicks from a mouse button
Article
Reliable computer systems must handle malfunctioning components that give conflicting information to different parts of the system. This situation can be expressed abstractly in terms of a group of generals of the Byzantine army camped with their troops around an enemy city. Communicating only by messenger, the generals must agree upon a common battle plan. However, one of more of them may be traitors who will try to confuse the others. The problem is to find an algorithm to ensure that the loyal generals will reach agreement. It is shown that, using only oral messages, this problem is solvable if and only if more than two-thirds of the generals are loyal; so a single traitor can confound two loyal generals. With unforgeable written messages, the problem is solvable for any number of generals and possible traitors. Applications of the solutions to reliable computer systems are then discussed.
Real-Time Logic, Programming and Scheduling”, in [30
  • A K Mok
Resource access synchronisation based on the parameter ‘time’: a suggestion for research
  • W A Halang
Über die Zeit”, Suhrkamp: Frankfurt am Main
  • N Elias
Time and computation” in
  • M Joseph
  • A Goswami
Terminologie van algebraische specificaties
  • J A Bergstra
  • J. A. Bergstra
Real-Time Computing-Basic ConceptsDesign of a Real-Time Computing System”, and “Clock Synchronization
  • H Kopetz
Timing Considerations Will Damage Your Programs”, “How To Cope With Many Processors In No Time At All” in
  • W M Turski
Controlling Discrete Real-Time Systems with Parallel Processes”
  • C Bron
De juiste tijd Hoe klokken in de afgelopen eeuwen gelijk werden gezet
  • E Dekker
Implementing Real-Time Systems by Transformation
  • A Moitra
  • M Joseph
Towards a temporal logic for true concurrency, Part 1: Linear time propositional logic”, Arbeitspapiere der GMD (Gesellschaft füir Mathematik und Datenverarbeitung mbH) Nr
  • W Reisig
Resource access synchronisation based on the parameter ‘time’: a suggestion for research” University of Groningen
  • W A Halang
  • W. A. Halang
The structure of time
  • W Newton-Smith
  • W. Newton-Smith
Hoe klokken in de afgelopen eeuwen gelijk werden gezet
  • E Dekker
  • E. Dekker