====== JAsCoCME ====== Eclipse Concern Manipulation Environment plugin for supporting concern mining, modularization and composition using JAsCo AOP. The plugin supports: * Representation of JAsCo artifacts in concern model. * Representation of relationships among JAsCo artifacts and between JAsCo artifacts and Java artifacts. * Queries on artifacts and relationships. * Automatic concern extraction to a JAsCo aspect bean and connector. {{eclipse:screenshotv2.jpg}} ====== Getting started ====== The ideal starting point for getting to know the main ideas and concepts of the Concern Manipulation Environment is the [[http://www.eclipse.org/cme/|CME website]]. Aside from several papers describing the internal components of the CME it also contains instructions on installing and experimenting with the CME. JAsCo is an advanced aspect-oriented programming (AOP or AOSD) language. The main contributions of the JAsCo language are its highly reusable aspects and its strong aspectual composition mechanism for managing combinations of aspects. The JAsCo technology excels at providing dynamic integration and removal of aspects with a minimal performance overhead.More information about this approach can be found at the [[http://ssel.vub.ac.be/jasco/|JAsCo website]]. ====== System Requirements ====== * Windows 2000/XP or Linux * JDK 1.4+ (JDK1.5 recommended) * Eclipse 3.0 ====== Installation instructions ====== The JAsCo CME plugin consists out of 2 parts: * An extension for the CME ConMan component such that JAsCo artifacts are visible within the CME concern explorer. This part also extends the PUMA query engine such that JAsCo artifacts can be queried upon. * An extraction component that allows to extract identified crosscutting concern towards JAsCo artifacts. **WARNING:** the extraction is only proof-of-concept and will fail in a lot of cases. We anticpate to implement it properly once an extensible extraction component is available in the CME itself. The JAsCo ConMan component is developed as a modular extension which can be plugged into an existing CME install. The current extraction component implementation is however hard-wired within the CME implementation as no pluggable extraction framework is currently available. In order to use the JAsCo extraction component, a custom CME install with JAsCo extraction enabled needs to be installed. Employ the following installation steps: - Install the JAsCo plugin for Eclipse by employing the built-in update manager using the following url: http://ssel.vub.ac.be/jasco/update/. If you don't know how to use the update manager, [[eclipse:updatemanager|click here]] for a detailed explanation. (This step can be skipped if the JAsCo Eclipse plugin was already installed.) For more information about JAsCoDT, see [[eclipse:jascodt|this page]]. - Install the CME plugin for Eclipse. Two alternatives are available: - If you want to employ the JAsCo concern extraction feature for the CME, install our custom CME build (based on CME 0.2) by employing the built-in manager using the following url: http://ssel.vub.ac.be/jasco/cme/custom/update. - If you are not interested in the extraction feature, install the default CME build. More information can be found at the [[http://www.eclipse.org/cme/|CME website]]. - Install the JAsCo ConMan plugin for the CME by employing the built-in update manager using the following url: http://ssel.vub.ac.be/jasco/cme/plugin/update. ====== Documents concerning the JAsCo CME plugin ====== At the moment, a complete manual concerning the JAsCo CME plugin is not available. However, we have several documents available describing the JAsCo CME plugins, as well as a set of flash demos demonstrating the plugin in action. * [[http://wilma.vub.ac.be/~lfereman/len/version1/project/unzipped/doc/manual.html|Jasco ConMan plugin manual (draft)]] * [[http://wilma.vub.ac.be/~lfereman/len/demo/|Jasco loader demo screencapture]] * [[http://wilma.vub.ac.be/~lfereman/len/STAGEREPORTFINAL.pdf|Apprenticeship report of Len Feremans concerning the JAsCo ConMan plugin for the CME]] * [[http://wilma.vub.ac.be/~kbernole/stage/documents/stageverslag.pdf|Apprenticeship report of Karel Bernolet concerning the JAsCo concern extraction support for the CME]] In the future more elaborated information will be made available. You also might want to subscribe to the [[documentation:main#jasco_users_mailing_list|JAsCo mailinglist]] for the latest information on JAsCo. ====== Source code for the JAsCo CME plugin ====== The source code of both the JAsCo ConMan plugin and concern extraction support is publically available. Browse their corresponding subversion repositories: [[https://ssel.vub.ac.be/viewcvs/viewcvs.py/svn-gen/jasco-cme/|JAsCo ConMan Plugin]] and [[https://ssel.vub.ac.be/viewcvs/viewcvs.py/svn-gen/cme/|Custom CME with JAsCo extraction support]]. You can also check out their implementation using anonymous access: * Conman loader plugin for CME: svn checkout http://ssel.vub.ac.be/svn-gen/jasco-cme * Our custom CME build: svn checkout http://ssel.vub.ac.be/svn-gen/cme