Describing, structuring and implementing objects

  • J. Fiadeiro
  • T. Maibaum
Technical Contributions
Part of the Lecture Notes in Computer Science book series (LNCS, volume 489)


The popularity of the notion of object for structuring (the specification of) systems has not been accompanied by the necessary formalisation of the concepts and constructions involved. We have a well developed theory of abstract data types that explains how to structure specifications based on the notion of value, but objects involve imperative notions such as those of action and state which are not well captured in an applicative way. In this paper, we focus on the development of an alternative framework to support systems design based on the concept of object. We provide a notion of object signature around which we define the notion of locality (encapsulation). We adopt a deontic action logic for the description of objects. We define the notion of morphism between object descriptions, and show how these notions can be used to combine object descriptions and, in this way, define the behaviour of societies of interacting objects. And, finally, we show by means of an example how object descriptions may be reified by implementing descriptions of objects at one level (of abstraction) in terms of object descriptions at the level below.


object specification specification morphism interpretation between theories encapsulation locality concurrency action logic deontic logic 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [Barringer 87]
    H.Barringer, "The Use of Temporal Logic in the Compositional Specification of Concurrent Systems", in A.Galton (ed) Temporal Logics and their Applications, Academic Press 1987Google Scholar
  2. [Barringer and Kuiper 84]
    H. Barringer and R. Kuiper, "Hierarchical Development of Concurrent Systems in a Temporal Framework", in S.Brookes, A.Roscoe and G.Winskel (eds) Seminar on Concurrency, LNCS 197, Springer-Verlag 1984, 35–61Google Scholar
  3. [Burstall and Goguen 77]
    R.Burstall and J.Goguen, "Putting Theories together to make Specifications", in R.Reddy (ed) Proc Fifth International Joint Conference on Artificial Intelligence, 1977, 1045–1058Google Scholar
  4. [Dahl et al 67]
    O.-J.Dahl, B.Myhrhaug and K.Nygaard, SIMULA 67: Common Base Language, Norwegian Computing Center, 1967Google Scholar
  5. [Ehrich and Sernadas 89]
    H.-D.Ehrich and A.Sernadas, "Algebraic View of Implementing Objects over Objects", in W.deRoever (ed) Stepwise Refinement of Distributed Systems: Models, Formalisms, Correctness, Springer-Verlag (in print)Google Scholar
  6. [Ehrich et al 88]
    H.-D.Ehrich, A.Sernadas and C.Sernadas, "Objects, Object Types and Object Identity", in H.Ehrig et al (eds) Categorical Methods in Computer Science with Aspects from Topology, LNCS 393, Springer-Verlag (in print)Google Scholar
  7. [Ehrich et al 90]
    H.-D. Ehrich, A. Sernadas and C. Sernadas, "From Data Types to Object Types", Journal of Information Processing and Cybernetics EIK 26(1/2), 1990, 33–48Google Scholar
  8. [Ehrig and Mahr 85]
    H.Ehrig and B.Mahr, Fundamentals of Algebraic Specification 1: Equations and Initial Semantics, Springer-Verlag 1985Google Scholar
  9. [Enderton 72]
    H.B.Enderton, A Mathematical Introduction to Logic, Academic Press 1972Google Scholar
  10. [Fiadeiro 89]
    J.Fiadeiro, Cálculo de Objectos e Eventos, PhD Thesis, Technical University of Lisbon, 1989Google Scholar
  11. [Fiadeiro and Maibaum 89]
    J.Fiadeiro and T.Maibaum, "Temporal Reasoning over Deontic Specifications", Journal of Logic and Computation, to appearGoogle Scholar
  12. [Fiadeiro and Maibaum 90a]
    J. Fiadeiro and T. Maibaum, Towards Object Calculi, Technical Report, Imperial College, London 1990Google Scholar
  13. [Fiadeiro and Maibaum 90b]
    J. Fiadeiro and T. Maibaum, Temporal Theories as Modularisation Units for Concurrent System Specification, Technical Report, Imperial College, London 1990Google Scholar
  14. [Fiadeiro and Sernadas 86]
    J. Fiadeiro and A. Sernadas, "The Infolog Linear Tense Propositional Logic of Events and Transactions", Information Systems 11, 1986, 61–85Google Scholar
  15. [Fiadeiro and Sernadas 88a]
    J. Fiadeiro and A. Sernadas, "Specification and Verification of Database Dynamics", Acta Informatica 25, 1988, 625–661Google Scholar
  16. [Fiadeiro and Sernadas 88b]
    J. Fiadeiro and A. Sernadas, "Structuring Theories on Consequence", in D.Sannella and A.Tarlecki (eds) Recent Trends in Data Type Specification, LNCS 332, Springer Verlag 1988, 44–72Google Scholar
  17. [Fiadeiro and Sernadas 89]
    J.Fiadeiro and A.Sernadas, "Logics of Modal Terms for Systems Specification", Journal of Logic and Computation, to appearGoogle Scholar
  18. [Fiadeiro et al 90]
    J.Fiadeiro, C.Sernadas, T.Maibaum and G.Saake, "Proof-theoretic Semantics of Object-oriented Constructs", in W.Kent, S.Khosla and R.Meersman (eds) Object-Oriented Databases: Analysis, Design and Construction, North-Holland (to be published)Google Scholar
  19. [Goldsack and Howells 89]
    S. Goldsack and P. Howells, Specifying Shared Resources in Modal Action Logic, Technical Report, Imperial College, London 1989Google Scholar
  20. [Goguen 89]
    J.Goguen, A Categorical Manifesto, Technical Report PRG-72, Programming Research Group, University of Oxford, March 1989Google Scholar
  21. [Goguen et al 78]
    J. Goguen, J. Thatcher and E. Wagner, "An Initial Algebraic Approach to the Specification, Correctness, and Implementation of Abstract Data Types", in R. Yeh (ed) Current Trends in Programming Methodology, Vol 4, Prentice-Hall 1978, 80–149Google Scholar
  22. [Goguen and Burstall 84]
    J. Goguen and R. Burstall, "Introducing Institutions", in E,Clarke and D.Kozen (eds) Proc Logics of Programming Workshop, LNCS 164, Springer-Verlag 1984, 221–256Google Scholar
  23. [Goguen and Ginali 78]
    J.Goguen and S.Ginali, "A Categorical Approach to General Systems Theory", in G.Klir (ed) Applied General Systems Research, Plenum 1978, 257–270Google Scholar
  24. [Gergely and Úry 88]
    T. Gergely and L. Úry, Constructive Specification Theory, Technical Report, Applied Logic Laboratory, Budapest 1988Google Scholar
  25. [Hoare 72]
    C.A.R. Hoare, "Proof of Correctness of Data Representation", Acta Informatica 1, 1972, 271–281Google Scholar
  26. [Jeremeas et al 86]
    P.Jeremeas, S.Khosla and T.Maibaum, "A Modal (Action) Logic for Requirements Specification", in D.Barnes and P.Brown (eds) Proc Software Engineering 86, IEE Computing Series 6, Peter Peregrinus 1986Google Scholar
  27. [Khosla et al 86]
    S.Khosla, T.Maibaum and M.Sadler, "Database Specification", in T.Steel and R. Meersman (eds) Database Semantics (DS-1), North-Holland 1986, 141–158Google Scholar
  28. [Khosla and Maibaum 89]
    S.Khosla and T.Maibaum, "The Prescription and Description of State-Based Systems", in B.Banieqbal, H.Barringer and A.Pnueli (eds) Temporal Logic in Specification, LNCS 398, Springer-Verlag 1989, 243–294Google Scholar
  29. [Maibaum 86]
    T.Maibaum, "Rôle of Abstraction in Program Development", in H.-J.Kugler (ed) Information Processing'86, North-Holland 1986, 135–142Google Scholar
  30. [Maibaum 87]
    T.Maibaum, A Logic for the Formal Requirements Specification of Real-Time Embedded Systems, Forest Research Report 1987Google Scholar
  31. [Maibaum 89]
    T. Maibaum, Design Structures, private communication, Imperial College, London 1989Google Scholar
  32. [Maibaum and Turski 84]
    T.Maibaum and W. Turski, "On What Exactly Goes On When Software Is Developed Step by Step" Proc. 7th Int. Conference on Software Engineering, IEEE 1984, 528–533Google Scholar
  33. [Maibaum et al 85]
    T.Maibaum, P.Veloso and M.Sadler, "A Theory of Abstract Data Types for Program Development: Bridging the Gap?" in Formal Methods and Software Development, LNCS 186, Springer-Verlag 1985Google Scholar
  34. [Manna and Pnueli 81]
    Z.Manna and A.Pnueli, "Verification of Concurrent Programs: The Temporal Framework", in R.Boyer and J.Moore (eds) The Correctness Problem in Computer Science, Academic Press 1981, 215–273Google Scholar
  35. [McCarty 83]
    L. McCarty, "Permissions and Obligations", IJCAI 83, 1983, 287–294Google Scholar
  36. [Minsky and Lockman 85]
    M.Minsky and A.Lockman, "Ensuring Integrity by Adding Obligations to Priveleges", in Proc 8 th IEEE Int. Conf on Software Engineering, 1985, 92–102.Google Scholar
  37. [Parnas 72]
    D. Parnas, "On the criteria to be used in decomposing systems into modules", Communications ACM 15, 1972, 1053–1058Google Scholar
  38. [Pnueli 77]
    A.Pnueli, "The Temporal Logic of Programs", in Proc 18th Annual Symposium on Foundations of Computer Science, IEEE 1977, 45–57Google Scholar
  39. [Pratt 76]
    V.Pratt, "Semantical Considerations on Floyd-Hoare Logic", in Proc. 17th IEEE Symposium on Foundations of Computer Science, 1976, 326–337Google Scholar
  40. [Sannella and Burstall 83]
    D.Sannella and R.Burstall, "Structured Theories in LCF", in G.Ausiello and M.Protasi (eds) Proc. 8th Colloquium on Trees in Algebra and Programming, LNCS 159, Springer-Verlag 1983, 377–391Google Scholar
  41. [Schuman and Pitt 87]
    S.Schuman and D.Pitt, "Object-Oriented Subsystem Specification", in L.Meertens (ed) Program Specification and Transformation, North-Holland 1987, 313–341Google Scholar
  42. [Sernadas 80]
    A. Sernadas, "Temporal Aspects of Logical Procedure Definition", Information Systems 5, 1980, 167–187Google Scholar
  43. [Sernadas and Saake 89]
    C. Sernadas and G. Saake, Formal Semantics of Object-oriented Languages for Conceptual Modeling, Technical Report, INESC, Lisbon 1989Google Scholar
  44. [Sernadas et al 87]
    A.Sernadas, C.Sernadas and H.-D.Ehrich, "Object-Oriented Specification of Databases: An Algebraic Approach", in P.Hammersley (ed) Proc 13th VLDB Conference, Morgan Kaufmann 1987, 107–116Google Scholar
  45. [Sernadas et al 88]
    C.Sernadas, J.Fiadeiro and A.Sernadas, "Object-Oriented Conceptual Modeling From Law, in C.-H.Kung and R.Meersman (eds) The Role of Artificial Intelligence in Databases and Information Systems, North-Holland (in print)Google Scholar
  46. [Sernadas et al 89a]
    A.Sernadas, J.Fiadeiro, C.Sernadas and H.-D.Ehrich, "Abstract Object Types: A Temporal Perspective", in B.Banieqbal, H.Barringer and A.Pnueli (eds) Temporal Logic in Specification, LNCS 398, Springer-Verlag 1989, 324–349Google Scholar
  47. [Sernadas et al 89b]
    A.Sernadas, J.Fiadeiro, C.Sernadas and H.-D.Ehrich, "The Basic Building Blocks of Information System", in E.Falkenberg and P.Lindgreen (ed) Information Systems Concepts: An In-depth Analysis, North-Holland, 1989, 225–246Google Scholar
  48. [Sernadas et al 90]
    A.Sernadas, J.-F.Costa and H.-D.Ehrich, Object Reification within a Cocomplete Category of Sequential Objects, INESC 1990Google Scholar
  49. [Turski and Maibaum 87]
    W.Turski and T.Maibaum, The Specification of Computer Programs, Addison-Wesley 1987Google Scholar
  50. [Veloso and Pequeno 78]
    P.Veloso and T.Pequeno, "Interpretations between Many-sorted Theories", in Proc. 2nd Brasilian Colloquium on Logic, 1978Google Scholar
  51. [Wieringa et al 89]
    R. Wieringa, J. Meyer and H. Weigand, "Specifying Dynamic and Deontic Integrity Constraints", Data and Knowledge Engineering 4(2), 1989, 157–189Google Scholar
  52. [Zilles 74]
    S.Zilles, Algebraic Specification of Data Types, Project MAC Progress Report 11, MIT 1974, 28–52Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1991

Authors and Affiliations

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

Personalised recommendations