A behavioral notion of subtyping
ACM Transactions on Programming Languages and Systems (TOPLAS)
Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineering
Featherweight Java: a minimal core calculus for Java and GJ
ACM Transactions on Programming Languages and Systems (TOPLAS)
Ownership types for safe programming: preventing data races and deadlocks
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Interface Compatibility Checking for Software Modules
CAV '02 Proceedings of the 14th International Conference on Computer Aided Verification
Object ownership and containment
Object ownership and containment
Ownership confinement ensures representation independence for object-oriented programs
Journal of the ACM (JACM)
Preliminary design of JML: a behavioral interface specification language for java
ACM SIGSOFT Software Engineering Notes
The spec# programming system: an overview
CASSIS'04 Proceedings of the 2004 international conference on Construction and Analysis of Safe, Secure, and Interoperable Smart Devices
Abstract interface behavior of object-oriented languages with monitors
FMOODS'06 Proceedings of the 8th IFIP WG 6.1 international conference on Formal Methods for Open Object-Based Distributed Systems
A core theory of interfaces and architecture and its impact on object orientation
Proceedings of the 2004 international conference on Architecting Systems with Trustworthy Components
CoBoxes: Unifying Active Objects and Structured Heaps
FMOODS '08 Proceedings of the 10th IFIP WG 6.1 international conference on Formal Methods for Open Object-Based Distributed Systems
Linking Programs to Architectures: An Object-Oriented Hierarchical Software Model Based on Boxes
The Common Component Modeling Example
Separating ownership topology and encapsulation with generic universe types
ACM Transactions on Programming Languages and Systems (TOPLAS)
A calculus for boxes and traits in a java-like setting
COORDINATION'10 Proceedings of the 12th international conference on Coordination Models and Languages
Combining traits with boxes and ownership types in a Java-like setting
Science of Computer Programming
Hi-index | 0.00 |
Behavioral semantics abstracts from implementation details and allows to describe the behavior of software components in a representation-independent way. In this paper, we develop a formal behavioral semantics for class-based object-oriented languages with aliasing, subclassing, and dynamic dispatch. The code of an object-oriented component consists of a class and the classes used by it. A component instance is realized by a dynamically evolving set of objects with a clear boundary to the environment. The behavioral semantics is expressed in terms of the messages crossing the boundary. It is defined as an abstraction of an operational semantics based on an ownership-structured heap. We show how the semantics can be used to define substitutability in a program independent way.