|
|
|
||||||||||||||||
|
|||||||||||||||||
|
Making a product that is user friendly and helpful to designers is a tradition with ArgoUML. In fact, Jason originally started ArgoUML with the intension that it be "a joy to use." Hamburg's s Gentleware, lead by Dr. Marko Boger, has been actively involved in ArgoUML development, and now continues in that tradition. Gentleware has now published a re-worked version of ArgoUML called Poseidon for UML, Community Edition 1.0. And Gentleware intends to incorporate even more designer-centric capabilities into Poseidon, including some based on Extreme Modeling concepts - including models that execute - a design centered way of eliminating the gap between design and testing. There is already some Extreme Modeling capabilities in ArgoUML - it's "To Do list." The To Do Lists automatically suggests and keeps track of model improvements. See the "An example of eXtreme Modeling" on the extrememodeling.org (XM) Web site (which also happens to be maintained by Marko Boger). A major objective discussed on the XM site is eliminating the huge time distance between modeling and testing. This, Gentleware plans to do by animating UML - that is by making models "executable." To this end, Gentleware first researched Petri Nets. Petri Nets, named after Dr. Carl Adam Petri, of the University of Hamburg, are a powerful directed graph analysis and visualization method. The XM site has a white paper (post script) that described the potential use of Petri Nets with UML. This article contains:
Note: Just to avoid confusion, there are other XM and XP related Web sites with similar names. There is a related (but different) site which used to be called "extreme-modeling.org" (with a hyphen) created by Scott Ambler, It is now called Agile-Modeling.Com. Apache notes: A number of Tigris hosted products use Jakarta Apache products - including ArgoUML which uses Ant. My favorite concept product hosted at Tigris, "RelOrg" also uses Ant. Relorg is designed to help release a product from engineering. It's motto "Saving the World one RPM at a Time." Gentleware has also incorporated the use of Jakarta Velocity into Poseidon. |
Marko Boger leads the Gentleware project and is also the developer of the Extreme Modeling website. Java Skyline was able to ask him some questions about Gentleware's development of Poseidon.
Java Skyline: Just
a couple questions what special features are you supporting for Extreme Modeling? Refactoring? Dependency chasing?
Is this in Poseidon or in a different product?
Marko Boger: These
are features we are working on. In fact, the development of such features was the original intention to get involved
with ArgoUML as research project. When we then decided to productize ArgoUML as Poseidon, we had to put these aside
for a while to get the basics right.
JS: Is Poseidon now different from ArgoUML?
Marko: The user interface is (almost) identical. But under the
hood there is a completely new architecture. This allows for features like undo/redo, copy/cut/paste, drag-and-drop
and the integration into Forte/Netbeans. Also there are a number of bug fixes. Generally speaking, Poseidon lifts
ArgoUML to a professionally usable tool.
JS: Does
Tigris ArgoUML still exist?
Marko: Yes, it does.
And we are still member of the community developing it. I personally am one of five "project owners"
and "module owner" of Argo. And other members of Gentleware have similar roles. We were part of the core
development team of Argo and from there decided to make working on Argo our profession. ArgoUML is still being
actively developed. The difference is that ArgoUML is opensource while Poseidon is not. Everything we are willing
to release as opensource goes back to the ArgoUML code base.
JS: When was the latest release of Poseidon?
Marko: Poseidon
for UML Community Edition is currently in public beta. We have released the first beta version (beta 4) at the
JavaOne 2001 in June. The latest release is beta 6 which was released first week of August. There will be one more
beta release until we make the final 1.0 version available in October. After that we will also release commercial
editions.
JS: Is the idea of using Petri Nets to be able to close the
gap between the design and testing phases?
Marko: We indeed
started with this approach. But it proved too slow for larger applications. We are now directly producing Java
code.
JS: Which diagrams would benefit from this?
Marko: State diagrams
and activity diagrams.
JS: How does
the Renew program help?
Marko: Renew is
the petrinet engine we used to use. Renew was developed at the University of Hamburg and we closely cooperated.
It helped very much to learn how to do simulation or execution of models. But now we directly generate Java code.
JS: The To Do list feature seems rather advanced. How was the
To Do list implemented?
Marko: Credits go
mostly to Jason Robbins. He created the whole Argo project mostly to implement things like the todo list and other
cognitive support mechanisms. A thread in the background checks for rules. The rules are the hard part. Currently,
the rules are a little outdated and too many critiques are generated. We will soon rework these.
JS: Are you looking into adding more automation features - like
automatic refactoring? Would this be added to the To Do list?
Marko: The critique
mechanism is a very nice mechanism to identify spots where further work is needed. However, we do not believe that
people would want changes in their models to take place without their control.
We will add more wizards that can be triggered to do the changes automatically,
including refactorings, auto-layout, etc. Poseidon is supposed to be a general platform for UML. It will have a
plug-in mechanism that will allow extensions. Our work on Extreme Modeling will be one such extension but by far
not the only one.
JS: What you're doing sounds like a great adventure (I don't
want to call it the "Poseidon adventure" however). How did you come up with the name Poseidon?
Marko: Poseidon
is the God of Seas from Greek mythology. Argo is the name of the boat the hero Jason used in his quest for the
golden fleece. The name Argo, obviously was chosen by Jason Robbins.
Now, according to the myth the ship Argo had to pass a canion that crushes any ship that tries to pass. The Argo was saved by Poseidon who appeared and held the rocks apart. This is the story we tell in the flash on our home page (http://www.gentleware.com). The sequence is taken from a famous film "Jason and the Argonauts" by Ray Harryhausen from 1963.
What follows is a test drive of the current version of Poseidon for UML,
Community Edition 1.0. Many thanks to Marko for answering all those questions! - Rich
Test Drive:
Poseidon for UML, Community Edition 1.0
To obtain Poseidon, just click here: Poseidon for UML Community Edition 1.0. Poseidon can run under Java Web Start - as can ArgoUML so if you already have Java Web Start, just click the launch button on the Download Area page (if you need Java Web Start from Sun here's the link: Java Web Start download page ). You can also download it to your local hard drive, and download the Forte for Java/NetBeans IDE module (Poseidon can also be used with Forte for Java) if you wish.
However, obtaining a program with JWS is so easy! I opted to start Poseidon with Java Web Start.
It is a 12 meg download the first time - this can take a little time, even at DSL speeds. But the next time, response after clicking on the launch button is quite fast. Additionally Java Web Start will ask if you wish to install a desktop icon for Poseidon and set this up for you. Hopefully, more software manufacturers will take advantage of JWS.
After startup, the main screen appears - which currently looks just like ArgoUML - with an empty class diagram - so you can start entering classes right away. As is becoming common with UML tools, Poseidon and ArgoUML enable you to color the classes:
Figure 1: Poseidon/Argo User Interface
The properties sheet (right) organizes class properties into groups: operations, attributes, owned elements and so on.
Poseidon/Argo enable you to create a wide range of UML diagrams:
Figure 2: UML Diagram capabilities
The "Generate" menu provides an easy interface with the Java compiler and provides a window for compiler messages:
Figure 3: Compilation results
One distinct ArgoUML/Poseidon feature is the "To Do List."
Figure 4: The To Do List - sorted by "Decision"
The To Do list is a kind of "expert" topological database that gives you pointers on refactorings and other issues that need to be addressed in the model. You can view it in different orderings such as "By Decision" as shown above. But you can show the list by class, or in any of several other topological hierarchies including one called "Knowledge Type" (e.g. correctness, completeness, syntax, optimization).
Resources
For more information on Gentleware and Poseidon, try Poseidon with Java Web Start, or download a copy, visit the Genleware web site: http://www.gentleware.com/. For information about ArgoUML and other Tigris products visit the ArgoUML Tigris website at http://argouml.tigris.org and Tigris at http://www.tigris.org/.
Here is a list of resources.