Modeling time in computing: A taxonomy and a comparative survey

The increasing relevance of areas such as real-time and embedded systems, pervasive computing, hybrid systems control, and biological and social systems modeling is bringing a growing attention to the temporal aspects of computing, not only in the computer science domain, but also in more traditional fields of engineering. This article surveys various approaches to the formal modeling and analysis of the temporal features of computer-based systems, with a level of detail that is also suitable for nonspecialists. In doing so, it provides a unifying framework, rather than just a comprehensive list of formalisms. The article first lays out some key dimensions along which the various formalisms can be evaluated and compared. Then, a significant sample of formalisms for time modeling in computing are presented and discussed according to these dimensions. The adopted perspective is, to some extent, historical, going from “traditional” models and formalisms to more modern ones.

[1]  Temporal Logic , 1994, Lecture Notes in Computer Science.

[2]  Patricia Bouyer,et al.  On the Expressiveness of TPTL and MTL , 2005, FSTTCS.

[3]  Charles N. Merfield,et al.  A Philosophical Perspective , 2011 .

[4]  Wa Halang,et al.  REAL-TIME SYSTEMS .2. , 1989 .

[5]  Martin Gogolla,et al.  Object Constraint Language , 2009, Encyclopedia of Database Systems.

[6]  Jeffrey D. Ullman,et al.  Introduction to automata theory, languages, and computation, 2nd edition , 2001, SIGA.

[7]  Dino Mandrioli,et al.  Theoretical foundations of computer science , 1987 .

[8]  Jos Warmer,et al.  The object constraint language , 1998 .

[9]  E. Weisstein Real Analytic Function , 1999 .

