R26 - modelint/shlaer-mellor-metamodel GitHub Wiki

R26 / M:Mc-1

Derived Attribute is derived from one or many Attribute

Attribute contributes to the value of zero, one or many Derived Attribute


By definition, a Derived Attribute must be computed from at least one other Attribute.

An Attribute of any type, including Derived, may contribute to the computation of a Derived Attribute (other than itself).

The specific role, or roles played by an Attribute in Derivation is determined by the Formula specified for the Derived Attribute.

Formalization

Attribute In Derivation.(Source attribute, Source class, Domain) -> Attribute.(Name, Class, Domain)
Attribute In Derivation.(Target attribute, Target class, Domain) -> Derived Attribute.(Name, Class, Domain)

Constraint

The value pair of Source attribute + Source class may not match the value pair of Target attribute + Target class. In other words, an Attribute may not be derived from itself.