2. Saving and Loading Models

Saving the models you created in Poseidon for UML is routine, but there are a few things that should be mentioned about saving and the format used.

Open Standards Support

Poseidon for UML supports open standards extensively, and this is also true for the saving format. UML is standardized by the Object Management Group (OMG). Part of the official UML specification by the OMG is a mechanism for the exchange of models between different tools. This mechanism is based on XML and has special extensions and rules to better represent object-oriented structures as well as metadata. The OMG has specified a concrete application of XML for this purpose that is called the XML Metadata Interchange, or XMI for short. Poseidon for UML makes use of this format. In fact, while most other tools can only import or export XMI, Poseidon for UML uses XMI, as specified by the Diagram Interchange standard, as the default saving and loading mechanism.

Introducing the .zuml File

The previous version of UML had no standards for storing the graphical information of a diagram. This made exchanging a model between tools very difficult. UML 2.0 has solved this issue with the inclusion of the Diagram Interchange standard, which specifies exactly how graphics are to be stored and rendered. Gentleware was at the forefront of the development of this standard and is therefore uniquely able to implement it in Poseidon.

Now diagrams are written in the XMI 1.2 format, the same format used to store the model itself in both UML 1.x and UML 2.0. Poseidon creates a project file with a '.zuml' extension, which is a .zip file containing a .proj file with project information, and an .xmi file with the model and layout (Diagram Interchange) information. This method of storage is supplementary to the previous method, meaning that projects created with previous versions of Poseidon (.zargo files) or other tools will open in Poseidon version 2.0, but diagram information will be converted before it is opened.

To Save a Model:

To Load a Model

You can also import XMI that was created by other UML tools.

Components Of A .zargo File

Poseidon 1.x saves projects with a .zargo extension. These files can be opened in Poseidon 2.0, but new projects created with Poseidon 2.0 cannot be saved in this format. The following section briefly explores these files.

The current version of XMI is, by itself, not sufficient to save all aspects of a UML model. It can be used to transport the names and properties of all model elements, but diagram information (layout, colors, etc.) is not included, therefore this information has to be stored in a different format. Poseidon 1.x uses another XML application, called PGML, which is a predecessor to SVG, the Scalable Vector Graphics format, standardized by the W3C.

Finally, some internal information about the model needs to be stored. This is done in yet another XML-based format with the ending .argo. All of the files mentioned are zipped together into just one compressed file with the ending .zargo. This is actually just a regular ZIP file; you can decompress it using any ZIP tool or the Java JAR tool. Usually you don't have to worry about all this. But sometimes if, for example, you want to access the XMI file to exchange it with other tools, you may need to unzip this file and have a closer look inside.

Poseidon 1.5 and 1.6 use a different XMI format than previous Poseidon versions (up to version 1.4.1). Support for XMI 1.1 and 1.2 as well as UML 1.4 was added, and all .zargo files that were created with older Poseidon versions are converted when necessary, so there is no need to care at all about the different versions. Gentleware also works on better import functionality so that the XMI generated by other CASE tools can be imported smoothly.