Customizing the metamodel : Keywords for USRPROPS : ONEOF
  
ONEOF
One of the allowed types for a property. Is used with the EDIT keyword to specify that the property references one of the definitions of another definition type.
Example
SYMBOL "Relation" IN "Entity Relation"
{
PROPERTY "From Entity" { EDIT ONEOF Entity READONLY } PROPERTY "To Entity" { EDIT ONEOF Entity READONLY }}
In the example above, the Relation line between two entities contains, on its Symbol tab, the entities that it connects – both the entity that the line is drawn to and the entity that the line is drawn from. In each case, one and only one entity is listed. This information is supplied automatically (System Architect keeps track of from and to information), and therefore the property is made READONLY.
Example 2:
Definition "Extends"
{
PROPERTY "Use Case Steps" { ZOOMABLE EDIT ONEOF "Use Case Step" KEYED BY {"Model Name":"Model Name", "Use Case Name":"From Use Case", Name}
}
In the example above, the definition behind the Extends line contains a reference to the Use Case Step (in the referencing Use Case) at which the extension (to the other Use Case that the line connects to) takes place. When you click Choices for this property in the Extends definition, you get a list of all Use Case Steps – however there is only room in the property field to drag in one Use Case Step (contrast to LISTOF which would allow multiple definitions to be dragged in).