Skip to main content

Behavioral Compatibility of Self-Typed Theories

  • Conference paper
  • First Online:
ECOOP 2002 — Object-Oriented Programming (ECOOP 2002)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2374))

Included in the following conference series:

Abstract

The notion of self-typing is extended with the semantic constraints expressed as sentences. Specifying these behavioral properties is far beyond the expressiveness of type systems. The cornerstone of the approach is the view of classes as theories. The inheritance of class constraints is viewed as a theory morphism. The validity of the results across various possible logics for expressing class constraints is based on the object-oriented view of the notion of an institution. This view ties together the inheritance of class constraints and semantically correct object substitutability. The developed formal system is termed behavioral matching and it is proved to be an institution. Implications of this result are also analyzed.

This material is based upon work supported in part by the NSF grant number IIS-9811452, and in part by the U.S. Army Research Office under grant number DAAH04-96-1-0192.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Abadi, M., Leino, K.R.M.: A Logic of Object-Oriented Programs. Proceedings of TAPSOFT’ 97. Lecture Notes in Computer Science 1214. Springer (1997) 682–696.

    Chapter  Google Scholar 

  2. Abadi, M., Cardelli, L.: On Subtyping and Matching. Proceedings of ECOOP’ 96. Lecture Notes in Computer Science 1098. Springer (1996) 145–167.

    Google Scholar 

  3. Alagić, S.: Institutions: Integrating Objects, XML and Databases. Information and Software Technology (2002) (to appear).

    Google Scholar 

  4. Alagić S., Bernstein, P.A.: A Model Theory for Generic Schema Management. Proceedings of DBPL’ 01 (Database Programming Languages), 107–118. Lecture Notes in Computer Science (2002) (to appear).

    Google Scholar 

  5. Alagić, S.: Semantics of Temporal Classes. Information and Computation 163 (2000) 60–102.

    Article  MathSciNet  MATH  Google Scholar 

  6. Alagić, S., Solorzano J., Gitchell, D.: Orthogonal to the Java Imperative. Proceedings of ECOOP’ 98. Lecture Notes in Computer Science 1445. Springer (1998) 212–233.

    Google Scholar 

  7. Alagić, S., Alagić, M.,: Order-Sorted Model Theory for Temporal Executable Specifications. Theoretical Computer Science 179 (1997) 273–299.

    Article  MathSciNet  MATH  Google Scholar 

  8. Alagić, S.: Constrained Matching is Type Safe. Proceedings of the Sixth Int. Workshop on Database Programming Languages. Lecture Notes in Computer Science 1369. Springer (1998) 78–96.

    Chapter  Google Scholar 

  9. Alagić, S.: Temporal Object-Oriented Programming. Object-Oriented Systems 6 (1999) 1–42. Computer Journal 43 (2001) 492–493.

    Google Scholar 

  10. Alagić, S., Sunderraman, R., Bagai, R. Declarative Object-Oriented Programming: Inheritance, Subtyping and Prototyping. Proceedings of ECOOP’ 94. Lecture Notes in Computer Science 821. Springer (1994) 236–259.

    Google Scholar 

  11. Alagić S., Sunderraman, R.: Expressibility of Typed Logic Paradigms for Object-Oriented Databases. Proceedings of BNCOD-12. Lecture Notes in Computer Science 826. Springer (1994) 73–89.

    Google Scholar 

  12. Bruce, K.: Safe Type Checking in a Statically Typed Object-Oriented Programming Language. Proceedings of the Conference on Functional Programming. ACM Press (1993) 285–298.

    Google Scholar 

  13. Bruce, K., Schuett, A., van Gent, R.: PolyTOIL: a Type-Safe Polymorphic Object-Oriented Language. Proceedings of ECOOP’ 95. Lecture Notes in Computer Science 952. Springer (1995) 27–51.

    Google Scholar 

  14. Bruce, K., Petersen, L., Feich, A.: Subtyping is not a Good Match for Object-Oriented Programming. Proceedings of ECOOP’ 96. Lecture Notes in Computer Science 1241. Springer (1996) 104–127.

    Google Scholar 

  15. Cook, W. R.: A Proposal for Making Eiffel Type Safe. The Computer Journal 32 (1989) 305–311.

    Article  Google Scholar 

  16. Cook, W. R., Hill, W. L., Canning, P.S.: Inheritance is not Subtyping. Proceedings of the Conference on Principles of Programming Languages. ACM Press (1990) 125–135.

    Google Scholar 

  17. Futatsugi, K. Goguen, J., Jouannaud, J., Meseguer, J.: Principles of OBJ2. In: Reid, B.K. (ed): Proceedings of POPL’ 85. ACM Press (1985) 52–66.

    Google Scholar 

  18. Goguen, J., Burstall, R.: Institutions: Abstract Model Theory for Specification and Programming. Journal of the ACM 39 (1992) 92–146.

    Article  MathSciNet  Google Scholar 

  19. Goguen, J.: Types as Theories. In: Reed, G.M., Roscoe A.W., Wachter R.F. (eds.): Topology and Category Theory in Computer Science. Clarendon Press (1991) 357–390.

    Google Scholar 

  20. Goguen, J., Meseguer, J.: Order-Sorted Algebra I: Equational Deduction for Multiple Inheritance, Overloading, Exceptions and Partial Operations. Theoretical Computer Science 105 (1992) 217–273.

    Article  MathSciNet  MATH  Google Scholar 

  21. Goguen, J., Meseguer, J.: EQLOG: Equality, Types, and Generic Modules for Logic Programming. In: Degroot, D., Lindstrom, G. (eds.): Logic Programming: Functions, Relations and Equations. Prentice Hall (1986) 295–363.

    Google Scholar 

  22. Goguen J., Meseguer, J.: Unifying Functional, Object-Oriented and Relational Programming with Logical Semantics. In: Shriver, B., Wegner, P. (eds.): Research Directions in Object-Oriented Programming. MIT Press (1987) 417–477.

    Google Scholar 

  23. Goguen J., Meseguer, J.: Models and Equality for Logical Programming. In: Ehrig, H., Levi, G., Kowalski, R., Montanari, U. (eds.): Proceedings of TAPSOFT’ 87. Lecture Notes in Computer Science 250. Springer (1987) 1–22.

    Chapter  Google Scholar 

  24. Goguen, J., Burstall, R.: A Study in the Foundations of Programming Methodology: Specifications, Institutions, Charters and Parchments. In: Pitt, D., Abram-sky, S., Poigne, A., Rydehard, D. (eds.): Proceedings of the Conference on Category Theory and Computer Programming. Lecture Notes in Computer Science 240. Springer (1986) 313–333.

    Chapter  Google Scholar 

  25. Goguen, J., Burstall, R.: Introducing Institutions. In: Clarke E., Kozen, D. (eds.): Proceedings of the Logics of Programming Workshop. Lecture Notes in Computer Science 164. Springer (1984) 221–256.

    Google Scholar 

  26. Jacobs, B. van den Berg, L., Husiman, M., van Berkum, M.: Reasoning About Java Classes. Proceedings of OOPSLA’ 98. ACM (1998) 329–340.

    Google Scholar 

  27. Kifer, M., Lausen, G., Wu, J.: Logical Foundation of Object-Oriented and Frame-Based Languages. Journal of the ACM, 42 (1993) 741–843.

    Article  MathSciNet  Google Scholar 

  28. Lamport, L.: Specifying Concurrent Program Modules. ACM Transactions on Programming Languages and Systems 5 (1983) 190–222.

    Article  MATH  Google Scholar 

  29. Leavens, G.T., Weihl, W.E.: Reasoning About Object-Oriented Programs that Use Subtypes. Proceedings of OOPSLA/ECOOP’ 90. ACM (1990) 212–223.

    Google Scholar 

  30. Leavens, G.T.: Modular Specification and Verification of Object-Oriented Programs. IEE Software July (1991) 72–80.

    Google Scholar 

  31. Liskov B., Wing, J.M.: A Behavioral Notion of Subtyping. ACM Transactions on Programming Languages and Systems 16 (1994) 1811–1841.

    Article  Google Scholar 

  32. Mac Lane, S.: Categories for a Working Mathematician. Springer (1998).

    Google Scholar 

  33. Meyer, B.: Eiffel: The Language. Prentice Hall (1992).

    Google Scholar 

  34. Meyer, B.: Object-Oriented Software Construction. Prentice Hall (1997).

    Google Scholar 

  35. Meseguer, J.: Solving the Inheritance Anomaly in Concurrent Object-Oriented Programming. Proceedings of ECOOP’ 93. Lecture Notes in Computer Science 707. Springer (1993) 220–246.

    Google Scholar 

  36. Meseguer J., Qian, X.: A logical Semantics for Object-Oriented Databases. Proceedings of ACM SIGMOD Conference. ACM Press (1993) 89–98.

    Google Scholar 

  37. Poll, E.: A Coalgebraic Semantics of Subtyping. Electronic Notes in Theoretical Computer Science (2000).

    Google Scholar 

  38. Ruby, C., Leavens, G.: Creating Correct Subclasses Without Seeing Superclass Code. Proceedings of OOPSLA 2000. ACM (2000) pp. 208–228.

    Google Scholar 

  39. Stata, R., Guttag, J.V.: Modular Reasoning in the Presence of Subclassing. Proceedings of OOPSLA’ 95. ACM (1995) 200–214.

    Google Scholar 

  40. Spruit, P., Wieringa, R., Meyer, J-J.: Dynamic Database Logic: the First-Order Case. In: Modeling Database Dynamics, Fourth Int. Workshop on Foundations of Models and Languages for Data and Objects. Workshops in Computing. Springer (1993) 103–120.

    Google Scholar 

  41. Wieringa, R., de Jonge W., Spruit, P.: Roles and Dynamic Subclasses: A Modal Logic Approach. Proceedings of ECOOP’ 94. Lecture Notes in Computer Science 821. Springer (1994) 33–59.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2002 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Alagić, S., Kouznetsova, S. (2002). Behavioral Compatibility of Self-Typed Theories. In: Magnusson, B. (eds) ECOOP 2002 — Object-Oriented Programming. ECOOP 2002. Lecture Notes in Computer Science, vol 2374. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-47993-7_25

Download citation

  • DOI: https://doi.org/10.1007/3-540-47993-7_25

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-43759-8

  • Online ISBN: 978-3-540-47993-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics