The Open UniversitySkip to content

Reflective Composition: the declarative composition of roles to unify objects, roles, and aspects [poster session]

Holland, Simon (2004). Reflective Composition: the declarative composition of roles to unify objects, roles, and aspects [poster session]. In: Conference on Object Oriented Programming Systems Languages and Applications (OOPSLA 2004) (Vilissides, John and Schmidt, Doug eds.), 24-28 Oct 2004, Vancouver, BC, Canada, ACM Press, pp. 224–225.

Full text available as:
PDF (Accepted Manuscript) - Requires a PDF viewer such as GSview, Xpdf or Adobe Acrobat Reader
Download (117Kb) | Preview
Google Scholar: Look up in Google Scholar


As bases for object-orientation, both class-based and prototype-based organization have limitations. We argue that roles have significant benefits as a foundation for organizing objects. We further argue that these benefits can be realised most flexibly using logic meta-programming. Additional benefits from this approach are to reduce redundancy and subsume aspects.

Item Type: Conference Item
ISBN: 1-58113-833-4, 978-1-58113-833-7
Keywords: Role-based programming; Logic programming; Logic meta-programming; Roles; Role Models; Composition; object-oriented programming; Generative Programming; Aspects; Aspect-oriented Programming; viewpoints; perspectives;
Academic Unit/Department: Mathematics, Computing and Technology > Computing & Communications
Mathematics, Computing and Technology
Interdisciplinary Research Centre: Centre for Research in Computing (CRC)
Item ID: 5693
Depositing User: Simon Holland
Date Deposited: 19 Mar 2007
Last Modified: 24 Feb 2016 03:32
Share this page:

Download history for this item

These details should be considered as only a guide to the number of downloads performed manually. Algorithmic methods have been applied in an attempt to remove automated downloads from the displayed statistics but no guarantee can be made as to the accuracy of the figures.

▼ Automated document suggestions from open access sources

Actions (login may be required)

Policies | Disclaimer

© The Open University   + 44 (0)870 333 4340