Activities and flows.

Type ActivityEntry
Cardinality 0..*
Changeable true
Derived false

Flow artifacts.

Type ArtifactEntry
Cardinality 0..*
Changeable true
Derived false

Flow participants.

Type ParticipantEntry
Cardinality 0..*
Changeable true
Derived false

Flow resources.

Type ResourceEntry
Cardinality 0..*
Changeable true
Derived false

Packages contained in this package.

Type PackageEntry
Cardinality 0..*
Changeable true
Derived false

Package can extend other packages and inherit their elements. This reference is required because extends reference is already defined in PackageElement as derived and immutable. For top-level packages extends is the same as this reference. For nested packages extends is a union of containment-derived extensions and this reference.

Package own elements override inherited elements with the same keys. To suppress an inheriIted element define an element with the same key and null value.

Multiple inheritance allows to have “mix-in” packages. For example, the primary lineage can follow the organizational hierarchy with base packages defining generic flows and then specializing at the lower levels of the organization, say to specific tools. Then there can be a technology tree, for example different cloud platforms. A set of flows defining development processes for a particular organization and a particular cloud technology would be a mix of the two inheritance hierarchies.

Type Package
Cardinality 0..*
Changeable true
Derived false