Architecting and designing > DoDAF > DoDAF 2 > DoDAF 2 metamodel overview > Inheritance in DM2 metamodel
  
Inheritance in DM2 metamodel
Inheritance in the metamodel forms a core functionality point of the DoDAF 2 metamodel (DM2) support.
Inheritance of properties and behavior
Definition types can inherit properties from other definition types, and also behavior in terms of relationships that can be drawn to the symbols representing other definition types on a diagram. In other words, the Performer definition type inherits from the Resource definition type. Therefore, the Performer property set is inherited from the Resource definition type's property set. Further, any relationship line that can be drawn to/from a Resource, can also be drawn to or from any of its subtypes. For example, on an OV-2 Alternative diagram, you can draw an ActivityChangesResource line from an Activity to a Resource, or to a Performer, or to any of Performer's subtypes, such as Person.
Symbol represents functionality
As part of inheritance, symbols on a diagram can be made to represent a definition type and all subtypes. This functionality manifests itself when you draw a symbol on a diagram, you are asked to specify the definition type that the symbol represents, from a list that contains the definition type and all of its subtypes. For example, if you draw a Resource symbol on an OV-02 Operational Resource Flow Alternative diagram, you are asked to specify the definition type that the symbol represents from a list that includes Resource and all of its subtypes, such as Performer and all of Performer's subtypes, such as Person.
DM2 is based on the IDEAS framework, which has the artifact type Thing at the top of the metamodel hierarchy. All other DM2 artifact types inherit from Thing. The Thing definition type is specified in System Architect's metamodel (in the dodaf2.cfg file, part of the saprops.cfg property set), but Thing is not instantiated as a definition type that you model with in the tool. All definition types that inherit from it are available in the tool. Below is a snippet of the DM2 instantiated in System Architect, for the Measure definition type and all of its subtypes.
See also
DoDAF 2 metamodel overview