BACM 1.1 ontology
type: Ontology
imports: AnnotationVocabulary
version IRI: https://www.omg.org/spec/BACM/20241101/
title: Business Architecture Core Metamodel - BACM

owns
type: AnnotationProperty
description: The owns annotation property marks t-box composition; if the subject of an owns annotation property is removed from the ontology, then the transitive closure of the object elements should also be removed from the ontology

uuid
type: AnnotationProperty
description: The uuid annotation property object associates a UUID (type 4) with each entity and property in the ontology. Note that each such entity also is equivalenced to a qname of the form bacm:{uuid}.

AbstractAction
type: Class
subclass of: BACMPlainEntity
usage note: AbstractAction is used to classify entities that should be disjoint from Capability, AbstractResult and AbstractThing. It is not used for any other purpose in the metamodel.

BACMPlainEntity
type: Class
subclass of: BACMEntity
definition: Definition: BACMPlainEntity is an abstract class disjoint from BACMRelation that classifies all BACM classes representing concepts of the modeled business that are not specializations of BACMRelation.
usage note: Usage: BACMPlainEntity and BACMRelation distinguish classes intended to represent entities from those intended to represent associations

AbstractThing
type: Class
usage note: AbstractThing is used to classify entities that should be disjoint from Capability, AbstractResult and AbstractAction . It is not used for any other purpose in the metamodel.

BACM_Model
type: Class
subclass of: BACMElement
subclass of: Restriction
  on property: smm_model
  on class: SmmModel
  min cardinality: 0
subclass of: Restriction
  on property: smm_model
  on class: SmmModel
  max cardinality: 1
subclass of: Restriction
  on property: strategy_choices
  on class: StrategyChoices
  min cardinality: 0
subclass of: Restriction
  on property: measure_library
  on class: MeasureLibrary
  min cardinality: 0
subclass of: Restriction
  on property: bacm_element
  on class: BACMElement
  min cardinality: 0
definition: Definition: The BACMModel represents the root element of a BACM model (i.e. the element from which a tool or person can navigate to every other element in the model)
usage note: Usage: A single instance of this class must exist in an instance model

BACMElement
type: Class
subclass of: Restriction
  on property: BACMElement.description
  on data range: string
  cardinality: 1
subclass of: Restriction
  on property: BACMElement.name
  on data range: string
  cardinality: 1
subclass of: Restriction
  on property:
    inverse of: bacm_element
  on class: BACM_Model
  cardinality: 1
definition: Definition: The BACMElement represents the class of all elements in a BACM model. It provides elements with a name and description and allows elements to be annotated.
usage note: Usage: BACMElement is an abstract class and cannnot be instantiated in a model.

SmmModel
type: Class
subclass of: Restriction
  on property:
    inverse of: smm_model
  on class: BACM_Model
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: smm_model
  on class: BACM_Model
  max cardinality: 1
definition: Definition: An SmmModel represents the collection of MeasureLibraries and other entities needed to implement a set of measures appropriate to a business architecture model based on the BACM specification.
usage note: Usage: SmmModel specializes the corresponding concept from the SMM 1.2 specification. The BACM effectively imports the whole of the SMM specification metamodel

StrategyChoices
type: Class
subclass of: BACMPlainEntity
subclass of: Restriction
  on property: alternative
  on class: StrategyModel
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: strategy_choices
  on class: BACM_Model
  cardinality: 1
definition: Definition: The StrategyChoices represents a suite of strategies that can be evaluated for selection. Each StrategyModel in a StrategyChoices element shall be considered as alternatives. Alternative StrategyModels may share Means, Ends, Initiatives and Changes.
usage note: Usage: There may be at most a single instance of StrategyChoices in a BACM model

MeasureLibrary
type: Class
subclass of: Restriction
  on property:
    inverse of: measure_library
  on class: BACM_Model
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: measure_library
  on class: BACM_Model
  max cardinality: 1
definition: Definition: The MeasureLibrary represents a collection of measures (measurement types) that define measurements associated with BACM model elements.
usage note: Usage: The MeasureLibrary specializes the corresponding concept from he SMM 1.2 specification. The BACM metamodel effectively imports the entire SMM metamodel.

BACMBinDirRelation
type: Class
subclass of: BACMRelation
subclass of: Restriction
  on property: BACMBinDirRelation.BACMRelToEntity
  on class: BACMEntity
  min cardinality: 1
subclass of: Restriction
  on property: BACMBinDirRelation.BACMRelFromEntity
  on class: BACMEntity
  min cardinality: 1

BACMBinDirRelation.BACMRelToEntity
type: ObjectProperty
range: BACMEntity
domain: BACMBinDirRelation

BACMBinDirRelation.BACMRelFromEntity
type: ObjectProperty
range: BACMEntity
domain: BACMBinDirRelation

BACMRelation
type: Class
subclass of: BACMEntity
subclass of: Restriction
  on property: BACMRelation.BACMRelEntity
  on class: BACMEntity
  min cardinality: 1
definition: Definition: BACMRelation is an abstract class that models n-ary relations with features and the ability to participate in other specializations and instances of this class as bacm_entity ends.
usage note: Usage: BACMRelation is the generalization of all classes resulting from the transformation of <<association>> stereotyped classes. The model associations determined to be legs of the <<association>> stereotyped classes are transformed to specialize the association with ends bacm_entity and bacm_relation

BACMRelation.BACMRelEntity
type: ObjectProperty
range: BACMEntity
domain: BACMRelation

BACMEntity
type: Class
subclass of: BusinessElement
subclass of: Restriction
  on property:
    inverse of: BACMBinDirRelation.BACMRelToEntity
  on class: BACMBinDirRelation
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: BACMBinDirRelation.BACMRelFromEntity
  on class: BACMBinDirRelation
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: BACMRelation.BACMRelEntity
  on class: BACMRelation
  min cardinality: 0
definition: Definition: BACMEntity is an abstract class that is characterized by participating in relationships defined by BACMRelation and BACMBinDirRelation. BACMEntity is also a generalization of all classes intended to represent concepts of the modeled business. See the normative XMI file for details.
usage note: Usage: Both BACMRelation and BACMBinDirRelation are specializations of BACMEntity allowing these relationships to participate in other relationship

BusinessElement
type: Class
subclass of: BACMElement
subclass of: Restriction
  on property: BusinessElement.abstract
  on data range: boolean
  cardinality: 1
subclass of: Restriction
  on property: owns_0
  on class: BusinessElement
  min cardinality: 0
subclass of: Restriction
  on property: aggregates_0
  on class: BusinessElement
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: owns_0
  on class: BusinessElement
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: owns_0
  on class: BusinessElement
  max cardinality: 1
subclass of: Restriction
  on property:
    inverse of: aggregates_0
  on class: BusinessElement
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: element
  on class: Measurement
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: class
  on class: Scope
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: BusEleExtRel
  on class: ExternalRelationship
  min cardinality: 1
subclass of: Restriction
  on property:
    inverse of: Responsible.nature
  on class: Responsible
  min cardinality: 0
definition: Definition: BusinessElement represents a concept or entity that existing or is planned to exist in the business.
usage note: Usage: BusinessElement is an abstract base class for all classes whose instances represent business entities.

BACMShortcut
type: Class
subclass of: Restriction
  on property: BACMShortcut.constr
  on data range: string
  min cardinality: 1
definition: Definition: BACMShortcut is an abstract class inherited by the transformation of all metamodel classes stereotyped as <<shortcut> and all generated classes that result from the transformation of model classes stereotyped as <<shortcut>>. It declares a string (constr) that defines the shortcut constraint and a boolean valued function (hasDetail) that evaluates the constraint string and determines whether it is true or false.
usage note: Usage: In the normative XMI, the constraint string defined in the model is represented as an OCL function that determines if there is a specified path between the instances at the ends of the association. The modeler is allowed to use the constraint mechanism to define shortcut associations within the instance model. In this case, the constr attribute will contain the constraint string and the modeler must provide an implementation of the hasDetail function that evaluates the string and returns a boolean result

Measurement
type: Class
subclass of: Restriction
  on property: element
  on class: BusinessElement
  min cardinality: 1
definition: Definition: Measurement represents an actual measurement, which includes the time and other attributes of the measurement and the measure (measurement type).
usage note: Usage: Measurement specializes the corresponding class in the SMM 2.1 specification to define the measurand as a BACM BusinessElement.

Scope
type: Class
subclass of: Restriction
  on property: class
  on class: BusinessElement
  min cardinality: 0
subclass of: Restriction
  on property: class
  on class: BusinessElement
  max cardinality: 1
definition: Definition: The Scope class represents a collection of BACM BusinessElements that define the scope of a Measurement.
usage note: Usage: See the SMM 1.2 specification. The Scope class specializes the corresponding class in the SMM metamodel to allow scope selection by BACM Category

ExternalRelationship
type: Class
subclass of: BACMElement
subclass of: Restriction
  on property: ExternalRelationship.language
  on data range: string
  cardinality: 1
subclass of: Restriction
  on property: ExternalRelationship.specification
  on data range: string
  cardinality: 1
subclass of: Restriction
  on property: BusEleExtRel
  on class: BusinessElement
  min cardinality: 1
subclass of: Restriction
  on property: externalRelData
  on class: ExternalData
  min cardinality: 1
definition: Definition: ExternalRealtionship represents a relationship between a BusinessElement in a provider tool or repository to ExternalData in another tool or Repository. The external data may be a BusinessElement (or a linked collection of BusinessElements) or some other element (or linked collection of elements) from a model that is not a BACM model. The IRI must identify a resource to which the specification String can be applied to identify the element (or linked set of elements) in that resource. The language attribute of the ExternalRelationship identifies the language of the specification String. Note that BusinessElement classifies all BACM classes and associations that are intended to represent business concepts (as opposed to model concepts or analysis concepts).
usage note: Usage: The tool provider may elect to provide services to dereference the ExternalData and apply the specification to allow the architect to view and interact with the results. However, a compliant implementation may just implement, import and export the ExternalRelationship, the ExternalData and the links connecting them and connecting the ExternalRelationship to the BusienssElement. If the language string is the string "Natural" or a string that identifies a natural language. then the specification Strong will be a natural language description of the alignment mappin

Responsible
type: Class
subclass of: AbstractOperatingModel
subclass of: BACMRelation
subclass of: Restriction
  on property: Responsible.nature
  on class: BusinessElement
  min cardinality: 0
subclass of: Restriction
  on property: Responsible.target
  on class: OrgUnit
  min cardinality: 0
subclass of: Restriction
  on property: Responsible.target
  on class: OrgUnit
  max cardinality: 1
subclass of: Restriction
  on property: Responsible.source
  on class: OrgUnit
  min cardinality: 0
subclass of: Restriction
  on property: Responsible.source
  on class: OrgUnit
  max cardinality: 1
definition: Definition: Responsible represents an unspecified kind of responsibility relationship between a source OrgUnit and a target OrgUnit. This relationship may also include a BusinessElement that defines the nature of the association.
usage note: Usage: Responsible instances may form generalization hierarchies. The business architect may create these hierarchies to represent particular types of responsibility relationships found in the business. When specializing Responsible instances, the source, target and nature association legs may be subsetted to restrict them to particular types of OrgUnit and BusinessElement

Responsible.nature
type: ObjectProperty
range: BusinessElement
domain: Responsible

Responsible.target
type: ObjectProperty
range: OrgUnit
domain: Responsible

Responsible.source
type: ObjectProperty
range: OrgUnit
domain: Responsible

ExternalData
type: Class
subclass of: BACMElement
subclass of: Restriction
  on property: ExternalData.resourceIdentifier
  on data range: anyURI
  min cardinality: 0
subclass of: Restriction
  on property: ExternalData.resourceIdentifier
  on data range: anyURI
  max cardinality: 1
subclass of: Restriction
  on property:
    inverse of: externalRelData
  on class: ExternalRelationship
  min cardinality: 1

AbstractBusinessObject
type: Class
subclass of: AbstractThing
subclass of: AbstractOperatingModel
subclass of: Restriction
  on property:
    inverse of: isAbout.bus_obj
  on class: isAbout
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: aggregates_2
  on class: CapabilityImplementation
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: ResourceRole.assignTo_1
  on class: ResourceRole
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: ObjectRelation.related_1
  on class: ObjectRelation
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: belongsTo_2.from_belongsTo_2
  on class: belongsTo_2
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: scopes.from_scopes
  on class: scopes
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: object_1.to_object_1
  on class: object_1
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: object_0.to_object_0
  on class: object_0
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: stateOf.to_stateOf
  on class: stateOf
  min cardinality: 0
definition: Definition: AbstractBusinessObject represents BusinessObjects or InformationItems.
usage note: Usage: AbstractBusinessObject cannot be instanced or specialized in a business arcitecture model. The AbstractBusinessObject metaclass has two disjoint, concrete subclasses: BusinessObject - instances represent tangible things of importance to the business. InformationItem - instances represent intangible (mental) concepts important to the business. The AbstractBusinessObject metaclass provides its concrete specializations with the state_of association to Outcomes and the scopes association to Capability and CapabilityBehavior. AbstractBusinessObject also provides for ObjectRelations that may relate any collection of BusinessObjects and InformationItems.

AbstractOperatingModel
type: Class
subclass of: Restriction
  on property:
    inverse of: baseline_2.to_baseline_2
  on class: baseline_2
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: uses_1.to_uses_1
  on class: uses_1
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: baseline_0.to_baseline_0
  on class: baseline_0
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: baseline_5.to_baseline_5
  on class: baseline_5
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: baseline_4.to_baseline_4
  on class: baseline_4
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: uses_0.to_uses_0
  on class: uses_0
  min cardinality: 0
definition: Definition: AbstractOperatingModel is an abstract metaclass whose concrete specializations are the model elements of the operating model (see the AbstractOperatingModel diagram). This metaclass groups together the concrete metaclasses that may be impacted by a Means or Initiative or baselined by Ends or Changes
usage note: Usage: Means and Initiatives describe behaviors that will impact parts of the operating model of the business to achieve the Ends and Changes associated with the Means and Initiatives. While the behaviors are described by the Means and Initiatives, the affected operating model components are represented by the impacts relationship to facilitate analysis of these impacts for feasibility, risk, cost and other measures. Ends and Change describe the new state and behavior of the baselined parts of the operating model of the business. For example, an End may be the improvement of throughput and reduction of wait time for a CapabilityImplementation. The Means may be the addition of personnel and upgrading of an application. The End describes a new baseline for the CapabilityImplementation (relative to the existing baseline associated with the CapabilityImplementation). The Means describes the behaviors to be carried out with respect to the staffing and resourcing of the CapabilityImplementation

isAbout
type: Class
subclass of: ObjectRelation
subclass of: BACMRelation
subclass of: Restriction
  on property: isAbout.bus_obj
  on class: AbstractBusinessObject
  cardinality: 1
subclass of: Restriction
  on property: isAbout.info_item
  on class: InformationItem
  cardinality: 1
definition: Definition: IsAbout is a binary directed relationship between an InformationItem and an StatefulThing. It specializes ObjectRelation. It designates that the InformationItem is metadata about the StatefulThing.
usage note: Usage: AbstractBusinessObjects and ObjectRelations have only identity and immutable properties (a.k.a. intrinsic properties). An InformationItem that isAbout an AbstractBusinessObject can only hold metadata bout this identity and the intrinsic properties. To model the recording of state, modelers should use recordedAs

isAbout.bus_obj
type: ObjectProperty
range: AbstractBusinessObject
domain: isAbout

isAbout.info_item
type: ObjectProperty
range: InformationItem
domain: isAbout

CapabilityImplementation
type: Class
subclass of: BACMPlainEntity
subclass of: AbstractOperatingModel
subclass of: APCICB
subclass of: Restriction
  on property: aggregates_2
  on class: AbstractBusinessObject
  min cardinality: 0
subclass of: Restriction
  on property: implements_7
  on class: Role
  min cardinality: 0
subclass of: Restriction
  on property: aggregates_1
  on class: Performer
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: implements_5.from_implements_5
  on class: implements_5
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: implements_6.from_implements_6
  on class: implements_6
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: staffs.to_staffs
  on class: staffs
  min cardinality: 0
