Larch: languages and tools for formal specification
Larch: languages and tools for formal specification
Ownership types for flexible alias protection
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Representation independence, confinement and access control [extended abstract]
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Featherweight Java: a minimal core calculus for Java and GJ
ACM Transactions on Programming Languages and Systems (TOPLAS)
Using data groups to specify and check side effects
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Component Software: Beyond Object-Oriented Programming
Component Software: Beyond Object-Oriented Programming
Microsoft C# Language Specifications
Microsoft C# Language Specifications
Java Language Specification, Second Edition: The Java Series
Java Language Specification, Second Edition: The Java Series
Data abstraction and information hiding
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
Towards a formalization for COM part i: the primitive calculus
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A Programmer's Reduction Semantics for Classes and Mixins
Formal Syntax and Semantics of Java
ECCOP '98 Proceedings of the 12th European Conference on Object-Oriented Programming
Object ownership and containment
Object ownership and containment
Assertion-based encapsulation, object invariants and simulations
FMCO'04 Proceedings of the Third international conference on Formal Methods for Components and Objects
Observability, connectivity, and replay in a sequential calculus of classes
FMCO'04 Proceedings of the Third international conference on Formal Methods for Components and Objects
A type system for checking applet isolation in java card
CASSIS'04 Proceedings of the 2004 international conference on Construction and Analysis of Safe, Secure, and Interoperable Smart Devices
An Algebraic Semantics for Contract-Based Software Components
AMAST 2008 Proceedings of the 12th international conference on Algebraic Methodology and Software Technology
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
Location types for safe programming with near and far references
Aliasing in Object-Oriented Programming
Hi-index | 0.00 |
A well-defined boundary of components allows to encapsulate internal state and to distinguish between internal calls that remain inside the component and external calls that have target objects outside the component. From a static point of view, such boundaries define the programmer's interface to the component. In particular, they define the methods that can be called on the component. From a dynamic point of view, the boundaries separate the component state and those parts of the program state outside the component. In this tutorial paper, we investigate encapsulated components that are realized based on object-oriented concepts. We define a semantics that captures a flexible notion of hierarchical encapsulation with confined references. The semantics generalizes the encapsulation concepts of ownership types. It is used as a foundation for modular behavioral component specifications. In particular, it allows to provide a simple semantics for invariants and an alternative solution for the frame problem. We demonstrate this new specification methodology by typical programming patterns.