DOME 5.2.1 (March 1999) ---------- DOME o Replaced usages of the Notebook widget with a true multi-layer tabbed widget. The property editor is the most obvious example of this change. o Closed models are now being garbage collected as expected. o Autosave files are now deleted when model is closed by user request. o Plug in functions may now be registered with DOME through the Plug-Ins tab of the Tools->Options tab. o 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. o Opening a non-DOME file with DOME no longer causes a fatal error. o Added a dialog to inform source release users of the importance of applying work arounds for the known VisualWorks defects. o Deleting a subdiagram no longer causes a fatal error. o Flipping nodes now notifies the user if at least two nodes are not selected. Alter o Added a for-each-with-separator procedure. o Evaluating syntactically incorrect Alter code no longer causes a fatal error. o The "temporary-filename" primitive now uses the millisecond clock rather than the second clock for constructing filenames. This gives a greater probability that subsequent invocations will give different answers. CyberDOME o Creating new relationships no longer causes a fatal error. o Ordinality constraints on connectors were being enforced when they should have simply triggered a query to the user. DOME Tool Specification o Basic Specs that have superclasses that correspond to unmapped Smalltalk classes no longer cause a fatal error. o Property information was not being properly propagated to subclasses of gen/specs. o Examining the Methods tab of a Button no longer causes a fatal error. OOA o The relationship label is now automatically updated when the user declares an inverse name. Projector o Backslashes displayed when executing a graph are no longer converted to newlines. o AlterCode nodes failed to execute correctly unless they were within a begin block. This is no longer a limitation. ProtoDOME o Resizable nodes no longer behave incorrectly when being resized if they have a bounds Alter method defined. UDP o Superfluous (and confusing) "starter" objects (Entity, Link, Graph) are no longer added automatically to the new graph by DOME. DOME 5.2a (January 1999) --------- DOME o Linux now uses /usr/bin/lpr for printing. o Linux now uses ghostview for pdf help files. o Fixed a defect that prevented users from modifying DOME Tool Specification Alter methods. DOME 5.2 (January 1999) -------- DOME o Upgraded to use ObjectShare VisualWorks 3.0. o 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. o 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. o The document generator previously used the printer "ps" as the default eventhough it should have been "default printer". o The name tab was not correctly displayed when an inspector was initially opened. Coad-Yourdon o The statistics plugin has been removed. Colbert o Colbert description contained "spftware" in it. DFD o Stores no longer have a direction. MetaDOME o Service property tab had blank return type values and parameters spec value. o Class specification document generation always outputed to a file eventhough Window was specified. DOME 5.1 (October 1998) -------- DOME o (GN795) Specifying a strictly whitespace filename from the print dialog no longer causes a fatal error. o (GN812) Selecting "Use Existing" when opening a model no longer opens a duplicate editor on the same model but merely raises or de-iconifes the existing editor. o (GN912) An inspector interaction defect was repaired that showed itself when load/replace was selected when loading a DOME Tool Specification. o (GN939) The RTF generator now produces a sufficient number of points when outputting an arc. o (GN947) The progress meter is now displayed on the DOME launcher or the graph that is being edited rather than in a separate window. o (GN948) The background color selection widget on the Options dialog has been improved so users can more easily set the background color of the editor. o (GN949) Every object now has a pop-up menu that is specific to it with the three default entries: Rename, Properties, and Go Down. Menu entries that are not currently applicable are disabled. o (GN954) The buttons on the port ordering editor now enable/disable when appropriate. o (GN955) The save and open dialogs on the Mac now restrict the default displayed files to a more appropriate list. The save dialog no longers uses the Windows based save dialog. o (GN956) The Mac platform no longer enters an infinite recursion state when certain filenames were specified. o (GN958) The child marker for an arc is now an asterisk rather than a box around the name of the arc. o (GN959) The default name of newly created objects has been improved to make it clear to the user what kind of object has been created. o (GN962) The automatic scrolling of the graph when an object is moved outside the editor has been slowed down to provide better control by the user. o (GN997) 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. o (GN1001) The platform specific editing keys are now used. o (GN1002) The standard open and save dialogs are now used under Windows. o (GN1005) The printing dialog has been visually improved. o (GN1005) Host printing is now supported on the Windows paltform. o (GN1005) Child diagrams are printed with the same characteristics (size, landscape settings) as the initial graph. o (PT184) Diagrams saved in rtf format no longer lose an object. o (PT211) Generators that are based on DOME models are no longer registered with the DOME Launcher so they no longer appear in the Windows menu. Furthermore, models that are changed are automatically reloaded if requested by the user. o (PT221) Extended the object identification facility so objects are unique across models. o (PT221) Enhanced the merge facility to make use of the new object identification facility. Alter o (GN527) Some symbols were not being resolved correctly in the body of a procedure. o (GN945) Users may now use Alter symbols when calling get-property, has-property-set?, set-property!, and unset-property!. These operations perform significantly better than the string based counterparts. In addition, another set of interfaces that allow the object to be specified first instead of the property have been added. See the Alter Programmer's Reference Manual for details. o (GN946) Modifications were made internally to the Alter system that allow it to perform up to 30% faster. o (GN952) The new-child Alter proceudre has been replaced with the new-child-model procedure which properly supports ProtoDOME objects. o (GN964) Graphs that are saved as images now produce smaller files. o (GN966) The Alter method named baseline now works as expected. o (GN973) The default-child-type method now returns a reasonable value for protodome based objects. o (GN979) Evaluating a let statement with empty bindings no longer causes a fatal error. o (GN992) Boolean properties are now presented using radio buttons in the inspector. o (GN992) Various widgets have had their sizes adjusted in the inspector. o (GN994) Some text was not being printed when there was a large quantity of spacing from the left border to the nearest graph object. o (GN994) A blank sheet of paper is no longer produced when printing. o (GN1006) User-add methods that overload an Alter primitive now properly inherit the primitive methods (which can be overridden). o (GN1025) Added a set-parent-connection! primitive to Alter. o (GN1061) The user interfaces for the Alter inspectors have been modified to make them easier to use. The instance variables of user defined type objects are now displayed in the alter inspector. o (PT221) Added a merge-file primitive to Alter. o (PT230) The Alter Environment Viewer now correctly displays all of the calling stack. o (PT230) The bindings area is updated as the user moves up and down the stack to display the bindings that are active. o (PT230) The Alter Environment Viewer can now have the bindings area display all of the bindings or just the local bindings via the View->All Bindings menu. OOA o (GN950) A service parameter type may now be specified as a list, set, or bag of scalars in addition to just being a scalar. Projector o (PT231) Data flows that reduce via an alter list no longer fail. ProtoDOME o (GN167) Superclass containment constraints are now enforced. o (GN169) Node and connector specifications now support the identification of a subset of available diagram types that are permitted as child diagrams. o (GN170) Initially (and, perhaps, perpetually) unnamed connectors are now supported. o (GN173) Nodes can now be declared as resizable. o (GN328) Property specifications can now be moved around between classes, though there may be information loss in open models. o (GN522) Users can now define plug-in functions that operate (in an object-oriented way) on ProtoDOME models. o (GN704) The specification of boundary node classes for hierarchical diagram types is now supported. ProtoDOME uses this information when initializing child diagrams. o (GN834) Archetypes are now supported along with the shelf. o (GN910) DOME no longer crashes when an Arc name is set to sometimes. o (GN911) Elements of ProtoDOME based models can no longer be moved outside their container. o (GN932) The cardinality constraints on arcs are now enforced. o (GN938) ProtoDOME now correctly interprets list element containment specifications. o (GN953) 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. o (GN957) Implemented containment constraints more fully. o (GN957) Changed signature for the deletion cleanup alter method on connectors to (graph, old-origin, old-destination) o (GN957) Implemented rounded corners for connectors. o (GN957) Added support for Basic Classes. o (GN957) More change propagation between DOME Tool Specifications and their open ProtoDOME models. o (GN957) Interface elements (components of the parent node) are automatically created on child diagrams. o (GN957) Improved support for User-Defined Properties. o (GN957) DOME Tool Specifications can have an Alter file that supplies common function definitions. o (GN957) Circular nodes now behave better if they have components. o (GN960) Canceling the load of a ProtoDOME based model is more user friendly now. Multiple dialogs are no longer presented to the user. o (GN961) Users may now create a ProtoDOME based model from a non-saved DOME Tool Specification. o (GN963) A parallelogram icon and cursor are now available. o (GN967) Elliptical named nodes without a name no longer cause ProtoDOME to fail. o (GN968) Alter points no longer cause ProtoDOME to fail when clipping or displaying a node. o (GN971) Creating a subdiagram of a node from a dome tool specification that never has been saved no longer produces an error. o (GN974) A defect that prevented an object from becoming non-hierarchical was fixed. o (GN977) Elements that have a subdiagram now use an asterisk to show that the element has a subdiagram. Non-circular/Non-rectangular nodes also use an asterisk to show that the node has a subdiagram. Circular nodes use a small circle near the top of the object. o (GN978) Transient properies are now supported. A user may now define a property that is not saved with the model by setting the property to be transient. o (GN982) Properties may now have a guard and post action 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. o (GN983) There is now a post load alter method associated with the dome tool specification. This method is executed after loading a protodome model. o (GN995) A new mechanism for specifying DOME Tool Specifications that are available to DOME has been implemented. DOME Tool Specifications must now be placed in the "specs" directory of the specific tool directory and they may now be named what ever the user desires. In addition, a new property (Can Be Top Model) has been added to the DOME Tool Specification which controls whether a new model can be created directly from the DOME Tool Specification. o (GN996) The DOME Tool Specification that is associated with a ProtoDOME model is resolved using the DOME Tool Specification model name rather than the filename. This allows the user to move DOME Tool Specifications around as well as send ProtoDOME based models to other users without them having the DOME Tool Specification in the exact same location. o (GN998) Node shapes with non-square corners now scale consistently when zooming. o (GN999) Development based menus are no longer available in the released system. o (GN1000) The following MetaDOME properties are no longer avialable in a released image: Category/Application, Method Categroy Suffix, and UI Class Prefix. o (GN1031) Creating a node on top of an archetypifiable node no longer causes and error. o (PT357) The "Create Help" dialog is no longer shown when opening an existing protodome model. o (GN1009) The ProtoDOME graph class is now prefixed by the . o (GN1010) Circular nodes with node elements are no longer displayed incorrectly if the name is supposed to be positioned below the node. o (GN1012) Nodes that should not have a name associated with them no longer prompt the user for a name. o (GN1013) The method property of a custom button can now only be set from the Methods pane. o (GN1044) An error is no longer encountered when trying to extend a tool specification with elements while a ProtoDOME model of the specification is active (specifically adding an element to an existing node). o (GN1052) ProtoDOME now responds to the Alter name content method (if specified) for ports. DOME 5.0 -------- DOME o (GN226) The code generator and save dialog no longer share filename state. o (GN687) DOME now makes use of a Windows 95 look for the Open and Save dialogs. o (GN227) Most DOME windows are now event based so there should be few if any lost mouse clicks now. The graph editor is still polling but will hopefully be converted to be event based in the near future. o (GN647) Text printed in RTF is now properly clipped. o (GN647) Text printed in RTF no longer has a white border around it. o (GN649) The data dictionary now uses an object-inspector-based interface. o (GN653) The fatal error that is encountered when pressing an arrow key should no longer be present. o (GN654) A model that was loaded but was previously saved with a scrolling offset is now displayed correctly after initially being loaded. o (GN655) All of the auto-scrolling features have now been implemented. o (GN662) A fatal error is no longer encountered when selecting the Update Display popup menu entry. o (GN663) A fatal error is no longer encountered on the PC when selecting Insert Link from the popup menu. o (GN664) Text entered into an inspector's text editor is no longer lost. o (GN666) Copying a node when in a view that is restricted to an overlay no longer causes the node to disappear. o (GN667) Various UI improvements were made to the launcher. o (GN672) Users can now enable/disable bubble help from the preferences dialog. o (GN673) ProtoDOME based model types now only show up in the 'New Model' dialog once. o (GN674) The user is now provided with some feedback when they try to load a model that is not supported by the current version of DOME. o (GN675) The load meter no longer acts strangely when loading the very first model after starting DOME. It previously appeared to start over at zero several times before opening the model for editing. o (GN676) Various enhancements were made to the Browse Open Models Window. o (GN678) The Options dialog has been improved. o (GN683) The menu structure of the graph editor has been revised. o (GN686) The inspector's interface has been simplified. o (GN686) Outstanding inspector changes are no longer lost when a model is closed or saved. o (GN708) Objects that are sorted are no longer allowed to be moved front or back. o (GN725) When nothing is selected in the data dictionary the Edit->Focus menu item is disabled in addition to the Edit->Delete item being disabled. When nothing is selected, choosing Edit->Focus would cause an error. o (GN726) Printing from a Solaris machine no longer fails. o (GN773) DOME no longer encounters a fatal error if the user specifies a directory as the file to be opened. This could be encountered via Alter or from a renamed directory placed in the recently used files list. o (GN649) Users can now print the data dictionary. o (GN803) DOME will no longer crash when reading the session file during startup. o (GN805) If the user selects the volumes button on the open model dialog and selects a pattern then a fatal error is no longer encountered. o (GN806) A fatal error is no longer encountered when an editor is being closed and tooltip help is inadvertently requested. o (GN818) The inspector now adjusts its layout based on the number of categories available. o (GN886) The Windows open file dialog now sorts the directories and files alphabetically. o (GN886) Double clicking on a file from the Windows open file dialog now immediately opens the file. o (GN892) Opening a model and selecting "Load & Replace" no longer causes a fatal error. o (GN914) DOME should look better now on PC platforms that have the Font Size set to Large Font. o Mosaic printing no longer crops text on the right side of the page. o All diagrams are printed now when printing a model with numerous subdiagrams. o Text in RTF output is now more appropriately sized. Alter o (GN559) Output ports on strings now function as expected. o (GN656) substring-index's optional start argument is now zero-based. o (GN695) The type of nil is now undefined-object instead of void-type. o The Alter/Projector Browser now has a menubar and toolbar. o The Alter Evaluation and Activation Stack windows had their interfaces updated. o (GN830) Nested incomplete lists no longer causes Alter problems. o (GN873) The port "direction" property now accepts the Alter symbols 'in 'out and 'inout as recognizable values. You no longer have to say, e.g., (string->symbol "In") o (GN879) Added an Alter primitive called write-bitmap that writes a bitmap of the supplied graph to a file in one of the supported formats (gif, mif, xwd and eps). (write-bitmap ) where is the graph of interest, specifies where to put the bitmap, specifies the bitmap format to use (i.e., 'gif, 'mif, 'xwd, 'eps) o (GN881) The alter method new-child-model has been removed since a similar method (new-child) already exists. o (GN894) Numerous new Alter methods have been added. Refer to the Alter Programmer's Reference Manual for descriptions of the new methods: accessories add-binding-named any-changes? archetype-shelf archetypifiable? binding-named bring-to-focus clear-selection close-model configurations current-binding current-configuration data-dictionary-edit deletion-request? deselect-all edit-name elements frozen-color graph-label has-archetype? has-binding-named? has-binding? has-child? has-name? has-parent-connection? has-parent? identifier input-and-output? input-only? input? inspector-edit logical-top-graph logical-top-graph? move-to-back move-to-front moveable? name-source output-only? output? print property-schema-files resizable? save save-as selected-components selected? set-configurations! set-current-binding! set-current-configuration! set-description! set-destination! set-direction! set-frozen-color! set-master! set-name! set-origin! set-property-schema-files! set-rationale! set-route! set-selection square-route top-model top-model? visible? o (GN909) create-rpc-procedure failed to work correctly if the optional procedure was not specified. It now works as expected. Colbert o (GN205) Constraints have been tightened up to prevent creation of semantically incorrect diagrams. o (GN209) An "Instance Of" arc can now only be used to connect an object to a class. o (GN210) Questions can be applied to any node or arc in any Colbert diagram. Questions replace the old Issues properties. o (GN719) Changing the endpoint of an arc in a Colbert diagram now properly updates child objects in subdiagrams. o (GN720) Deleting a node in a subdiagram no longer causes contextual arcs to be deleted from the graph. Instead they are reattached to the graph border. o (GN733) In the data dictionary, concepts are now displayed when Concept is choosen from the View menu. Previously requirements showed up. o (GN734) Changing the origin of a subclass of relation no longer results in a request's operation being incorrectly unset (set to None). o (GN754) Inspecting the properties of a transition in the behavior of a class no longer causes a fatal error. o (GN768) Derived From relations are treated as interfaces. Classes that are derived from another class inherit the operations of the classes they are derived from. o (GN774) Operations can now have questions, qualities (property specifications), concepts and requirements applied to them. o (GN777) A class and its instances now share the same behavior diagram (Statechart). o (GN778) Selecting View->Edit Object-Interaction Diagram from a Statechart editor no longer causes an error. o (GN782) Creating a subdiagram for a class that is used by an operation no longer causes an error. o (GN783) An instance never has a contextual class as its class, it will get the contextual class's parent as its class instead. o (GN826) External classes are no longer hierarchical. o (GN865) A class can now have a class association with itself. o (GN919) Objects placed inside borders are created in the proper location. o (GN934) Operation Request states are now displayed properly and have the correct value for their kind property. o (GN935) Flows on Colbert diagrams are now displayed properly in RTF format. Document Outline o (GN898) DOME no longer crashes when creating a Document outline cross reference from a topic that has no other connections. o (GN898) The document outline tool now correctly ignores cross reference connections when determining the line thickness of a topic's circle. (It is thick only if there are no outgoing topic links; otherwise it is thin.) DFD o (GN636) Control flows and data flows now display correctly when their bi-directional property is set. OOA o (GN635) Changes to services and service parameters are no longer lost when an inspector is refocused. o (GN888) The CoadYourdon statistics window now shows the proper values when initially opened; you no longer have to click on the "update" button right away. o (GN889) The Tools:Access SQL tool no longer fails because of a missing file. ProtoDOME o (GN542) ProtoDOME based models may now be extended with User Defined Properties. o (GN701) ProtoDOME based diagrams no longer cause DOME to abruptly terminate without explanation. o (GN681) ProtoDOME models can now make full use of the data dictionary. o (GN709) All toolbar columns are now displayed. o (GN855) Menu Item Specs in DOME Tool Specifications again support Alter lambda bodies in the "method" property. The graph model is bound to the symbol "graph". Support for Alter lambda bodies has been added to Custom Tool Buttons. The graph model is bound to the symbol "graph" and the mouse click location (a point) is bound to the symbol "location". o (GN874) DOME no longer crashes when invoking the Alter primitive new-child-model with an Alter type that represents a ProtoDOME graph class. o (GN875) You can now get the default port behavior even if the accessory relationship for the node class is not named "ports"; you must declare the node class to inherit from the (external and non-instantiable) class "NodePortal". o (GN880) ProtoDOME no longer yields an infinite series of Alter errors when loading a ProtoDOME model if a method on a node or connector specification refers to type that is automatically generated from the DOME Tool Specification. o (GN883) When inspecting relationship properties, the inspector now lets you choose from among all of the instances of the target type in the whole model, not just the current graph. Ordered and sorted collections of such relationships are also supported in the inspector (but not Sets yet). o (GN884) ProtoDOME no longer crashes when creating a subdiagram for a node whose accessories are not standard ports (e.g., the accessory relationship used is not named "ports" and the accessory node class does not inherit from NodePortal). o (GN890) DOME no longer crashes when creating a connector in ProtoDOME from Alter. o (GN891) ProtoDOME no longer crashes when loading models that have accessories (e.g., ports) with elements, or elements with accessories. o (GN895) ProtoDOME now uses all of the (element and) accessory relationships in the superclass chain when determining the component structure of a class. Formerly only the element/accessory relationships defined on the local class were used. o (GN896) DOME should no longer crash if a part of the directory search path goes away in the middle of a session. o (GN899) Performing a Edit:Cut menu command on a non-instantiable Node Specification (in a DOME Tool Specification) no longer crashes DOME. o (GN900) Added an option to draw diamond and filled diamond style heads on arcs. The MetaDOME tool still needs to be updated to allow specifying this head style, but it can be specified using an alter method that returns the appropriate symbol ('diamond or 'filleddiamond). o (GN913) Alter code that associated with menu items and creation buttons is now executed within the proper package and environment. o (GN913) A separate pane is now available to specify the method for a creation button in addition to the old text field. o (GN913) ProtoDOME no longer crashes if an Alter method encounters an error and the Alter evaluator window opens. o (GN913) If an error is encountered in an Alter method then the Alter evaluator will show the name of the method with the problem to help track down where it is. UDP o (GN712) A DOME Tool Specification is prompted for when a new model is created.