Algebraic theory of processes
A Theory of Objects
A Fully Abstract May Testing Semantics for Concurrent Objects
LICS '02 Proceedings of the 17th Annual IEEE Symposium on Logic in Computer Science
Full Abstraction for First-Order Objects with Recursive Types and Subtyping
LICS '98 Proceedings of the 13th Annual IEEE Symposium on Logic in Computer Science
Proceedings of the Third international conference on Formal Methods for Components and Objects
FMCO'04 Proceedings of the Third international conference on Formal Methods for Components and Objects
Java JR: fully abstract trace semantics for a core java language
ESOP'05 Proceedings of the 14th European conference on Programming Languages and Systems
Modular specification of encapsulated object-oriented components
FMCO'05 Proceedings of the 4th international conference on Formal Methods for Components and Objects
A fully abstract semantics for UML components
FMCO'04 Proceedings of the Third international conference on Formal Methods for Components and Objects
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
Game semantics for interface middleweight Java
Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
Hi-index | 0.00 |
Object calculi have been investigated as semantical foundation for object-oriented languages. Often, they are object-based, whereas the mainstream of object-oriented languages is class-based. Considering classes as part of a component makes instantiation a possible interaction between component and environment. As a consequence, one needs to take connectivity information into account. We formulate an operational semantics that incorporates the connectivity information into the scoping mechanism of the calculus. Furthermore, we formalize a notion of equivalence on traces which captures the uncertainty of observation cause by the fact that the observer may fall into separate groups of objects. We use a corresponding trace semantics for full abstraction wrt. a simple notion of observability. This requires to capture the notion of determinism for traces where classes may be instantiated into more than one instance during a run and showing thus twice an equivalent behavior (doing a “replay”), a problem absent in an object-based setting.