Modelistic
From Wikipedia, the free encyclopedia
Modelistic JME is a commercial Java visualization product packaged as an Eclipse Feature. It brings together aspects of the Eclipse JDT Java Model, Set Theory, Class Diagrams and XP/Agile Methods. The results resemble reverse engineered CASE tool drawings, but are faster to create, require no maintenance, and reveal the detail of only one concern at a time.
Contents |
[edit] Foundations
Modelistic JME is loyal to the Java programming language, the Eclipse IDE and XP/Agile methods. It conforms to UML as far as possible within the constraints of these loyalties.
[edit] JDT
The Eclipse JDT model performs a number of functions in the Eclipse Java IDE, including populating the package explorer and type hierarchy trees. Modelistic JME taps into that same source of information to populate its class diagrams. Consequently, each diagram needs only to store the fully qualified names of the classes it depicts.
[edit] Set Theory
Borrowing from Set Theory to some extent, a set of JDT model elements (types, fields and methods) can be declared in XML. The criteria for membership of a declared set are:
- Depends Upon
- Fields
- Initializers
- Methods
- Modifier
- Name
- OtherSet
- Owner
- Owns
- ReadOnly
- Tag
- Types
These criteria can be combined by OR, AND and NOT to define an Element Set. Unions, intersections, and complements can be declared using the OtherSet criterion.
These sets are used to:
- Define if and how an element should be presented
- Control the order in which members should be listed
- Declare a stereotype
[edit] Class Diagrams
The visualizations are UML class diagrams, and these can be printed or exported as JPEG images. With the feature installed, class diagrams appear along side source file editors in the Eclipse IDE and navigation is possible from any element on a diagram back to its source code.
[edit] XP/Agile Methods
To comply with the XP target of minimal documentation, no presentation-specific information is stored with a diagram. From the bare list of class names, all other information - class members, inner classes, inheritances, associations and dependencies - is derived from Eclipse. The intention is that the diagrams serve only to increase comprehension of the coding model which they illustrate. Making diagrams fully automatic reduces the tendency for programmer time to be wasted repeatedly preening the appearance of diagrams.
[edit] History
The company was started in 1998, and released its first product, Modelistic, in September 2000. Modelistic was a full round trip Java modeling tool packaged as a stand alone Java Swing application. Two years later the company realised that most of its customers wanted reverse engineering only, mainly because they were uncomfortable with their hand-written code being edited by software. In 2002, work started on a new tool better adapted to needs of Java programmers, and in particular the XP/Agile community. The first beta release of Modelistic JME happened in 2004, and full releases followed in 2005.