Formal Aspects of Computing

, Volume 4, Issue 3, pp 239–272 | Cite as

Temporal theories as modularisation units for concurrent system specification

  • J. Fiadeiro
  • T. Maibaum


In this paper, we bring together the use of temporal logic for specifying concurrent systems, in the tradition initiated by A. Pnueli, and the use of tools from category theory as a means for structuring specifications as combinations of theories in the style developed by R. Burstall and J. Goguen. As a result, we obtain a framework in which systems of interconnected components can be described by assembling the specifications of their components around a diagram, using theory morphisms to specify how the components interact. This view of temporal theories as specification units naturally brings modularity to the description and analysis of systems. Moreover, it becomes possible to import into the area of formal development of reactive systems the wide body of specification techniques that have been defined for structuring specifications independently of the underlying logic, and that have been applied with great success in the area of Abstract Data Types. Finally, as a discipline of design, we use the object-oriented paradigm according to which components keep private data and interact by sharing actions, with a view towards providing formal tools for the specification of concurrent objects.


Modularity Concurrency Temporal logic Reactive systems Object-Oriented systems 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [BaW90]
    Barr, M. and Wells, C.:Category Theory for Computing Science, Prentice-Hall International, 1990.Google Scholar
  2. [Bar87]
    Barringer, H.: The Use of Temporal Logic in the Compositional Specification of Concurrent Systems. InTemporal Logics and their Applications, A. Galton (ed.), Academic Press, 1987.Google Scholar
  3. [BaK84]
    Barringer, H. and Kuiper, R.: Hierarchical Development of Concurrent Systems in a Temporal Framework. InSeminar on Concurrency, S. Brookes, A. Roscoe and G. Winskel (eds), LNCS 197, Springer-Verlag, pp. 35–61, 1984.Google Scholar
  4. [BuG77]
    Burstall, R. and Goguen, J.: Putting Theories Together to Make Specifications. InProc. Fifth International Joint Conference on Artificial Intelligence, R. Reddy (ed.), pp. 1045–1058, 1977.Google Scholar
  5. [BuG81]
    Burstall, R. and Goguen, J.: An Informal Introduction to Specifications using Clear. InThe Correctness Problem in Computer Science, R. Boyer and J. Moore (eds), Academic Press, pp. 185–213, 1981.Google Scholar
  6. [CoS91]
    Costa, J. -F. and Sernadas, A.:Process Models within a Categorial Framework, Research Report, INESC, 1991.Google Scholar
  7. [deR85]
    deRoever, W.: The Quest for Compositionality — a Survey of Assertion-Based Proof Systems for Concurrent Programs. Part 1: Concurrency Based on Shared Variables. InFormal Models in Programming, E. Neuhold and G. Chroust (eds), North-Holland, pp. 181–205, 1985.Google Scholar
  8. [EhS89]
    Ehrich, H.-D. and Sernadas, A.: Algebraic View of Implementing Objects over Objects. InStepwise Refinement of Distributed Systems: Models, Formalisms, Correctness, W. deRoever (ed.), Springer-Verlag, 1989.Google Scholar
  9. [ESS90]
    Ehrich, H.-D., Sernadas, A. and Sernadas, C: From Data Types to Object Types.Journal of Information Processing and Cybernetics, (1990).Google Scholar
  10. [EhM85]
    Ehrig, H. and Mahr, B.:Fundamentals of Algebraic Specification 1: Equations and Initial Semantics, Springer-Verlag, 1985.Google Scholar
  11. [End72]
    Enderton, H. B.:A Mathematical Introduction to Logic, Academic Press, 1972.Google Scholar
  12. [FiM89]
    Fiadeiro, J. and Maibaum, T.:Towards Object Calculi, Research Report, Imperial College, 1989.Google Scholar
  13. [FiM90]
    Fiadeiro, J. and Maibaum, T.: Describing, Structuring, and Implementing Objects. InFoundations of Object-Oriented Languages, J. deBakker, W. deRoever and G. Rozenburg (eds), Springer-Verlag, 1990.Google Scholar
  14. [FiS88]
    Fiadeiro J. and Sernadas, A.: Structuring Theories on Consequence. InRecent Trends in Data Type Specification, D. Sannella and A. Tarlecki (eds), LNCS 332, Springer-Verlag, pp. 44–72, 1988.Google Scholar
  15. [FiS90]
    Fiadeiro, J. and Sernadas, A.: Logics of Modal Terms for Systems Specification.Journal of Logic and Computation,1(2), 187–227, 1990.Google Scholar
  16. [FSM90]
    Fiadeiro, J., Sernadas, C., Maibaum, T. and Saake, G.: Proof-Theoretic Semantics of Object-Oriented Specification Constructs. InObject-Oriented Databases: Analysis, Design and Construction, W. Kent, S. Khosla and R. Meersman (eds), North-Holland, 1990.Google Scholar
  17. [FSC91]
    Fiadeiro, J., Sernadas, A., Costa, J. -F. and Maibaum, T.:(Terminal) Process Semantics of Temporal Logic Specifications, Research Report, Imperial College, 1991.Google Scholar
  18. [GeÚ88]
    Gergely, T. and Úry, L.Constructive Specification Theory, Technical Report, Applied Logic Laboratory, Budapest, 1988.Google Scholar
  19. [Go86]
    Goguen, J.: Reusing and Interconnecting Software Components.IEEE Computer 19(2), 16–28, (1986).Google Scholar
  20. [Gog89]
    Goguen, J. A Categorical Manifesto. Technical Report PRG-72, Programming Research Group, University of Oxford, March 1989.Google Scholar
  21. [GoB84]
    Goguen J. and Burstall, R.: Introducing Institutions. InProc. Logics of Programming Workshop, E. Clarke and D. Kozen (eds), LNCS 164, Springer-Verlag, pp. 221–256, 1984.Google Scholar
  22. [GoG78]
    Goguen, J. and Ginali, S.: A Categorical Approach to General Systems Theory. InApplied General Systems Research, G. Klir (ed.), Plenum, pp. 257–270, 1978.Google Scholar
  23. [Hen88]
    Hennessy, M.:Algebraic Theory of Processes, MIT Press, 1988.Google Scholar
  24. [Hoa85]
    Hoare, C. A. R.:Communicating Sequential Processes, Prentice-Hall, 1985.Google Scholar
  25. [Lam83]
    Lamport, L.: Specifying Concurrent Program Modules, ACM TOPLAS,6 (2), (1983).Google Scholar
  26. [Mai86]
    Maibaum, T.: Rôle of abstraction in program development. InInformation Processing '86, H.-J. Kugler (ed.), North-Holland, pp. 135–142, 1986.Google Scholar
  27. [Mai89]
    Maibaum, T.:Design Structures, private communication, Imperial College, London 1989.Google Scholar
  28. [MaP81]
    Manna, Z. and Pnueli, A. Verification of Concurrent Programs: The Temporal Framework. InThe Correctness Problem in Computer Science, R. Boyer and J. Moore (eds), Academic Press, pp. 215–273, 1981.Google Scholar
  29. [Par72]
    Parnas, D.: A: Technique for Software Module Specification with Examples.Communications ACM, 15, 330–336, (1972).Google Scholar
  30. [Pnu77]
    Pnueli, A.: The Temporal Logic of Programs. InProc. 18th Annual Symposium on Foundations of Computer Science, IEEE, 45–57, 1977.Google Scholar
  31. [Pnu86]
    Pnueli, A.: Specification and Development of Reactive Systems. InInformation Processing 86, H.-J. Kugler (ed.), North-Holland, pp. 845–858, 1986.Google Scholar
  32. [SaB83]
    Sannella, D. and Burstall, R.: Structured Theories in LCF. InProc. 8th Colloquium on Trees in Algebra and Programming, G. Ausiello and M. Protasi (eds), LNCS 159, Springer-Verlag, pp. 377–391, 1983.Google Scholar
  33. [SaT88]
    Sannella, D. and Tarlecki, A.: Building Specifications in an Arbitrary Institution.Information and Control,76, 165–210, (1988).Google Scholar
  34. [SSE87]
    Sernadas, A., Sernadas, C. and Ehrich, H.-D.: Object-Oriented Specification of Databases: An Algebraic Approach. InProc. 13th VLDB Conference, P. Hammersley (ed.), Morgan Kaufmann, pp. 107–116, 1987.Google Scholar
  35. [SFC89a]
    Sernadas, A., Fiadeiro, J., Sernadas, C. and Ehrich, H.-D.: Abstract Object Types:A Temporal Perspective. In Temporal Logic in Specification, B. Banieqbal, H. Barringer and A. Pnueli (eds), LNCS 398, Springer-Verlag, pp. 324–349, 1989.Google Scholar
  36. [SFC89b]
    Sernadas, A., Fiadeiro, J., Sernadas, C. and Ehrich, H.-D.: The Basic Building Blocks of Information Systems. InInformation Systems Concepts: An In-depth Analysis. E. Falkenberg and P. Lindgreen (eds), North-Holland, pp. 225–246, 1989.Google Scholar
  37. [VeP78]
    Veloso, P. and Pequeno, T.: Interpretations between Many-Sorted Theories.Proc. 2nd Brasilian Colloquium on Logic, 1978.Google Scholar

Copyright information

© BCS 1992

Authors and Affiliations

  • J. Fiadeiro
    • 1
  • T. Maibaum
    • 1
  1. 1.Department of ComputingImperial College of Science, Technology and MedicineLondonUK

Personalised recommendations