Note: Currently CLEWS is only a Prototype. There might be important features missing or workflows that aren't optimal. If you find any errors or missing features or have any other suggestions for improvements, please feel free to let us know. (Contact: clews@logic.at)

General Instructions

CLEWS has two different views: the Specifiaction View, where you can create a specifiaction and the Configuration View, where you can create several configurations for the current specification.
On startup the Specification View is opened and a new, empty specification is created.
The different views only influence the Drawing Panel, which occupies the main part of the screen (the upper part of the right side).
The Tree Panel on the left side gives an overview of the project (also called Domain). Here you can see and select classes and configurations as soon as you have created them. You will need these elements to build your specifiactions and configurations.
The lower part of the right side is the Message Panel.

To save a project, select File>Save (or File>Save As to save a copy) and choose a name and a location in the save file dialog.
CLEWS creates a domain file (name.cld), a file for the specifiaction (name.cls) and one file for each configuration (name.clc).

To open an existing specification, select File>Open and navigate to the file you want to open.

The whole diagram (specifiaction or configuration) can be moved up, down, left and right by selcting View>Move Left (or Right, Up or Down respectively).
Via View>Zoom In and View>Zoom Out the view can be reduced and enlarged. You can also use the mouse wheel for zooming.

Diagrams can be exported as image files (png, gif and eps) via File>Export>as PNG (or GIF or EPS).

Specification

A specification is a UML Class Diagram of your system of functional units. You can specify classes connected via associations with multiplicities. CLEWS immediately checks the specifiaction when changes occur.
You can also manually check the specification via Domain>Check manually. CLEWS will output some information in the Message Panel.

A new specification can be opened via File>New.

To add a class to your specification, click on the entry Classes in the Tree Panel and drag it into the drawing area. Drop the class where you want to place it. Another way to add a new class is to select Domain>New Class. The class is placed in the middle of the Drawing Panel.
You can always relocate the classes by dragging them.

To edit the properties of a class, doubleclick on it and a Properties popup window opens. There you can rename the class and change its other properties:

Minimum Objects: number of objects that are minimally required in each configuration.
Weight: this value represents how expensive it is to use an object of this class in a configutation.
Maximum Objects: maximal number of objects allowed in a configuration.
OR Minimum: Lower bound for OR-Constraint (Standard: 0)
OR Maximum: Upper bound for OR-Constraint (Standard: *)

XOR restrictions on a class represent competing associations associated with this class. This corresponds to class hierarchies, where the constrained class is connected to several subclasses. An instance of this class may be related to only one (or some - depending on the OR Minimum and Maximum) of those subclasses.
The standard values for the XOR constraint mean, that there is no XOR restriction on the associations of this class.

To add an association between two classes, select the entry Associations in the menu on the left. Afterwards click on the first class and then on the second class you want to associate while pressing the CTRL key.

To edit the properties of an association, doubleclick on it and a Properties popup window opens. There you can rename the association and change the properties of each association end:

Type: association type – unique or non-unique – can be selected via dropdown list.
Minimum: lower bound of cardinality of this association end.
Maximum: upper bound of cardinality of this association end.

A class or an association can be deleted either by right-clicking it or by clicking the Delete button in the Properties dialog.

In satisfiable specifications all classes and associations are black. An object turns blue when you move the mouse over it. A class highlighted in red indicates an inconsistent part of the specification. Modify the specification until a consistent state is reached.

Configurations

From a satisfiable specification several configurations (instances of the specification) can be created.

You can either let CLEWS create a configuration from the minimal model (Domain>New Configuration from minimal model) or start with an empty configuration (Domain>New Configuration) and create everything manually. Both actions open the Configuration View. A configuration that was automatically created can be edited and expanded like any manually created configuration.

To add an object to the configuration, click on the class (e.g. Person) you want to instantiate (in the Tree Panel) and drag it into the diagram.
To create a link between two objects select the objects you want to link while pressing the CTRL key.

If a configuration does not satisfy its specification, violating objects are marked red. If you put the mouse over such objects, a tooltip shows the reason for the problem. You can either correct the errors manually or let CLEWS take care of them. Domain>Extend Configuration to instance adds missing objects to the configuration. You simply have to add the necessary links between the objects.

To remove objects or links from a configuration, do a right-click on them.

Constraints

An additional feature of CLEWS is that you can equate associations (or composed associations). Select Domain>New Constraint and enter one association on the left side of the Constraint Dialog and the other one on the right side. If you want to use a composed association on either side, write each association in a new line. To specify an inverse association write association_name^-1. You can activate or deactivate each constraint using the checkbox in the Constraint Dialog. All generated constraints can be seen and selected in the Tree Panel.
In the Specification View CLEWS highlights multiplicities that are redundant due to the additional constraints. The sharper bounds are also displayed. The user has to decide how to solve these problems, because there might be an underlying misconception of the whole system.

Last Update: April 27, 2011
Contact: clews@logic.at