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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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.
Abadi, M., Cardelli, L.: On Subtyping and Matching. Proceedings of ECOOP’ 96. Lecture Notes in Computer Science 1098. Springer (1996) 145–167.
Alagić, S.: Institutions: Integrating Objects, XML and Databases. Information and Software Technology (2002) (to appear).
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).
Alagić, S.: Semantics of Temporal Classes. Information and Computation 163 (2000) 60–102.
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.
Alagić, S., Alagić, M.,: Order-Sorted Model Theory for Temporal Executable Specifications. Theoretical Computer Science 179 (1997) 273–299.
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.
Alagić, S.: Temporal Object-Oriented Programming. Object-Oriented Systems 6 (1999) 1–42. Computer Journal 43 (2001) 492–493.
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.
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.
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.
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.
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.
Cook, W. R.: A Proposal for Making Eiffel Type Safe. The Computer Journal 32 (1989) 305–311.
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.
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.
Goguen, J., Burstall, R.: Institutions: Abstract Model Theory for Specification and Programming. Journal of the ACM 39 (1992) 92–146.
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.
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.
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.
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.
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.
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.
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.
Jacobs, B. van den Berg, L., Husiman, M., van Berkum, M.: Reasoning About Java Classes. Proceedings of OOPSLA’ 98. ACM (1998) 329–340.
Kifer, M., Lausen, G., Wu, J.: Logical Foundation of Object-Oriented and Frame-Based Languages. Journal of the ACM, 42 (1993) 741–843.
Lamport, L.: Specifying Concurrent Program Modules. ACM Transactions on Programming Languages and Systems 5 (1983) 190–222.
Leavens, G.T., Weihl, W.E.: Reasoning About Object-Oriented Programs that Use Subtypes. Proceedings of OOPSLA/ECOOP’ 90. ACM (1990) 212–223.
Leavens, G.T.: Modular Specification and Verification of Object-Oriented Programs. IEE Software July (1991) 72–80.
Liskov B., Wing, J.M.: A Behavioral Notion of Subtyping. ACM Transactions on Programming Languages and Systems 16 (1994) 1811–1841.
Mac Lane, S.: Categories for a Working Mathematician. Springer (1998).
Meyer, B.: Eiffel: The Language. Prentice Hall (1992).
Meyer, B.: Object-Oriented Software Construction. Prentice Hall (1997).
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.
Meseguer J., Qian, X.: A logical Semantics for Object-Oriented Databases. Proceedings of ACM SIGMOD Conference. ACM Press (1993) 89–98.
Poll, E.: A Coalgebraic Semantics of Subtyping. Electronic Notes in Theoretical Computer Science (2000).
Ruby, C., Leavens, G.: Creating Correct Subclasses Without Seeing Superclass Code. Proceedings of OOPSLA 2000. ACM (2000) pp. 208–228.
Stata, R., Guttag, J.V.: Modular Reasoning in the Presence of Subclassing. Proceedings of OOPSLA’ 95. ACM (1995) 200–214.
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.
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.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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