definition: Definition: The CapabilityImplementation represents a collection of Roles, AbstractBusinessObjects and Performers that may be used to implement a Capability or CapabilityBehavior or a Process or Activity (see the Roles diagram).
usage note: Usage: The AbstractBusinessObjects and Performers are optional, as are the Roles. The modeler may create instances of CapabilityImplementation annotated with a description of proposed or planned roles, resources and performers and subsequently add the Roles, Performers and Resources. Note that AbstractBusinessObjects and Performers may be shared by CapabilityImplementations (representing that two or more CapabilityImplementations will select AbstractBusinessObjects and Performers from the same domain. However, Roles may not be shared (see implements_7 description). Consequently, when a CapabilityImplementation is created or implements_5 to an AbstractCapability or implements_6 an AbstractProcess, a new set of Role elements should be created that specialize the Roles of the AbstractCapability or AbstractProcess. These "role clones" are effectively owned by the CapabilityImplementation via the implements_7 relationship

ResourceRole
type: Class
subclass of: Role
subclass of: BACMRelation
subclass of: Restriction
  on property: ResourceRole.assignTo_1
  on class: AbstractBusinessObject
  min cardinality: 0
subclass of: Restriction
  on property: ResourceRole.assignTo_1
  on class: AbstractBusinessObject
  max cardinality: 1

ResourceRole.assignTo_1
type: ObjectProperty
range: AbstractBusinessObject
domain: ResourceRole

ObjectRelation
type: Class
subclass of: AbstractBusinessObject
subclass of: BACMRelation
subclass of: Restriction
  on property: ObjectRelation.related_1
  on class: AbstractBusinessObject
  cardinality: 1
definition: Definition: ObjectRelation represents any relationship of any arity among StatefulThings and InformationItems.
usage note: Usage: The architect may use ObjectRelation to indicate that two BusinessObjects are joined together or that one BusinessObject is part of another. ObjectRelations may also target other ObjectRelations

ObjectRelation.related_1
type: ObjectProperty
range: AbstractBusinessObject
domain: ObjectRelation
definition: Definition: The related_1 leg of the ObjectRelation association links an StatefulThing to another StatefulThing.
usage note: Usage: ObjectRelation is typically specialized by the modeler to define specific relationships between SatefulThings. For example, a relationship between a passenger and a conveyor may designate that the passenger is onboard the conveyor. Note that ObjectRelation can have state applied by Outcomes that define when the relationship began to exist and when it ceased to exist. Note that ObjectRelation may target other ObjectRelations

AbstractCapability
type: Class
subclass of: AbstractOperatingModel
subclass of: BACMPlainEntity
subclass of: Restriction
  on property:
    inverse of: needs_0.needs_0_src
  on class: needs_0
  cardinality: 1
subclass of: Restriction
  on property:
    inverse of: produces_0.prod_0_src
  on class: produces_0
  cardinality: 1
subclass of: Restriction
  on property:
    inverse of: Role.ofCapability
  on class: Role
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: scopes.to_scopes
  on class: scopes
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: depends_0.to_depends_0
  on class: depends_0
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: depends_0.from_depends_0
  on class: depends_0
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: object_2.to_object_2
  on class: object_2
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: informs_0.to_informs_0
  on class: informs_0
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: implements_5.to_implements_5
  on class: implements_5
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: implements_0.to_implements_0
  on class: implements_0
  min cardinality: 0
definition: Definition: AbstractCapability is not intended to represent a business concept. It is a metamodeling device to provide relationships to Capability and CapabilityBehavior that would otherwise be duplicated.
usage note: Usage: The AbstractCapability metaclass has two concrete specializations: Capability and CapabilityBehavior. Only the specializations can be instanced in models. AbstractCapability provides the following to its concrete specializations: to represent the production of an Outcome; to represent the need for an Outcome; to represent the ability of an InformationItem to inform the behavior of a Capability and/or CapabilityBehavior; to represent the ability of a CapabilityImplementation to implement a Capability and/or a CapabilityBehavior; to represent the notion that a BusinessObject and/or an InformationItem scopes a Capability and/or a CapabilityBehavior </ol

needs_0
type: Class
subclass of: BACMRelation
subclass of: Restriction
  on property: needs_0.non_Initial
  on data range: boolean
  cardinality: 1
subclass of: Restriction
  on property: needs_0.needs_0_src
  on class: AbstractCapability
  cardinality: 1
subclass of: Restriction
  on property: needs_0.needs_0_tgt
  on class: Outcome
  cardinality: 1

needs_0.needs_0_src
type: ObjectProperty
range: AbstractCapability
domain: needs_0

needs_0.needs_0_tgt
type: ObjectProperty
range: Outcome
domain: needs_0

produces_0
type: Class
subclass of: BACMRelation
subclass of: Restriction
  on property: produces_0.non_final
  on data range: boolean
  cardinality: 1
subclass of: Restriction
  on property: produces_0.prod_0_src
  on class: AbstractCapability
  cardinality: 1
subclass of: Restriction
  on property: produces_0.prod_0_tgt
  on class: Outcome
  cardinality: 1

produces_0.prod_0_src
type: ObjectProperty
range: AbstractCapability
domain: produces_0

produces_0.prod_0_tgt
type: ObjectProperty
range: Outcome
domain: produces_0

Role
type: Class
subclass of: AbstractOperatingModel
subclass of: BACMRelation
subclass of: Restriction
  on property: Role.ofCapability
  on class: AbstractCapability
  min cardinality: 0
subclass of: Restriction
  on property: Role.ofCapability
  on class: AbstractCapability
  max cardinality: 1
subclass of: Restriction
  on property: Role.ofProcess
  on class: AbstractProcess
  min cardinality: 0
subclass of: Restriction
  on property: Role.ofProcess
  on class: AbstractProcess
  max cardinality: 1
subclass of: Restriction
  on property:
    inverse of: implements_7
  on class: CapabilityImplementation
  min cardinality: 0
definition: Definition: Role represents a specified way for an entity to participate in producing the Outcome of a Capability or a Process. However, only the concrete subclasses of Role may be used in a model.
usage note: Usage: Role is an abstract association meta-class used to model relationships between Performers and Resources and Capabilities and Processes. It represents how Performers and Resources participate in behavior descriptions as represented by CapabilityBehaviors and/or in Capabilities. The Role meta-class is stereotyped as an association and its concrete instances are effectively class associations. Specifically, the Role meta-class acts as an n-ary association with three predominant patterns: 1. A Capability is associated with a Performer; 2. A CapabilityBehavior is associated with a Performer, or a choice of an OrgUnit or a System; 3. A CapabilityImplementation is associated with a CapabilityBehavior and a choice of an OrgUnit or a System. These three patterns represent: 1. An abstract view of the business capability with detail added by the Role instance indicating the type of activity to be performed. Since a Capability may have multiple associated Roles, this implies that the Capability incorporates multiple activities. 2. An intermediate view of the business used in planning where details about the specific behaviors of a capability and the type of performer entity (OrgUnit or System) are specified, but the actual or planned assignment of real OrgUnits or Systems has not occurred. 3. A more detailed planning/implementation view of the business in which specific performers and resources have been or are planned to be allocated to a Capability and its CapabilityBehaviors by way of a set of CapabilityImplementations. Neither ResourceRoles nor PerformerRoles may exist without being linked to a Capability or a CapabilityBehavior or a Process or an Activity with the role link. A Capability and a CapabilityBehavior may share a Role, but an assignment to that Role will be the same for both the Capability and the CapabilityBehavior. To indicate that a CapabilityBehavior and a Capability have related roles, the modeler should create a specialization ot the Capability Role…

Role.ofCapability
type: ObjectProperty
range: AbstractCapability
domain: Role

Role.ofProcess
type: ObjectProperty
range: AbstractProcess
domain: Role

BusinessObject
type: Class
subclass of: AbstractBusinessObject
subclass of: BACMPlainEntity
subclass of: Restriction
  on property:
    inverse of: realize.from_realize
  on class: realize
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: contains.from_contains
  on class: contains
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: realizedAs.to_realizedAs
  on class: realizedAs
  min cardinality: 0
definition: Definition: BusinessObject represents a tangible thing that is of significance to a business.
usage note: Usage: BusinessObjects may also overlap with other classes in the model; for example a BusinessObject may also be a Resource used by a Capability. Typically, the BusinessObject represents tangible things that are acted on by the Capabilities of a business to create a new Outcome that defines a new state of the BusinessObject. An assembly robot may be a Performer associated with an assembly Capability. The same assembly robot may be a BusinessObject when it is no longer needed and is sold.

Capability
type: Class
subclass of: AbstractCapability
subclass of: Restriction
  on property:
    inverse of: supports.from_supports
  on class: supports
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: delivers.to_delivers
  on class: delivers
  min cardinality: 0
definition: Definition: Capability represents generalization over variations in behavior and variations in structure applied to the behavior where the same general Outcome is produced by the behavior.. A Capability represents the ability a business has to produce an Outcome without specifying how that Outcome is produced.
usage note: Usage: Capability is defined in this way to allow executives to analyze variation in business behaviors and structures that all produce the same or similar outcomes. In addition, observing problems or successes that recur in most or all of the variations of a Capability is a clue that the business has a systemic problem with respect to the capability. For example, if all behavior variants and implementations of a Capability are underperforming, then one might wish to understand why. Capabilities may be decomposed in a strict hierarchy, but are not allowed to be specialized. The CapabilityBehavior that delivers a Capability is used to represent behavioral variants of a Capability. A Capability may be implemented by a CapabilityImplementation, a collection of Resources and Performers that are assigned Roles in the Capability. The modeler may use any of the following patterns: Capability is defined without CapabilityBejaviors or CapabilityImplementations; Capability is defined with CapabilityImplementations annotated with proposed resources and performers but without Roles, Resources and Performers; Capability is defined with Roles, CapabilityImplementations, Performers, Resources where the Performers and Resources are aggregated to the CapabilityImplementation and are assigned to Roles of the Capability; Capability is defined as in 3. and CapabilityBehaviors are defined delivering the Capability with Role assignments to CapabilityBehavior compatible with the assignments to Capability Roles; Capability is defined with delivering CapabilityBehaviors but no CapabilityImplementation; Capability is defined with Roles and delivering CapabilityBehaviors are defined with consistent Roles; All other configurations are disallowed.
example: Constraint: Capability instances may own other Capability instances but may not aggregate or generalize them

CapabilityBehavior
type: Class
subclass of: AbstractAction
subclass of: AbstractCapability
subclass of: APCICB
subclass of: Restriction
  on property:
    inverse of: delivers.from_delivers
  on class: delivers
  min cardinality: 0
definition: Definition: CapabilityBehavior represents a behavior description or specification, such as process diagrams, procedures manuals and other means of recording and publishing expected business practices.
usage note: Usage: CapabilityBehavior also represents rules, regulations and policies that constrain behavior, whether imposed by statute, regulators or business executives. CapabilityBehaviors deliver a Capability, indicating that the set CapabilityBehaviors associated to a Capability are variant ways of producing the same or similar Outcomes. CapabilityBehaviors may have associated Roles. These Roles define how Performers and Resources may participate in the described or specified behavior. CapabilityBehavior is a subtype of AbstractCapability and inherits associations with the Outcomes of Capabilities. These associations represent the ability of a behavior to produce an outcome. The Outcomes produced by a CapabilityBehavior are usually more specific than Outcomes produced by the Capability. Often the Outcome of a CapabilityBehavior will include side-effects that result from the particular behavior, such as resources consumed in executing the behavior or time taken by the execution. CapabilityBehaviors are not decomposable, but may be associated with Processes, which are decomposable

APCICB
type: Class
subclass of: Restriction
  on property:
    inverse of: specifies.to_specifies
  on class: specifies
  min cardinality: 0
usage note: Usage: This abstract element defines a union type for AbstractProcess, CapabilityImplementation and CapabilityProvider, allowing the specifies association to connect any instances of any concrete subclasses of these classes.

Performer
type: Class
subclass of: AbstractBusinessObject
subclass of: Restriction
  on property:
    inverse of: aggregates_1
  on class: CapabilityImplementation
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: PerformerRole.assignTo_2
  on class: PerformerRole
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: informs_2.to_informs_2
  on class: informs_2
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: participate.from_participate
  on class: participate
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: belongsTo_1.from_belongsTo_1
  on class: belongsTo_1
  min cardinality: 0
definition: Definition: The Performer represents entities that are capable of performing PerformerRoles. Performer has two specializations: OrgUnit and System, representing a human components of the business or a system.
usage note: Usage: The Performer is concrete to allow modeling the need for a Performer without committing to a human assignment, a system assignment, or a combination of both. Performers are generally described by skills or abilities. Performer is s specialization of AbstractBusinessObject, allowing Performers to be treated as AbstractBusinessObjects without conflict. For example, a Performer may fill a role in a manufaturing capability and be the BusinessObject of a Training Management capability responsible for employee training.

InformationItem
type: Class
subclass of: BACMPlainEntity
subclass of: AbstractBusinessObject
subclass of: Restriction
  on property:
    inverse of: isAbout.info_item
  on class: isAbout
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: informs_0.from_informs_0
  on class: informs_0
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: realize.to_realize
  on class: realize
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: informs_2.from_informs_2
  on class: informs_2
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: informs_1.from_informs_1
  on class: informs_1
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: recordedAs.to_recordedAs
  on class: recordedAs
  min cardinality: 0
definition: Definition: The InformationItem represents a kind of information.
usage note: Usage: The same InformationItem may represent a thought or piece of knowedge and a physical manifestation of that thought or knowledge as a document or a dataset

Outcome
type: Class
subclass of: AbstractOperatingModel
subclass of: BACMPlainEntity
subclass of: Restriction
  on property:
    inverse of: needs_0.needs_0_tgt
  on class: needs_0
  cardinality: 1
subclass of: Restriction
  on property:
    inverse of: OutcomeRelation.related_0
  on class: OutcomeRelation
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: produces_0.prod_0_tgt
  on class: produces_0
  cardinality: 1
subclass of: Restriction
  on property:
    inverse of: stateOf.from_stateOf
  on class: stateOf
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: realizedAs.from_realizedAs
  on class: realizedAs
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: recordedAs.from_recordedAs
  on class: recordedAs
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: trigger_2.from_trigger_2
  on class: trigger_2
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: trigger_1.from_trigger_1
  on class: trigger_1
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: experiences.to_experiences
  on class: experiences
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: incorporates_0.to_incorporates_0
  on class: incorporates_0
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: trigger_0.to_trigger_0
  on class: trigger_0
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: input.to_input
  on class: input
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: exitCriteria.to_exitCriteria
  on class: exitCriteria
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: values.to_values
  on class: values
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: output.to_output
  on class: output
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: entryCriteria.to_entryCriteria
  on class: entryCriteria
  min cardinality: 0
definition: Definition: An Outcome represents a fact or collection of facts about an experienced state of affairs pertaining to one or more BusinessObjects and/or InformationItems. Outcomes are produced/needed by and outputs/inputs of AbstractProcesses.
usage note: Usage: For example, a Capability to attach wheels to a vehicle being manufactured would require that a vehicle without wheels be available and that wheels be available. This requirements would be modeled as two Outcomes: 1. A vehicle without wheels is available to the Capability, and 2. A set of wheels is available to the Capability. The result of the Capability is another Outcome in which the wheels are no longer separate but are attached to the vehicle. Separating the state of a BusinessObject or InformationItem from the BusinessObject or InformationItem allows the model to represent many possible states of the BusinessObject or InformationItem and associate each state with the Capabilities and/or CapabilityBehaviors that produce the states. Outcome and its AbstractBusinessObjects must represent a single, consistent set of facts whether viewed from the capability perspective or the process perspective. However, the facts represented by a Outcome may not be at the same level of detail when viewed in a capability perspective as when viewed in a process perspective. For example, a process perspective may represent the wheel assembly activities in greater detail, specifying the additional tools and parts needed to attach the wheels to the vehicle with intermediate Outcomes representing the stages of mounting the wheels to the hubs, attaching the nuts to the hub bolts, and tightening them to the required torque specification. The beginning and end of this sequence of Outcomes are the same in the process perspective and in the capability perspective. Other semantic relationships provided for Outcome are generalization and aggregation.

OutcomeRelation
type: Class
subclass of: AbstractOperatingModel
subclass of: BACMRelation
subclass of: Restriction
  on property: OutcomeRelation.related_0
  on class: Outcome
  min cardinality: 0
definition: Definition: OutcomeRelation represents any kind of semantic relationship between Outcomes.
usage note: Usage: The architect may create instances of any arity to define semantic relationships between Outcomes. For example, two Outcomes may be specified as alternatives that cannot both be produced by a Capability or Process in a single execution.

OutcomeRelation.related_0
type: ObjectProperty
range: Outcome
domain: OutcomeRelation
definition: Definition: The relatedOutcome leg of the OutcomeRelation association identifies an Outcome that is related to one or more other Outcomes.
usage note: Usage: The OutcomeRelation association does not have a fixed number of legs when instanced. The architect may define any number of instances of the relatedOutcome leg wen instancing the OutcomeRelation as long as each leg is given a unique name

PerformerRole
type: Class
subclass of: Role
subclass of: BACMRelation
subclass of: Restriction
  on property: PerformerRole.assignTo_2
  on class: Performer
  min cardinality: 0
subclass of: Restriction
  on property: PerformerRole.assignTo_2
  on class: Performer
  max cardinality: 1
definition: Definition: PerformerRole represents skills, knowledge and willingness to use these in the production of the Outcomes of a Capability.
usage note: Usage: PerformerRole represents roles that must be fulfilled by human or automation actors. This role can also be used to define an executive or managerial authority for an AbstractCapability or an AbstractProcess. When assignTo_2 a Performer, it is interpreted to mean that the Performer acquires the authority and responsibility defined by the PerformerRole

PerformerRole.assignTo_2
type: ObjectProperty
range: Performer
domain: PerformerRole

AbstractProcess
type: Class
subclass of: APCICB
subclass of: AbstractAction
subclass of: AbstractOperatingModel
subclass of: Restriction
  on property: follows_1
  on class: AbstractProcess
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: Role.ofProcess
  on class: Role
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: implements_0.from_implements_0
  on class: implements_0
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: implements_6.to_implements_6
  on class: implements_6
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: informs_1.to_informs_1
  on class: informs_1
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: input.from_input
  on class: input
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: output.from_output
  on class: output
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: follows_1
  on class: AbstractProcess
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: aggregates
  on class: Process
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: implements_1.from_implements_1
  on class: implements_1
  min cardinality: 0
definition: Definition: AbstractProcess is not intended to represent a busines concept. It is a metamodeling technical device to share relationships with Process and Activity that would otherwise need to be duplicated.
usage note: Usage: AbstractProcess is an abstract meta-class that provides input and output Outcome connection abilities to both Process and Activity. It also provides the role link to PerformerRoles and ResourceRoled. It also provides the implements link to a ValueStream or some ValueStreamStages. Since implements aligns the scope of the Process with either a ValueStreamStage or a ValueStream, it should not link both a ValueStreamStage and the ValueStream the ValueStreamStage belongs to

belongsTo_2
type: Class
subclass of: BACMBinDirRelation
subclass of: Restriction
  on property: belongsTo_2.to_belongsTo_2
  on class: OrgUnit
  min cardinality: 0
subclass of: Restriction
  on property: belongsTo_2.from_belongsTo_2
  on class: AbstractBusinessObject
  min cardinality: 0

belongsTo_2.to_belongsTo_2
type: ObjectProperty
range: OrgUnit
domain: belongsTo_2

belongsTo_2.from_belongsTo_2
type: ObjectProperty
range: AbstractBusinessObject
domain: belongsTo_2

OrgUnit
type: Class
subclass of: Performer
subclass of: Restriction
  on property:
    inverse of: belongsTo_2.to_belongsTo_2
  on class: belongsTo_2
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: staffs.from_staffs
  on class: staffs
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: Responsible.target
  on class: Responsible
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: Responsible.source
  on class: Responsible
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: belongsTo_1.to_belongsTo_1
  on class: belongsTo_1
  min cardinality: 0

scopes
type: Class
subclass of: BACMBinDirRelation
subclass of: BACMShortcut
subclass of: Restriction
  on property: scopes.to_scopes
  on class: AbstractCapability
  min cardinality: 0
subclass of: Restriction
  on property: scopes.to_scopes
  on class: AbstractCapability
  max cardinality: 1
subclass of: Restriction
  on property: scopes.from_scopes
  on class: AbstractBusinessObject
  min cardinality: 0
subclass of: Restriction
  on property: scopes.from_scopes
  on class: AbstractBusinessObject
  max cardinality: 1
definition: Definition: The scopes shortcut association allows a Capability and/or CapabilityBehavior to be associated with some BusinessObjects and.or an InformationItems without defining Outcomes produced or needed by the Capability and/or CapabilityBehavior.
usage note: Usage: The modeler may elect to subsequently define such Outcomes, which must be consistent with the constraint specified by the scopes shortcut association.
example: Constraint: Let BO1 be a BusinessObject and C1 be a Capability that are associated by scopes s1. Then there should exist in the model an Outcome O1 such that C1 produce_0s O1 and O1 is a stateOf BO1.
shortcut: bacm_cap:scopes/bacm_cap:scopes.to_scopes/bacm_cap:AbstractCapability/^bacm_cap:produces_0.prod_0_src/bacm_cap:produces_0/bacm_cap:produces_0.prod_0_tgt/bacm_cap:Outcome/^bacm_cap:stateOf.from_stateOf/bacm_cap:stateOf/bacm_cap:stateOf.to_stateOf/bacm_cap:AbstractBusinessObject/^bacm_cap:scopes.from_scopes/bacm_cap:scopes

scopes.to_scopes
type: ObjectProperty
range: AbstractCapability
domain: scopes

scopes.from_scopes
type: ObjectProperty
range: AbstractBusinessObject
domain: scopes

object_1
type: Class
subclass of: BACMBinDirRelation
subclass of: BACMShortcut
subclass of: Restriction
  on property: object_1.from_object_1
  on class: ProcurementOffering
  min cardinality: 0
subclass of: Restriction
  on property: object_1.to_object_1
  on class: AbstractBusinessObject
  min cardinality: 0
definition: Definition: The object shortcut association asserts that the ProcurementOffering incorporates unspecified Outcomes describing the states of AbstractBusinessObjects.
usage note: Usage: This association allows the business architect to omit the Outcome in the procurement of some AbstractBusinessObjects for use by theBusiness when those Outcomes are obvious or irrelevant to the purposes of the analysis that is using the business architecture model.
example: Constraint: Let POf1 be a ProcurementOffering and BO1 be a BusinessObject associated by o1 an "object" association. Then POf1 should incorporate ProcurementOutcomes {POj} that represent either the change of ownership of BO1 or the establishment of a limited right to use BO1.
shortcut: bacm_cap:object_1/bacm_cap:object_1.to_object_1/bacm_cap:AbstractBusinessObject/^bacm_cap:stateOf.to_stateOf/bacm_cap:stateOf/bacm_cap:stateOf.from_stateOf/bacm_cap:Outcome/^generalizes/bacm_prod:ProcurementOutcome/^bacm_prod:incorporates_1.to_incorporates_1/bacm_prod:incorporates_1/bacm_prod:incorporates_1.from_incorporates_1/bacm_prod:ProcurementOffering/^bacm_cap:object_1.from_object_1/bacm_cap:object_1

object_1.from_object_1
type: ObjectProperty
range: ProcurementOffering
domain: object_1

object_1.to_object_1
type: ObjectProperty
range: AbstractBusinessObject
domain: object_1

ProcurementOffering
type: Class
subclass of: ProductOffering
subclass of: Restriction
  on property:
    inverse of: object_1.from_object_1
  on class: object_1
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: incorporates_1.from_incorporates_1
  on class: incorporates_1
  min cardinality: 0

object_0
type: Class
subclass of: BACMBinDirRelation
subclass of: BACMShortcut
subclass of: Restriction
  on property: object_0.from_object_0
  on class: MerchandiseOffering
  min cardinality: 0
subclass of: Restriction
  on property: object_0.to_object_0
  on class: AbstractBusinessObject
  min cardinality: 0
definition: Definition: The object association represents a shortcut relationship between a MerchandiseOffering and a BusinessObject or InformationItem offered for sale or lease to the Customer.
usage note: Usage: This shortcut implies that there is an unspecified MerchandiseOutcome of the AbstractBusinessObject that would describe the terms of ownership/use incorporated in the MerchandiseOffering.
example: Constraint: Let MOf1 be a MerchandiseOffering and BO1 be a BusinessObject associated by o1 an "object" association. Then MOf1 should incorporate MerchandiseOutcomes {MOj} that represent either the change of ownership of BO1 or the establishment of a limited right to use BO1
shortcut: bacm_cap:object_0/bacm_cap:object_0.to_object_0/bacm_cap:AbstractBusinessObject/^bacm_cap:stateOf.to_stateOf/bacm_cap:stateOf/bacm_cap:stateOf.from_stateOf/bacm_cap:Outcome/^generalizes/bacm_prod:MerchandiseOutcome/^bacm_prod:incorporates_2.to_incorporates_2/bacm_prod:incorporates_2/bacm_prod:incorporates_2.from_incorporates_2/bacm_prod:MerchandiseOffering/^bacm_cap:object_0.from_object_0/bacm_cap:object_0

object_0.from_object_0
type: ObjectProperty
range: MerchandiseOffering
domain: object_0

object_0.to_object_0
type: ObjectProperty
range: AbstractBusinessObject
domain: object_0

MerchandiseOffering
type: Class
subclass of: ProductOffering
subclass of: Restriction
  on property:
    inverse of: object_0.from_object_0
  on class: object_0
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: incorporates_2.from_incorporates_2
  on class: incorporates_2
  min cardinality: 0
definition: Definition: A MerchandiseOffering irepresents an offering to sell or lease a good to a customer who may use the good to produce Outcomes.
usage note: Usage: The MerchandiseOffering is characterized by some BusinessObjects or InformationItems that would be transferred to the Customer for use by the Customer. The BusinessObjects and/or InformationItems are objects of the MerchandiseOffering

stateOf
type: Class
subclass of: BACMBinDirRelation
subclass of: Restriction
  on property: stateOf.from_stateOf
  on class: Outcome
  min cardinality: 0
subclass of: Restriction
  on property: stateOf.to_stateOf
  on class: AbstractBusinessObject
  min cardinality: 0
definition: Definition: The "state_of" meta-association applies a state to an AbstractBusinessObject.
usage note: Usage: For example, a passenger may be transported from one location to another by a Capability, and the Outcome resulting from the Capability execution represents the fact that the passenger is now in the destination location.

stateOf.from_stateOf
type: ObjectProperty
range: Outcome
domain: stateOf

stateOf.to_stateOf
type: ObjectProperty
range: AbstractBusinessObject
domain: stateOf

depends_0
type: Class
subclass of: BACMBinDirRelation
subclass of: BACMShortcut
subclass of: Restriction
  on property: depends_0.to_depends_0
  on class: AbstractCapability
  min cardinality: 0
subclass of: Restriction
  on property: depends_0.from_depends_0
  on class: AbstractCapability
  min cardinality: 0
definition: Definition: The depends shortcut association represents the execution dependency of one AbstractCapability on another AbstractCapability. This execution dependency is represented in detail by the first AbstractCapability produces_0 non-finally an Outcome OA that is need_0 by the second AbstractCapability, which produces_0 Outcome OB that is non-initially needs_0 by the first AbstractCapability.
usage note: Usage: This shortcut association is used to represent a possible execution dependency that can be justified as described in the definition. It is useful when analyzing models for dependencies or issue root causes.
example: Constraint: Let CA be a Capability that depends on Capability CB. Then CA should non-finally produces_0 an Outcome OA that is the state of AbstractBusinessObject ABO1 that is related via an ObjectRelation OR to AbstractBusinessObject ABO2 whose state is defined by Outcome OB that is produces_0 by Capability CB. In effect, CA is scoped by ABO1 and CB is scoped by ABO2 and ABO1 is related to ABO2
shortcut: bacm_cap:depends_0/bacm_cap:depends_0.to_depends_0/bacm_cap:AbstractCapability/^bacm_cap:produces_0.prod_0_src/bacm_cap:produces_0/bacm_cap:produces_0.prod_0_tgt/bacm_cap:Outcome/^bacm_cap:stateOf.from_stateOf/bacm_cap:stateOf/bacm_cap:stateOf.to_stateOf/bacm_cap:AbstractBusinessObject/^bacm_cap:ObjectRelation.related_1/bacm_cap:ObjectRelation/bacm_cap:ObjectRelation.related_1/bacm_cap:AbstractBusinessObject/^bacm_cap:stateOf.to_stateOf/bacm_cap:stateOf/bacm_cap:stateOf.from_stateOf/bacm_cap:Outcome/^bacm_cap:produces_0.prod_0_tgt/bacm_cap:produces_0/bacm_cap:produces_0.prod_0_src/bacm_cap:AbstractCapability/^bacm_cap:depends_0.from_depends_0/bacm_cap:depends_0

depends_0.to_depends_0
type: ObjectProperty
range: AbstractCapability
domain: depends_0

depends_0.from_depends_0
type: ObjectProperty
range: AbstractCapability
domain: depends_0

object_2
type: Class
subclass of: BACMBinDirRelation
subclass of: BACMShortcut
subclass of: Restriction
  on property: object_2.from_object_2
  on class: ServiceOffering
  min cardinality: 0
subclass of: Restriction
  on property: object_2.to_object_2
  on class: AbstractCapability
  min cardinality: 0
example: Constraint: Let SOf1 be a ServiceOffering and C1 be a Capability that is associated by o1 an object association. Then there should exist a ServiceOutcome SO1 such that SO1 is incoporated in SOf1 and SO1 is produced by C1
shortcut: bacm_cap:object_2/bacm_cap:object_2.to_object_2/bacm_cap:AbstractCapability/^bacm_cap:produces_0.prod_0_src/bacm_cap:produces_0/bacm_cap:produces_0.prod_0_tgt/bacm_cap:Outcome/^generalizes/bacm_prod:ServiceOutcome/^bacm_prod:incorporates_3.to_incorporates_3/bacm_prod:incorporates_3/bacm_prod:incorporates_3.from_incorporates_3/bacm_prod:ServiceOffering/^bacm_cap:object_2.from_object_2/bacm_cap:object_2

object_2.from_object_2
type: ObjectProperty
range: ServiceOffering
domain: object_2

object_2.to_object_2
type: ObjectProperty
range: AbstractCapability
domain: object_2

ServiceOffering
type: Class
subclass of: ProductOffering
subclass of: Restriction
  on property:
    inverse of: object_2.from_object_2
  on class: object_2
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: incorporates_3.from_incorporates_3
  on class: incorporates_3
  min cardinality: 0
definition: Definition: ServiceOffering represents an offer to provide a service to a Customer. the busienss provides the CapabilityImplementations and CapabilityBehaviors needed to effect the Outcome promised to the Customer by the ServiceOffering.
usage note: Usage: A ServiceOffering is a specialization of a ProductOffering such that a Capability or CapabilityBehavior or Process or Activity is performed to produce an Outcome that is incorporated into the service. Unlike a sale or lease, where some incorporated Outcomes represent a change of ownership or poseeseeion/use of a business object, the incorporated Outcomes (such as a cleaned residence) are the primary Outcomes desired by the customer. A business that offers a ServiceOffering must incorporate or arrange for the Capabilities and or Processes needed to produce the promised Outcomes

informs_0
type: Class
subclass of: BACMBinDirRelation
subclass of: Restriction
  on property: informs_0.from_informs_0
  on class: InformationItem
  min cardinality: 0
subclass of: Restriction
  on property: informs_0.to_informs_0
  on class: AbstractCapability
  min cardinality: 0
definition: Definition: The informs_0 association represents the influence of information (represented by InformationItem) on a Capability or a CapabilityBehavior.
usage note: Usage: Information, such as weather, production targets, and results of a business analysis project will change how a business behaves and how a Capability or CapabilityBehavior performs

informs_0.from_informs_0
type: ObjectProperty
range: InformationItem
domain: informs_0

informs_0.to_informs_0
type: ObjectProperty
range: AbstractCapability
domain: informs_0

implements_5
type: Class
subclass of: BACMBinDirRelation
subclass of: Restriction
  on property: implements_5.from_implements_5
  on class: CapabilityImplementation
  min cardinality: 0
subclass of: Restriction
  on property: implements_5.to_implements_5
  on class: AbstractCapability
  min cardinality: 0
definition: Definition: The implements_5 association represents a relationship meaning that the CapabilityImplementation provides PerformerRoles and ResourceRoles to implement a Capability or CapabillityBehavior.
usage note: Usage: The implements_5 association should be used to define a set of resource requirements needed to implement an AbstractCapability. The resource requirements are stated as a collection of PerformerRoles and ResourceRoles. These Roles should be the Roles of the AbstractCapability, but this is not enforced by the abstract syntax. Additionally, the CapabilityImplementation may aggregate Performers and AbstractBusinessObjects that are assignTo the set of Roles. These Performers and AbstractBusinessObjects represent domains from which these assignTo assignments are/should be made. This is not enforced by the abstract syntax.

implements_5.from_implements_5
type: ObjectProperty
range: CapabilityImplementation
domain: implements_5

implements_5.to_implements_5
type: ObjectProperty
range: AbstractCapability
domain: implements_5

implements_0
type: Class
subclass of: BACMBinDirRelation
subclass of: BACMShortcut
subclass of: Restriction
  on property: implements_0.from_implements_0
  on class: AbstractProcess
  min cardinality: 0
subclass of: Restriction
  on property: implements_0.to_implements_0
  on class: AbstractCapability
  min cardinality: 0
definition: Definition: The implements_0 shortcut represents that a AbstractCapability and an AbstractProcess have related Outcomes
usage note: Usage: It could also be justified by a common Performer playing a role in the CapabilityBehavior and the AbstractProcess
example: Constraint: Let P1 be a Process and C1 be a capability associated by an implements association. Then there should exist Outcomes O1 and O2 such that O1 is produced by (needed by) C1 and O2 is output (input) by P1 and O1 and O2 are related such that they are the same Outcome or one is in the extended aggregation of the other or one is the extended specialization of the other or any chain of relationships connecting the two where the chain consists exclusively of being aggregated by or being a specialization of the predecessor Outcome
shortcut: bacm_cap:implements_0/bacm_cap:implements_0.to_implements_0/bacm_cap:AbstractCapability/^bacm_cap:Role.ofCapability/bacm_cap:Role/bacm_cap:Role.ofProcess/bacm_proc:AbstractProcess/^bacm_cap:implements_0.from_implements_0/bacm_cap:implements_0

implements_0.from_implements_0
type: ObjectProperty
range: AbstractProcess
domain: implements_0

implements_0.to_implements_0
type: ObjectProperty
range: AbstractCapability
domain: implements_0

realize
type: Class
subclass of: BACMBinDirRelation
subclass of: Restriction
  on property: realize.to_realize
  on class: InformationItem
  min cardinality: 0
subclass of: Restriction
  on property: realize.from_realize
  on class: BusinessObject
  min cardinality: 0
usage note: Description: The realize relation designates that a tangible BusinessObject realizes the information of an InformationItem. Usage: The realize relation would be used to model the fact that an Outcome such as the completion of a journey that is recordedAs an InformationItem is also realized in a document or data in a dataset.

realize.to_realize
type: ObjectProperty
range: InformationItem
domain: realize

realize.from_realize
type: ObjectProperty
range: BusinessObject
domain: realize

contains
type: Class
subclass of: BACMBinDirRelation
subclass of: Restriction
  on property: contains.to_contains
  on class: System
  min cardinality: 0
subclass of: Restriction
  on property: contains.from_contains
  on class: BusinessObject
  min cardinality: 0
definition: Definition: The contains association represents that BusinessObjects may contain System.
usage note: Usage: In some cases, a BusinessObject and a System may represent different aspects of the same entity; since meta-classes in this meta-model are not assumed disjoint, an instance may have both BusinessObject and System as metaclasses. However, a BusinessObject may contain several Systems and other BusinessObjects as well. In this case, the Systems are not aspects of the primary BusinessObject, and the contains association allows the architect to represent this. An example of this latter case is a primary BusinessObject that is a computer and the System is a software package hosted on that computer (along with other software packages). The software package may be an instance of a System and also an instance of a BusinessObject (i.e. the code

contains.to_contains
type: ObjectProperty
range: System
domain: contains

contains.from_contains
type: ObjectProperty
range: BusinessObject
domain: contains

System
type: Class
subclass of: Performer
subclass of: Restriction
  on property:
    inverse of: contains.to_contains
  on class: contains
  min cardinality: 0

realizedAs
type: Class
subclass of: BACMBinDirRelation
subclass of: BACMShortcut
subclass of: Restriction
  on property: realizedAs.from_realizedAs
  on class: Outcome
  min cardinality: 0
subclass of: Restriction
  on property: realizedAs.to_realizedAs
  on class: BusinessObject
  min cardinality: 0
definition: Definition: The realizedAs shortcut relation designates a BusinessObject that realizes an Outcome.
usage note: Usage: This shortcut relationship allows the modeler to omit modeling of the InformationItem that records the Outcome and is realized as the BusinessObject.
example: Constraint: Given an Outcome realizedAs BusinessObject, this Outcome would be recordedAs an InformationObject that is realized by a BusinessObject.
shortcut: bacm_cap:realizedAs/bacm_cap:realizedAs.to_realizedAs/bacm_cap:BusinessObject/^bacm_cap:realize.from_realize/bacm_cap:realize/bacm_cap:realize.to_realize/bacm_cap:InformationItem/^bacm_cap:recordedAs.to_recordedAs/bacm_cap:recordedAs/bacm_cap:recordedAs.from_recordedAs/bacm_cap:Outcome/^bacm_cap:realizedAs.from_realizedAs/bacm_cap:realizedAs

realizedAs.from_realizedAs
type: ObjectProperty
range: Outcome
domain: realizedAs

realizedAs.to_realizedAs
type: ObjectProperty
range: BusinessObject
domain: realizedAs

supports
type: Class
subclass of: BACMBinDirRelation
subclass of: Restriction
  on property: supports.to_supports
  on class: ValueStreamStage
  min cardinality: 0
subclass of: Restriction
  on property: supports.from_supports
  on class: Capability
  min cardinality: 0
definition: Definition: The supports association represents the relationship between a Capability and a ValueStreamStage that means that the Capability is needed in the ValueStreamStage.
usage note: Usage: For example, an important stage in the creation of value for a manipulation puzzle such as Rubik's Cobe is the production of a manufacturable design of the puzzle. A failure here can result in a puzzle that cannot be manufactured or is not attractive to purchasers. Outcomes providing value are: a positive maniufacturability review; a positive customer reaction in a focus group. The Capabilities needed to produce these Outcomes are: product design, manufacturability analysis, focus group management. For this example, the previous three Capability instances would be associated with the "Design Ready" ValueStreamStage.

supports.to_supports
type: ObjectProperty
range: ValueStreamStage
domain: supports

supports.from_supports
type: ObjectProperty
range: Capability
domain: supports

ValueStreamStage
type: Class
subclass of: AbstractAction
subclass of: AbstractValueModel
subclass of: VSVSS
subclass of: Restriction
  on property: ValueStreamStage.presentation_order
  on data range: integer
  cardinality: 1
subclass of: Restriction
  on property:
    inverse of: supports.to_supports
  on class: supports
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: exitCriteria.from_exitCriteria
  on class: exitCriteria
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: entryCriteria.from_entryCriteria
  on class: entryCriteria
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: owns_1
  on class: ValueStream
  cardinality: 1
subclass of: Restriction
  on property:
    inverse of: produces_2.from_produces_2
  on class: produces_2
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: participate.to_participate
  on class: participate
  min cardinality: 0
definition: Definition: ValueStreamStages represent significant points of value creation in a ValueStream.
usage note: Usage: ValueStreamStages are dependent on their containing ValueStream and are not shared with other ValueStreams. When the business architect intends to represent similar ValueStreamStages in different ValueStreams, the similarity should be represented by having the same set of relationships with the supporting Capabilities. ValueStreamStages are often defined by analysis and decomposition of the ValueProposition. They may also respresent stages of completion of a "build to order" product that are of interest to the Customer (e.g. stages where the Customer may make changes in specifications of the ordered product).
example: Constraint: A ValueStreamStage may only own other ValueStreamStages and be owned by another ValueStreamStage or a ValueStream. ValueStreamStages may not participate in generalizes or aggregates associations.

delivers
type: Class
subclass of: BACMBinDirRelation
subclass of: Restriction
  on property: delivers.from_delivers
  on class: CapabilityBehavior
  min cardinality: 0
subclass of: Restriction
  on property: delivers.to_delivers
  on class: Capability
  min cardinality: 0
subclass of: Restriction
  on property: delivers.to_delivers
  on class: Capability
  max cardinality: 1
definition: Definition: The delivers association represents a CapabilityBehavior that produces or is intended to produce Outcomes that satisfy the Outcomes produced by the Capability.
usage note: Usage: A CapabilityBehavior that delivers a Capability must provide at least the set of Roles provided by the Capability

delivers.from_delivers
type: ObjectProperty
range: CapabilityBehavior
domain: delivers

delivers.to_delivers
type: ObjectProperty
range: Capability
domain: delivers

implements_6
type: Class
subclass of: BACMBinDirRelation
subclass of: Restriction
  on property: implements_6.to_implements_6
  on class: AbstractProcess
  min cardinality: 0
subclass of: Restriction
  on property: implements_6.from_implements_6
  on class: CapabilityImplementation
  min cardinality: 0
definition: Definition: The implements_6 association represents a relationship meaning that the CapabilityImplementation provides PerformerRoles and ResourceRoles to implement a Process or Activity.
usage note: Usage: The implements_6 association should be used to define a set of resource requirements needed to implement an AbstractProcess. The resource requirements are stated as a collection of PerformerRoles and ResourceRoles. These Roles should be the Roles of the AbstractProcess, but this is not enforced by the abstract syntax. Additionally, the CapabilityImplementation may aggregate Performers and AbstractBusinessObjects that are assignTo the set of Roles. These Performers and AbstractBusinessObjects represent domains from which these assignTo assignments are/should be made. This is not enforced by the abstract syntax.

implements_6.to_implements_6
type: ObjectProperty
range: AbstractProcess
domain: implements_6

implements_6.from_implements_6
type: ObjectProperty
range: CapabilityImplementation
domain: implements_6

staffs
type: Class
subclass of: BACMBinDirRelation
subclass of: BACMShortcut
subclass of: Restriction
  on property: staffs.from_staffs
  on class: OrgUnit
  min cardinality: 0
subclass of: Restriction
  on property: staffs.to_staffs
  on class: CapabilityImplementation
  min cardinality: 0
example: Constraint: If OrgUnit OU1 staffs CapabilityImplementation CI1, then for some Performer P1, P1 belongsTo_1 OrgUnit OU1 and P1 is assignTo_1 PerformerRole PR1 and PR1 is aggregates_3 by CI1. Also, if OU1 staffs CI1, then for some AbstractBusinessObject ABO1, ABO1 belongsTo_2 OU1 and ABO1 is assignTo_1 ResourceRole RR1 and CI1 aggregates_3 RR1
shortcut: bacm_cap:staffs/bacm_cap:staffs.to_staffs/bacm_cap:CapabilityImplementation/bacm_cap:implements_7/bacm_cap:Role/^generalizes/bacm_cap:PerformerRole/bacm_cap:PerformerRole.assignTo_2/bacm_org:Performer/^bacm_org:belongsTo_1.from_belongsTo_1/bacm_org:belongsTo_1/bacm_org:belongsTo_1.to_belongsTo_1/bacm_org:OrgUnit/^bacm_cap:staffs.from_staffs/bacm_cap:staffs
shortcut: bacm_cap:staffs/bacm_cap:staffs.to_staffs/bacm_cap:CapabilityImplementation/bacm_cap:implements_7/bacm_cap:Role/^generalizes/bacm_cap:ResourceRole/bacm_cap:ResourceRole.assignTo_1/bacm_cap:AbstractBusinessObject/^bacm_cap:belongsTo_2.from_belongsTo_2/bacm_cap:belongsTo_2/bacm_cap:belongsTo_2.to_belongsTo_2/bacm_org:OrgUnit/^bacm_cap:staffs.from_staffs/bacm_cap:staffs

staffs.from_staffs
type: ObjectProperty
range: OrgUnit
domain: staffs

staffs.to_staffs
type: ObjectProperty
range: CapabilityImplementation
domain: staffs

informs_2
type: Class
subclass of: BACMBinDirRelation
subclass of: Restriction
  on property: informs_2.to_informs_2
  on class: Performer
  min cardinality: 0
subclass of: Restriction
  on property: informs_2.from_informs_2
  on class: InformationItem
  min cardinality: 0
definition: Definition: The informs_2 association represents the influence of information (represented by InformationItem) on a Performer.
usage note: Usage: Information, such as weather, production targets, and results of a business analysis project will change how a business behaves and how a Performer performs.

informs_2.to_informs_2
type: ObjectProperty
range: Performer
domain: informs_2

informs_2.from_informs_2
type: ObjectProperty
range: InformationItem
domain: informs_2

informs_1
type: Class
subclass of: BACMBinDirRelation
subclass of: Restriction
  on property: informs_1.to_informs_1
  on class: AbstractProcess
  min cardinality: 0
subclass of: Restriction
  on property: informs_1.from_informs_1
  on class: InformationItem
  min cardinality: 0
definition: Definition: The informs_1 association represents the influence of information (represented by InformationItem) on a Process or Activity.
usage note: Usage: Information, such as weather, production targets, and results of a business analysis project will change how a business behaves and how a Process or Activity performs.

informs_1.to_informs_1
type: ObjectProperty
range: AbstractProcess
domain: informs_1

informs_1.from_informs_1
type: ObjectProperty
range: InformationItem
domain: informs_1

recordedAs
type: Class
subclass of: BACMBinDirRelation
subclass of: Restriction
  on property: recordedAs.from_recordedAs
  on class: Outcome
  min cardinality: 0
subclass of: Restriction
  on property: recordedAs.to_recordedAs
  on class: InformationItem
  min cardinality: 0
definition: Definition: The recordedAs meta-association between Outcome and AbstractBusinessObject indicates that the AbstractBusinessObject records an occurrence of an Outcome.
usage note: Usage: In effect, this allows the architect to indicate that model instances of Outcome are or will be recorded to create a reviewable history

recordedAs.from_recordedAs
type: ObjectProperty
range: Outcome
domain: recordedAs

recordedAs.to_recordedAs
type: ObjectProperty
range: InformationItem
domain: recordedAs

trigger_2
type: Class
subclass of: BACMBinDirRelation
subclass of: Restriction
  on property: trigger_2.to_trigger_2
  on class: Touchpoint
  min cardinality: 0
subclass of: Restriction
  on property: trigger_2.from_trigger_2
  on class: Outcome
  min cardinality: 0
definition: Definition: The trigger_2 association relates an Outcome to a Touchpoint, and means that the Outcome was produced in the Touchpoint.
usage note: Usage: The trigger_2 association, along with trigger_1 is used in the initial Touchpoint of the initial CustomerJourneyStage to produce an Outcome that is an entryCriteria of the initial ValueStreamStage of a ValueStream. It means that the Touchpoint triggers the ValueStream. This association may be used for other purposes

trigger_2.to_trigger_2
type: ObjectProperty
range: Touchpoint
domain: trigger_2

trigger_2.from_trigger_2
type: ObjectProperty
range: Outcome
domain: trigger_2

Touchpoint
type: Class
subclass of: AbstractAction
subclass of: JSTP
subclass of: AbstractValueModel
subclass of: Restriction
  on property: follows_3
  on class: Touchpoint
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: trigger_2.to_trigger_2
  on class: trigger_2
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: experiences.from_experiences
  on class: experiences
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: owns_3
  on class: CustomerJourneyStage
  cardinality: 1
subclass of: Restriction
  on property:
    inverse of: follows_3
  on class: Touchpoint
  min cardinality: 0
definition: Definition: The Touchpoint represents an interaction between the business and the Customer.
usage note: Usage: One or more Outcomes created by the business are experienced by the Customer at the Touchpoint (e.g. the customer finds the answer to a question in a brochure created by the business, or the customer receives the business object that was ordered in good condition and on time). Alternatively, one or more Outcomes created by customer uses of the business objects contained in the ProductOffering are experienced by the customer (e.g. the customer uses the purchased hammer to drive nails). The analysis of value exchanged at the Touchpoint is represented by the ValueCharacteristic associated with the Touchpoint.

trigger_1
type: Class
subclass of: BACMBinDirRelation
subclass of: Restriction
  on property: trigger_1.to_trigger_1
  on class: CustomerJourneyStage
  min cardinality: 0
subclass of: Restriction
  on property: trigger_1.from_trigger_1
  on class: Outcome
  min cardinality: 0
definition: Definition: The trigger_1 association relates an Outcome to a CustomerJourneyStage that directly or indirectly causes the Outcome to occur.
usage note: Usage: The trigger_1 association is typically used with the initial stage of a CustomerJourney to define an Outcome that is an entryCriteria for the initial stage of a ValueSTream. This means that the CustomerJourneyStage triggers the ValueStream. The association may be used for other purposes as well.

trigger_1.to_trigger_1
type: ObjectProperty
range: CustomerJourneyStage
domain: trigger_1

trigger_1.from_trigger_1
type: ObjectProperty
range: Outcome
domain: trigger_1

CustomerJourneyStage
type: Class
subclass of: JSTP
subclass of: AbstractAction
subclass of: AbstractValueModel
subclass of: Restriction
  on property: follows_2
  on class: CustomerJourneyStage
  min cardinality: 0
subclass of: Restriction
  on property: owns_3
  on class: Touchpoint
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: trigger_1.to_trigger_1
  on class: trigger_1
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: owns_2
  on class: CustomerJourney
  cardinality: 1
subclass of: Restriction
  on property:
    inverse of: follows_2
  on class: CustomerJourneyStage
  min cardinality: 0
definition: Definition: The CustomerJourneyStage represents a significant stage in the CustomerJourney. An example of the stages of a customer journey would be: awareness, seeking a solution, weighting alternatives, acquiring the solution, using the solution, disposing the solution.
usage note: Usage: CustomerJourneyStages are often associated with decisions by the customer to proceed to the next stage or abandon the journey. However, the CustomerJourney is not a process and has no alternative sequences or paths

experiences
type: Class
subclass of: BACMBinDirRelation
subclass of: Restriction
  on property: experiences.from_experiences
  on class: Touchpoint
  min cardinality: 0
subclass of: Restriction
  on property: experiences.to_experiences
  on class: Outcome
  min cardinality: 0
definition: Definition: The experiences relation represents a relationship between an Outcome and a Touchpoint meaning that the Customer will experience the Outcome at the Touchpoint.
usage note: Usage: A Touchpoint experiences an Outcome: 1. when that Outcome is provided as a service or 2. when the Outcome is associated with acceptance of the ProductOffering (e.g. the customer is happy with the contract of sale), or 3. when the customer receives information that resolves a question, or 4. when the customer makes use of a business object that is provided as an Outcome of an exchange transaction

experiences.from_experiences
type: ObjectProperty
range: Touchpoint
domain: experiences

experiences.to_experiences
type: ObjectProperty
range: Outcome
domain: experiences

incorporates_0
type: Class
subclass of: BACMBinDirRelation
subclass of: Restriction
  on property: incorporates_0.from_incorporates_0
  on class: ProductOffering
  min cardinality: 0
subclass of: Restriction
  on property: incorporates_0.to_incorporates_0
  on class: Outcome
  min cardinality: 0
definition: Definition: The incorporates association represents that an Outcome is included in a ProductOffering.
usage note: Usage: It may be implied that the BusinessObject whose state is represented by the Outcome is also included in the ProductOffering. In the case of a service offering, the Outcome instance represents the intended result of performing the capability as a service for a customer (as opposed to performing the capability for the immediate benefit of the business)

incorporates_0.from_incorporates_0
type: ObjectProperty
range: ProductOffering
domain: incorporates_0

incorporates_0.to_incorporates_0
type: ObjectProperty
range: Outcome
domain: incorporates_0

ProductOffering
type: Class
subclass of: Offering
subclass of: Restriction
  on property:
    inverse of: incorporates_0.from_incorporates_0
  on class: incorporates_0
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: of.to_of
  on class: of
  min cardinality: 0
definition: Definition: ProductOffering represents the terms and conditions associated with the acquisition of a product or service by a customer. It would typically include price, delivery terms, warranty and other aspects of these terms. The ProductOffering incorporates Outcomes such as change of possession for a product (BusinessObject or InformationItem) that is sold.
usage note: Usage: A ProductOffering (and its specializations Good and Service) are a type of BusinessObject. This allows a Customer to experience the ProductOffering at a Touchpoint and develop a reaction (such as the ProductOffering being a good deal). Such a reaction can be represented as a CustomerSegment associated with the Customer and the JourneyStage that includes the Touchpoint

trigger_0
type: Class
subclass of: BACMBinDirRelation
subclass of: BACMShortcut
subclass of: Restriction
  on property: trigger_0.from_trigger_0
  on class: Customer
  min cardinality: 0
subclass of: Restriction
  on property: trigger_0.to_trigger_0
  on class: Outcome
  min cardinality: 0
definition: Definition: The trigger_0 association relates a Customer to an Outcome and means that the Customer has directly or indirectly caused that Outcome to happen.
usage note: Usage: The trigger_0 association is used to relate a Customer to an Outcome that is an entryCriteria for the initial ValueStreamStage of a ValueStream. It allows the implication that the Customer triggers the ValueStream.
example: Constraint: This shortcut is justified by an Outcome that trigger_1 a CustomerJourneyStage that is the initial stage owns_2-ed by a CustomerJourney taken by the Customer.
shortcut: bacm_cap:trigger_0/bacm_cap:trigger_0.to_trigger_0/bacm_cap:Outcome/^bacm_cap:trigger_1.from_trigger_1/bacm_cap:trigger_1/bacm_cap:trigger_1.to_trigger_1/bacm_cust:CustomerJourneyStage/^bacm_cust:owns_2/bacm_cust:CustomerJourney/^bacm_cust:takes.to_takes/bacm_cust:takes/bacm_cust:takes.from_takes/bacm_cust:Customer/^bacm_cap:trigger_0.from_trigger_0/bacm_cap:trigger_0

trigger_0.from_trigger_0
type: ObjectProperty
range: Customer
domain: trigger_0

trigger_0.to_trigger_0
type: ObjectProperty
range: Outcome
domain: trigger_0

Customer
type: Class
subclass of: AbstractValueModel
subclass of: LegalEntity
subclass of: AbstractThing
subclass of: Restriction
  on property:
    inverse of: trigger_0.from_trigger_0
  on class: trigger_0
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: ValueCharacteristic.customer
  on class: ValueCharacteristic
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: takes.from_takes
  on class: takes
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: target.to_target
  on class: target
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: describes.to_describes
  on class: describes
  min cardinality: 0
definition: Definition: Customer represents a customer type or a class of customers. Customer also represents partner businesses and other forms of contracted business relationships.
usage note: Usage: Customer effectively owns a set of CustomerSegments, each of which contains a partial description of the Customer. The CustomerSegments of a Customer may characterize CustomerJourneyStages or Touchpoints (i.e. they describe the Customer characteristics and state of mind at the CustomerJourneyStage or Touchpoint. When this is the case, the Customer should take the CustomerJourney owning the CustomerJourneyStages and Youchpoints. The Customer is an acceptor of one or more ProductOfferings and target of the ValuePropositions of these ProductOfferings.

input
type: Class
subclass of: BACMBinDirRelation
subclass of: Restriction
  on property: input.from_input
  on class: AbstractProcess
  min cardinality: 0
subclass of: Restriction
  on property: input.to_input
  on class: Outcome
  min cardinality: 0
definition: Definition: The input association represents that the AbstractProcess inputs (requires or can use) the Outcome.
usage note: Usage: The input association in the process perspective corresponds to the needs association in the capability perspective. While it is possible that the same Outcome is input to a process and needed by a capability, it will usually be the case that a process inputs an Outcome that is related by generalization or aggregation (or another relation between Outcomes) to an Outcome needed by a capability. The process and capability in this case are semantically related by the relationship between their Outcomes. For example, a CustomerInformationManagement Capability may need CustomerInformation_change_pending Outcome. A process that updates the CustomerAddress (a component of CustomerInformation) may input CustomerAddress_change_pending Outcome, that is related to the other Outcome by aggregation.

input.from_input
type: ObjectProperty
range: AbstractProcess
domain: input

input.to_input
type: ObjectProperty
range: Outcome
domain: input

exitCriteria
type: Class
subclass of: BACMBinDirRelation
subclass of: BACMShortcut
subclass of: Restriction
  on property: exitCriteria.from_exitCriteria
  on class: ValueStreamStage
  min cardinality: 0
subclass of: Restriction
  on property: exitCriteria.to_exitCriteria
  on class: Outcome
  min cardinality: 0
definition: Definition: The exitCriteria association represents that the Outcome may be produced by the completion of the ValueStreamStage.
usage note: Usage: It is often useful in analysis to record the Outcomes that may be the case when a ValueStreamStage is complete, without commiting to defining Capabilities that support the ValueStreamStage and produce the Outcome. This association does not distinguish necessary from sufficient, nor does it permit logic expressions involving combinations of Outcomes. Such conditions may be expressed as annotations on the participating associations.
example: Constraint: Let C1 be a Capability supporting the ValueStreamStage and C1 produces the Outcome
shortcut: bacm_cap:exitCriteria/bacm_cap:exitCriteria.to_exitCriteria/bacm_cap:Outcome/^bacm_cap:produces_0.prod_0_tgt/bacm_cap:produces_0/bacm_cap:produces_0.prod_0_src/bacm_cap:AbstractCapability/^generalizes/bacm_cap:Capability/^bacm_cap:supports.from_supports/bacm_cap:supports/bacm_cap:supports.to_supports/bacm_cust:ValueStreamStage/^bacm_cap:exitCriteria.from_exitCriteria/bacm_cap:exitCriteria

exitCriteria.from_exitCriteria
type: ObjectProperty
range: ValueStreamStage
domain: exitCriteria

exitCriteria.to_exitCriteria
type: ObjectProperty
range: Outcome
domain: exitCriteria

values
type: Class
subclass of: BACMBinDirRelation
subclass of: Restriction
  on property: values.from_values
  on class: ValueItem
  min cardinality: 0
subclass of: Restriction
  on property: values.to_values
  on class: Outcome
  min cardinality: 0
definition: Definition: The values association links a ValueItem to an Outcome and provides a valuation of that Outcome. An Outcome may have several ValueItems, reflecting the ways in which different stakeholders perceive the Outcome. Likewise, a ValueItem may value multiple Outcomes that must be valued as a group.
usage note: Usage: The Outcome may be present in the business architecture model without an associated ValueItem, but ValueItems may not exist without being associated to an Outcome

values.from_values
type: ObjectProperty
range: ValueItem
domain: values

values.to_values
type: ObjectProperty
range: Outcome
domain: values

ValueItem
type: Class
subclass of: AbstractValueModel
subclass of: Restriction
  on property:
    inverse of: values.from_values
  on class: values
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: ValueCharacteristic_1.item
  on class: ValueCharacteristic_1
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: aggregates_3
  on class: ValueProposition
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: produces_2.to_produces_2
  on class: produces_2
  min cardinality: 0
definition: Definition: A ValueItem represents the business belief that a Customer will value one or more Outcomes that are experienced by the Customer.
usage note: Usage: For example, the ability of a sales representative to answer customer questions about a product is deemed to be valuable to the customer. Another example Outcome is the exchange of a good for money; the associated ValueItem could represent the buyer's feeling of having gotten a good deal

output
type: Class
subclass of: BACMBinDirRelation
subclass of: Restriction
  on property: output.from_output
  on class: AbstractProcess
  min cardinality: 0
subclass of: Restriction
  on property: output.to_output
  on class: Outcome
  min cardinality: 0
definition: Definition: The output association represents that the AbstractProcess outputs the Outcome.
usage note: Usage: The output association in the process perspective corresponds to the produces association in the capability perspective. While it is possible that the same Outcome is output from a process and produced by a capability, it will usually be the case that a process outputs an Outcome that is related by generalization or aggregation (or another relation between Outcomes) to an Outcome produced by a capability. The process and capability in this case are semantically related by the relationship between their Outcomes. For example, a CustomerInformationManagement Capability may produce CustomerInformation_is_current and CustomerInformation_is_correct Outcomes. A process that updates the CustomerAddress (a component of CustomerInformation) may produce CustomerAddress_is_current and CustomerAddress_is_correct Outcomes, that are related to the other Outcomes by aggregation

output.from_output
type: ObjectProperty
range: AbstractProcess
domain: output

output.to_output
type: ObjectProperty
range: Outcome
domain: output

entryCriteria
type: Class
subclass of: BACMBinDirRelation
subclass of: BACMShortcut
subclass of: Restriction
  on property: entryCriteria.from_entryCriteria
  on class: ValueStreamStage
  min cardinality: 0
subclass of: Restriction
  on property: entryCriteria.to_entryCriteria
  on class: Outcome
  min cardinality: 0
definition: Definition: The entryCriteria association represents that the Outcome may need to be satisfied in order to enter the ValueStreamStage.
usage note: Usage: It is often useful in analysis to record the Outcomes that should be the case to enter a ValueStreamStage without commiting to defining Capabilities that support the ValueStreamStage and need the Outcome. This association does not distinguish necessary from sufficient, nor does it permit logic expressions involving combinations of Outcomes. Such conditions may be expressed as annotations on the participating associations.
example: Constraint: Let C1 be a Capability supporting the ValueStreamStage and C1 needs the Outcome
shortcut: bacm_cap:entryCriteria/bacm_cap:entryCriteria.to_entryCriteria/bacm_cap:Outcome/^bacm_cap:needs_0.needs_0_tgt/bacm_cap:needs_0/bacm_cap:needs_0.needs_0_src/bacm_cap:AbstractCapability/^generalizes/bacm_cap:Capability/^bacm_cap:supports.from_supports/bacm_cap:supports/bacm_cap:supports.to_supports/bacm_cust:ValueStreamStage/^bacm_cap:entryCriteria.from_entryCriteria/bacm_cap:entryCriteria

entryCriteria.from_entryCriteria
type: ObjectProperty
range: ValueStreamStage
domain: entryCriteria

entryCriteria.to_entryCriteria
type: ObjectProperty
range: Outcome
domain: entryCriteria

AbstractValueModel
type: Class
subclass of: Restriction
  on property:
    inverse of: baseline_1.to_baseline_1
  on class: baseline_1
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: baseline_3.to_baseline_3
  on class: baseline_3
  min cardinality: 0
definition: Definition: The AbstractValueModel represents the value-related concepts that the Means and Initiative behaviors seek to achieve by changes made to the AbstractOperatingModel.
usage note: Usage: AbstractValueModel model elements represent perceptions of value as seen by a Customer or imagined by theBusiness to be seen by the Customer. As such, they cannot be directly changed by the business, so Means and Initiatives do not directly impact them. For example, the ValueProposition and ValueCharacteristic of an Offering may be improved by lowering its price, but this result is not guaranteed as the price action may be viewed as a signal of inflated worth or diminished quality. The architect may express a conviction that this result will occur in the expects association that links the price Means to the new Ends baseline for the ValueProposition and ValueCharacteristic.

LegalEntity
type: Class
subclass of: OrgUnit
subclass of: Restriction
  on property:
    inverse of: legal_jurisdiction.from_legal_jurisdiction
  on class: legal_jurisdiction
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: provides.from_provides
  on class: provides
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: accepts.from_accepts
  on class: accepts
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: purchaser.from_purchaser
  on class: purchaser
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: supplier.to_supplier
  on class: supplier
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: seller.to_seller
  on class: seller
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: provider_0.to_provider_0
  on class: provider_0
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: recipient_1.to_recipient_1
  on class: recipient_1
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: server.to_server
  on class: server
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: buyer.to_buyer
  on class: buyer
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: acceptor_0.to_acceptor_0
  on class: acceptor_0
  min cardinality: 0

ValueCharacteristic
type: Class
subclass of: AbstractValueModel
subclass of: BACMRelation
subclass of: Restriction
  on property: ValueCharacteristic.customer
  on class: Customer
  cardinality: 1
subclass of: Restriction
  on property: ValueCharacteristic.owns_4
  on class: ValueCharacteristic_1
  min cardinality: 0
subclass of: Restriction
  on property: ValueCharacteristic.proposition
  on class: ValueProposition
  cardinality: 1
definition: Definition: ValueCharacteristic represents the fit between the ValueProposition of a ProductOffering targeted at a Customer.
usage note: Usage: ValueCharacteristic is decomposed into ValueCharacteristic_1 to allow for the aggregaton of fit measures associated with the owned ValueCharacteristic_1 model elements.
example: Constraint: A ValueCharacteristic is not owned by another ValueCharacteristic

ValueCharacteristic.customer
type: ObjectProperty
range: Customer
domain: ValueCharacteristic
definition: Definition: The customer leg of the ValueCharacteristic association identifies the Customer participating in the value fit analysis represented by the ValueCharacteristic.
usage note: Usage: The ValueCharacteristic may define specific CustomerSegments, JourneyStages and Touchpoints as having weigts in the value fit analysis. The meta-model does not provide direct support for asserting such facts, but they can be recorded in Annotations associated with the ValueCharacteristic

ValueCharacteristic.owns_4
type: ObjectProperty
range: ValueCharacteristic_1
domain: ValueCharacteristic
definition: Definition: Owns_4 defines a composition relationship between a ValueCharacteristic and an owned ValueCharacteristic_1.
usage note: Usage: The ValueCharacteristic_1 is owned a a ValueCharacteristic should have properties that aggregate to the properties that describe the fit between the ValueProposition and the Customer. ValueCharacteristic_1 model elements may be further decomposed or aggregated

ValueCharacteristic.proposition
type: ObjectProperty
range: ValueProposition
domain: ValueCharacteristic

CustomerJourney
type: Class
subclass of: AbstractValueModel
subclass of: AbstractAction
subclass of: Restriction
  on property: owns_2
  on class: CustomerJourneyStage
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: takes.to_takes
  on class: takes
  min cardinality: 0

JSTP
type: Class
subclass of: Restriction
  on property:
    inverse of: characterizes.to_characterizes
  on class: characterizes
  min cardinality: 0
usage note: Usage: This abstract class provides a union type for CustomerJourneyStage and Touchpoint, allowing the characterizes association to link instances of any concrete subclass of these classes.

CustomerSegment
type: Class
subclass of: AbstractValueModel
subclass of: Restriction
  on property:
    inverse of: ValueCharacteristic_1.segment
  on class: ValueCharacteristic_1
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: describes.from_describes
  on class: describes
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: characterizes.from_characterizes
  on class: characterizes
  min cardinality: 0
definition: Definition: The CustomerSegment represents a characteristic of the Customer or a component of customer state of mind. CustomerSegments are owned by the Customer they describe.
usage note: Usage: When the owning Customer takes a Customerjourney, CustomerSegments should be created for each CustomerJourneyStage and Touchpoint in the CustomerJourney. These CustomerSegments characterize the customer or the customer's state of mind at the CustomerJourneyStage or Touchpoint.

ValueCharacteristic_1
type: Class
subclass of: AbstractValueModel
subclass of: BACMRelation
subclass of: Restriction
  on property: ValueCharacteristic_1.segment
  on class: CustomerSegment
  min cardinality: 0
subclass of: Restriction
  on property: ValueCharacteristic_1.segment
  on class: CustomerSegment
  max cardinality: 1
subclass of: Restriction
  on property: ValueCharacteristic_1.item
  on class: ValueItem
  min cardinality: 0
subclass of: Restriction
  on property: ValueCharacteristic_1.item
  on class: ValueItem
  max cardinality: 1
subclass of: Restriction
  on property:
    inverse of: ValueCharacteristic.owns_4
  on class: ValueCharacteristic
  min cardinality: 0
definition: Definition: ValueCharacteristic_1 represents the fit between the ValueItem and a CustmerSegment. A ValueCharacteristic_1 model element is owned by a ValueCharacteristic and may not exist independently.
usage note: Usage: ValueCharacteristic_1 is intended to be used with a semantic tagging mechanism such as that provided by MEF or its equivalent. This allows the creation of tagging frameworks such as the Value Proposition Canvas categories of "use", "pain" and "gain". The CustomerSegments and ValueItems should be tagged by these categories.
example: Constraints: A ValueCharacteristic_1 must be owned by a ValueCharacteristic or a ValueCharacteristic_1 but not both

ValueCharacteristic_1.segment
type: ObjectProperty
range: CustomerSegment
domain: ValueCharacteristic_1

ValueCharacteristic_1.item
type: ObjectProperty
range: ValueItem
domain: ValueCharacteristic_1

ValueProposition
type: Class
subclass of: AbstractValueModel
subclass of: Restriction
  on property: aggregates_3
  on class: ValueItem
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: ValueCharacteristic.proposition
  on class: ValueCharacteristic
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: target.from_target
  on class: target
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: of.from_of
  on class: of
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: produces_1.to_produces_1
  on class: produces_1
  min cardinality: 0

ValueStream
type: Class
subclass of: AbstractAction
subclass of: VSVSS
subclass of: AbstractValueModel
subclass of: Restriction
  on property: owns_1
  on class: ValueStreamStage
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: produces_1.from_produces_1
  on class: produces_1
  min cardinality: 0
definition: Definition: A ValueStream represnts a set of stages that accumulate value represented by the ValueProposition.
usage note: Usage: The notion that value accumulation can be broken into components has been central to strategic practices such as Michael Porter's value chains and high level, value oriented process architecture. The notion is well established in business architecture and analysis practice. In some cases, it may be desirable to order the stages in a ValueStream. For example, there is a natural order to the design, build, inventory, sell and service stages of a manufacturing business. However, in other cases, such as health care, it is difficult to order the stages of triage, diagnosis, treatment, prevention. Consequently, no strong semantic interpretation should be associated with the ordering of ValueStreamStages in a ValueStream.
example: Constraint: A ValueStream instance may not own, aggregate or generalize another ValueStream instanc

VSVSS
type: Class
subclass of: Restriction
  on property:
    inverse of: implements_1.to_implements_1
  on class: implements_1
  min cardinality: 0
usage note: Usage: This abstract class provides a union type for ValueStream and ValueStreamStage, allowing instances of the implements_1 association to link to instances of any concrete subclass of either of these classes.

takes
type: Class
subclass of: BACMBinDirRelation
subclass of: Restriction
  on property: takes.to_takes
  on class: CustomerJourney
  min cardinality: 0
subclass of: Restriction
  on property: takes.from_takes
  on class: Customer
  min cardinality: 0

takes.to_takes
type: ObjectProperty
range: CustomerJourney
domain: takes

takes.from_takes
type: ObjectProperty
range: Customer
domain: takes

target
type: Class
subclass of: BACMBinDirRelation
subclass of: BACMShortcut
subclass of: Restriction
  on property: target.from_target
  on class: ValueProposition
  min cardinality: 0
subclass of: Restriction
  on property: target.to_target
  on class: Customer
  min cardinality: 0
definition: Definition: The target shortcut association asserts that the ValueProposition is intended to target the Customer.
usage note: Usage: This shortcut allows the architect to assert that a ValueProposition targets a Customer and imply that there is an unspecified ValueCharacteristic that represents the value fit analysis of the ValueProposition and Customer.
example: Constraint: Let VP1 be a ValueProposition and Cu1 be a Customer associated by t1, a target association. Then there should be a ValueCharacteristic VC1 with VP1 as its proposition and Cu1 as its customer. Note that it is commonly the case that the set of individuals represented intensionally by the Customer element are also LegalEntities
shortcut: bacm_cust:target/bacm_cust:target.to_target/bacm_cust:Customer/^bacm_cust:ValueCharacteristic.customer/bacm_cust:ValueCharacteristic/bacm_cust:ValueCharacteristic.proposition/bacm_cust:ValueProposition/^bacm_cust:target.from_target/bacm_cust:target

target.from_target
type: ObjectProperty
range: ValueProposition
domain: target

target.to_target
type: ObjectProperty
range: Customer
domain: target

describes
type: Class
subclass of: BACMBinDirRelation
subclass of: Restriction
  on property: describes.from_describes
  on class: CustomerSegment
  min cardinality: 0
subclass of: Restriction
  on property: describes.to_describes
  on class: Customer
  min cardinality: 1
definition: Definition: The describes association represents the relationship between a CustomerSegment and a Customer asserting that the Customer is partially described by the CustomerSegment
usage note: Usage: If there is no CustomerJourney associated with a Customer, then the set of all CustomerSegments that describe the Customer represent the total customer description. If the Customer takes a CustomerJourney, then the CustomerSegments that describe the Customer may be qualified by the characterizes association to a CustomerJourneyStage or Touchpoint, indicating that the CustomerSegment partially describes the Customer at that CustomerJourneyStage or Touchpoint

describes.from_describes
type: ObjectProperty
range: CustomerSegment
domain: describes

describes.to_describes
type: ObjectProperty
range: Customer
domain: describes

characterizes
type: Class
subclass of: BACMBinDirRelation
subclass of: Restriction
  on property: characterizes.to_characterizes
  on class: JSTP
  min cardinality: 0
subclass of: Restriction
  on property: characterizes.from_characterizes
  on class: CustomerSegment
  min cardinality: 0
definition: Definition: The characterizes association represents a relationship between a CustomerSegment and a Touchpoint meaning that the CustomerSegment partially describes the state of mind or capability of the Customer at the Touchpoint interaction.
usage note: Usage: This characterizes association represents the same kind of relationship as the characterizes association between the CustomerSegment and the CustomerJourneyStage. The range of the association is the union of CustomerJourneyStage and Touchpoint.

characterizes.to_characterizes
type: ObjectProperty
range: JSTP
domain: characterizes

characterizes.from_characterizes
type: ObjectProperty
range: CustomerSegment
domain: characterizes

produces_2
type: Class
subclass of: BACMBinDirRelation
subclass of: BACMShortcut
subclass of: Restriction
  on property: produces_2.from_produces_2
  on class: ValueStreamStage
  min cardinality: 0
subclass of: Restriction
  on property: produces_2.to_produces_2
  on class: ValueItem
  min cardinality: 0
definition: Definition: The produces_2 association represents the fact of a ValueItem being produced by valuing one or more Outcomes produced by Capabilities that support the ValueStreamStage or Processes or Activities that implement the ValueStreamStage.
usage note: Usage: The ValueItems produced in a ValueStreamStage that is part of a ValueStream should contribute to the ValueProposition produced by the ValueStream. The meta-model does not enforce this restriction.
example: Constraint: The produces_2 association is consistent with the ValueStreamStage being supported by some Capabilities that produce Outcomes that are valued by the ValueItem
shortcut: bacm_cust:produces_2/bacm_cust:produces_2.to_produces_2/bacm_cust:ValueItem/^bacm_cap:values.from_values/bacm_cap:values/bacm_cap:values.to_values/bacm_cap:Outcome/^bacm_cap:produces_0.prod_0_tgt/bacm_cap:produces_0/bacm_cap:produces_0.prod_0_src/bacm_cap:AbstractCapability/^generalizes/bacm_cap:Capability/^bacm_cap:supports.from_supports/bacm_cap:supports/bacm_cap:supports.to_supports/bacm_cust:ValueStreamStage/^bacm_cust:produces_2.from_produces_2/bacm_cust:produces_2

produces_2.from_produces_2
type: ObjectProperty
range: ValueStreamStage
domain: produces_2

produces_2.to_produces_2
type: ObjectProperty
range: ValueItem
domain: produces_2

of
type: Class
subclass of: BACMBinDirRelation
subclass of: BACMShortcut
subclass of: Restriction
  on property: of.to_of
  on class: ProductOffering
  min cardinality: 0
subclass of: Restriction
  on property: of.from_of
  on class: ValueProposition
  min cardinality: 0
example: Constraint: Let VP1 be a ValueProposition and PO1 be a ProductOffering associated by o1, an "of" association. Then for some subset of ValueItems {VIj} aggregated by VP1 such that each VIj values an Outcome O1 that is incorporated in the ProductOffering PO1. Note that the ProductOfferings typically include Outcomes that are experienced by the Customer at a Touchpoint
shortcut: bacm_cust:of/bacm_cust:of.to_of/bacm_prod:ProductOffering/^bacm_cap:incorporates_0.from_incorporates_0/bacm_cap:incorporates_0/bacm_cap:incorporates_0.to_incorporates_0/bacm_cap:Outcome/^bacm_cap:values.to_values/bacm_cap:values/bacm_cap:values.from_values/bacm_cust:ValueItem/^bacm_cust:aggregates_3/bacm_cust:ValueProposition/^bacm_cust:of.from_of/bacm_cust:of

of.to_of
type: ObjectProperty
range: ProductOffering
domain: of

of.from_of
type: ObjectProperty
range: ValueProposition
domain: of

produces_1
type: Class
subclass of: BACMBinDirRelation
subclass of: BACMShortcut
subclass of: Restriction
  on property: produces_1.from_produces_1
  on class: ValueStream
  min cardinality: 0
subclass of: Restriction
  on property: produces_1.to_produces_1
  on class: ValueProposition
  min cardinality: 0
definition: Definition: The produces_1 shortcut association represents the creation of a ValueProposition by a ValueStream.
usage note: Usage: The produces_1 relation effectively aggregates the produces relations between the ValueStreamStages that are part of this ValueStream and the ValueItems that comprise the ValueProposition of this ValueStream.
example: Constraint: The produces_1 association is implied by some owned ValueStreamStages that produce ValueItems that are aggregated into the ValueProposition
shortcut: bacm_cust:produces_1/bacm_cust:produces_1.to_produces_1/bacm_cust:ValueProposition/bacm_cust:aggregates_3/bacm_cust:ValueItem/^bacm_cust:produces_2.to_produces_2/bacm_cust:produces_2/bacm_cust:produces_2.from_produces_2/bacm_cust:ValueStreamStage/^bacm_cust:owns_1/bacm_cust:ValueStream/^bacm_cust:produces_1.from_produces_1/bacm_cust:produces_1

produces_1.from_produces_1
type: ObjectProperty
range: ValueStream
domain: produces_1

produces_1.to_produces_1
type: ObjectProperty
range: ValueProposition
domain: produces_1

participate
type: Class
subclass of: BACMBinDirRelation
subclass of: BACMShortcut
subclass of: Restriction
  on property: participate.from_participate
  on class: Performer
  min cardinality: 0
subclass of: Restriction
  on property: participate.to_participate
  on class: ValueStreamStage
  min cardinality: 0
example: Constraint: Let P1 be a Performer participating in a ValueStreamStage VSS1. There should exist a PerformerRole PR1 that P1 is assignedTo and PR1 is a PerformerRole ofCapability C1 that produces some Outcme O1 valued by a ValueItem VI1 that is produced by ValueStream VSS1
shortcut: bacm_cust:participate/bacm_cust:participate.to_participate/bacm_cust:ValueStreamStage/^bacm_cust:produces_2.from_produces_2/bacm_cust:produces_2/bacm_cust:produces_2.to_produces_2/bacm_cust:ValueItem/^bacm_cap:values.from_values/bacm_cap:values/bacm_cap:values.to_values/bacm_cap:Outcome/^bacm_cap:produces_0.prod_0_tgt/bacm_cap:produces_0/bacm_cap:produces_0.prod_0_src/bacm_cap:AbstractCapability/^bacm_cap:Role.ofCapability/bacm_cap:Role/^generalizes/bacm_cap:PerformerRole/bacm_cap:PerformerRole.assignTo_2/bacm_org:Performer/^bacm_cust:participate.from_participate/bacm_cust:participate

participate.from_participate
type: ObjectProperty
range: Performer
domain: participate

participate.to_participate
type: ObjectProperty
range: ValueStreamStage
domain: participate

Jurisdiction
type: Class
subclass of: AbstractOperatingModel
subclass of: BACMPlainEntity
subclass of: Restriction
  on property:
    inverse of: legal_jurisdiction.to_legal_jurisdiction
  on class: legal_jurisdiction
  min cardinality: 0

legal_jurisdiction
type: Class
subclass of: BACMBinDirRelation
subclass of: Restriction
  on property: legal_jurisdiction.from_legal_jurisdiction
  on class: LegalEntity
  min cardinality: 0
subclass of: Restriction
  on property: legal_jurisdiction.to_legal_jurisdiction
  on class: Jurisdiction
  min cardinality: 0
definition: Definition: The "legal_jurisdiction"association instances represent the jurisdiction to which an Enterprise belongs.
usage note: Usage: The meta-model allows Enterprise instances to be in multiple jurisdictions (e.g. a business that is subject to local, provincial and stage laws, regulations and processes)

legal_jurisdiction.from_legal_jurisdiction
type: ObjectProperty
range: LegalEntity
domain: legal_jurisdiction

legal_jurisdiction.to_legal_jurisdiction
type: ObjectProperty
range: Jurisdiction
domain: legal_jurisdiction

provides
type: Class
subclass of: BACMBinDirRelation
subclass of: Restriction
  on property: provides.to_provides
  on class: Offering
  min cardinality: 0
subclass of: Restriction
  on property: provides.from_provides
  on class: LegalEntity
  min cardinality: 0

provides.to_provides
type: ObjectProperty
range: Offering
domain: provides

provides.from_provides
type: ObjectProperty
range: LegalEntity
domain: provides

Offering
type: Class
subclass of: InformationItem
subclass of: Restriction
  on property:
    inverse of: provides.to_provides
  on class: provides
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: accepts.to_accepts
  on class: accepts
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: ContractRelation.related_2
  on class: ContractRelation
  min cardinality: 0
definition: Definition: Offering represents the solicitation of business from a Customer by presenting Outcomes and BusinessObjects that the business is willing to provide in return for items of value received from the Customer.
usage note: Usage: Offering is abstract because the metamodel may eventually include subtypes other than ProductOffering. Offering is provided by the business or a partner and the intended consumer is a type of Customer. The business architecture does not include the concept of a sale directly. Sales are in the past of a business, and business architecture is focused on the possible futures of the business. Sales are useful as predictors of acceptance of future offering and as predictors of future liability for warranties.

accepts
type: Class
subclass of: BACMBinDirRelation
subclass of: Restriction
  on property: accepts.to_accepts
  on class: Offering
  min cardinality: 0
subclass of: Restriction
  on property: accepts.from_accepts
  on class: LegalEntity
  min cardinality: 0
definition: Definition: The acceptor relation represents a relationship between a party external to the business and an Offering intended to solicit business from the acceptor party represented by the Customer..
usage note: Usage: Note that offering dies not represent a sale; in a sale, each party gives something of value and receives something of value

accepts.to_accepts
type: ObjectProperty
range: Offering
domain: accepts

accepts.from_accepts
type: ObjectProperty
range: LegalEntity
domain: accepts

purchaser
type: Class
subclass of: BACMBinDirRelation
subclass of: Restriction
  on property: purchaser.to_purchaser
  on class: ProcurementOutcome
  min cardinality: 0
subclass of: Restriction
  on property: purchaser.from_purchaser
  on class: LegalEntity
  min cardinality: 0

purchaser.to_purchaser
type: ObjectProperty
range: ProcurementOutcome
domain: purchaser

purchaser.from_purchaser
type: ObjectProperty
range: LegalEntity
domain: purchaser

ProcurementOutcome
type: Class
subclass of: Outcome
subclass of: Restriction
  on property:
    inverse of: purchaser.to_purchaser
  on class: purchaser
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: supplier.from_supplier
  on class: supplier
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: incorporates_1.to_incorporates_1
  on class: incorporates_1
  min cardinality: 0
definition: Definition: ProcurementOutcome represents the expected Outcome of the procurement. E.g. that the BusinessObject/InformationItem received has the characteristics needed by the procuring business.
usage note: Usage: ProcurementOutcome specifies such details and is associated with a ProcurementOfferint that should not duplicate the details of the ProcurementOutcome

supplier
type: Class
subclass of: BACMBinDirRelation
subclass of: Restriction
  on property: supplier.from_supplier
  on class: ProcurementOutcome
  min cardinality: 0
subclass of: Restriction
  on property: supplier.to_supplier
  on class: LegalEntity
  min cardinality: 0
definition: Definition: The supplier association asserts that the LegalEntity is to be the supplier of the ProcurementOutcome.
usage note: Usage: The supplier LegalEntity is not necessarily the same as the provider LegalEntity for the ProcurementOffering incorporating the ProcurementOutcome

supplier.from_supplier
type: ObjectProperty
range: ProcurementOutcome
domain: supplier

supplier.to_supplier
type: ObjectProperty
range: LegalEntity
domain: supplier

seller
type: Class
subclass of: BACMBinDirRelation
subclass of: Restriction
  on property: seller.from_seller
  on class: MerchandiseOutcome
  min cardinality: 0
subclass of: Restriction
  on property: seller.to_seller
  on class: LegalEntity
  min cardinality: 0
definition: Definition: The seller association is related to the accepts association and asserts that a LegalEntity (typically also a business) is the targeted seller of the MerchandiseOutcome.
usage note: Usage: The seller of the MerchandiseOutcome is not necessarily the LegalEntity that provides the MerchandiseOffering in the case when the provider is acting as an agent for the seller.

seller.from_seller
type: ObjectProperty
range: MerchandiseOutcome
domain: seller

seller.to_seller
type: ObjectProperty
range: LegalEntity
domain: seller

MerchandiseOutcome
type: Class
subclass of: Outcome
subclass of: Restriction
  on property:
    inverse of: seller.from_seller
  on class: seller
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: buyer.from_buyer
  on class: buyer
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: incorporates_2.to_incorporates_2
  on class: incorporates_2
  min cardinality: 0

provider_0
type: Class
subclass of: BACMBinDirRelation
subclass of: Restriction
  on property: provider_0.from_provider_0
  on class: OutsourcedServiceOutcome
  min cardinality: 0
subclass of: Restriction
  on property: provider_0.to_provider_0
  on class: LegalEntity
  min cardinality: 0
definition: Definition: The provider_0 association asserts that a LegalEntity is the provider of the OutsourcedServiceOutcome.
usage note: Usage: The provides LegalEntity is not necessarily the same LegalEntity as the provider_0 of the OutsourcedServiceOffering as it may be an agent acting for the provider_0 LegalEntity

provider_0.from_provider_0
type: ObjectProperty
range: OutsourcedServiceOutcome
domain: provider_0

provider_0.to_provider_0
type: ObjectProperty
range: LegalEntity
domain: provider_0

OutsourcedServiceOutcome
type: Class
subclass of: Outcome
subclass of: Restriction
  on property:
    inverse of: provider_0.from_provider_0
  on class: provider_0
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: acceptor_0.from_acceptor_0
  on class: acceptor_0
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: incorporates_4.to_incorporates_4
  on class: incorporates_4
  min cardinality: 0

recipient_1
type: Class
subclass of: BACMBinDirRelation
subclass of: Restriction
  on property: recipient_1.from_recipient_1
  on class: ServiceOutcome
  min cardinality: 0
subclass of: Restriction
  on property: recipient_1.to_recipient_1
  on class: LegalEntity
  min cardinality: 0
definition: Definition: The recipient_1 association asserts that the LegalEntity is the recipient of ServiceOutcomes incorporated into a ServiceOffering.
usage note: Usage: It is not necessarily the case that the accepts LegalEntity is the same as the recipient_1 LegalEntity of the ServiceOutcome

recipient_1.from_recipient_1
type: ObjectProperty
range: ServiceOutcome
domain: recipient_1

recipient_1.to_recipient_1
type: ObjectProperty
range: LegalEntity
domain: recipient_1

ServiceOutcome
type: Class
subclass of: Outcome
subclass of: Restriction
  on property:
    inverse of: recipient_1.from_recipient_1
  on class: recipient_1
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: server.from_server
  on class: server
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: incorporates_3.to_incorporates_3
  on class: incorporates_3
  min cardinality: 0

server
type: Class
subclass of: BACMBinDirRelation
subclass of: Restriction
  on property: server.from_server
  on class: ServiceOutcome
  min cardinality: 0
subclass of: Restriction
  on property: server.to_server
  on class: LegalEntity
  min cardinality: 0
definition: Definition: The server association asserts that the LegalEntity is the provider of ServiceOutcomes incorporated into a ServiceOffering.
usage note: Usage: It is not necessarily the case that the provides LegalEntity is the same as the server LegalEntity of the ServiceOutcome.

server.from_server
type: ObjectProperty
range: ServiceOutcome
domain: server

server.to_server
type: ObjectProperty
range: LegalEntity
domain: server

buyer
type: Class
subclass of: BACMBinDirRelation
subclass of: Restriction
  on property: buyer.from_buyer
  on class: MerchandiseOutcome
  min cardinality: 0
subclass of: Restriction
  on property: buyer.to_buyer
  on class: LegalEntity
  min cardinality: 0
definition: Definition: The buyer association is related to the accepts association and asserts that a LegalEntity (typically also a Customer) is the targeted buyer of the MerchandiseOutcome.
usage note: Usage: The buyer of the MerchandiseOutcome is not necessarily the LegalEntity that accepts the MerchandiseOffering in the case when the acceptor is acting as an agent for the buyer

buyer.from_buyer
type: ObjectProperty
range: MerchandiseOutcome
domain: buyer

buyer.to_buyer
type: ObjectProperty
range: LegalEntity
domain: buyer

acceptor_0
type: Class
subclass of: BACMBinDirRelation
subclass of: Restriction
  on property: acceptor_0.from_acceptor_0
  on class: OutsourcedServiceOutcome
  min cardinality: 0
subclass of: Restriction
  on property: acceptor_0.to_acceptor_0
  on class: LegalEntity
  min cardinality: 0
definition: Definition: The acceptor_0 association asserts that a LegalEntity is the receiver of the OutsourcedServiceOutcome.
usage note: Usage: The accepts LegalEntity is not necessarily the same LegalEntity as the acceptor_0 of the OutsourcedServiceOffering, as it may be an agent acting for the acceptor_0 LegalEntity.

acceptor_0.from_acceptor_0
type: ObjectProperty
range: OutsourcedServiceOutcome
domain: acceptor_0

acceptor_0.to_acceptor_0
type: ObjectProperty
range: LegalEntity
domain: acceptor_0

belongsTo_1
type: Class
subclass of: BACMBinDirRelation
subclass of: Restriction
  on property: belongsTo_1.from_belongsTo_1
  on class: Performer
  min cardinality: 0
subclass of: Restriction
  on property: belongsTo_1.to_belongsTo_1
  on class: OrgUnit
  min cardinality: 0
definition: Definition: belongsTo_1 represents that a Performer belongs to OrgUnit. This association has the semantics of agggregation.
usage note: Usage: In a model, there will typically be semantic overlap between belongsTo_1 and Responsible. However, the metamodel syntax presently does not allow the specification of this overlap. The business architect may choose to use belongs_to in lieu of Responsible or vice versa. It would not be recommended to use both where there is the potential of semantic overlap

belongsTo_1.from_belongsTo_1
type: ObjectProperty
range: Performer
domain: belongsTo_1

belongsTo_1.to_belongsTo_1
type: ObjectProperty
range: OrgUnit
domain: belongsTo_1

Process
type: Class
subclass of: AbstractProcess
subclass of: Restriction
  on property: aggregates
  on class: AbstractProcess
  min cardinality: 0
definition: Definition: Process represents an aggregation of Activities and other Processes.
usage note: Usage: A Process aggregated into another Process means that the aggregated Process may be executed as a part of executing the aggregator Process. The abstract syntax does not specify a starting or ending Process/Activity; consequently starting and ending Activities/Processes aggregated by another Process must be determined by analysis of the Outcome connections

Activity
type: Class
subclass of: AbstractProcess

implements_1
type: Class
subclass of: BACMBinDirRelation
subclass of: Restriction
  on property: implements_1.to_implements_1
  on class: VSVSS
  min cardinality: 0
subclass of: Restriction
  on property: implements_1.from_implements_1
  on class: AbstractProcess
  min cardinality: 0
definition: Definition: The implements association asserts that a Process or Activity implements a ValueStream and implies that Outcomes of the Process are valued as ValueItems incorporated into the ValueProposition delivered by the ValueStream.
usage note: Usage: It is not permitted for a Process or Activity to implement both a ValueStream and one or more ValueStreamStages of that ValueStream. A Process implementing a ValueStream may have aggregated Processes that implement ValueStreamStages of the ValueStream

implements_1.to_implements_1
type: ObjectProperty
range: VSVSS
domain: implements_1

implements_1.from_implements_1
type: ObjectProperty
range: AbstractProcess
domain: implements_1

ContractRelation
type: Class
subclass of: AbstractOperatingModel
subclass of: BACMRelation
subclass of: Restriction
  on property: ContractRelation.related_2
  on class: Offering
  min cardinality: 0
definition: Definition: ContractRelation represents any kind of relationship between Offerings.
usage note: Usage: ContractRelation should be instanced as a relationship between Offferings whose arity is determined by the architect. Each leg of such an instance effectively inherits from the relation association

ContractRelation.related_2
type: ObjectProperty
range: Offering
domain: ContractRelation

OutsourcedServiceOffering
type: Class
subclass of: ProductOffering
subclass of: Restriction
  on property:
    inverse of: specifies.from_specifies
  on class: specifies
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: incorporates_4.from_incorporates_4
  on class: incorporates_4
  min cardinality: 0

specifies
type: Class
subclass of: BACMBinDirRelation
subclass of: Restriction
  on property: specifies.from_specifies
  on class: OutsourcedServiceOffering
  min cardinality: 0
subclass of: Restriction
  on property: specifies.to_specifies
  on class: APCICB
  min cardinality: 0
definition: Definition: The specifies association represents a relationship between an OutsourcingOffering and a CapabilityBehavior or Process or CapabilityImplementation, in which the Customer would be required or advised to perform the CapabilityBehavior or Process and/or provide Performers and Resources as specified by the CapabilityImplementation as an implementation of the CapabilityBehavior or Process..
usage note: Usage: This association is effectively combined with the two other specifies relation whose source is OutsourcingOffering so that the range of the combined associations is the union of AbstractProcess, CapabilityBehavior and CapabilityImplementation.

specifies.from_specifies
type: ObjectProperty
range: OutsourcedServiceOffering
domain: specifies

specifies.to_specifies
type: ObjectProperty
range: APCICB
domain: specifies

incorporates_2
type: Class
subclass of: incorporates_0
subclass of: Restriction
  on property: incorporates_2.to_incorporates_2
  on class: MerchandiseOutcome
  min cardinality: 0
subclass of: Restriction
  on property: incorporates_2.from_incorporates_2
  on class: MerchandiseOffering
  min cardinality: 0

incorporates_2.to_incorporates_2
type: ObjectProperty
range: MerchandiseOutcome
domain: incorporates_2

incorporates_2.from_incorporates_2
type: ObjectProperty
range: MerchandiseOffering
domain: incorporates_2

incorporates_4
type: Class
subclass of: incorporates_0
subclass of: Restriction
  on property: incorporates_4.to_incorporates_4
  on class: OutsourcedServiceOutcome
  min cardinality: 0
subclass of: Restriction
  on property: incorporates_4.from_incorporates_4
  on class: OutsourcedServiceOffering
  min cardinality: 0
definition: Definition: The incorporates association designates that an OutsourcedServiceOffering incorporates some OutsourcedServiceOutcomes.
usage note: Usage: The incorporates association refines the incorporates association between ProductOffering and Outcome

incorporates_4.to_incorporates_4
type: ObjectProperty
range: OutsourcedServiceOutcome
domain: incorporates_4

incorporates_4.from_incorporates_4
type: ObjectProperty
range: OutsourcedServiceOffering
domain: incorporates_4

incorporates_1
type: Class
subclass of: incorporates_0
subclass of: Restriction
  on property: incorporates_1.to_incorporates_1
  on class: ProcurementOutcome
  min cardinality: 0
subclass of: Restriction
  on property: incorporates_1.from_incorporates_1
  on class: ProcurementOffering
  min cardinality: 0

incorporates_1.to_incorporates_1
type: ObjectProperty
range: ProcurementOutcome
domain: incorporates_1

incorporates_1.from_incorporates_1
type: ObjectProperty
range: ProcurementOffering
domain: incorporates_1

incorporates_3
type: Class
subclass of: incorporates_0
subclass of: Restriction
  on property: incorporates_3.to_incorporates_3
  on class: ServiceOutcome
  min cardinality: 0
subclass of: Restriction
  on property: incorporates_3.from_incorporates_3
  on class: ServiceOffering
  min cardinality: 0

incorporates_3.to_incorporates_3
type: ObjectProperty
range: ServiceOutcome
domain: incorporates_3

incorporates_3.from_incorporates_3
type: ObjectProperty
range: ServiceOffering
domain: incorporates_3

Change
type: Class
subclass of: InformationItem
subclass of: Restriction
  on property: Change.resultStatement
  on data range: string
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: baseline_2.from_baseline_2
  on class: baseline_2
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: baseline_3.from_baseline_3
  on class: baseline_3
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: implements_2.from_implements_2
  on class: implements_2
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: expects_1.to_expects_1
  on class: expects_1
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: needs_2.to_needs_2
  on class: needs_2
  min cardinality: 0
definition: Definition: Change represents desired states of business value and results as represented by the baselined elements of the AbstractOperatingModel and the AbstractValueModel. These states are expected to result from the changes described by the Initiatives.
usage note: Usage: Changes can be decomposed and share sub-Changes

Directive
type: Class
subclass of: Means
definition: Definition: Directive represents constraints (impacts_0) on AbstractOperatingModel elements that require or prohibit actions or states.
usage note: Usage: Directive is a kind of Means that represents policy or regulation that is incorporated in a StrategyModel. Directive is also intended to be linked with the Directive class in the BMM metamodel

Means
type: Class
subclass of: InformationItem
subclass of: Restriction
  on property: Means.actionStatement
  on data range: string
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: aggregates_4
  on class: StrategyModel
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: baseline_4.from_baseline_4
  on class: baseline_4
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: uses_0.from_uses_0
  on class: uses_0
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: needs_1.to_needs_1
  on class: needs_1
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: expects_0.from_expects_0
  on class: expects_0
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: implements_4.to_implements_4
  on class: implements_4
  min cardinality: 0
definition: Definition: Means represent possible behaviors that will change functional elements of the business (represented by Capabilities, CapabilityBehaviors, CapabilityImplementations, Processes, Activities, Roles, Performers and Resources). These changes are expected to produce the changes represented by the Ends. Each End should be expected to result from the changes described by one or more Means.
usage note: Usage: Means can be decomposed and subordinate Means may be shared by aggregator Means

Ends
type: Class
subclass of: InformationItem
subclass of: Restriction
  on property: Ends.resultStatement
  on data range: string
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: aggregates_5
  on class: StrategyModel
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: baseline_0.from_baseline_0
  on class: baseline_0
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: baseline_1.from_baseline_1
  on class: baseline_1
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: implements_2.to_implements_2
  on class: implements_2
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: needs_1.from_needs_1
  on class: needs_1
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: expects_0.to_expects_0
  on class: expects_0
  min cardinality: 0
definition: Definition: Ends represent changes to elements representing business values, such as ValuePropositions., ValueItems and ValueCharacteristics. Ends also represent changes to business results (i.e. Outcomes, BusinessObjects, InformationItems and ProductOfferings). These element types derive from AbstractOperatingModel and AbstractValueModel.
usage note: Usage: A Ends element will typically state the desired result (e.g. improved customer satisfaction) relative to the currently achieved (baselined) result (customer satisfaction represented as an Outcome). Ends can be decomposed into subordinate Ends. Subordinate Ends may be shared by one or more aggregator Ends

StrategyModel
type: Class
subclass of: InformationItem
subclass of: Restriction
  on property: aggregates_5
  on class: Ends
  min cardinality: 0
subclass of: Restriction
  on property: aggregates_4
  on class: Means
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: alternative
  on class: StrategyChoices
  min cardinality: 0
definition: Definition: StrategyModel is a collection of Means and Ends and the Initiatives and Changes implementing the Means and Ends. It represents a single, coherent and complete strategy.
usage note: Usage: StrategyModels each represent a particular strategy choice. StrategyModels may share sub-StrategyModels. The set of StrategyModels as prepared by the architect and strategist is represented by the StrategyChoices model element and the alternative associations linking it to each StrategyModel

Initiative
type: Class
subclass of: InformationItem
subclass of: Restriction
  on property: Initiative.actionStatement
  on data range: string
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: uses_1.from_uses_1
  on class: uses_1
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: baseline_5.from_baseline_5
  on class: baseline_5
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: expects_1.from_expects_1
  on class: expects_1
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: needs_2.from_needs_2
  on class: needs_2
  min cardinality: 0
subclass of: Restriction
  on property:
    inverse of: implements_4.from_implements_4
  on class: implements_4
  min cardinality: 0
definition: Definition: Initiatives represent plans to change business functions in order to achieve the business results described by Changes. Initiatives should be linked to the expected Changes with the expects association.
usage note: Usage: Initiatives may be decomposed and may share sub-Initiatives

baseline_2
type: Class
subclass of: BACMBinDirRelation
subclass of: Restriction
  on property: baseline_2.from_baseline_2
  on class: Change
  min cardinality: 0
subclass of: Restriction
  on property: baseline_2.to_baseline_2
  on class: AbstractOperatingModel
  min cardinality: 0
definition: Definition: The baseline_2 association links one or more operating model elements representing business results to change objectives represented by the Changes.
usage note: Usage: An operating model Outcome (e.g. cost of executing an activity) is the baseline for a Change (e,g, a 5% reduction in the cost of executing the activity as a result of purchasing a new robot)

baseline_2.from_baseline_2
type: ObjectProperty
range: Change
domain: baseline_2

baseline_2.to_baseline_2
type: ObjectProperty
range: AbstractOperatingModel
domain: baseline_2

uses_1
type: Class
subclass of: BACMBinDirRelation
subclass of: Restriction
  on property: uses_1.from_uses_1
  on class: Initiative
  min cardinality: 0
subclass of: Restriction
  on property: uses_1.to_uses_1
  on class: AbstractOperatingModel
  min cardinality: 0
definition: Definition: The uses_1 association represents a need that the Initiative has to make use of entities in the AbstractOperatingModel that may also be used by other business operations.
usage note: Usage: This relationship would typically be used to identify resource conflicts occurring while executing the Initiative as the same time as executing steady state business operations and other Initiatives that are part of the StrategyModel

uses_1.from_uses_1
type: ObjectProperty
range: Initiative
domain: uses_1

uses_1.to_uses_1
type: ObjectProperty
range: AbstractOperatingModel
domain: uses_1

baseline_0
type: Class
subclass of: BACMBinDirRelation
subclass of: Restriction
  on property: baseline_0.from_baseline_0
  on class: Ends
  min cardinality: 0
subclass of: Restriction
  on property: baseline_0.to_baseline_0
  on class: AbstractOperatingModel
  min cardinality: 0
definition: Definition: The baseline_0 association links one or more operating model elements representing business results to change objectives represented by the Ends.
usage note: Usage: An operating model Outcome (e.g. cost of executing an activity) is the baseline for an End (e,g, a 10% reduction in the cost of executing the activity)

baseline_0.from_baseline_0
type: ObjectProperty
range: Ends
domain: baseline_0

baseline_0.to_baseline_0
type: ObjectProperty
range: AbstractOperatingModel
domain: baseline_0

baseline_5
type: Class
subclass of: BACMBinDirRelation
subclass of: Restriction
  on property: baseline_5.from_baseline_5
  on class: Initiative
  min cardinality: 0
subclass of: Restriction
  on property: baseline_5.to_baseline_5
  on class: AbstractOperatingModel
  min cardinality: 0
definition: Definition: The baseline_5 relationship represents the change impact that the Initiative is expected to have on the concepts of the AbstractOperatingModel.
usage note: Usage: This baseline_5 relationship is typically used to record the change impact of an Initiative on selected concepts of the AbstractOperatingModel. A change impact describes proposed changes to the selected AbstractOperatingModel concepts. Note that this may include uses_0 selected elements of the AbstractOperatingModel concepts when a concept is both used and changed by the Initiative.

baseline_5.from_baseline_5
type: ObjectProperty
range: Initiative
domain: baseline_5

baseline_5.to_baseline_5
type: ObjectProperty
range: AbstractOperatingModel
domain: baseline_5

baseline_4
type: Class
subclass of: BACMBinDirRelation
subclass of: Restriction
  on property: baseline_4.from_baseline_4
  on class: Means
  min cardinality: 0
subclass of: Restriction
  on property: baseline_4.to_baseline_4
  on class: AbstractOperatingModel
  min cardinality: 0
definition: Definition: The baseline_4 relationship represents the change impact that the Means is expected to have on the concepts of the AbstractOperatingModel.
usage note: Usage: This baseline_4 relationship is typically used to record the change impact of a Means on selected concepts of the AbstractOperatingModel. A change impact describes proposed changes to the selected AbstractOperatingModel concepts. Note that this may include uses_0 selected elements of the AbstractOperatingModel concepts when a concept is both used and changed by the Means

baseline_4.from_baseline_4
type: ObjectProperty
range: Means
domain: baseline_4

baseline_4.to_baseline_4
type: ObjectProperty
range: AbstractOperatingModel
domain: baseline_4

uses_0
type: Class
subclass of: BACMBinDirRelation
subclass of: Restriction
  on property: uses_0.from_uses_0
  on class: Means
  min cardinality: 0
subclass of: Restriction
  on property: uses_0.to_uses_0
  on class: AbstractOperatingModel
  min cardinality: 0
definition: Definition: The uses_0 association represents a need that the Means has to make use of entities in the AbstractOperatingModel that may also be used by other business operations.
usage note: Usage: This relationship would typically be used to identify resource conflicts occurring while executing the Means as the same time as executing steady state business operations and other Means that are part of the StrategyModel

uses_0.from_uses_0
type: ObjectProperty
range: Means
domain: uses_0

uses_0.to_uses_0
type: ObjectProperty
range: AbstractOperatingModel
domain: uses_0

baseline_1
type: Class
subclass of: BACMBinDirRelation
subclass of: Restriction
  on property: baseline_1.from_baseline_1
  on class: Ends
  min cardinality: 0
subclass of: Restriction
  on property: baseline_1.to_baseline_1
  on class: AbstractValueModel
  min cardinality: 0

baseline_1.from_baseline_1
type: ObjectProperty
range: Ends
domain: baseline_1

baseline_1.to_baseline_1
type: ObjectProperty
range: AbstractValueModel
domain: baseline_1

baseline_3
type: Class
subclass of: BACMBinDirRelation
subclass of: Restriction
  on property: baseline_3.from_baseline_3
  on class: Change
  min cardinality: 0
subclass of: Restriction
  on property: baseline_3.to_baseline_3
  on class: AbstractValueModel
  min cardinality: 0

baseline_3.from_baseline_3
type: ObjectProperty
range: Change
domain: baseline_3

baseline_3.to_baseline_3
type: ObjectProperty
range: AbstractValueModel
domain: baseline_3

implements_2
type: Class
subclass of: BACMBinDirRelation
subclass of: Restriction
  on property: implements_2.to_implements_2
  on class: Ends
  min cardinality: 0
subclass of: Restriction
  on property: implements_2.from_implements_2
  on class: Change
  min cardinality: 0
usage note: This "implements" meta-association links a desired end of a strategy to the specific changes that are expected to result in the achievement of the end.

implements_2.to_implements_2
type: ObjectProperty
range: Ends
domain: implements_2

implements_2.from_implements_2
type: ObjectProperty
range: Change
domain: implements_2

expects_1
type: Class
subclass of: BACMBinDirRelation
subclass of: Restriction
  on property: expects_1.from_expects_1
  on class: Initiative
  min cardinality: 0
subclass of: Restriction
  on property: expects_1.to_expects_1
  on class: Change
  min cardinality: 0

expects_1.from_expects_1
type: ObjectProperty
range: Initiative
domain: expects_1

expects_1.to_expects_1
type: ObjectProperty
range: Change
domain: expects_1

needs_2
type: Class
subclass of: BACMBinDirRelation
subclass of: Restriction
  on property: needs_2.from_needs_2
  on class: Initiative
  min cardinality: 0
subclass of: Restriction
  on property: needs_2.to_needs_2
  on class: Change
  min cardinality: 0
definition: Definition: The needs association represents that one or more Changes are needed to enable the performance of the Initiatives.
usage note: Usage: This association must be instanced as an association classifier so that the modeler can express: a rationale for the expectation; note the likely influences of environmental factors, including competitive responses and regulatory actions risks and risk avoidance activities Expressing these concerns may require the modeler to define additional properties and association legs at the M1 model level

needs_2.from_needs_2
type: ObjectProperty
range: Initiative
domain: needs_2

needs_2.to_needs_2
type: ObjectProperty
range: Change
domain: needs_2

needs_1
type: Class
subclass of: BACMBinDirRelation
subclass of: Restriction
  on property: needs_1.to_needs_1
  on class: Means
  min cardinality: 0
subclass of: Restriction
  on property: needs_1.from_needs_1
  on class: Ends
  min cardinality: 0
definition: Definition: The needs_1 association represents that one or more Ends are needed to enable the performance of the Means
usage note: Usage: This association must be instanced as an association classifier so that the modeler can express: a rationale for the expectation; note the likely influences of environmental factors, including competitive responses and regulatory actions risks and risk avoidance activities Expressing these concerns may require the modeler to define additional properties and association legs at the M1 model level.

needs_1.to_needs_1
type: ObjectProperty
range: Means
domain: needs_1

needs_1.from_needs_1
type: ObjectProperty
range: Ends
domain: needs_1

expects_0
type: Class
subclass of: BACMBinDirRelation
subclass of: Restriction
  on property: expects_0.from_expects_0
  on class: Means
  min cardinality: 0
subclass of: Restriction
  on property: expects_0.to_expects_0
  on class: Ends
  min cardinality: 0
definition: Definition: The expects_0 association represents that one or more Ends are expected to result from the changes described in the Means.
usage note: Usage: This association must be instanced as an association classifier so that the modeler can express: a rationale for the expectation; note the likely influences of environmental factors, including competitive responses and regulatory actions risks and risk avoidance activities Expressing these concerns may require the modeler to define additional properties and association legs at the M1 model level

expects_0.from_expects_0
type: ObjectProperty
range: Means
domain: expects_0

expects_0.to_expects_0
type: ObjectProperty
range: Ends
domain: expects_0

implements_4
type: Class
subclass of: BACMBinDirRelation
subclass of: Restriction
  on property: implements_4.to_implements_4
  on class: Means
  min cardinality: 0
subclass of: Restriction
  on property: implements_4.from_implements_4
  on class: Initiative
  min cardinality: 0

implements_4.to_implements_4
type: ObjectProperty
range: Means
domain: implements_4

implements_4.from_implements_4
type: ObjectProperty
range: Initiative
domain: implements_4

smm_model
type: ObjectProperty
range: SmmModel
domain: BACM_Model

strategy_choices
type: ObjectProperty
range: StrategyChoices
domain: BACM_Model
definition: Definition: strategy_choices links a set of StrategyChoices to a BACMModel.
usage note: Usage: To facilitate reuse of the BACM model in different strategy situations, multiple StrategyChoices may be associated with a BACMModel

measure_library
type: ObjectProperty
range: MeasureLibrary
domain: BACM_Model

bacm_element
type: ObjectProperty
range: BACMElement
domain: BACM_Model
definition: Definition: bacm_element links the BACM_Model to all of the BACMElements contained in a model.
usage note: Usage: This association should be interpreted to include all n-ary associations, associations stereotyped <class>> and classes stereotyped <<association>>. The translation of this model to MOF creates classes representing these types of associations that are not allowed in MOF and these classes specifically inherit from BusinessElement. This association is exclusive; BACMElements are not allowed to be shared in different BACM_Models

alternative
type: ObjectProperty
range: StrategyModel
domain: StrategyChoices
usage note: The alternatives association connects two or more StrategyModels to a StrategyChoices. Each StrategyModel alternative contained in a StratecyChoices should be taken as alternative strategies for evaluation and comparison.

owns_0
type: ObjectProperty
sub property of: hasPart
range: BusinessElement
domain: BusinessElement
definition: Definition: The owns association instance defines an undifferentiated and exclusive relationship between BusinessElements (in contrast with aggregates which is a non-exclusive relationship).
usage note: Usage: The owns association instance defines an undifferentiated and exclusive relationship between instances of BusinessElement allowing a BusinessElement instance to be a container of other BusinessElement instances.
example: Constraint: The owns association is restricted to BusinessElement concrete subtypes that are of the same type (see BusinessElement).

aggregates_0
type: ObjectProperty
range: BusinessElement
domain: BusinessElement
definition: Definition: The aggregates association instance defines an undifferentiated and non-exclusive relationship between BusinessElements (in contrast with owns which is an exclusive relationship).
usage note: Usage: The aggregates association instance defines an undifferentiated and non-exclusive relationship between instances of BusinessElement allowing a BusinessElement instance to be a collection of other BusinessElement instances.
example: Constraint: The aggregates association is restricted to BusinessElement concrete subtypes that are of the same type (see BusinessElement)

element
type: ObjectProperty
range: BusinessElement
domain: Measurement
usage note: Definieion: The measurand association specializes the SMM::measurand association to associate a SMM::Measurement with a BusinessElement. Usage: Any n-ary association, class stereotyped as <<association>> or association stereotyped as <<class>> should be treated as a BusinessElement target of this association.

class
type: ObjectProperty
range: BusinessElement
domain: Scope

BusEleExtRel
type: ObjectProperty
range: BusinessElement
domain: ExternalRelationship

externalRelData
type: ObjectProperty
range: ExternalData
domain: ExternalRelationship

aggregates_2
type: ObjectProperty
range: AbstractBusinessObject
domain: CapabilityImplementation

implements_7
type: ObjectProperty
range: Role
domain: CapabilityImplementation
definition: Definition: The implements_7 relationship associates Roles with a CapabilityImplementation. This relationship is a form of ownership, so if the CapabilityImplementation is deleted from a model, the related Roles must be deleted also.
usage note: Usage: When a CapabilityImplementation implements_5 an AbstractCapability or implements_6 an AbstractProcess, A set of "role clones" should be created from the Roles of the AbstractCapability or AbstractProcess and should specialize those Roles. This allows multiple CapabilityImplementation to assign AbstractBusinessObjects and Performers to Roles differently for each CapabilityImplementation

aggregates_1
type: ObjectProperty
range: Performer
domain: CapabilityImplementation

follows_1
type: ObjectProperty
range: AbstractProcess
domain: AbstractProcess
definition: Definition: The follows_1 relation indicates a temporal ordering relation between instances such that the target instance follows the source. The relation is many-many, but has no definition in terms of split/join
usage note: Usage: The abstract syntax does not restrict the use of this relation to meaningful connections in a model with decomposed processes. It is the responsibility of the modeler to provide an interpretation of the decomposition structure and to insure that the follows_1 relation is properly constructed

aggregates
type: ObjectProperty
range: AbstractProcess
domain: Process
usage note: A Process aggregates other Processes and Activities.

owns_1
type: ObjectProperty
sub property of: hasPart
range: ValueStreamStage
domain: ValueStream

follows_3
type: ObjectProperty
range: Touchpoint
domain: Touchpoint

owns_3
type: ObjectProperty
sub property of: hasPart
range: Touchpoint
domain: CustomerJourneyStage

follows_2
type: ObjectProperty
range: CustomerJourneyStage
domain: CustomerJourneyStage

owns_2
type: ObjectProperty
sub property of: hasPart
range: CustomerJourneyStage
domain: CustomerJourney

aggregates_3
type: ObjectProperty
range: ValueItem
domain: ValueProposition

aggregates_4
type: ObjectProperty
range: Means
domain: StrategyModel
usage note: The aggregates_4 meta-association represents the inclusion of Means instances into a StrategyModel instance.

aggregates_5
type: ObjectProperty
range: Ends
domain: StrategyModel
usage note: This aggregates_5 association represents participation of End instances in a StrategyModel instance. This "aggregates" association and the "aggregates" association that summarizes End instancea to other End instances are not exclusive.

BACMElement.description
type: DatatypeProperty
range: string
domain: BACMElement

BACMElement.name
type: DatatypeProperty
range: string
domain: BACMElement

BusinessElement.abstract
type: DatatypeProperty
range: boolean
domain: BusinessElement

BACMShortcut.constr
type: DatatypeProperty
range: string
domain: BACMShortcut

ExternalRelationship.language
type: DatatypeProperty
range: string
domain: ExternalRelationship

ExternalRelationship.specification
type: DatatypeProperty
range: string
domain: ExternalRelationship

ExternalData.resourceIdentifier
type: DatatypeProperty
range: anyURI
domain: ExternalData

needs_0.non_Initial
type: DatatypeProperty
range: boolean
domain: needs_0

produces_0.non_final
type: DatatypeProperty
range: boolean
domain: produces_0

ValueStreamStage.presentation_order
type: DatatypeProperty
range: integer
domain: ValueStreamStage

Change.resultStatement
type: DatatypeProperty
range: string
domain: Change

Means.actionStatement
type: DatatypeProperty
range: string
domain: Means

Ends.resultStatement
type: DatatypeProperty
range: string
domain: Ends

Initiative.actionStatement
type: DatatypeProperty
range: string
domain: Initiative