Hostname: page-component-78c5997874-m6dg7 Total loading time: 0 Render date: 2024-11-20T05:32:21.925Z Has data issue: false hasContentIssue false

Relating Time and Causality in Interactive Distributed Systems

Published online by Cambridge University Press:  01 October 2010

Manfred Broy*
Affiliation:
Institut für Informatik, Technische Universität München, D-80290 München, Germany. E-mail: [email protected]

Abstract

For digital interactive distributed systems, the timing of their events and the causality between their events are key issues. In real-time applications of embedded software systems, timing properties are essential, such as the response times of reactions depending on the precise timing of the input events. In a highly abstract view, a digital system can be represented by a set of events annotated by their timing. Sets of timed events labeled by actions represent the observations about systems. An essential property that helps to understand distributed interactive systems and a way to reason about their event flow is causality. Causality addresses the questions under which conditions certain events must, may or must not happen. Causality addresses the logical dependencies between the events in systems. Strictly speaking, causality reflects the logical essence in the event and action flow of systems. Causality is closely related to time. In particular, we study in the following the relationship between causality and the timing of input and output events, as well as its relationship to the granularity of time. We deal, in particular, with the problem of time abstraction and the precise timing of events. We show how causality and time form the basis of inductive reasoning, in particular in the case of dependencies in communication cycles (‘feedback’) and how we can work with time in models of distributed systems with a flexible choice of local clocks and local timing.

Type
Focus: Causality
Copyright
Copyright © Academia Europaea 2010

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

References

1.Broy, M. (1997) Refinement of time. In: M. Bertran and Th. Rus (eds) Transformation-Based Reactive System Development. ARTS’97, Mallorca. Lecture Notes in Computer Science, 1231, pp. 44–63.CrossRefGoogle Scholar
2.Hoare, C. A. R. (1985) Communicating Sequential Processes (Englewood Cliffs: Prentice Hall).Google Scholar
3.Milner, R. (1980) A Calculus of Communicating Systems. Lecture Notes in Computer Science, 92.CrossRefGoogle Scholar
4.Broy, M. and Stølen, K. (2001) Specification and Development of Interactive Systems: Focus on Streams, Interfaces, and Refinement (Berlin, Heidelberg, New York: Springer).CrossRefGoogle Scholar
5.Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P. and Stal, M. (1996) Pattern-Oriented Software Architecture: A System of Patterns (New York: Wiley).Google Scholar
6.Brock, J. D. and Ackermann, W. B. (1981) Scenarios: a model of nondeterminate computation. In: J. Diaz and I. Ramos (eds) Lecture Notes in Computer Science, 107, pp. 225–259.Google Scholar
7.Andrews, P. (1986) An Introduction to Mathematical Logic and Type Theory: To Truth Through Proof. Computer Science and Applied Mathematics (Oxford, New York: Academic Press).Google Scholar
8.Spivey, J. M. (1988) Understanding Z-A Specification Language and Its Formal Semantics. Cambridge Tracts in Theoretical Computer Science 3 (Cambridge University Press).Google Scholar
9.Berry, G. and Gonthier, G. (1988) The Esterel synchronous programming language: design, semantics, implementation. INRIA, Research Report, 842.Google Scholar
10.Booch, G., Rumbaugh, J. and Jacobson, I.. The Unified Modeling Language for Object-Oriented Development. Version 1.0. RATIONAL Software Cooperation.Google Scholar