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