SciELO - Scientific Electronic Library Online

vol.8 issue1Feature Selection using Typical Testors applied to Estimation of Stellar ParametersA New Method for Exploiting Fuzzy Preference Relations in Decision Agents author indexsubject indexsearch form
Home Pagealphabetic serial listing  

Services on Demand




Related links

  • Have no similar articlesSimilars in SciELO


Computación y Sistemas

On-line version ISSN 2007-9737Print version ISSN 1405-5546

Comp. y Sist. vol.8 n.1 Ciudad de México Jul./Sep. 2004


Especificación y Análisis de Sistemas de Tiempo Real en Teoría de Tipos 1


Specification and Analysis of Real Time Systems in Type Theory


Carlos Daniel Luna


Instituto de Computación (InCo). Facultad de Ingeniería. Univ. de la República. Montevideo, Uruguay Casilla de Correo 16120, Distrito 6, Montevideo, Uruguay E–mail: ; Web:


Artículo recibido en abril 27, 2001
Aceptado en agosto 8, 2004



Para el análisis de sistemas de tiempo real se destacan dos enfoques formales: la verificación de modelos y el análisis deductivo basado en asistentes de pruebas. El primero se caracteriza por ser completamente automatizable pero presenta dificultades al tratar sistemas con un gran número de estados o que tienen parámetros no acotados. El segundo permite tratar con sistemas arbitrarios pero requiere la interacción del usuario. Este trabajo explora una metodología que permite compatibilizar el uso de un verificador de modelos como Kronos y el asistente de pruebas Coq en el análisis de sistemas de tiempo real. Un especial énfasis es puesto en el análisis de un caso de estudio, considerado como benchmark en diferentes trabajos: el control de un paso a nivel de tren.



Two formal approaches arise as the most used for the analysis of real time systems: model checking and deductive analysis based on proof assistants. The former is characterized by its fully automatization but it presents some difficulties when dealing with systems that involve a great number of states or unbound parameters. The latter, on the other hand, turns out to be appropriate for working with arbitrary systems, though user's interaction is required. This work explores a methodology that combines the use of a model checker like Kronos and the proof assistant Coq for the analysis of real time systems. We specially emphasize the analysis of the railroad crossing example, a case study considered a benchmark by different works in this field.





1. J. Armstrong and L. Barroca. "Specification and verification of reactive systems behaviour: The railroad crossing example". Real–Time Systems, 10:143–178, 1996.        [ Links ]

2. R. Alur, C. Courcoubetis, and D. Dill. "Model–checking for real–time systems". In Proc. 5th Symp on Logics in Computer Science, pages 414–425. IEEE Computer Society Press, 1990.        [ Links ]

3. R. Alur and D. Dill. "A theory of timed automata". Theorical Computer Science, 126:183–235, 1994.         [ Links ]

4. R. Alur and T. Henzinger. "Logics and models of real time: A survey". In J. W. de Bakker, K. Huizing, W.–P. de Roever, and G. Rozenberg, editors, Real Time Theory in Practice, LNCS 600, pages 74–106. Springer–Verlag, 1992.         [ Links ]

5. R. Alur and T. Henzinger. "A Really Temporal Logic". Journal of the ACM, 41(1): 181–204, 1994.         [ Links ]

6. R. Alur. Techniques for automatic verification of real–time systems. PhD thesis, Stanford University, 1991.         [ Links ]

7. A. Asarin, O Maler, and A. Pnueli. "On the discretization of delays in timed automata and digital circuits". In R. de Simone and D. Sangiorgi (Eds.), Proc. Concur'98, LNCS 1466, pages 470–484, Springer–Verlag, 1998.         [ Links ]

8. B. Alpern and F. Schneider. "Defining liveness". Information Processing Letters, 21(4): 181–185, 1985.         [ Links ]

9. B. Barras, S. Boutin, C. Cornes, J. Courant, Y. Coscoy, D. Delahaye, D. de Rauglaudre, J–C. Filliâtre, E. Giménez, H. Herbelin, G. Huet, H. Laulhère, C. Muñoz, Ch. Murthy, C. Parent–Vigouroux, P. Loiseleur, Ch. Paulin–Mohring, A. Saïbi, and B. Werner. "The Coq Proof Assistant. Reference Manual, Versión 6.2.4". INRIA, 1999.         [ Links ]

10. N. S. Bjørner, A. Browne, and Z. Manna. "Automatic generation of invariants and intermediate assertions". Theorical Computer Science, 173(1):49–87, 1997.        [ Links ]

