Using Collaborations to Encapsulate Features? An Explorative Study.

Martin Kuhlemann, Norbert Siegmund, Sven Apel · 2010

Abstract—A feature is a program characteristic visible to an end-user. Current research strives to encapsulate the implemen-tation of a feature in a module. Jak is a language extension to Java that allows programmers to encapsulate implementations of features in the form of a collaboration. In prior work, we and others faced problems when using collaborations in Jak and alike languages with too high expectations, e.g., to encapsulate widely scattered code of features such as transaction management in data bases. In this paper, we explore which criteria feature implementations must fulfill so that they can be encapsulated in Jak. The criteria that we found decisive are: granularity of code elements that should be encapsulated in a collaboration, object-level extension by features, and object-oriented connections of a feature’s code elements. We finally present a general guideline when to encapsulate a feature with a collaboration in Jak. Prac-titioners can now evaluate in advance whether Jak collaborations are suited to encapsulate their feature or not. I.

Read the paper · More papers on PaperTik