Paper
- Type
- INPROCEEDINGS
- Title
- Object Reuse and Behavior Adaptation in Java-like Languages
- Authors
- Lorenzo Bettini, Betti Venneri
- Editors
- Christian Wimmer, Christian W. Probst
- Book
- Proceedings of Principles and Practice of Programming in Java (PPPJ)
- Pages
- 111-120
- Abstract
- Inheritance, which is a basic mechanism in mainstream object-oriented languages, introduces a strong coupling which limits modularity and code reuse. Furthermore, static class hierarchies cannot easily deal with unpredictable dynamic adaptations of the object behavior. In order to overcome these limitations, we propose new linguistic constructs for composing objects in a Java-like language. Objects are intended as featherweight components which can be used in multiple compositions, and object types specify not only the implemented functionalities, but also the required methods, which will be provided by other components during composition. Thus the language supports flexible object reuse and adaptation of the object behavior at run time. The static type discipline guarantees that method calls on well-typed object compositions are safe.
- Year
- 2011
- Bibtex key
- BV11
- Paper Url1
- http://dl.acm.org/citation.cfm?doid=2093157.2093173
- Bibtex
-
@INPROCEEDINGS{BV11, title = {{Object Reuse and Behavior Adaptation in Java-like Languages}}, author = {Bettini, Lorenzo and Venneri, Betti}, booktitle = {Proceedings of Principles and Practice of Programming in Java (PPPJ)}, editor = {Christian Wimmer and Christian W. Probst}, pages = {111-120}, abstract = {Inheritance, which is a basic mechanism in mainstream object-oriented languages, introduces a strong coupling which limits modularity and code reuse. Furthermore, static class hierarchies cannot easily deal with unpredictable dynamic adaptations of the object behavior. In order to overcome these limitations, we propose new linguistic constructs for composing objects in a Java-like language. Objects are intended as featherweight components which can be used in multiple compositions, and object types specify not only the implemented functionalities, but also the required methods, which will be provided by other components during composition. Thus the language supports flexible object reuse and adaptation of the object behavior at run time. The static type discipline guarantees that method calls on well-typed object compositions are safe.}, year = {2011}, url = {http://dl.acm.org/citation.cfm?doid=2093157.2093173}, publisher = {ACM}, } - Created
- 2011-10-10 15:34:59
- Modified
- 2012-01-13 11:34:46