11. S. Bensalem and Y. Lakhench. "Automatic generation of invariants". To appear in Formal Methods, 1999.        [ Links ]

12. N. Bjørner, Z. Manna, H. Spima, and T. Uribe. "Deductive Verification of Real–time Systems Using SteP". ARTS–97, vol. 1231 of LNCS, pp. 22–43, Springer–Verlag, 1997.         [ Links ]

13. M. Bozga, O. Maler, and S. Tripakis. "Efficient verification of timed automata using dense and discrete time semantics". In L. Pierre and T. Kropf (Eds.),Proc CHARME'99, Springer–Verlag, 1999.         [ Links ]

14. J. Burch. "Combining CTL, trace theory and timing models", Automatic Verification Methods for Finite State Systems, LNCS 407, 1989.        [ Links ]

15. E. Clarke, E. Emerson, and A. Sistla. "Automatic verification of finite–state concurrent systems using temporal logic specifications". ACM Transactions on Programming Languages and Systems, 8(2):244–263, 1986.         [ Links ]

16. T. Coquand and G. Huet. "The calculus of constructions". Information and Computation, 76(2/3), 1988.         [ Links ]

17. Z. Chaochen, C. Hoare, and A. Ravn. "A calculus of durations". Inform. Processing Letters, 40(5):269–276, 1992.        [ Links ]

18. T. Coquand. "Metamathematical investigations of a calculus of constructions". INRIA and Cambridge Univ., 1986.        [ Links ]

19. T. Coquand. "Infinite objects in type theory". In H. Barendregt and T. Nipkow, editors, Workshop on Types for Proofs and Programs, number 806 in LNCS, pages 62–78. Springer–Verlag, 1993.         [ Links ]

20. C. Daws and S. Yovine. "Verification of multirate timed automata with KRONOS: two exemples". Technical Report Spectre–95– 06, VERIMAG, 1995.        [ Links ]

21. E. Emerson. "Automated temporal reasoning about rective systems". In Logics for Concurrency, 1995.         [ Links ]

22. E. Emerson, A. Mok, A. Sistla, and J. Srinivasan. "Quantitative temporal reasoning". Workshop on Automatic Verification Methods for Finite State Systems, Grenoble, France, 1989.         [ Links ]

23. E. Giménez. A Calculus of Infinite Constructions and its application to the verification of communicating systems. PhD thesis, Ecole Normale Supérieure de Lyon, 1996, Unité de Recherche Associée au CNRS No. 1398, 1996.         [ Links ]

24. E. Giménez. "Two Approaches to the Verification of Concurrent Programs in Coq". To appear, 1999.         [ Links ]

25. M. Gordon. Introduction to HOL: a theorem proving environment based for higher order logic. Cambridge University, Press, 1993.        [ Links ]

26. A. Göllü, A. Puri, and P. Varaiya. "Discretization of timed automata". Proc. 33rd CDC, Orlando, Florida, 1994.         [ Links ]

27. D. Gries. The science of programming, Springer–Verlag New York Inc., 1981.         [ Links ]

28. T. Henzinger, P.–H. Ho, and H. Wong–Toi. "Hytech: a model checker for hybrid systems". Software Tools for Technology Transfer, 1997.         [ Links ]

29. C. Heitmeyer, R. Jeffords, and B. Labaw. "A benchmark for comparing different approaches for specifying real–time systems". Real Time: Theory and Practice, LNCS 600, REX Workshop, Mook, The Netherlands, 1991.         [ Links ]

30. T. Henzinger and O. Kopke. "Verification methods for the divergent runs of clock systems". In FTRTFT'94: Formal Techniques in Real–time and Fault–tolerant Systems, volume 863 of LNCS, pages 351–372, 1994.         [ Links ]

31. T. Henzinger, Z. Manna, and A. Pnueli. "What good are digital clocks?". In W. Kuich, editor, ICALP 92: Automata, Languages and Programming, LNCS 623, pages 545–558. Springer–Verlag, 1992.         [ Links ]

32. T. Henzinger, X. Nicollin, J. Sifakis, and S. Yovine. "Symbolic model–checking for real–time systems". In Proc. 7th Symp on Logics in Computer Science. IEEE Computer Society Press, 1992.         [ Links ]

33. K. Havelund and N. Shankar. "Experiments in Theorem Proving Model Checking for Protocol Verification". In proceedings of FME'96, Oxford. LNCS 1051, pages 662–681, 1996.         [ Links ]

