Integrating JAsCo Artifacts in the Concern Manipulation Environment
Type: Apprenticeship project
Assistant(s): Wim Vanderperren, Davy Suvee
Supervisor: Viviane Jonckers
Student(s)
Len Feremans
Program: 2e licentie toegepaste informatica
E-mail: lfereman@vub.ac.be
GSM: 0485993573
Description
The purpose of my stage is to build a loader for jasco aspects and connectors. Karel Bernolet, another stage student, does an other facet of this apprenticeship, which is extraction and composition using jasco. The loader is plugin for an aosd tools framework called the CME (Concern Manipulation Environment). The CME is a plugin for eclipse. My thesis subject is Aspect Refactoring.
About the JAsCo loader
- It's a plugin for the CME plugin.
- The CME already has a loader for java classes. For java classes the CME show you an outline view of your java projects (all classes, fields, methods, …). Various relation are stored such as the class-implements-class relation or the method-calls-method relation. Users can also query this model (example: get all classes who contain a method witch calls Logger.log(String) ). The CME can thus be used for aspect-mining (in the future extraction and composition will be supported better).
- The idea behind the jasco loader is to do a similar thing. It intension is to integrate jasco details into the concern model of the CME. Thus constructing an outline view of the jasco aspect and connectors and then add various relations between various jasco artifacts and between jasco and java. An interresting relation supported is the connector-connects-hook relation. Another interresting feature of the loader is that pointcuts(defined in source by a connector and a hook) are now visible explictly.
- The loader works as like this:
- First parse jasco source.
- For each node in parste tree do: convert node to (language-neutral) concern model-representation
- Make relations between elements in different jasco/java files.
Current Status
The loader for jasco aspects and connector is finished. The connector loader allows jasco programmers to display the pointcut. Thus users can select a java method in the concern manager view and see which connectors add advice to it. Below is a screenshot(click to zoom in) of the Concern Manipulation Environment. To the left you can see the concern manager showing details (much like an outline view) of a jasco aspect and connector. Many relations are also shown. Visit the demo page to view an screencapture of the CME.
Presentations or other documents
Links
- Original proposal (in Dutch)
- Papers about CME. Two very interesting and readable papers are: