[ Index ] [ Individual Project ] [ Placement Presentation ] [ Timetable ]

[ Index ] [ Research ] [ Schedule ]

Software Design

Last Updated: 1st December 2001

The first step is to translate Shak's project over to JMX, at least parts of it. At this moment in time I consider the follow components redundant:

It appears that the JMX architecture will provide the file transfer mechanism and the Java packaging standard will handle versioning.

JMX Agent Architecture

The JMX Agent Architecture

The above diagram shows how the JMX agent will work. I intend to port the rule server as a agent service mbean. The GUI interface to add new versions of libraries will be a JMX enabled Swing application. Checking for binary compatibility will remain within the rule server and the GUI will be simply for adding new libraries/rules and browsing/altering what is currently in there.

All applications that want to take advantage of the automated updating to the latest binary compatible libraries will need to be JMX-enabled themselves. Hopefully this can be done via implementing an interface or extending an abstract class, ideally the former.

I also hope to implement the rest of the binary compatibility rules outlined in the Java Language Specification (JLS). Currently ten (the most common) have been implemented out of the 28 described in the JLS. Although this is bordering on 'busy implementation' work it is quite important if this type of framework is to be ever considered useful on an actual development project.

The above weaknesses were all mentioned in the 'Future Work' section of Shak's report hence make a good starting point. My examination of this report didn't discover any other problems (aside from security, which will be altered). Unfortunately I disagree with some of his suggestions:


Miles Barr <miles@milesbarr.com>