Customizing the metamodel : Keywords for USRPROPS : DEFINED (BY)
  
DEFINED (BY)
This keyword associates a definition to a symbol. It also enables you to reassociate a symbol to a different definition.
Meaning 1
If you add new symbols to an encyclopedia in USRPROPS.TXT, you must specify what definition type they are associated with using this keyword. If a new symbol specified in USRPROPS.TXT is missing this clause, System Architect will give a parsing warning when opening the encyclopedia, and default to the null definition for the symbol.
Example
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"
}
In the example above, a new diagram type, symbol type, and definition type have been specified in USRPROPS.TXT. The DEFINED BY keyword is used to specify 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 will simply have a default properties "Name" and "Description".
Meaning 2
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 reassociate 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" versus Symbol "Class" in "Component" – in the first case we specify we are redefining the class symbol definition in a Class diagram; in the later case, the class symbol in a Component diagram.)
Example
SYMBOL Process IN "Data Flow Gane & Sarson"
{
DEFINED BY "Control Transform"
}
In the example above, the Process symbol in a "Data Flow Gane & Sarson" diagram is now defined by "Control Transform". Normally, it is defined by "Process".