A posting from Christian Nentwich announces the release of a software tool called BOX ('Browsing Objects in XML') which "reads UML models in XMI and exports the contained diagrams in vector graphics form, including SVG and VML. The BOX tool includes, amongst other things, (1) An implementation of the UML metamodel [mainly Foundation/Core, not behavioral packages], in the uml package; (2) A parser for XMI; (3) An additional parser for diagram information specific to the Unisys exporter, in the unisys package; (4) Several exporters in the export package, which you have to manually call at the moment; (5) Heuristics for reconstructing diagrams from the rather poor information made public by the exporter; (6) Sample UML models." BOX was written for a research project in 1998-2001; though currently unmaintained and underdocumented, it is licensed as free software under the GNU General Public License. A research paper on 'Browsing Objects in XML' from 1999 describes BOX as a "a portable, distributed, and interoperable approach to browsing UML models with off-the-shelf browser technology; its approach to browsing UML models leverages XML and related specifications, such as the Document Object Model (DOM), the XML Metadata Interchange (XMI) and a Vector Graphic Markup Language (VML). BOX translates a UML model that is represented in XMI into VML. BOX has been successfully evaluated in two industrial case studies which used BOX to make extensive domain and enterprise object models available to a large number of stakeholders over a corporate intranets and the Internet. We discuss why XML and the BOX architecture can be applied to other software engineering notations and argue that the approach taken in BOX can be applied to other domains that already started to adopt XML and have a need for graphic representation of XML information. These include browsing gene sequences, chemical molecule structures, and conceptual knowledge representations."
Description: "BOX takes as an input XMI models exported using the Unisys Exporter (tested with the Rational Rose version). Some other experimental exporters are included in the package, including an exporter for creating DTDs from UML models, hence letting you use the UML for DTD design. If you are after a good UML metamodel implementation that reads XMI but do not need diagram functionality, I suggest you get NSUML instead. [Novosoft UML API is a UML library provides following services: implementation of complete UML 1.3 physical metamodel, easy to use interfaces, event notification, undo/redo support, reflective API, XMI loading/saving.] BOX requires Apache Xerces 1.3.* as its XML parser... BOX is heavily underdocumented, as it was written for a research project that was suspended for two years and was edited by multiple students. The bulk of BOX is (c)1998-2001 Christian Nentwich and the SVG exporter is (c)2000- Henry Odiase. You can download the source code and play with it; it is licensed as free software under the GNU General Public License."
Principal references:
- Announcement
- BOX web site
- BOX download 'Box-0.1.tar.gz'
- "BOX: Browsing Objects in XML." By Christian Nentwich, Wolfgang Emmerich, Anthony Finkelstein, and Andrea Zisman (1999).
- Contact: Christian Nentwich
- Compare: NSUML Novosoft UML API with XMI support.
- See also: 'Modeling XML' web site
- "Object Management Group (OMG) and XML Metadata Interchange Format (XMI)" - Main reference page.
- "W3C Scalable Vector Graphics (SVG)" - Main reference page.
- "Conceptual Modeling and Markup Languages" - Main reference page.