Exotic Eclipse plugins of the week

Currently developing Eclipse plugins, I am constantly searching for things on the net. Have to admit that PDE documentation is very scarce as soon as you enter into the depths of Eclipse such as tight integration with the search mechanism or extending JDT. Searching this kind of things, absolutely by pure chance I have found two not very known Eclipse plugins.


UrbanSim is a “software-based simulation model for integrated planning and analysis of urban development”, and it's an Eclipse plugin ! Something like SimCity for geeks, without the fancy graphics. You can only log different urban evolution data and subsequently process it with your own tools if you want to. For real fun, computed data can be extracted from the database (yes, you have to install MySql) and viewed with a GIS tool such as ArcView. Not valuable per se for us Java developers but :

- all the code is downloadable (GPLed). Some of algorithms might be worth a look.

  • UrbanSim includes a suite of acceptance tests derived from the FIT framework. AFAIK this is the first time FIT is used in a large open-source project.

  • (their own) continuous integration system Fireman is also visible on the net. Hey, where can I download that ?

A presentation of UrbanSim is in the program of EclipseCon 2004.

![Jupiter plugin](/static/resources/jupiter.gif) From the Collaborative Software Development Laboratory Department of Information and Computer Sciences, University of Hawaii, a plugin called [Jupiter](http://csdl.ics.hawaii.edu/Tools/Jupiter/), which is described as “a code review plug-in tool for Eclipse to facilitate review process”. The plugin allows management of code annotations, storing “reviews” in an XML file, which can be shared with your team by CVS. This makes it much more than a code review tool, since it is quite possible to use the Jupiter “reviews” in order to share bug reports, enhancement requirements etc. What's interesting is that you can relate the reviews to specific Java code, this is a great feature; AFAIK missing from the mainstream issue trackers. A missing feature from Jupiter are issue metrics, but computing them from the XML files shouldn't be a difficult task. I see Jupiter more as a complement to traditional issue databases more than as a replacement, for different reasons:

  • is accessible only from Eclipse in Java development environment (would have been nice to be able to annotate other types of files)

  • in bigger teams, the XML files containing the reports are probably subject to frequent CVS conflicts

  • there is no review “history”, thus the project dynamics will not be available unless you process somehow all the CVS revisions of review files

To conclude, Jupiter is somewhere between a smarter, enriched TODO with filters and a a poor man issue tracker. Worth a try.

Also from CSDL, there is the Hackystat project which plays in a totally different league. Hackystat “provides automated support for collecting and analyzing metrics of the process and products of software development”. Technically, it's a server with a JSP frontoffice, aggregating data received via SOAP from various “sensors” installed in developer's tools : IDEs like Eclipse, build tools such as Ant, testing tools such as Junit. Something like a BigBrother approach for PSP, everything you do is tracked, measured and put in a chart or on a graph. I strongly suspect that this type of tools will soon be available commercially and used by management for performance evaluation of software engineers. NOT necessarily a good thing.

Note that CSDL teams are using their own, inhouse-developed, tool for code coverage, [JBlanket](http://csdl.ics.hawaii.edu/Tools/JBlanket/).