This document covers the recent major user-visible changes to the DOME Library. DOME port to VisualWorks 7.7 --------------------------- A minimal port to VW 7.7 has updated references to changed base classes and renamed package MeatSubscribeModelSubsystem to MetaSubscribeModelSubsystem. DOME 5.3 port to VisualWorks 7.4.1 non-commercial (March 2007) -------------------------------------------------------------- DoME is currently used in the research project "Behaviour Oriented Business Process Integration" at the Advanced Computing Research Centre, University of South Australia for prototype implementation. This required porting DoME to the VisualWorks 7.4.1 environment, a task that has been ongoing since late 2005, performed by Georg Grossmann, Wolfgang Mayer, and Rajesh Thiagarajan. Further information can be found on http://www.mrgg.at/wiki/dome/. Version 5.3 (February 2000) ------------- * GIF is supported as a print format (with SmallWalker installed). * Notes are resizable, and auto-wrap their text. * Arrow heads are a little narrower. * Printouts should look better (less undesirable text wrapping). * When you hold the mouse over an object that has a non-empty description, a small window pops up (just like with tool tips) that shows the description text. * List items within nodes (e.g., Coad-Yourdon attributes and DOME Tool Spec properties) can be copied by dragging the item with the Ctrl key down. The item is copied even if it is dragged to the same container. However, if the target container is not a valid container for the copied object, then the copy does not occur. Property settings are copied, too. Note: In previous versions of DOME, holding the Ctrl key down was used to ignore everything but connectors. This can now be done by holding BOTH the Ctrl and the Meta (Alt) key down simultaneously. Version 5.2.2 (September 1999) ------------- * DOME Tool Specifications with external class references are saved in a non-backward-compatible format (a new object class was introduced). The new format allows resolving external classes using the Model Type string rather than requiring an absolute pathname. * The uml directory has been promoted from /tools/dome/examples to /tools. This means that UML model types appear by default without having to adjust your DOME options. Four model types appear: 1. UML Class diagrams -- this is the most mature of the four, though there is still room for improvement. Association multiplicity is rendered by a couple of attachments to an Association connection. To edit the multiplicity, navigation and aggregation properties for an association, select the corresponding attachment and open a DOME property inspector. 2. UML State diagrams 3. UML Collaboration diagrams 4. UML Sequence diagrams These notations are not integrated yet, that is, there is no common data dictionary between them. * The icons of the convenience buttons (across the top of an editing window) have been udpated. * Two convenience buttons have been added: "Go Forward" and "Go Backward". These work just like the ones you find in Web browsers. * ProtoDOME now supports properties inherited from BasicClasses. * You can now specify the position of a node name to be "Outside Left" or "Outside Right" in DOME Tool Specifications. * The Alter primitive set-size! now works on resizable nodes. Version 5.2.1 (March 1999) ------------- * The property editor has been enhanced to use a more user friendly multi-layer tabbed widget. * Plug in functions may now be registered with DOME through the Plug-Ins tab of the Tools->Options tab. * Two new menu entries have been added: Layout->Nodes->Equalize Widths and Layout->Nodes->Equalize Heights. These equalize the widths or heights of the selected nodes. * The for-each-with-separator Alter procedure has been added which functions in a similar manner to for-each. * Various defects were corrected. Version 5.2a (January 1999) ------------ * Linux now uses /usr/bin/lpr for printing and ghostview for viewing pdf files. * Fixed a defect that prevented users from modifying DOME Tool Specification Alter methods. Version 5.2 (January 1999) ----------- * Upgraded to use ObjectShare VisualWorks 3.0. * The MetaScribe document generation system was added. This allows for the quick and easy creation of new kinds of document generators. Refer to the MetaScribe appendix in the DOME Guide manual. * The CyberDOME tool was added. This tool allows for the creation of a new notation by simply creating an example model. CyberDOME is under development and the documentation has not been completed. See the DOME web pages for more information on CyberDOME. Version 5.1 (October 1998) ----------- * The progress meter is now displayed on the DOME launcher or the graph that is being edited rather than in a separate window. * Every object now has a pop-up menu with at least three default entries: Rename, Properties, and Go Down. Menu entries that are not currently applicable are disabled. * New tools may now be associated with DOME via the Tools->Options dialog available from the launcher. Users may add new tool directories which are searched for DOME related files such as DOME Tool Specifications, Alter files, and document registration files via the Misc panel. A tool directory is expected to follow the following layout: registration files are placed in the 'etc' directory, Alter files are placed in the 'lib' directory, and DOME Tool Specifications are placed in the 'specs' directory. The tool directories settings are maintained across sessions. In addition, a Tools->Reset Tool Caches menu entry has been added to the launcher that allows the user to flush the caches so new specs, registration files, and alter files are found by DOME without having to restart DOME. * A DOME Tool Specification now supports the specification of a Load File which is loaded when a ProtoDOME model is created or loaded. The load file should contain Alter code. The Alter file is searched for using the normal Alter load path and loaded, if necessary, when a ProtoDOME model is created (or loaded) from that DTS. * Transient properties are now supported. A user may now define a property that is not saved with the model by setting the property to be transient. These are most often used with code generators and document generators. * Properties may now have guard and post actions associated with them. Both of these are specified as Alter methods on a MetaDOMEProperty. The guard method takes in three arguments: the object being modified, the property being set, and the new value. The guard method should return true, meaning that the set operation should be allowed, or false, meaning don't allow the set operation to take place. False is assumed if neither true nor false are returned. The post action method takes in four arguments: the object being modified, the property being set, the new value, and the old value. The return value of the post action is ignored.