A Theory of Communicating Sequential Processes
Journal of the ACM (JACM)
Communicating sequential processes
Communicating sequential processes
Introduction to the ISO specification language LOTOS
Computer Networks and ISDN Systems - Special Issue: Protocol Specification and Testing
Keynote address - data abstraction and hierarchy
OOPSLA '87 Addendum to the proceedings on Object-oriented programming systems, languages and applications (Addendum)
A behavioral notion of subtyping
ACM Transactions on Programming Languages and Systems (TOPLAS)
Forcing behavioral subtyping through specification inheritance
Proceedings of the 18th international conference on Software engineering
Regular types for active objects
Object-oriented software composition
Object-oriented software construction (2nd ed.)
Object-oriented software construction (2nd ed.)
On behavioural subtyping in LOTOS
FMOODS '97 Proceedings of the IFIP TC6 WG6.1 international workshop on Formal methods for open object-based distributed systems
CSP-OZ: a combination of object-Z and CSP
FMOODS '97 Proceedings of the IFIP TC6 WG6.1 international workshop on Formal methods for open object-based distributed systems
The Jini architecture for network-centric computing
Communications of the ACM
Fundamentals of Algebraic Specification I
Fundamentals of Algebraic Specification I
Inheritance as an Incremental Modification Mechanism or What Like Is and Isn't Like
ECOOP '88 Proceedings of the European Conference on Object-Oriented Programming
Action Refinement as an Implementation Relations
TAPSOFT '97 Proceedings of the 7th International Joint Conference CAAP/FASE on Theory and Practice of Software Development
Observation equivalences for the semantics of inheritance
Proceedings of the IFIP TC6/WG6.1 Third International Conference on Formal Methods for Open Object-Based Distributed Systems (FMOODS)
A Junction between State Based and Behavioural Specification (Invited Talk)
Proceedings of the IFIP TC6/WG6.1 Third International Conference on Formal Methods for Open Object-Based Distributed Systems (FMOODS)
Life-Cycle Inheritance: A Petri-Net-Based Approach
ICATPN '97 Proceedings of the 18th International Conference on Application and Theory of Petri Nets
Designing an Object-Oriented Programming Language with Behavioural Subtyping
Proceedings of the REX School/Workshop on Foundations of Object-Oriented Languages
Integrating Semantics for Object-Oriented System Models
ICALP '01 Proceedings of the 28th International Colloquium on Automata, Languages and Programming,
On the Behavioral Inheritance of State-Based Objects
TOOLS '00 Proceedings of the Technology of Object-Oriented Languages and Systems (TOOLS 34'00)
Contexts, refinement and determinism
Science of Computer Programming
A dynamic binding strategy for multiple inheritance and asynchronously communicating objects
FMCO'04 Proceedings of the Third international conference on Formal Methods for Components and Objects
Model evolution and refinement
Science of Computer Programming
B2B protocol construction as a basis for integration architecture configuration
BPM'06 Proceedings of the 2006 international conference on Business Process Management Workshops
Service substitutability analysis based on behavior automata
Innovations in Systems and Software Engineering
Hi-index | 0.00 |
In this paper we investigate the object-oriented notion of subtyping in the context of behavioural formalisms. Subtyping in OO-formalisms is closely related to the concept of inheritance. The central issue in the choice of subtyping relations among classes is the principle of substitutability: an instance of the subtype should be usable wherever an instance of the supertype was expected. Depending on the interpretation of "usable", we obtain a variety of subtyping relations: stronger subtyping relations, allowing one to share the subtype instance among different clients without any change compared with the supertype, and weaker relations, restricting the possibilities of interference of different clients on the subtype instance. The subtyping relations are taxonomically ordered in a hierarchy. The concept of "usability" is formalised via testing scenarios, which provide alternative characterisations for the subtyping relations.