Domain elements edition

A domain model can be edited by left-clicking on an element in the viewing area to select it, and then right-clicking. That will bring a context dependent menu, which allows operation to be performed on the selected element.

The menu displayed for a Concept includes:

New System Concept
to add a new System Concept to the domain model.
New Concept
to add a new Concept to the domain model.
Add Non-Entity bound condition
to declare a new Non-Entity bound condition.
Change Concept to System Concept
to transform the concept to a system concept if possible.
Change Concept to Aggregate
to transform the concept to an aggregate if possible.
Add Sub-concept to Concept
to insert a sub-concept as a child of the concept (inheritance relation). Once inserted, the User may enter the sub-concept name through the Edition area.
Add Sub-component to Concept
to insert an aggregate as a child of the concept (aggregation relation).
Add Attribute to Concept
to insert an attribute as a child of the concept.
Add OperationSet to Concept
to insert an operation set as a child of the concept.
Add ConceptInstance to Concept
to insert an instance as a child of the concept (instantiation relation).
Add PossibleValue Set to Concept
to insert a possible value set as a child of the concept.
Delete Concept
to delete the concept with all its children.
Rename Concept
to change the value of the concept.

A domain model may also be edited using key combinations. For instance if a selected line refers to a Concept:

CTRL+
inserts a concept after that concept.
CTRL-
delete the selected concept with all its sub-elements.
CTRL$\rightarrow$
indent the concept if it is not on the first line. The indented concept becomes a sub-concept (a specialization) of the preceding concept (or system concept).
CTRL$\leftarrow$
outdents the concept if it is a sub-concept of a concept (or system concept). The concept becomes a concept at the same level as the preceding concept.
CTRL$\uparrow$
forwards the selected concept by changing its type. The concept is changed to a System concept if it is at the top-level of the domain.
CTRL$\downarrow$
backwards the selected concept by changing its type. A concept, which is a sub-concept of another concept is transformed to an Aggregate of that concept.

Stephane 2007-09-03