[10]  Angelo Gargantini,et al.  Automated Verification of Continuous Time Systems by Discrete Temporal Induction , 2006, Thirteenth International Symposium on Temporal Representation and Reasoning (TIME'06).

[11]  Jos C. M. Baeten,et al.  Process Algebra with Timing , 2002, Monographs in Theoretical Computer Science. An EATCS Series.

[12]  Robin Milner,et al.  A Calculus of Communicating Systems , 1980, Lecture Notes in Computer Science.

[13]  Thomas A. Henzinger,et al.  Logics and Models of Real Time: A Survey , 1991, REX Workshop.

[14]  P. Odifreddi Classical recursion theory , 1989 .

[15]  Anneke Kleppe,et al.  The object constraint language: precise modeling with UML , 1998 .

[16]  Matthew Cook,et al.  Universality in Elementary Cellular Automata , 2004, Complex Syst..

[17]  Satoshi Yamane,et al.  The symbolic model-checking for real-time systems , 1996, Proceedings of the Eighth Euromicro Workshop on Real-Time Systems.

[18]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[19]  Thomas A. Henzinger,et al.  The benefits of relaxing punctuality , 1991, PODC '91.

[20]  Carlo Ghezzi,et al.  Fundamentals of Software Engineering , 2011, Lecture Notes in Computer Science.

[21]  Andrew William Roscoe,et al.  The Theory and Practice of Concurrency , 1997 .

[22]  Rob van Glabbeek,et al.  Handbook of Process Algebra , 2001 .

[23]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[24]  D. C. Cooper,et al.  Theory of Recursive Functions and Effective Computability , 1969, The Mathematical Gazette.

[25]  Leslie Lamport,et al.  The temporal logic of actions , 1994, TOPL.

[26]  Michael von der Beeck,et al.  A Comparison of Statecharts Variants , 1994, FTRTFT.

[27]  P. M. Melliar-Smith,et al.  An interval logic for higher-level temporal reasoning , 1983, PODC '83.

[28]  Elliott Mendelson,et al.  Introduction to mathematical logic (3. ed.) , 1987 .

[29]  Gérard Berry,et al.  The Esterel Synchronous Programming Language: Design, Semantics, Implementation , 1992, Sci. Comput. Program..

[30]  Jonathan S. Ostroff,et al.  Temporal logic for real-time systems , 1989 .

[31]  Joseph Sifakis,et al.  An Overview and Synthesis on Timed Process Algebras , 1991, CAV.

[32]  Hans-Erik Eriksson,et al.  UML 2 Toolkit , 2003 .

[33]  Carlo Ghezzi,et al.  A model parametric real-time logic , 1992, TOPL.

[34]  Amir Pnueli,et al.  What is in a Step: On the Semantics of Statecharts , 1991, TACS.

[35]  P. Azema,et al.  The Fomal Description Technique LOTOS , 2001 .

[36]  Gerard J. Holzmann,et al.  The SPIN Model Checker - primer and reference manual , 2003 .

[37]  Carlo Ghezzi,et al.  TRIO: A logic language for executable specifications of real-time systems , 1990, J. Syst. Softw..

[38]  Edmund M. Clarke,et al.  Model Checking , 1999, Handbook of Automated Reasoning.

[39]  Rajeev Alur,et al.  Decision Problems for Timed Automata: A Survey , 2004, SFM.

[40]  Jan J. M. M. Rutten,et al.  Mathematical techniques for analyzing concurrent and probabilistic systems , 2004, CRM monograph series.

[41]  T. Henzinger The theory of hybrid automata , 1996, LICS 1996.

[42]  P. Varaiya,et al.  What ' s Decidable about Hybrid Automata ? 1 , 1995 .

[43]  Bernd Finkbeiner,et al.  Verifying Temporal Properties of Reactive Systems: A STeP Tutorial , 2000, Formal Methods Syst. Des..

[44]  Jeffrey D. Ullman,et al.  Introduction to Automata Theory, Languages and Computation , 1979 .

[45]  Wolfgang Thomas,et al.  Automata on Infinite Objects , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[46]  Grady Booch,et al.  Software engineering with Ada , 1983 .

[47]  Jonathan S. Ostroff,et al.  Formal methods for the specification and design of real-time safety critical systems , 1992, J. Syst. Softw..

[48]  Jonathan S. Ostroff,et al.  Composition and refinement of discrete real-time systems , 1999, TSEM.

[49]  Joost-Pieter Katoen,et al.  A theory of Stochastic systems. Part II: Process algebra , 2005, Inf. Comput..

[50]  Ron Koymans,et al.  (Real) Time: A Philosophical Perspective , 1991, REX Workshop.

[51]  Leslie Lamport,et al.  What Good is Temporal Logic? , 1983, IFIP Congress.

[52]  Pravin Varaiya,et al.  What's decidable about hybrid automata? , 1995, STOC '95.

[53]  Amir Pnueli,et al.  The Glory of the Past , 1985, Logic of Programs.

[54]  Rajeev Alur,et al.  Timing Analysis in COSPAN , 1996, Hybrid Systems.

[55]  Amnon Naamad,et al.  The STATEMATE semantics of statecharts , 1996, TSEM.

[56]  E. Corsetti,et al.  Dealing with different time scales in formal specifications , 1991, Proceedings of the Sixth International Workshop on Software Specification and Design.

[57]  Jim Davies,et al.  A Brief History of Timed CSP , 1995, Theor. Comput. Sci..

[58]  Fred Kröger,et al.  Temporal Logic of Programs , 1987, EATCS Monographs on Theoretical Computer Science.

[59]  Thomas A. Henzinger,et al.  A Comparison of Control Problems for Timed and Hybrid Systems , 2002, HSCC.

[60]  Peter Radford,et al.  Petri Net Theory and the Modeling of Systems , 1982 .

[61]  Johan Anthory Willem Kamp,et al.  Tense logic and the theory of linear order , 1968 .

[62]  Amir Pnueli,et al.  Timed and Hybrid Statecharts and Their Textual Representation , 1992, FTRTFT.

[63]  Myla Archer,et al.  TAME: Using PVS strategies for special-purpose theorem proving , 2001, Annals of Mathematics and Artificial Intelligence.

[64]  Steve A. Schneider,et al.  Concurrent and Real-time Systems: The CSP Approach , 1999 .

[65]  E. Allen Emerson,et al.  Temporal and Modal Logic , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[66]  Cliff B. Jones,et al.  Programming Languages and Their Definition , 1984, Lecture Notes in Computer Science.

[67]  Lutz Priese,et al.  Fairness , 1988, Bull. EATCS.

[68]  Thomas A. Henzinger,et al.  The Algorithmic Analysis of Hybrid Systems , 1995, Theor. Comput. Sci..

[69]  Randy H. Katz,et al.  Contemporary Logic Design , 2004 .

[70]  共立出版株式会社 コンピュータ・サイエンス : ACM computing surveys , 1978 .

[71]  Thomas A. Henzinger,et al.  A really temporal logic , 1994, JACM.

[72]  Michel Diaz,et al.  Formal Description Technique Estelle: Results of the Esprit Sedos Project , 1989 .

[73]  V. Borkar,et al.  A unified framework for hybrid control: model and optimal control theory , 1998, IEEE Trans. Autom. Control..

[74]  Nancy A. Lynch,et al.  Forward and Backward Simulations, II: Timing-Based Systems , 1996, Inf. Comput..

[75]  Angelo Gargantini,et al.  Automated deductive requirements analysis of critical systems , 2001, TSEM.

[76]  C. Ghezzi,et al.  The challenges of software engineering education , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[77]  Eitan M. Gurari,et al.  Introduction to the theory of computation , 1989 .

[78]  Werner Damm,et al.  The STATEMATE Verification Environment - Making It Real , 2000, CAV.

[79]  K. Knopp Theory of Functions , 1958 .

[80]  Moshe Y. Vardi An Automata-Theoretic Approach to Linear Temporal Logic , 1996, Banff Higher Order Workshop.

[81]  Ian Postlethwaite,et al.  Multivariable Feedback Control: Analysis and Design , 1996 .

[82]  Carsten Lutz,et al.  Quantitative temporal logics over the reals: PSpace and below , 2007, Inf. Comput..

[83]  Carlo Ghezzi,et al.  Fundamentals of software engineering (2. ed.) , 2003 .

[84]  Carlo Ghezzi,et al.  A Unified High-Level Petri Net Formalism for Time-Critical Systems , 1991, IEEE Trans. Software Eng..

[85]  Günter Asser,et al.  Zeitschrift für mathematische Logik und Grundlagen der Mathematik , 1955 .

[86]  Rajeev Alur,et al.  Model-Checking in Dense Real-time , 1993, Inf. Comput..

[87]  Stephen Wolfram,et al.  Cellular Automata And Complexity , 1994 .

[88]  Egon Börger,et al.  ASM Design and Analysis Method , 2003 .

[89]  Aloysius K. Mok,et al.  Safety analysis of timing properties in real-time systems , 1986, IEEE Transactions on Software Engineering.

[90]  George H. Mealy,et al.  A method for synthesizing sequential circuits , 1955 .

[91]  Panos J. Antsaklis,et al.  Special issue on hybrid systems: theory and applications a brief introduction to the theory and applications of hybrid systems , 2000, Proc. IEEE.

[92]  Thomas A. Henzinger,et al.  HYTECH: a model checker for hybrid systems , 1997, International Journal on Software Tools for Technology Transfer.

[93]  Thomas A. Henzinger,et al.  It's About Time: Real-Time Logics Reviewed , 1998, CONCUR.

[94]  Amnon Naamad,et al.  Statemate: a working environment for the development of complex reactive systems , 1988, ICSE '88.

[95]  Dino Mandrioli,et al.  Modeling Time in Computing , 2012, Monographs in Theoretical Computer Science. An EATCS Series.

[96]  Johannes Schumacher,et al.  An Introduction to Hybrid Dynamical Systems, Springer Lecture Notes in Control and Information Sciences 251 , 1999 .

[97]  Matteo Pradella,et al.  Automated Verification of Dense-Time MTL Specifications Via Discrete-Time Approximation , 2008, FM.

[98]  Egon Börger,et al.  Abstract State Machines , 2003 .

[99]  Rajeev Alur,et al.  A Theory of Timed Automata , 1994, Theor. Comput. Sci..

[100]  Thomas A. Henzinger,et al.  Symbolic Model Checking for Real-Time Systems , 1994, Inf. Comput..

[101]  Egon Börger,et al.  Abstract State Machines. A Method for High-Level System Design and Analysis , 2003 .

[102]  Philippe Schnoebelen,et al.  Temporal logic with forgettable past , 2002, Proceedings 17th Annual IEEE Symposium on Logic in Computer Science.

[103]  Kristina Lundqvist,et al.  The TASM Toolset: Specification, Simulation, and Formal Verification of Real-Time Systems , 2007, CAV.

[104]  Christos G. Cassandras,et al.  Introduction to Discrete Event Systems , 1999, The Kluwer International Series on Discrete Event Dynamic Systems.

[105]  Jonathan S. Ostroff,et al.  Deciding Properties of Timed Transition Models , 1990, IEEE Trans. Parallel Distributed Syst..

[106]  M. Diaz,et al.  Modeling and Verification of Time Dependent Systems Using Time Petri Nets , 1991, IEEE Trans. Software Eng..

[107]  Martín Abadi,et al.  An old-fashioned recipe for real time , 1994, TOPL.

[108]  Elliott Mendelson,et al.  Introduction to Mathematical Logic , 1979 .

[109]  Thomas A. Henzinger,et al.  Real-Time Logics: Complexity and Expressiveness , 1993, Inf. Comput..

[110]  Amir Pnueli,et al.  On the Formal Semantics of Statecharts (Extended Abstract) , 1987, LICS.

[111]  Jeff Magee,et al.  Concurrency - state models and Java programs , 2006 .

[112]  C. A. Petri Fundamentals of a Theory of Asynchronous Information Flow , 1962, IFIP Congress.

[113]  J. McCarthy,et al.  Automata Studies. (AM-34) (Annals of Mathematics Studies) , 1956 .

[114]  Moshe Y. Vardi Branching vs. Linear Time: Final Showdown , 2001, TACAS.

[115]  Edward F. Moore,et al.  Gedanken-Experiments on Sequential Machines , 1956 .

[116]  Thomas A. Henzinger,et al.  The theory of hybrid automata , 1996, Proceedings 11th Annual IEEE Symposium on Logic in Computer Science.

[117]  Sergio Yovine,et al.  KRONOS: a verification tool for real-time systems , 1997, International Journal on Software Tools for Technology Transfer.

[118]  Saul A. Kripke,et al.  Semantical Analysis of Modal Logic I Normal Modal Propositional Calculi , 1963 .

[119]  P. Merlin,et al.  Recoverability of Communication Protocols - Implications of a Theoretical Study , 1976, IEEE Transactions on Communications.

[120]  Salil P. Vadhan,et al.  Computational Complexity , 2005, Encyclopedia of Cryptography and Security.

[121]  Zohar Manna,et al.  The Temporal Logic of Reactive and Concurrent Systems , 1991, Springer New York.

[122]  Gruia-Catalin Roman Formal specification of geographic data processing requirements , 1986, 1986 IEEE Second International Conference on Data Engineering.

[123]  Pierfrancesco Bellini,et al.  Temporal logics for real-time system specification , 2000, CSUR.

[124]  Kristina Lundqvist,et al.  The Timed Abstract State Machine Language: Abstract State Machines for Real-Time System Engineering , 2008, J. Univers. Comput. Sci..

[125]  Philippe Schnoebelen,et al.  The Complexity of Temporal Logic Model Checking , 2002, Advances in Modal Logic.

[126]  Gerard J. Holzmann,et al.  The SPIN Model Checker , 2003 .

[127]  Wolfgang Reisig,et al.  Petri Nets , 1985, EATCS Monographs on Theoretical Computer Science.

[128]  Benjamin Charles Moszkowski Reasoning about Digital Circuits , 1983 .

[129]  Stephan Merz,et al.  Model Checking , 2000 .

[130]  Matteo Pradella,et al.  Comments on temporal logics for real-time system specification , 2009, CSUR.

[131]  Thomas A. Henzinger,et al.  Hybrid Automata: An Algorithmic Approach to the Specification and Verification of Hybrid Systems , 1992, Hybrid Systems.

[132]  Saharon Shelah,et al.  On the temporal analysis of fairness , 1980, POPL '80.

[133]  Dino Mandrioli,et al.  Formal Methods for Real-Time Computing , 1996 .

[134]  Nancy A. Lynch,et al.  Forward and backward simulations, part II: timing-based systems , 1993 .

[135]  Amir Pnueli,et al.  The temporal logic of programs , 1977, 18th Annual Symposium on Foundations of Computer Science (sfcs 1977).

[136]  A. W. Roscoe,et al.  A Timed Model for Communicating Sequential Processes , 1986, Theor. Comput. Sci..

[137]  Wang Yi,et al.  Timed Automata: Semantics, Algorithms and Tools , 2003, Lectures on Concurrency and Petri Nets.

[138]  Carlo A. Furia,et al.  Integrating Discrete- and Continuous-Time Metric Temporal Logics Through Sampling , 2006, FORMATS.

[139]  Yoram Hirshfeld,et al.  Logics for Real Time: Decidability and Complexity , 2004, Fundam. Informaticae.

[140]  Andrea Maggiolo-Schettini,et al.  Time-Based Expressivity of Time Petri Nets for System Specification , 1999, Theor. Comput. Sci..

[141]  Konrad Knopp,et al.  Theory of functions : parts 1 and 2 , 1996 .

[142]  Jr. Hartley Rogers Theory of Recursive Functions and Effective Computability , 1969 .

[143]  Holger Giese,et al.  Towards the compositional verification of real-time UML designs , 2003, ESEC/FSE-11.

[144]  Saharon Shelah,et al.  On the Temporal Basis of Fairness. , 1980 .

[145]  Wolfgang Müller,et al.  An OCL Extension for Real-Time Constraints , 2002, Object Modeling with the OCL.

[146]  Thomas A. Henzinger,et al.  Back to the future: towards a theory of timed regular languages , 1992, Proceedings., 33rd Annual Symposium on Foundations of Computer Science.

[147]  Alasdair Urquhart,et al.  Temporal Logic , 1971 .

[148]  Alan Burns,et al.  Time bands in systems structure , 2006 .

[149]  Angelo Gargantini,et al.  Dealing with Zero-Time Transitions in Axiom Systems , 1999, Inf. Comput..

[150]  Joseph Sifakis,et al.  The IF Toolset , 2004, SFM.

[151]  Jos C. M. Baeten,et al.  A brief history of process algebra , 2005, Theor. Comput. Sci..

[152]  Paul Caspi,et al.  Timed regular expressions , 2002, JACM.

[153]  Eugene Asarin,et al.  Challenges in Timed Languages: from applied theory to basic theory (Column: Concurrency) , 2004, Bull. EATCS.

[154]  Dov M. Gabbay,et al.  The Declarative Past and Imperative Future: Executable Temporal Logic for Interactive Systems , 1987, Temporal Logic in Specification.

[155]  James L. Peterson,et al.  Petri net theory and the modeling of systems , 1981 .

[156]  Randy H. Katz,et al.  Contemporary logic design (2. ed.) , 2005 .

[157]  R. Stärk,et al.  Abstract State Machines , 2003, Springer Berlin Heidelberg.

[158]  Hans Bekic,et al.  Towards a Mathematical Theory of Processes , 1984, Programming Languages and Their Definition.

[159]  Robert E. Milne,et al.  The formal description technique LOTOS : By P.H.J. van Eijk, C.A. Vissers and M. Diaz, eds. North-Holland, Amsterdam, Netherlands, 1989, Price $102.50 (hardback), ISBN 0-444-87267-1. , 1990 .

[160]  C. A. R. Hoare,et al.  A Calculus of Durations , 1991, Inf. Process. Lett..

[161]  Jos C. M. Baeten,et al.  Process Algebra , 2007, Handbook of Dynamic System Modeling.

[162]  Wang Yi,et al.  Uppaal in a nutshell , 1997, International Journal on Software Tools for Technology Transfer.

[163]  Joseph Sifakis,et al.  An Approach to the Description and Analysis of Hybrid Systems , 1992, Hybrid Systems.

[164]  Myla Archer,et al.  Mechanical verification of timed automata: a case study , 1996, Proceedings Real-Time Technology and Applications.

[165]  Leslie Lamport,et al.  "Sometime" is sometimes "not never": on the temporal logic of programs , 1980, POPL '80.

[166]  Walter S. Brainerd,et al.  Theory of computation , 1974 .

[167]  Derick Wood,et al.  Theory of computation , 1986 .

[168]  Niklaus Wirth,et al.  Toward a discipline of real-time programming , 1977, CACM.

[169]  Ben C. Moszkowski,et al.  Executing temporal logic programs , 1986, Seminar on Concurrency.

[170]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[171]  D. Block,et al.  A Philosophical Perspective , 2000 .

[172]  Ian Sommerville,et al.  Software Engineering (7th Edition) , 2004 .

[173]  Aloysius K. Mok,et al.  Modechart: A Specification Language for Real-Time Systems , 1994, IEEE Trans. Software Eng..

[174]  Jonathan S. Ostroff,et al.  A visual toolset for the design of real-time discrete-event systems , 1997, IEEE Trans. Control. Syst. Technol..

[175]  Iso. Lotos,et al.  A Formal Description Technique Based on the Temporal Ordering of Observational Behaviour , 1985 .

[176]  Dino Mandrioli,et al.  Proving Properties of Real-Time Systems Through Logical Specifications and Petri Net Models , 1994, IEEE Trans. Software Eng..

[177]  Ron Koymans,et al.  Specifying real-time properties with metric temporal logic , 1990, Real-Time Systems.

[178]  Joseph Y. Halpern,et al.  “Sometimes” and “not never” revisited: on branching versus linear time temporal logic , 1986, JACM.