Roles and dynamic subclasses: A modal logic approach

  • Roel Wieringa
  • Wiebren de Jonge
  • Paul Spruit
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 821)


In this paper, we argue that object-oriented models must be able to represent three kinds of taxonomic structures: static subclasses, dynamic subclasses and role classes. If CAR is a static subclass of VEHICLE, then a vehicle that is not a car can never migrate to the CAR subclass. If EM Ployee is a dynamic subclass of PERSON, then a PERSON that is not an employee may migrate to EMP. In both cases, an instance of the subclass is identical to an instance of the superclass. Finally, if EMP is modeled as a role class of PERSON every employee differs from every person, but a PERSON instance can acquire one or more EMP instances as roles. We outline an approach to formalizing these taxonomic structures in order-sorted dynamic logic with equality.


Theoretical foundations formal methods OO analysis and design 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [ABGO93]
    A. Albano, R. Bergamini, G. Ghelli, and R. Orsini. An object data model with roles. In R. Agrawal, S. Baker, and D. Bell, editors, Proceedings of the 18th International Conference on Very Large Databases, pages 39–51, Dublin, Ireland, August 24–27 1993.Google Scholar
  2. [BD77]
    C.W. Bachman and M. Daya. The role concept in data models. In Proceedings of the Third International Conference on Very Large Databases, pages 464–476, 1977.Google Scholar
  3. [Car84]
    L. Cardelli. A semantics of multiple inheritance. In G. Kahn, D. MacQueen, and G. Plotkin, editors, Semantics of Datatypes, pages 51–67. Springer, 1984. Lecture Notes in Computer Science 173.Google Scholar
  4. [Cha93]
    G. Chambers. Predicate classes. In European Conference on Object-Oriented Programming (ECOOP93), pages 268–296. Springer, 1993.Google Scholar
  5. [Cod79]
    E.F. Codd. Extending the database relational model to capture more meaning. ACM Transactions on Database Systems, 4:397–434, 1979.CrossRefGoogle Scholar
  6. [CSS89]
    J.F. Costa, A. Sernadas, and C. Sernadas. OBL-89 User's Manual, version 2.3. Instituto Superior Técnico, Lisbon, May 1989.Google Scholar
  7. [CY90]
    P. Coad and E. Yourdon. Object-Oriented Analysis. Yourdon Press/Prentice-Hall, 1990.Google Scholar
  8. [EEAK91]
    R. Elmasri, I. El-Assal, and V. Kouramajian. Semantics of temporal data in an extended er model. In H. Kangalasso, editor, Entity-Relationship Approach: The Core of Conceptual Modelling, pages 239–154. Elsevier, 1991.Google Scholar
  9. [EGL89]
    H.-D. Ehrich, M. Gogolla, and U.W. Lipeck. Algebraische Spezifikation abstrakter Datentypen. B.G. Teubner, 1989.Google Scholar
  10. [EJD93]
    H.-D. Ehrich, R. Jungclaus, and G. Denker. Object roles and phases. In U.W. Lipeck and G. Koschorreck, editors, Proceedings of the International Workshop on Information Systems — Correctness and Reusability (ISCORE'93), pages 114–121. Institut für Informatik, UniversitÄt Hannover, Postfach 6009, Hannover, Germany, 1993.Google Scholar
  11. [EK92]
    R. Elmasri and V. Kouramajian. A temporal query language based on conceptual entities and roles. In G. Pernul and A.M. Tjoa, editors, Entity-Relationship Approach-ER'92, pages 375–388. Springer, 1992. Lecture Notes in Computer Science 645.Google Scholar
  12. [FW93]
    R.B. Feenstra and R.J. Wieringa. LCM 3.0: a language for describing conceptual models. Technical Report IR-344, Faculty of Mathematics and Computer Science, Vrije Universiteit, Amsterdam, December 1993.Google Scholar
  13. [GJM85]
    Joseph Goguen, Jean-Pierre Jouannaud, and José Meseguer. Operational semantics of order-sorted algebra. In W. Brauer, editor, Proceedings, 1985 International Conference on Automata, Languages and Programming, pages 221–231. Springer, 1985. Lecture Notes in Computer Science, Volume 194.Google Scholar
  14. [GM73]
    D. Gabbay and J.M. Moravcsik. Sameness and individuation. The Journal of Philosophy, 70:513–526, 1973.CrossRefGoogle Scholar
  15. [GM82]
    J.A. Goguen and J. Meseguer. Completeness of many-sorted equational logic. SIGPLAN Notices, 17(1):9–17, 1982.CrossRefGoogle Scholar
  16. [GM86]
    J.A. Goguen and J. Meseguer. EQLOG: Equality, types, and generic modules for logic programming. In D. DeGroot and G. Lindstrom, editors, Logic Programming: Functions, Relations, and Equations, pages 295–363. Prentice-Hall, 1986.Google Scholar
  17. [GM87a]
    J.A. Goguen and J. Meseguer. Models and equality for logical programming. In H. Ehrig, R. Kowalski, G. Levi, and U. Montanari, editors, Proceedings of the International Joint Conference on Theory and Practice of Software Development (TAPSOFT'87) Volume 2, pages 1–22. Springer, 1987. Lecture Notes in Computer Science 250.Google Scholar
  18. [GM87b]
    J.A. Goguen and J. Meseguer. Unifying functional, object-oriented and relational programming with logical semantics. In B. Shriver and P. Wegner, editors, Research Directions in Object-Oriented Programming, pages 417–477. MIT Press, 1987.Google Scholar
  19. [GM92]
    Joseph Goguen and José Meseguer. Order-sorted algebra I: Equational deduction for multiple inheritance, overloading, exceptions and partial operations. Theoretical Computer Science, 105:217–273, 1992.CrossRefMathSciNetGoogle Scholar
  20. [GMS83]
    F. Golshani, T.S.E. Maibaum, and M.R. Sadler. A modal system of algebras for database specification and query/update support. In Proceedings of the Nineth International Conference on Very Large Databases, pages 331–359, 1983.Google Scholar
  21. [GSR93]
    G. Gottlob, M. Schreffl, and B. Röck. Extending object-oriented systems with roles. Manuscript, 1993.Google Scholar
  22. [Har84]
    D. Harel. Dynamic logic. In D.M. Gabbay and F. Guenthner, editors, Handbook of Philosophical Logic II, pages 497–604. Reidel, 1984.Google Scholar
  23. [HOT76]
    P. Hall, J. Owlett, and S. Todd. Relations and entities. In G.M. Nijssen, editor, Modelling in Database Management Systems, pages 201–220. North-Holland, 1976.Google Scholar
  24. [JKM86]
    P. Jeremaes, S. Khosla, and T.S.E. Maibaum. A modal (action) logic for requirements specification. In D. Barnes and P. Brown, editors, Software Engineering 86, pages 278–294. Peter Peregrinus Ltd., 1986.Google Scholar
  25. [Jos16]
    H.W.B. Joseph. An Introduction to Logic. Clarendon Press, 1916.Google Scholar
  26. [JSHS91]
    R. Jungclaus, G. Saake, T. Hartmann, and C. Sernadas. Object-oriented specification of information systems: The TROLL language. Technical report, Abt. Datenbanken, Tech. UniversitÄt Braunschweig, P.B. 3329, Braunschweig, Germany, 1991.Google Scholar
  27. [KC86]
    S.N. Khoshafian and G.P. Copeland. Object identity. In Object-Oriented Programming Systems, Languages and Applications, pages 406–416, 1986. SIGPLAN Notices 22 (12).CrossRefGoogle Scholar
  28. [KMS86]
    S. Khosla, T.S.E. Maibaum, and M. Sadler. Database specification. In T.B. Jr. Steel and R. Meersman, editors, Database Semantics (DS-1), pages 141–158. North-Holland, 1986.Google Scholar
  29. [KT90]
    D. Kozen and J. Tiuryn. Logics of programs. In Jan van Leeuwen, editor, Handbook of Theoretical Computer Science, pages 789–840. Elsevier Science Publishers, 1990.Google Scholar
  30. [Lee91]
    Jacques van Leeuwen. Individuals and Sortal Concepts: An Essay in Logical Descriptive Metaphysics. PhD thesis, University of Amsterdam, 1991.Google Scholar
  31. [Lie86]
    H. Lieberman. Using prototypical objects to implement shared behavior in object oriented systems. In N. Meyrowitz, editor, Object-Oriented Programming: Systems, Languages and Applications, pages 214–223, October 1986.Google Scholar
  32. [LZ87]
    Jacques van Leeuwen and Henk Zeevat. Identity and common nouns in intensional logic. In J. Groenendijk, M. Stokhof, and F. Veltman, editors, Proceedings of the Sixth Amsterdam Colloquium, pages 219–241, Amsterdam, 1987. Institute for Language, Logic and Information.Google Scholar
  33. [Mes93]
    J. Meseguer. Solving the inheritance anomaly in concurrent object-oriented programming. In O.M. Nierstrasz, editor, European Conference on Object-Oriented Programming (ECOOP'93), pages 220–246, Kaiserslautern, July 1993. Springer. Lecture Notes in Computer Science 707.Google Scholar
  34. [MG93]
    J. Meseguer and J.A. Goguen. Order-sorted algebra solves the constructor-selector, multiple representation, and coercion problems. Information and Computation, 103:114–158, 1993.CrossRefMathSciNetGoogle Scholar
  35. [MQ93]
    J. Meseguer and X. Qian. A logical semantics for object-oriented databases. In Proceedings of the 1993 ACM SIGMOD International Conference on the Management of Data, pages 89–98. ACM Press, May 26–28 1993. Sigmod Record 22(2), June 1993.Google Scholar
  36. [Per90]
    B. Pernici. Objects with roles. In IEEE/ACM Conference on Office Information Systems, Cambridge, Mass., 1990.Google Scholar
  37. [Res64]
    N. Rescher. Introduction to Logic. St. Martin's Press, 1964.Google Scholar
  38. [RFM91]
    M. Ryan, J. Fiadeiro, and T. Maibaum. Sharing actions and attributes in modal action logic. In T. Ito and A.R. Meyer, editors, Theoretical Aspects of Computer Software, pages 569–593. Springer, 1991. Lecture Notes in Computer Science 526.Google Scholar
  39. [RS91]
    J. Richardson and P. Schwartz. Aspects: Extending objects to support multiple, independent roles. In ACM-SIGMOD International Conference on Management of Data, pages 298–307, Denver, Colorado, May 1991. ACM. Sigmod Record, Vol. 20.Google Scholar
  40. [Sci89]
    E. Sciore. Object specialization. ACM Transactions on Information Systems, 7(2):103–122, 1989.CrossRefGoogle Scholar
  41. [Spr93]
    P.A. Spruit. Function symbols in dynamic database logic. Technical report, Department of Mathematics and Computer Science, Vrije Universiteit, Amsterdam, 1993.Google Scholar
  42. [Str59]
    P. Strawson. Individuals. Methuen, 1959.Google Scholar
  43. [Su91]
    J. Su. Dynamic constraints and object migration. In G.M. Lohman, A. Sernadas, and R. Camps, editors, Proceedings of the Seventeenth International Conference on Very Large Databases, pages 233–242, Barcelona, Spain, September 3–6 1991.Google Scholar
  44. [SWM92]
    P.A. Spruit, R.J. Wieringa, and J.-J.Ch. Meyer. Axiomatization, declarative semantics and operational semantics of passive and active updates in logic databases. Technical Report IR-294, Department of Mathematics and Computer Science, Vrije Universiteit, Amsterdam, June 1992. To be published, Journal of Logic and Computation.Google Scholar
  45. [SWM93]
    P.A. Spruit, R.J. Wieringa, and J.-J.Ch. Meyer. Dynamic database logic: The first-order case. In U.W. Lipeck and B. Thalheim, editors, Modelling Database Dynamics, pages 103–120. Springer, 1993.Google Scholar
  46. [Wie89]
    R.J. Wieringa. Role change in database domains. Technical Report IR-180, Faculty of Mathematics and Computer Science, Free University, Amsterdam, 1989.Google Scholar
  47. [Wie91a]
    R.J. Wieringa. A formalization of objects using equational dynamic logic. In C. Delobel, M. Kifer, and Y. Masunaga, editors, 2nd International Conference on Deductive and Object-Oriented Databases, pages 431–452. Springer, 1991. Lecture Notes in Computer Science 566.Google Scholar
  48. [Wie91b]
    R.J. Wieringa. Steps towards a method for the formal modeling of dynamic objects. Data and Knowledge Engineering, 6:509–540, 1991.CrossRefGoogle Scholar
  49. [Wig80]
    D. Wiggins. Sameness and Substance. Basil Blackwell, 1980.Google Scholar
  50. [WJ]
    R.J. Wieringa and W. de Jonge. Object identifiers, keys, and surrogates. In preparation.Google Scholar
  51. [WJ91]
    R.J. Wieringa and W. de Jonge. The identification of objects and roles. Technical Report IR-267, Faculty of Mathematics and Computer Science, Vrije Universiteit, Amsterdam, December 1991.Google Scholar
  52. [WM93]
    R.J. Wieringa and J.-J.Ch. Meyer. Actors, actions, and initiative in normative system specification. Annals of Mathematics and Artificial Intelligence, 7:289–346, 1993.CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1994

Authors and Affiliations

  • Roel Wieringa
    • 1
  • Wiebren de Jonge
    • 1
  • Paul Spruit
    • 1
  1. 1.Faculty of Mathematics and Computer ScienceVrije UniversiteitHV Amsterdam

Personalised recommendations