Abstraction and specification in program development
Abstraction and specification in program development
A semantics of multiple inheritance
Information and Computation - Semantics of Data Types
Programming from specifications
Programming from specifications
A parallel object-oriented language with inheritance and subtyping
OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
Reasoning about object-oriented programs that use subtypes
OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
Systems programming with Modula-3
Systems programming with Modula-3
Database description with SDM: a semantic database model
ACM Transactions on Database Systems (TODS)
An algebraic model of sybtypes in object-oriented languages (draft)
OOPWORK '86 Proceedings of the 1986 SIGPLAN workshop on Object-oriented programming
Object-Oriented Software Construction
Object-Oriented Software Construction
A Discipline of Programming
Inheritance in Object-Oriented Z
ECOOP '91 Proceedings of the European Conference on Object-Oriented Programming
An Object Oriented Interpretation of LOTOS
FORTE '89 Proceedings of the IFIP TC/WG6.1 Second International Conference on Formal Description Techniques for Distributed Systems and Communication Protocols
Designing an Object-Oriented Programming Language with Behavioural Subtyping
Proceedings of the REX School/Workshop on Foundations of Object-Oriented Languages
Family Values: A Semantic Notion of Subtyping
Family Values: A Semantic Notion of Subtyping
TOWARDS A THEORY FOR ABSTRACT DATA TYPES
TOWARDS A THEORY FOR ABSTRACT DATA TYPES
An object-oriented refinement calculus with modular reasoning
An object-oriented refinement calculus with modular reasoning
Specifications and their use in defining subtypes
OOPSLA '93 Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications
Regular types for active objects
OOPSLA '93 Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications
Inheritance of interface specifications (extended abstract)
IDL '94 Proceedings of the workshop on Interface definition languages
The Larch/Smalltalk interface specification language
ACM Transactions on Software Engineering and Methodology (TOSEM)
Exploiting style in architectural design environments
SIGSOFT '94 Proceedings of the 2nd ACM SIGSOFT symposium on Foundations of software engineering
TRI-Ada '94 Proceedings of the conference on TRI-Ada '94
How and why to encapsulate class trees
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
On the Practical Need for Abstraction Relations to Verify Abstract Data Type Representations
IEEE Transactions on Software Engineering
Representation Inheritance: A Safe Form of "White Box" Code Inheritance
IEEE Transactions on Software Engineering
CLOWN as a testbed for concurrent object-oriented concepts
Concurrent object-oriented programming and petri nets
CoOperative objects: principles, use and implementation
Concurrent object-oriented programming and petri nets
An inheritance-based technique for building simulation proofs incrementally
ACM Transactions on Software Engineering and Methodology (TOSEM)
Towards safe and efficient customization in distributed systems
EW 6 Proceedings of the 6th workshop on ACM SIGOPS European workshop: Matching operating systems to application needs
Subtyping in distributed systems
Formal methods for distributed processing
Type Management: A Key to Software Reuse in Open Distributed Systems
EDOC '97 Proceedings of the 1st International Conference on Enterprise Distributed Object Computing
Model, Notation, and Tools for Verification of Protocol-Based Components Assembly
CD '02 Proceedings of the IFIP/ACM Working Conference on Component Deployment
Inheriting and Modifying Behavior
TOOLS '97 Proceedings of the Tools-23: Technology of Object-Oriented Languages and Systems
Behavioral Subtyping and Behavioral Enrichment of Multimethods
TOOLS '00 Proceedings of the Technology of Object-Oriented Languages and Systems (TOOLS 34'00)
Inheritance: From Code Reuse to Reasoning Reuse
ICSR '98 Proceedings of the 5th International Conference on Software Reuse
A taxonomy of inheritance semantics
IWSSD '93 Proceedings of the 7th international workshop on Software specification and design
Generating a catalog of unanticipated schemas in class hierarchies using Formal Concept Analysis
Information and Software Technology
Coloured Petri net refinement specification and correctness proof with Coq
Innovations in Systems and Software Engineering
A comparison of rule inheritance in model-to-model transformation languages
ICMT'11 Proceedings of the 4th international conference on Theory and practice of model transformations
Towards a benchmark for traceability
Proceedings of the 12th International Workshop on Principles of Software Evolution and the 7th annual ERCIM Workshop on Software Evolution
A higher abstraction level using first-class inheritance relations
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
Hi-index | 0.00 |
The use of hierarchy is an important component of object-oriented design. Hierarchy allows the use of type families, in which higher level supertypes capture the behavior that all of their subtypes have in common. For this methodology to be effective, it is necessary to have a clear understanding of how subtypes and supertypes are related. This paper presents a new definition of the subtype relation that ensures that any property proved about supertype objects also holds for subtype objects. It also discusses the ramifications of the definition on the design of type families.