AspectMaps pages navigation: IntroductionDocumentation — Downloads —

AspectMaps is implemented in Pharo Smalltalk, using the MOOSE platform for software and data analysis. The code is open source and available at SmalltalkHub under the MIT license (see bottom of this page), and is distributed with the tool itself.

The last release of AspectMaps is 1.0.1 This minor release mainly facilitates the importing process, also allowing VerveineJ to be used within the tool, and adds a one-click re-import feature. Some small bugs have also been fixed.

To use the AspectMaps release, the easiest way is to download the one-click bundle. This is an application package that works on MacOS, Linux and Windows. It can be downloaded here. Unzip the package and doubleclick Moose.app to open the application on MacOS or, on Linux and Windows, to open the directory that contains the script to run the application. Instructions for alternative ways to download AspectMaps can be found at the bottom of this page.


Importing Eclipse Projects

To import Eclipse projects into AspectMaps two external tools are required: Firstly to generate Moose .mse files for the Object-Oriented part of the application and secondly to generate .xcr files for the Aspect-Oriented part of the application. More in detail:

  • .mse Two tools are supported by AspectMaps. We do not distribute these tools as part of AspectMaps due to licensing issues. Only one of the two needs to be downloaded, you are free to choose which. In Unix or MacOS, AspectMaps can invoke either of these tools as part of the import process. For use in Windows the .mse file needs to be generated manually and we refer to the documentation of the importers.
Name Documentation Download Advantages Disadvantages
inFamix intooitus site from intooitus site Stable Big download, slower import
VerveineJ Moose book latest succesful build Small download, faster import In beta, some export data missing


  • .xcr The mse file does not contain aspect-related information. This info is generated by XCut Report, an Eclipse plugin we implemented. We distribute a version for Eclipse Galileo (3.5) xcutreport_galileo.zip and for Eclipse Helios (3.6) xcutreport_helios.zip. To install the plugin, simply copy the .jar file to the eclipse dropins directory and (re)start Eclipse. The sources of XCut Report are also available as a .jar file xcutreport_source.zip. The plugin requires the AJDT to be installed. To use, click on the shamrock in the toolbar to enable and configure the plugin. A configuration window will be opened, shown in the picture below. Enable the output to file checkbox and enter a destination filename by clicking on the output file button. The plugin will now produce output to the selected file on each successful AJDT build.



We also distribute import-ready files for a number of projects, see the table below. As these projects originally use features of Java that are not fully supported yet by AspectMaps (e.g. declaring aspects in .java files) or rely on external libraries (e.g. AJHotdraw does this) to work, some small changes have been made to them. Hence we also include an archive of the Eclipse project directory.

Project .xcr file .mse file Eclipse project Original Site About
Spacewar spacewar2.xcr.zip spacewar2.mse.zip spacewar2.zip AJDT The running example in the AspectMaps Papers
AJHotDraw ajhotdraw.xcr.zip ajhotdraw.mse.zip ajhotdraw.zip AJHotdraw A classical example of AOP software
HealthWatcher (V09) hwv9.xcr.zip hwv09.mse.zip hwv09.zip TAO Part of TAO : A testbed for AOSD

Feel free to contact Johan for more information and/or an up-to-date version of the code of XCut report.


Additional info

The AspectMaps publication at ICPC 2011 discusses the AspectMaps visualization in more depth. As part of the ICPC 2011 publication, we include here the complete results of the user study. Results were originally processed in the Numbers application of iWork, exported here as excel file for compatibility, which caused some formulas to be replaced with their values. userstudy.xls


Complete Download Instructions

AspectMaps can be downloaded in three different ways. In order of increasing difficulty these are the following:

  1. Download the AspectMaps 1.0.1 one-click bundle. This is an application package that works on MacOS, Linux and Windows. It can be downloaded here. Unzip the package and doubleclick Moose.app to open the application on MacOS or to open the directory on Linux and Windows that contains the script to run the application. This one-click package was built by obtaining the Moose 4.3 release and loading AspectMaps from source (see below). Many thanks to the Moose devleopers for providing this one-click bundle! Please note: there have been reports of difficulties with Moose one-click bundles on Windows. If you are unable to use this bundle please choose the following option.
  2. If you have Pharo (or just the Cog Virtual Machine) installed, download the image. The AspectMaps image is available here. To run AspectMaps, unzip the archive and run Cog with 'AspectMaps.image' as argument. Typically if Cog is started without an argument it will prompt for an image file. This image was extracted from AspectMaps one-click bundle.
  3. Obtain the 4.3 release of Moose and load AspectMaps from source. The Moose release can be obtained from http://www.moosetechnology.org/download/4.3. The source of AspectMaps is available at SqueakSource http://www.squeaksource.com/AspectMaps.html. The AspectMaps 1.0.1 images above were produced by loading the packages TraitsApplication-JohanFabry.3 Famix-Aspix-johanfabry.45 and AspectMaps-johanfabry.97 (in that order).

In case of any problems downloading, installing, or running AspectMaps please do not hesitate to contact Johan for help!


License

AspectMaps is available under the MIT License

Copyright © 2010 Johan Fabry, Simon Denier, Andy Kellens

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.