Dec 13, 2004

Gentleware's Poseidon 3.0 Released...

In October, Gentleware released Poseidon 2.6, an impressive UML CASE tool. One of my reservations on recommending Poseidon was that in some operations, it really felt heavy. In Poseidon 2.6, their team really came through and made many operations in Poseidon faster.

I kept on meaning to talk about that here, but the week that I was planning on talking about it, I got news that Poseidon 3.0 was coming out, and so I decided to wait a bit more because 3.0 was looking even more impressive.

One of the main features of 3.0 is the Eclipse integration; as I am primarily a JBuilder user and only starting to use Eclipse here and there, I cannot say that I have used this a lot. To generalize the feature, it essentially throws your Poseidon project within your Eclipse project and from this, it allows you to either switch to the UML perspective directly, where you essentially feel as if you are natively in Poseidon, or it allows you to select classes from the Navigator and see them in the UML perspective. Coupled with the round-trip engineering, your changes in Eclipse are directly available in Poseidon and vice-versa. If your interval is fast enough, you could argue that this is what I was talking about in Two Approaches to Modeling where you can work in your model, swap to the code to do something, and swap back to your model. Maybe I have just not worked with it enough yet, but my impression still remains that it is just like having Poseidon running separately with your IDE, but it is a step in the right direction. With the conversations that I have had with some of the people at Gentleware and with my experience as a relatively new user of Poseidon (since July 2004) of all the changes that have gone into Poseidon in a very short time, I am convinced that the best is still to come.

One small note on the integration, if you are using the Eclipse that comes with SuSE 9.2, Poseidon's default directory for the bridge is /usr/lib/eclipse, but it should go in /usr/share/eclipse.

They have done many changes to the reverse engineering segment of the code; one noticeable change that I have seen is that when there is a parsing error, Poseidon tells you right away, whereas before it used to just be buried in a log file. I first noticed this issue when I was experimenting with J2SE 5.0's generics, and since Poseidon did not (and still does not) support J2SE 5.0 (I would also recommend that you refrain from running it with 1.5 under Linux (and maybe others too), as it does some odd things sometimes), it had silently overlooked the changes in my code. In 3.0, I have noticed that in a few places that I have used generics, it has parsed more than I expected it to, perhaps because the generics were used inside methods instead of being variables. In 3.0, the parser now complains about the use of generics (providing a notice that it only supports up-to 1.4).

Still, the most exciting feature in the release is still the speed of working in diagrams. There were times in 2.4 where it would take an eternity for some operations, such as when you would add a member variable of type FooBar and it would have to lookup the class FooBar, or in some diagrams, selecting a class would bring the tool to a halt for a bit. These issues are a story of the past though, and will surely be forgotten soon enough. I have had the pleasure of creating a few packages over the last week in 3.0, and Poseidon was usually as fast as I was. Even just starting up Poseidon is faster than ever!

There are a lot of other notables on the Poseidon 3.0 release. The community edition has a more flexible license, which does not have the watermark for saving images anymore, includes printing, and Java source importing. For the other releases, there have been many bug fixes and enhancement relating to these and other things.

I have been readily using it for about a week now, and it is very solid and getting better with every release. I recommend it.

Filed In