34. Y. Kesten, A. Klein, A. Pnueli, and G. Raanan. "A Perfecto Verification: combining model checking with deductive analysis to verify real–life software". In FM' 99, Toulouse, France. LNCS 1709, pages 173–194, 1999.        [ Links ]

35. Z. Luo and R. Pollack. "Lego proof development system: User's manual". T. Rep. ECS–LFCS–92–211, LFCS, 1992.        [ Links ]

36. K. Larsen, P. Pettersson, and W. Yi. "Uppaal in a nutshell". Software Tools for Technology Transfer, 1997.         [ Links ]

37. C. Luna. Especificación y análisis de sistemas de tiempo real en teoría de tipos. Caso de estudio: the railroad crossing example. Master thesis, Technical Report 00–01, InCo, PEDECIBA Informática, Fac. de Ingeniería, U. de la República, Uruguay, Febrero de 2000. Disponible también en         [ Links ]

38. L. Magnusson. The implementation of ALF – a proof editor based on Matin Löf's Monomorphic Type Theory with Explicit Substitution. PhD thesis, Chalmers University of Göteborg, 1994.        [ Links ]

39. D. Mandrioli, Carlo Ghezzi, and Mehdi Jazayeri. Fundamentals of Software Engineering. Prentice Hall, 1991.        [ Links ]

40. Olaf Müller and T. Nipkow. "Combining Model Checking and Deduction for I/O–Automata". In Tools and Algorithms for the Construction and Analysis of Systems, LNCS 1019, pages 1–16, 1995.        [ Links ]

41. Z. Manna and A. Pnueli. "Completing the temporal picture". In Theoretical Computer Science, 83(1):97–130,1991.         [ Links ]

42. A. Olivero. Modélisation et Analyse de Systèmes Temporisés et Hybrides. PhD thesis, Institut National Polytéchnique de Grenoble. France, 1994.         [ Links ]

43. S. Owre, J. Rushby, and N. Shankar. "PVS: A prototype verification system". In Deepak Kapur, editor, 11th International Conference on Automated Deduction (CADE). LNIA 607, Saratoga, NY, 1992. Springer Verlag.         [ Links ]

44. J. Ostroff. Temporal logic of real–time systems, Ph.D. thesis, Univ. of Toronto, 1987.         [ Links ]

45. L. Paulson. "Co–induction and Co–recursion in Higher–order Logic". Technical Report 304, Computer Laboratory, University of Cambridge, 1993.        [ Links ]

46. L. Paulson. "The Isabelle reference manual". Technical Report 283, Computer Laboratory, University, 1993.         [ Links ]

47. A. Pnueli and L. Lamport. "An old–fashioned recipe for real–time". In J. W. De Baker, K. Huizing, W. P. De Roever, and G. Rozenberg, editors, Real Time: Theory in Practice, LNCS 600, Springer–Verlag, 1992.         [ Links ]

48. C. Paulin–Mohring. "Inductive definitions in the system Coq – rules and properties". In M. Bezem and J. Groote, editors, Proceeedings of the conference Typed Lambda Calculi and Aplications, LNCS 664, 1993.         [ Links ]

49. A. Pnueli. "The temporal logic of programs". Teorical Computer Science, 1981.         [ Links ]

50. A. Pnueli. "Linear and branching structures in the semantics and logics of reactive systems". In Proc. 12th ICALP, Nafplion, LNCS 194, 1985.         [ Links ]

51. S. Rajan, N. Shankar, and M. Srivas. "An integration of model checking with automated proof checking". In Computer–Aided Verification, CAV'95. LNCS 939, Belgium, 1995.        [ Links ]

52. N. Shankar. "Verification of real–time systems using PVS". In CAV'93, Greece. LNCS 697, pages 280–291, 1993.         [ Links ]

53. H. Saïdi and N. Shankar. "Abstract and model Check while you prove". In CAV'99, Trento, Italy, 1999.         [ Links ]

54. H. Wong–Toi and P. Ho. "Automated analysis of an audio control protocol". In Proc. in Computer Aided Verification, 1995.         [ Links ]

55. S. Yovine. "Kronos: A verification tool for real–time systems". Software Tools for Technology Transfer, 1997.        [ Links ]



1 La versión completa de este trabajo es el reporte 37.

Creative Commons License All the contents of this journal, except where otherwise noted, is licensed under a Creative Commons Attribution License