I-DE |
|
I-X Domain Editor
Based on I-X Technology from AIAI,
University of Edinburgh |
|
|
 |
The main window of the Domain Editor (the frame) contains several editor
panels for editing different aspects (or constructs) of the domain. Currently
the editors available are
-
the Global Domain Editor, which edits information about the domain itself
(e.g. the domain name)
-
the Activity Editor, which edits information about activities and how they
break down into sub-activities (refinement)
-
the Grammar Editor, which currently only shows the patterns that are in
use in the domain
-
the Object Editor, which edits information about object classes, their
properties, and how they break down into sub-classes
An editor panel may itself have different "views" that are used to display
and edit the panel's constructs. The Activity Editor has three such views:
-
Minimal View: a simplified version of the activity and its refinement.
The main simplification is that no constraints are shown
-
Comprehensive View: a view that can display and edit all of an activity's
specification
-
Graphical View: a graphical view that uses nodes and arcs to show an activity's
sub-activities and the temporal relationships between them.
The Domain Editor Window
This window provides access to the most functions of the overall domain
editor via its menu bar and access to the most commonly used functions
via its tool bar. The window can display in one of three styles: simple,
tabbed, and card style. The style can be changed via the Options in the
File menu.
The Menu Bar
The menu bar has 5 standard menus:
-
File for closing the Domain Editor and for file access (open/save). All
functions here manipulate the domain as a whole, not individual constructs;
-
Edit for manipulating the current construct, i.e. the construct that is
currently shown in the Domain Editor's panel;
-
View for changing which panel is shown in the Domain Editor and - if applicable
- for changing which view is shown in that panel;
-
Tools for additional support like consistency checks etc.;
-
Help for access to this manual, other help, and information about the application.
The Tool Bar
The tool bar provides access to the most commonly used functions via buttons.
All these functions are also available via the menu bar (in most cases,
the image on the toolbar button is shown in the menu next to the corresponding
menu item. The toolbar can be switched on and off via Options in the File
menu. Moving the mouse over a toolbar button will, after a while, display
a "tool tip text" that gives a brief explanation of the button's function.
Working with the Domain Editor
The Domain Editor maintains different levels of updates. The original domain model that the editor is started with is considered a public domain model, which other applications may be using for their own purposes (e.g. within a process panel). This public domain model is kept as it is unless it is explicitly "published" by the Domain Editor's user. (Note that this is true whether the Domain Editor is used in stand-alone mode or as part of another application). There is also a "draft domain model" which is the one that is being edited. The Domain Editor keeps track of any changes that are made to the draft domain model so that updates to the original domain model can be made explicitly.
Saving and Reverting
There are 3 levels of saving:
-
Modify Draft:
When a construct has been edited in the Domain Editor Panel, initially
these changes may be made only in the panel itself, not in the domain
construct that is being edited. Such changes need to be transferred
from the panel into the construct in the draft domain. The Domain
Editor will perform this transfer (modify draft) when it is aware that
this may be necessary, e.g. when a node has been added, when the user
switches constructs, views or panels, or if the user decides to save
or publish the draft domain. However, at any point the user can choose
to explicitly modify the draft, i.e. note the changes into the draft
domain via the toolbar button or the Edit menu.
-
Save to File:
Modifying the draft (noting changes) does not save to file, so the
next level of saving is to save the draft domain to file. As with all
editing applications, it is recommended to do this frequently to
ensure that work is not lost. Saving the draft domain to file will
write the whole domain with all its constructs into a file in XML
format. This can later be loaded into the Domain Editor for further
editing, or it can be accessed by other applications.
-
Publish:
The underlying public domain is not changed by any of the above
(simple editing, modifying draft, or saving the draft domain to
file). The only way to update the public domain is to publish the
draft domain via the toolbar button or the File menu. When this
happens, all pending changes are transferred to the original domain
and these changes will be seen by any application that has registered
as listeners to this domain. Note that publishing is always done for a
whole domain, not for individual constructs. Note also that publishing
a domain will not save it to file, but the same effect can be achieved
by saving the draft domain to file just before or straight after
publishing. At that point the draft domain and the public domain can
be represented by the same XML structures. It is a good idea to
publish from time to time even if the Domain Editor is running
stand-alone because it will make the editor more efficient.
There are undo functions that correspond to the 3 levels of saving:
-
Undo: revert a construct to the last time it was modified in the draft
domain, i.e. undo an editing step. This function is reversible with a
Redo function;
-
Revert to published: revert a construct to the public version (via Edit
menu), i.e. undo all changes to this construct since the domain was last
published. This function is not reversible;
-
Re-load: revert the whole domain to the last time it was saved to file
by opening that file via the File menu. This function is not
reversible.
Note that the first two undo functions apply to an
individual construct, while the third applies to the domain as a
whole. There is a fourth "revert" function that also applies to the
domain as a whole: "discard changes to draft" which reverts the whole
domain to the public version, i.e. undo all changes to all constructs
since the domain was last published.

The diagram shows the different states that the system may be in
during an I-DE session, and it shows how a user can move between these
states. After editing is done, the user may explicitly choose to
modify the draft domain model. A modified draft domain model can be
saved to file and/or published to be visible to the application (the
I-X Process Panel) or both. When the domain editor is closed, the user
is given the option to save the current draft to file and/or to
publish the current draft to be visible to the application.