{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,28]],"date-time":"2025-10-28T00:12:21Z","timestamp":1761610341424,"version":"build-2065373602"},"reference-count":52,"publisher":"Elsevier BV","license":[{"start":{"date-parts":[[1998,1,1]],"date-time":"1998-01-01T00:00:00Z","timestamp":883612800000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.elsevier.com\/tdm\/userlicense\/1.0\/"},{"start":{"date-parts":[[1998,1,1]],"date-time":"1998-01-01T00:00:00Z","timestamp":883612800000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.elsevier.com\/legal\/tdmrep-license"},{"start":{"date-parts":[[2013,7,29]],"date-time":"2013-07-29T00:00:00Z","timestamp":1375056000000},"content-version":"vor","delay-in-days":5688,"URL":"http:\/\/creativecommons.org\/licenses\/by-nc-nd\/3.0\/"}],"content-domain":{"domain":["elsevier.com","sciencedirect.com"],"crossmark-restriction":true},"short-container-title":["Electronic Notes in Theoretical Computer Science"],"published-print":{"date-parts":[[1998]]},"DOI":"10.1016\/s1571-0661(05)80238-5","type":"journal-article","created":{"date-parts":[[2005,5,25]],"date-time":"2005-05-25T08:37:08Z","timestamp":1117010228000},"page":"214-244","update-policy":"https:\/\/doi.org\/10.1016\/elsevier_cm_policy","source":"Crossref","is-referenced-by-count":2,"special_numbering":"C","title":["Class-Based and Algebraic Models of Objects"],"prefix":"10.1016","volume":"14","author":[{"given":"Gary T.","family":"Leavens","sequence":"first","affiliation":[]},{"given":"Don","family":"Pigozzi","sequence":"additional","affiliation":[]}],"member":"78","reference":[{"year":"1996","series-title":"\u201cA Theory of Objects,\u201d Monographs in Computer Science","author":"Mart\u00edn","key":"10.1016\/S1571-0661(05)80238-5_BIB1"},{"year":"1998","series-title":"\u201cThe Java Programming Language,\u201d The Java Series. Addison-Wesley, Reading, MA, second edition","author":"Ken","key":"10.1016\/S1571-0661(05)80238-5_BIB2"},{"key":"10.1016\/S1571-0661(05)80238-5_BIB3","doi-asserted-by":"crossref","unstructured":"Bracha, Gilad and William Cook, Mixin-based inheritance, ACM SIGPLAN Notices 25(10):303-311, October 1990. OOPSLA ECOOP'90 Proceedings, N. Meyrowitz (editor).","DOI":"10.1145\/97946.97982"},{"issue":"3","key":"10.1016\/S1571-0661(05)80238-5_BIB4","first-page":"221","article-title":"Giuseppe Castagna, The Hopkins Object Group, Gary T","volume":"1","author":"Kim","year":"1995","journal-title":"Leavens, and Benjamin Pierce, On binary methods, Theory and Practice of Object Systems"},{"key":"10.1016\/S1571-0661(05)80238-5_BIB5","unstructured":"Bruce, Kim B., The equivalence of two semantic definitions for inheritance in object-oriented languages, in: Stephen Brookes, Michael Main, Austin Melton, Michael Mislove, and David Schmidt, editors, Mathematical Foundations of Programming Semantics, 7th International Conference, PA, USA, March 1991, Proceedings, Lecture Notes in Computer Science 598 (1992), Springer-Verlag, New York, N.Y., pp. 102-124."},{"key":"10.1016\/S1571-0661(05)80238-5_BIB6","series-title":"Advances in Database Programming Languages","first-page":"75","article-title":"An algebraic model of subtype and inheritance","author":"Bruce","year":"1990"},{"key":"10.1016\/S1571-0661(05)80238-5_BIB7","first-page":"51","article-title":"A semantics of multiple inheritance, Information and Computation, 76 (2\/3), 138-164","volume":"173","author":"Luca","year":"1988","journal-title":"A revised version of the paper that appeared in the 1984 Semantics of Data Types Symposium, LNCS"},{"issue":"4","key":"10.1016\/S1571-0661(05)80238-5_BIB8","doi-asserted-by":"crossref","first-page":"471","DOI":"10.1145\/6041.6042","article-title":"On understanding types, data abstraction and polymorphism","volume":"17","author":"Luca","year":"1985","journal-title":"ACM Computing Surveys"},{"year":"1997","series-title":"\u201cObject-Oriented Programming: A Unified Foundation,\u201d Progress in Theoretical Computer Science. Birkhauser, Boston","author":"Giuseppe","key":"10.1016\/S1571-0661(05)80238-5_BIB9"},{"key":"10.1016\/S1571-0661(05)80238-5_BIB10","doi-asserted-by":"crossref","unstructured":"Castagna, Giuseppe, Giorgio Ghelli, and Giuseppe Longo, A calculus for overloaded functions with subtyping, Information and Computation 117(1) (February 1995), pp. 115-135, A preliminary version appeared in ACM Conference on LISP and Functional Programming, June 1992 (pp. 182-192).","DOI":"10.1006\/inco.1995.1033"},{"key":"10.1016\/S1571-0661(05)80238-5_BIB11","first-page":"33","article-title":"Object-oriented multi-methods in Cecil","volume":"615","author":"Craig","year":"1992"},{"key":"10.1016\/S1571-0661(05)80238-5_BIB12","series-title":"Available from http:\/\/www.cs.washington.edu\/research\/projects\/cecil\/www\/Papers\/cecil-spec.html","article-title":"The Cecil language specification and rationale: Version 2.0","author":"Craig","year":"1995"},{"issue":"6","key":"10.1016\/S1571-0661(05)80238-5_BIB13","doi-asserted-by":"crossref","first-page":"805","DOI":"10.1145\/218570.218571","article-title":"Typechecking and modules for multi-methods","volume":"17","author":"Craig","year":"1995","journal-title":"TOPLAS"},{"key":"10.1016\/S1571-0661(05)80238-5_BIB14","first-page":"96-17a","article-title":"BeCecil, a core object-oriented language with block structure and multimethods: Semantics and typing","volume":"50011","author":"Craig","year":"1997","journal-title":"Technical ReportDepartment of Computer Science, Iowa State University, 226 Atanasoff Hall, Ames, Iowa"},{"key":"10.1016\/S1571-0661(05)80238-5_BIB15","doi-asserted-by":"crossref","unstructured":"Cook, William and Jens Palsberg, A denotational semantics of inheritance and its correctness, in: Norman Meyerowitz, editor, OOPSLA'89 Conference Proceedings, New Orleans, Louisiana, ACM SIGPLAN Notices 24(10) (October 1989), pp. 433-443.","DOI":"10.1145\/74878.74922"},{"key":"10.1016\/S1571-0661(05)80238-5_BIB16","series-title":"Technical Report CS-89-33, Department of Computer Science, Brown University, Providence, Rhode Island","article-title":"A denotational semantics of inheritance","author":"Cook","year":"1989"},{"key":"10.1016\/S1571-0661(05)80238-5_BIB17","first-page":"29","article-title":"Type theories and object-oriented programming, ACM Computing Surveys","author":"Scott","year":"1988","journal-title":"20(1)("},{"key":"10.1016\/S1571-0661(05)80238-5_BIB18","article-title":"Weak behavioral subtyping for types with mutable objects","volume":"1","author":"Krishna","year":"1995"},{"key":"10.1016\/S1571-0661(05)80238-5_BIB19","doi-asserted-by":"crossref","unstructured":"Dony, Christophe, Jacques Malenfant, and Pierre Cointe, Prototype-based languages: From a taxonomy to constructive proposals and their validation, in: Andreas Paepcke, editor, OOPSLA'92 Proceedings, ACM SIGPLAN Notices 27(10) (October 1992), pp. 201-217.","DOI":"10.1145\/141937.141954"},{"year":"1985","series-title":"\u201cFundamentals of Algebraic Specification 1: Equations and Initial Semantics\u201d, EATCS Monographs on Theoretical Computer Science 6","author":"Hartmut","key":"10.1016\/S1571-0661(05)80238-5_BIB20"},{"key":"10.1016\/S1571-0661(05)80238-5_BIB21","first-page":"80","article-title":"An initial algebra approach to the specification, correctness and implementation of abstract data types","volume":"4","author":"Goguen","year":"1978"},{"key":"10.1016\/S1571-0661(05)80238-5_BIB22","series-title":"Technical Report SRI-CSL-89-10, Computer Science Laboratory, SRI International","article-title":"Order-sorted algebra I: Equational deduction for multiple inheritance, overloading, exceptions, and partial operations","author":"Goguen","year":"1980"},{"key":"10.1016\/S1571-0661(05)80238-5_BIB23","series-title":"Ithaca, NY","first-page":"18","article-title":"Order-sorted algebra solves the constructor-selector, multiple representation and coercion problems, Symposium on Logic in Computer Science","author":"Goguen","year":"1987"},{"year":"1983","series-title":"\u201cSmalltalk-80, The Language and its Implementation\u201d","author":"Adele","key":"10.1016\/S1571-0661(05)80238-5_BIB24"},{"key":"10.1016\/S1571-0661(05)80238-5_BIB25","series-title":"The Java Series","article-title":"\u201cThe Java Language Specification\u201d","author":"James","year":"1996"},{"issue":"1","key":"10.1016\/S1571-0661(05)80238-5_BIB26","doi-asserted-by":"crossref","first-page":"27","DOI":"10.1007\/BF00260922","article-title":"The algebraic specification of abstract data types","volume":"10","author":"Guttag","year":"1978","journal-title":"Acta Informatica"},{"key":"10.1016\/S1571-0661(05)80238-5_BIB27","doi-asserted-by":"crossref","unstructured":"Ingalls, Daniel H. H., A simple technique for handling multiple polymorphism. in: Norman Meyrowitz, editor, OOPSLA '86 Conference Proceedings, Portland, Oregon, ACM SIGPLAN Notices 21(11) (November 1986), pp. 347-349.","DOI":"10.1145\/960112.28732"},{"key":"10.1016\/S1571-0661(05)80238-5_BIB28","first-page":"80","article-title":"Inheritance in smalltalk-80: A denotational definition, Conference Record of the Fifteenth Annual ACM Symposium on Principles of Programming Languages, San Diego, Calif","author":"Samuel","year":"1988","journal-title":"ACM"},{"key":"10.1016\/S1571-0661(05)80238-5_BIB29","series-title":"Technical Report 90-09, Department of Computer Science, Iowa State University, Ames, Iowa, 50011, Available by anonymous ftp from ftp.cs.iastate.edu, and by e-mail from almanac@cs.iastate.edu","article-title":"Modular verification of object-oriented programs with subtypes","author":"Leavens","year":"1990"},{"key":"10.1016\/S1571-0661(05)80238-5_BIB30","first-page":"72","article-title":"Modular specification and verification of object-oriented programs, IEEE Software","author":"Leavens","year":"1991","journal-title":"8(4) ("},{"key":"10.1016\/S1571-0661(05)80238-5_BIB31","first-page":"144","article-title":"Typed homomorphic relations extended with subtypes","volume":"598","author":"Leavens","year":"1992"},{"key":"10.1016\/S1571-0661(05)80238-5_BIB32","series-title":"Technical Report 96-15, Department of Computer Science, Iowa State University, Ames, Iowa, 50011, Available by anonymous ftp from ftp.cs.iastate.edu, and by e-mail from almanac@cs.iastate.edu.","article-title":"An exact algebraic characterization of behavioral subtyping","author":"Leavens","year":"1996"},{"key":"10.1016\/S1571-0661(05)80238-5_BIB33","first-page":"183","volume":"177","author":"Leavens","year":"1997","journal-title":"The behavior-realization adjunction and generalized homomorphic relations. Theoretical Computer Science"},{"key":"10.1016\/S1571-0661(05)80238-5_BIB34","doi-asserted-by":"crossref","unstructured":"Leavens, Gary T. and William E. Weihl, Reasoning about object-oriented programs that use subtypes (extended abstract), in: N. Meyrowitz, editor, 29 OOPSLA ECOOP'90 Proceedings, ACM SIGPLAN Notices 25(10) (October 1990), ACM, pp. 212-223.","DOI":"10.1145\/97946.97970"},{"issue":"8","key":"10.1016\/S1571-0661(05)80238-5_BIB35","doi-asserted-by":"crossref","first-page":"705","DOI":"10.1007\/BF01178658","article-title":"Specification and verification of object-oriented programs using supertype abstraction","volume":"32","author":"Leavens","year":"1995","journal-title":"Acta Informatica"},{"key":"10.1016\/S1571-0661(05)80238-5_BIB36","doi-asserted-by":"crossref","unstructured":"Leavens, Gary Todd, Verifying object-oriented programs that use subtypes, Technical Report 439, Massachusetts Institute of Technology, Laboratory for Computer Science, February 1989. The author's Ph.D. thesis.","DOI":"10.21236\/ADA209118"},{"key":"10.1016\/S1571-0661(05)80238-5_BIB37","doi-asserted-by":"crossref","unstructured":"Lieberman, Henry, Using prototypical objects to implement shared behavior in object oriented systems, in: Norman Meyrowitz, editor, OOPSLA'86 Conference Proceedings, Portland, Oregon, ACM SIGPLAN Notices 21(11) (November 1986), pp. 214-223.","DOI":"10.1145\/960112.28718"},{"key":"10.1016\/S1571-0661(05)80238-5_BIB38","first-page":"243","article-title":"Ravi Sethi. A semantic model of types for applicative languages, ACM Symp. on LISP and Functional Programming","author":"MacQueen","year":"1982","journal-title":"ACM"},{"key":"10.1016\/S1571-0661(05)80238-5_BIB39","first-page":"165","article-title":"An ideal model for recursive polymorphic types, Conference Record of the Eleventh Annual ACM Symposium on Principles of Programming Languages, Salt Lake City, Utah","author":"David","year":"1984","journal-title":"ACM"},{"issue":"1\/2","key":"10.1016\/S1571-0661(05)80238-5_BIB40","first-page":"95","volume":"71","author":"David","year":"1986","journal-title":"An ideal model for recursive polymorphic types, Information and Control"},{"key":"10.1016\/S1571-0661(05)80238-5_BIB41","series-title":"Technical Report SRI-CSL-90-16, Computer Science Laboratory, SRI International, 333 Ravenswood Ave., Menlo Park, Calif.","article-title":"Inclusions and subtypes","author":"Narciso","year":"1990"},{"year":"1997","series-title":"\u201cObject-oriented Software Construction,\u201d Prentice Hall, New York, N.Y., second edition","author":"Bertrand","key":"10.1016\/S1571-0661(05)80238-5_BIB42"},{"key":"10.1016\/S1571-0661(05)80238-5_BIB43","first-page":"109","article-title":"Toward a typed foundation for method specialization and inheritance, Conference Record of the Seventeenth Annual ACM Symposium on Principles of Programming Languages, San Francisco, Calif.","author":"Mitchell, John C","year":"1990","journal-title":"ACM"},{"year":"1993","series-title":"\u201cObject-Oriented Programming: The CLOS Perspective,\u201d","author":"Andreas","key":"10.1016\/S1571-0661(05)80238-5_BIB44"},{"key":"10.1016\/S1571-0661(05)80238-5_BIB45","doi-asserted-by":"crossref","unstructured":"Reynolds, John C, Using category theory to design implicit conversions and generic operators, in: Neil D. Jones, editor, Semantics-Directed Compiler Generation, Proceedings of a Workshop, Aarhus, Denmark, Lecture Notes in Computer Science 94 (1980), Springer-Verlag, pp. 211-258.","DOI":"10.1007\/3-540-10250-7_24"},{"key":"10.1016\/S1571-0661(05)80238-5_BIB46","unstructured":"Reynolds, John C, Three approaches to type structure, in: Hartmut Ehrig, Christiane Floyd, Maurice Nivat and James Thatcher, editors, Mathematical Foundations of Software Development, Proceedings of the International Joint Conference on Theory and Practice of Software Development (TAPSOFT), Berlin. Volume 1: Colloquium on Trees in Algebra and Programming (CAAP'85), Lecture Notes in Computer Science 185 (1985), Springer-Verlag, New York, N.Y., pp. 97-138."},{"year":"1986","series-title":"\u201cDenotational Semantics: A Methodology for Language Development\u201d","author":"Schmidt","key":"10.1016\/S1571-0661(05)80238-5_BIB47"},{"year":"1997","series-title":"\u201cThe Dylan Reference Manual: The Definitive Guide to the New Object-Oriented Dynamic Language\u201d","author":"Andrew","key":"10.1016\/S1571-0661(05)80238-5_BIB48"},{"key":"10.1016\/S1571-0661(05)80238-5_BIB49","first-page":"303","article-title":"Programming as an experience: The inspiration for self","volume":"952","author":"Smith","year":"1995"},{"year":"1997","series-title":"\u201cThe C++ Programming Language: Third Edition\u201d","author":"Bjarne","key":"10.1016\/S1571-0661(05)80238-5_BIB50"},{"key":"10.1016\/S1571-0661(05)80238-5_BIB51","doi-asserted-by":"crossref","unstructured":"Ungar, David and Randall B. Smith, Self: The power of simplicity, in: Norman Meyrowitz, editor, OOPSLA '87 Conference Proceedings, Orlando, Florida, ACM SIGPLAN Notices 22(12) (December 1987), pp. 227-241.","DOI":"10.1145\/38807.38828"},{"key":"10.1016\/S1571-0661(05)80238-5_BIB52","doi-asserted-by":"crossref","unstructured":"Wadler, Philip and Stephen Blott, How to make adhoc polymorphism less ad-hoc, Conference Record of the Sixteenth Annual ACM Symposium on Principles of Programming Languages, Austin, Texas, ACM, January 1989, pp. 60-76.","DOI":"10.1145\/75277.75283"}],"container-title":["Electronic Notes in Theoretical Computer Science"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S1571066105802385?httpAccept=text\/xml","content-type":"text\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S1571066105802385?httpAccept=text\/plain","content-type":"text\/plain","content-version":"vor","intended-application":"text-mining"}],"deposited":{"date-parts":[[2025,10,28]],"date-time":"2025-10-28T00:07:38Z","timestamp":1761610058000},"score":1,"resource":{"primary":{"URL":"https:\/\/linkinghub.elsevier.com\/retrieve\/pii\/S1571066105802385"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1998]]},"references-count":52,"alternative-id":["S1571066105802385"],"URL":"https:\/\/doi.org\/10.1016\/s1571-0661(05)80238-5","relation":{},"ISSN":["1571-0661"],"issn-type":[{"type":"print","value":"1571-0661"}],"subject":[],"published":{"date-parts":[[1998]]},"assertion":[{"value":"Elsevier","name":"publisher","label":"This article is maintained by"},{"value":"Class-Based and Algebraic Models of Objects","name":"articletitle","label":"Article Title"},{"value":"Electronic Notes in Theoretical Computer Science","name":"journaltitle","label":"Journal Title"},{"value":"https:\/\/doi.org\/10.1016\/S1571-0661(05)80238-5","name":"articlelink","label":"CrossRef DOI link to publisher maintained version"},{"value":"converted-article","name":"content_type","label":"Content Type"},{"value":"Copyright \u00a9 1998 Elsevier B.V.","name":"copyright","label":"Copyright"}]}}