Aluminium

Dia Objects

To create Aluminium applications, currently you have to use Dia. Here's the list of Dia objects that have certain meaning:

UML - Class
Represents an operation. Class name is the operation name; stereotype can be used to specify the label; abstract is the start point marker. Class attributes can be used to specify constant arguments as follows: attribute name is the argument name; value is the value.
UML - Association (Aggregation)
Represents a connection. The aggregate end must be connected to the operation that takes the argument; the role on the aggregate end is the argument name. The other end must be connected to the source of the value; the role on that side is the processing instruction.
UML - Note
Represents a text constant.
UML - State
Represents a text or binary constant. It is similar to the note object, except that data is read from the file specified as state name. If entry action contains an encoding, the file is decoded using that encoding.
UML - Object
Represents a pointer. Object name is the name of the pointer. Active and multiple instances properties are used to control object-file membership (see below).
UML - LargePackage
Is used to control object membership in a file (see below). Package name is the file name. All children of the package are tagged as members of the file.

Output management

A single Dia diagram can be used to produce many output files. This is done by tagging separate diagram elements as members of output files. Tagging is done by:

  • Using LargePackage objects.
  • Using templates. Template classes are tagged as members of files, specified in the template name.
  • Using association names. Associations that have file names as their names, are tagged as members of those files.

Output files will contain all the elements that were tagged accordingly, plus all the related elements, that are necessary for the already included elements to work.

The untagged elements may be included in any file (if they are related to the elements of that file), but the tagged elements will be included only in the file that is associated to them.

The inclusion of untagged pointers, that have no direct connections with already included elements, can be controlled using the active property: if it's on, the pointer will be included, otherwise - not.

When a pointer is included into a file, all the untagged operations, that this pointer points to, are also included. To avoid this behaviour, one must set the multiple instances property of the pointer to true.