The DEFINED BY keyword associates a definition with a symbol. It also enables you to re‑associate a symbol to a different definition.
Associating a definition with a symbol
If you add new symbols to an encyclopedia in USRPROPS.TXT, you must specify what definition type they are associated with by using this keyword. If a new symbol specified in USRPROPS.TXT is missing this clause, System Architect gives a parsing warning when opening the encyclopedia, and default to the null definition for the symbol.
Example
The following example specifies a new diagram type, symbol type, and definition type. The DEFINED BY keyword specifies that the symbol “Direction” is defined by the “Direction” definition. In addition, the symbol is assigned to the “My Diagram” diagram.
You could also specify a definition statement for the new definition, “Direction”, but this is not mandatory. If not specified, the new definition has the default properties “Name” and “Description”.
RENAME DIAGRAM "User 1" to "My Diagram" RENAME SYMBOL "User 1" to "Direction" RENAME DEFINITION "User 1" to " Direction" SYMBOL "Direction" { DEFINED BY " Direction" ASSIGN TO "My Diagram" }
Re‑associating a symbol to a different definition
The DEFINED BY keyword also enables you to define a symbol by a different definition than that specified in SAPROPS.CFG. When using this keyword to re‑associate a symbol to a different definition, be sure to specify what diagram the symbol you are referring to is represented in. For example:
•Symbol “Class” in “Class” redefines the class symbol definition in a Class diagram
•Symbol “Class” in “Component” specifies the class symbol in a Component diagram.
Example
In the following example, the Process symbol in a “Data Flow Gane & Sarson” diagram is now defined by “Control Transform”. Normally, it is defined by “Process”.
SYMBOL Process IN "Data Flow Gane & Sarson" { DEFINED BY "Control Transform" }