Skip to Main content Skip to Navigation
Conference papers

A Calculus for Boxes and Traits in a Java-Like Setting

Abstract : The box model is a component model for the object-oriented paradigm, that defines components (the boxes) with clear encapsulation boundaries. Having well-defined boundaries is crucial in component-based software development, because it enables to argue about the interference and interaction between a component and its context. In general, boxes contain several objects and inner boxes, of which some are local to the box and cannot be accessed from other boxes and some can be accessible by other boxes. A trait is a set of methods divorced from any class hierarchy. Traits can be composed together to form classes or other traits. We present a calculus for boxes and traits. Traits are units of fine-grained reuse, whereas boxes can be seen as units of coarse-grained reuse. The calculus is equipped with an ownership type system and allows us to combine coarse- and fine-grained reuse of code by maintaining encapsulation of components.
Document type :
Conference papers
Complete list of metadata

Cited literature [27 references]  Display  Hide  Download

https://hal.inria.fr/hal-01054624
Contributor : Hal Ifip <>
Submitted on : Thursday, August 7, 2014 - 4:40:43 PM
Last modification on : Friday, August 11, 2017 - 3:34:42 PM
Long-term archiving on: : Wednesday, November 26, 2014 - 1:52:30 AM

File

paper.pdf
Files produced by the author(s)

Licence


Distributed under a Creative Commons Attribution 4.0 International License

Identifiers

Citation

Lorenzo Bettini, Ferruccio Damiani, Marco Luca, Kathrin Geilmann, Jan Schäfer. A Calculus for Boxes and Traits in a Java-Like Setting. 12th International Conference on Coordination Models and Languages (COORDINATION) Held as part of International Federated Conference on Distributed Computing Techniques (DisCoTec), Jun 2010, Amsterdam, Netherlands. pp.46-60, ⟨10.1007/978-3-642-13414-2_4⟩. ⟨hal-01054624⟩

Share

Metrics

Record views

331

Files downloads

342