Generic roles for increased reuseability
ISSN der Zeitschrift
Software Engineering 2012
Regular Research Papers
Gesellschaft für Informatik e.V.
Role-based programming, as in the Object Teams/Java (OT/J) language, aims to improve object-oriented programming with regard to separation of crosscutting or context-related concerns. Therefore, OT/J introduces class-like modules for roles and context, which connect common classes to build collaborations. However, since role and base objects are directly linked, it implies strong coupling and limited possibilities of reuse. This research aims to create a generic way of expressing connections between a collaboration and its base in order to further decouple modules and enhance their reusability. We introduce a quantification mechanism based on logic meta-programming in Prolog that allows using generic references to declaratively defined program elements, which are transformed to build valid OT/J code. We propose that the use of logic meta-variables improves the expressiveness and genericity of rolebased programming.