Customizing the metamodel > Specifying properties for diagrams, symbols, and definitions > Specifying properties for definition types
  
Specifying properties for definition types
All definitions have a “Name” and the default property “Description”. There really is no typical Definition dialog, because definitions are usually unique within methodology and type.
The following illustration shows a dialog for a Class definition.
This graphic is described in the surrounding text.
Syntax
A definition block starts with the keyword Definition followed by a string (the argument) that is the name of the definition type. The name must be one of those known to System Architect: either one found in SAPROPS.CFG, if you are modifying or adding to an existing definition, or one that you have created by using the RENAME "User 1" through RENAME "User 300" commands (to create a new definition type, you rename one of these 300 user-provided definition types). If the definition type name contains spaces, put it in double quotes (for example, "User 1").
The dictionary definition is bracketed by the BEGIN...END or open/close braces { } keywords. Within the brackets are a set of defining commands, each consisting of the command keyword, PROPERTY, followed by its arguments. When you invoke a Dictionary Object dialog, its pages are populated by the properties named in the definition block.
Each PROPERTY entry has its own subset definition, again bracketed by the {EDIT... } braces and keyword. Each definition consists of phrases made up of keywords such as BOOLEAN, DATE, EXPRESSION, EXPRESSIONOF, LISTOF, MINISPEC, NUMERIC, ONEOF, TEXT and TIME. Details of property definitions are given later in this section.
Summary
To add more properties for a definition, use the following syntax:
DEFINITION definition_type
{
PROPERTY-1 property_name { property_value }
PROPERTY-2 property_name { property_value }
PROPERTY-3 property_name { property_value }
}
Example
The following example changes the default first tab of the definition, which unless otherwise specified is “Introduction”, to “Definition”; that is what the CHAPTER "Definition" command does (see also CHAPTER).
DEFINITION "Class"
{
CHAPTER "Definition"
GROUP "Class"
{
LAYOUT { COLS 2 ALIGN OVER TAB }
PROPERTY "Description" { ZOOMABLE EDIT Text LENGTH 500 }
PROPERTY "Class Header File"
{ EDIT Text LABEL "Class Generation File" LENGTH 80 }
PROPERTY "Stereotype"
{ EDIT Text LIST "Class Stereotypes" INIT_FROM_SYMBOL Default "" LENGTH 20 }
...
}
Description
Every definition has the default property, “Description”. Unless otherwise specified in SAPROPS.CFG, Description is defined as a text field of 4074 characters. You can increase a Description's field size in USRPROPS.TXT by re‑specifying the Description property and increasing the number of characters. For example:
DEFINITION "Class"
{ PROPERTY "Description" { EDIT LENGTH 16000 LINES 5 } }
This example specifies that the Description property of a class can hold 16,000 characters but only the first 5 lines are displayed in the class definition's dialog.
Note There are a few definition types in System Architect that use the Description property for special purposes. For example, the definition of an Entity has been redefined as a LISTOF "Attribute" FROM "Data. The Description property for Process definitions have been redefined as Minispec, since the data contents of processes are generally minispecs, structured English, pseudo-code, and the like. In each of these cases, the Description property has been relabeled as well, to Attribute or Minispec, respectively.
For example, here is the specification for a Process definition in SAPROPS.CFG:
DEFINITION "Process"
{ PROPERTY "Description"
{ EDIT Minispec LENGTH 750 LABEL "Minispec" }
...
}
When writing reports, the name of the property is Description, and must be referred to as such.
See also
Specifying properties for diagrams, symbols, and definitions