This project has focused on reflective architectures as the means to
provide separation of concerns with dynamic association and handling of
conflicts between these concerns.
A Bit of History
At first we focused on a two-level architecture which supported dynamic
association between the cross-cutting aspects and the functional or base
components. This was implemented in Smalltalk and then Java, with the characteristic
that the incorporation of these additional properties did not require modifications
to the original application code. This naturally developed into the proposal
of multi-level separation of concerns, so that the interaction between
the concerns was not limited. The need then arose for the handling of conflicts
between competing concerns or aspects.
At the same time, other work was focusing on the development of architectures
with a flexible reflective mechanism, such that they could be used for
applications with the need for different reflective capabilities.
A framework combining all this work has now been developed, and a tool
for the instantiation of the framework has been implemented. This tool
- Alpheus - assists the user in the specification of all the concerns of
the system, grouping objects with similar functionality into separate planes
(or concerns). Associations between components from different planes and
the specification of potential conflicts between components, are also specified
with the guidance of the tool. Alpheus then generates the Java code corresponding
to the specified application, instantiating the reflective framework.
Publications
Alpheus
Alpheus
is a tool for the construction of reflective applications in Java, assists
in the specification of cross-cutting concerns, associations and conflicts.
Members:
Claudia Marcos
Jane Pryor
Students:
Natalio Bastán
Andrés Ramos
Federico Valentino
Last update: 25th September, 2001.