Editor Palette

The editor's palette (see Fig.1) contains a set of tools, connections and nodes which are used to draw ADORA diagrams.  Each of these elements can be selected by clicking on it. Connections elements and tools are activated until another element is selected. Nodes are just selected as long as you draw a node. After drawing a node the select tool gets selected again. In the following, we describe how these elements on the palette are used.

The palette of the ADORA editor.

Fig. 1: The palette of the ADORA editor.

Nodes

Object Set

An object set (The palette symbol of an object set.) is used to draw a component which contains a cardinality of abstract objects unequal to (1,1). An object set is drawn as stack of rectangles. An object set can be drawn into another object set, an abstract object or an aspect container. An object set can be connected by associations or transitions. For more detail on the syntax and semantics of an object set see here.

Abstract Object

An abstract object (The palette symbol of an abstract object.) is a component with cardinality (1,1). An abstract object is drawn as a rectangle. it can be drawn into another abstract object, an object set or an aspect container. An abstract object can be connected by associations or transitions. For more detail on the syntax and the semantics of an object set see here.

State

A state element (The palette symbol for a state.) describes a certain state in which a component (abstract object or object set) resides. A state element can also describe a state within a crosscutting behavior chunk, modeled in an aspect container. States are connected by transitions.

Actor

Actors (The palette symbol for an actor.) describe elements in the context , i.e. elements that are not part of  the system. Actors are always placed directly on the root element (the canvas) of the model. They can be connected by associations with scenarios. For a detailed syntax and semantics, see here.

Scenario

A scenario (The palette symbol of a scenario) describes a use case which can be decomposed into sub scenarios. The scenario tree decomposition is orthogonal to the decomposition of components (abstract objects and object sets). Scenario nodes are connected by scenario connections to build a tree. The root of a scenario tree can also be connected to an actor by an association. For a detailed syntax and semantics, see here.

Aspect Container

An aspect container (The palette symbol of an aspect container) describes modularly the elements of a crosscutting concern. It can contain crosscutting behavior chunks, crosscutting scenario chunks and components (abstract objects and object sets). An aspect container can be connected by an association with an abstract (server) object. For a detailed syntax and semantics, see here.

Exit Point

Exit Points (The palette symbol of an exit point) are used for describing the end point of a crosscutting behavior chunk. An exit point can have only one ingoing transition but no outgoing transition. For a detailed syntax and semantics, see here.

Connections

Association

An association (The palette symbol of an association)  describes a relationship between two elements. The association can be used as a communication channel for exchanging messages. Associations can exist between scenarios and actors, between components (abstract objects and object sets) and between aspect containers and abstract (server) objects. For a detailed syntax and semantics, see here.

Transition

A transition (The palette symbol of a transition) describes a change from one state to another. Transitions can be used to connect components (abstract object, object sets) and states. For a detailed syntax and semantics, see here.

Scenario Connection

A scenario connection (The palette symbol of a scenario connection) connects two scenario nodes. The connection is directed (bulleted end denotes the parent). A scenario node can have at maximum one in-going connection (or none, if it is the root). A scenario node can have 0..n childs, which enforces a tree structure of connected sceanrio nodes. For a detailed syntax and semantics, see here.

Join Relationship

A join relationship connects either the entry state of a behavior chunk or a root node of a scenario chunk with a transition in the behavioral description of a destination element (abstract object, object set, aspect container). For a detailed syntax and semantics, see here.

Palette Tools

Select

The select tool (The palette symbol of a selection) helps you selecting elements for operations as deletion, insertion, moving, etc. By clicking and holding the mouse button down, it is possible to drag elements and to drop them over other elements, ie. with this mechanism it is possible to move elements structurally from one element into another. By dragging the handles of the elements, it's possible to resize them.

Marquee

With the marquee tool (The palette symbol of a marquee) you can select one or more elements by drawing a rectangular bounding box around the elements to be marked. If you use the select tool, it is automatically switched to the marquee tool if you begin to draw a bounding box in the root element (the canvas) of a model.

Zoom Tool

The fisheye zoom (The palette symbol of the fisheye zoom tool.) helps you navigating in your model. By the help of the fisheye zoom tool you can set different logical foci on elements (abstract objects, object sets, states and aspects), ie. when setting a focus, the content of the focused element is shown in detail, whereas the sourrounding elements can be abstracted by zooming out, therefore it's possible to reduce the model to an arbitrary number of foci of interest.

There are further navigation mechanism for the ADORA tool: