Chisel 
logo  Computer Human Interaction & Software 
Engineering Lab

Creole - Download and Get Started

Last updated: August 10, 2007

General Description

Creole is the term used to describe our plug-in to the Eclipse platform which integrates Shrimp with the platform's Java Development Tools (JDT) . With Creole you can explore your Java code visually allowing you to see its structure and the links (calls, accesses, etc) between its different pieces. Creole adds its own perspective to the eclipse platform, and a number of new views, most notably the Creole Main View.

Requirements

  • Eclipse 3.2 or 3.3 (download at www.eclipse.org/downloads/)
  • at least 700 MHz processor
  • 512 MB RAM recommended
  • 1024 x 768 screen resolution recommended
  • Operating System:
    • Windows with Java 1.4.2, 1.5, or 1.6
    • Linux with Java 1.5 (Note: Creole will not work at all on Linux with Java 1.4.2 and may only work on certain Linux variants with Java 1.5)
    • Mac - Sorry Mac users, Creole will not work at all on the Mac. (See "Known Issues" below for more details.)

Download and Installation Instructions

  1. Download and unzip "Creole" into your main "eclipse" directory. (Ex. "C:\Program Files\eclipse\"). This is the directory that has the main eclipse executable (Ex. eclipse.exe) and the "plugins" and "features" subfolders.
  2. Restart (or start) eclipse.

To Use

  1. Make sure you have a "Java" project in your workspace.
  2. Open the Creole Perspective (from the main menu go to Window > Open Perspective > Other... and choose Creole) or the Creole Main View (from the main menu go to Window > Show View > Other... and choose Creole Main View).
  3. You can now drag and drop any group of selected java elements (packages, classes, methods, etc.) into the Creole Main View. A working set will automatically be created for these elements and displayed by Creole. You can also drag directly on to one of the Quick View buttons (on the left side of the Creole Main View) to show a specific view.
  4. Try the "Quick Views" menu for some sample views.
  5. Some nodes may take some time to display. This is because Creole is determining all the arcs (type references, method calls, field accesses, etc) for that particular node. In order to speed things up, you can choose a smaller working set via Creole Main View menu > Edit > Change Working Set...." You can also define a more fine grained data set by changing Creole's "data filters" via Creole Main View menu > Tools > Options > Data Filters
  6. There are a few preferences in Window > Preferences > Creole
    1. Hide .java Files: .java files are hidden by default in Creole.
    2. Gather CVS Attributes: If your java project is connected to a CVS repository then Creole can gather some information from it, such as author with most commits, number of revisions, date of last commit. These attributes can be explored via Creole Main View menu > Tools > Attribute Panel. (Note: These attributes can take a while to collect from the repository.)
    3. Show Packages Hierarchically: By default, packages are shown hierarchically. For example, package "com.anyco.anyproduct.x" will be considered a child of package "com.anyco.anyproduct"
    4. Extract Relationships As Needed: By default, the relationships between code elements are only "extracted" when needed. There may be some situations however, when it is preferable to uncheck this preference to have all relationships extracted when Creole starts up.

      * Note: You may need to refresh Creole after changing any of these preferences (Creole Main View menu > Edit > Refresh)

  7. More information on how to use Creole can be found in the User Manual.

Help and Support

Send any bug reports, questions, comments, and feature requests to chisel-support@cs.uvic.ca . You can also submit bugs and feature requests at our sourceforge site.

Known Issues

  • Speed
    • It can take some time manage and display large amounts of data. Try selecting smaller working sets for Creole to visualize via "Creole Main View menu > Edit > Change Working Set..." You can also explore Creole's "data filters" via "Creole Main View menu > Tools > Options > Data Filters" to filter out specific arc and node types from getting into the data. In the future, we want to have the option to click on a node and select specific types of arcs that you want to see for this particular node.
  • Memory
    • Eclipse may run out of memory while trying to visualize large working sets. To increase the heap size try running eclipse with the arguments
      "-vmargs - Xmx[your amount of RAM in megabytes]M" to give eclipse more memory.
      (for example: eclipse.exe -vmargs -Xmx1024M)
    • An easier way to do this is to edit the eclipse.ini file:
        -vmargs
        -Xms256m
        -Xmx1024M
    • Creole also has some memory leaks and you may have to restart eclipse after some time.
  • GUI

    • SHriMP was developed using Swing whereas eclipse uses SWT. Some problems result from the embedding of our swing components inside SWT components such as:
      • Flickering
      • Must use Java 1.5 if running Creole on Linux
      • Creole will not work at all on the Mac. Perhaps the upcoming Eclipse 3.1.0 with Java 1.5 will allow this to happen.
  • Code Changes
    • Currently Creole does not listen for any changes made to the source code that it is visualizing. Select "Creole Main View menu > Edit > Refresh" to refresh the whole view.
  • Fact Extraction
    • Some relationships are not found between "anonymous" classes.

Open-Source

Creole is an open-source project hosted at SourceForge. Source code for the latest Creole build can be found on our SourceForge website.