The full meta-model of CDD
The full meta-model of CDD
|Description||Capability is the ability and capacity that enable an enterprise to achieve a business goal in a certain context.|
|Purpose||Capability is the core element that describes the capability of the business that will be designed and delivered by CDD approach. Capability formulates the requirements for the ability of accomplishing a business goal, realized by applying a solution described by a capability delivery Pattern.|
|Associations||Capability influences KPI: During the capability delivery phase Goal KPIs are measured.
Capability influences Context indicator: During the capability delivery phase Context Indicators are measured.
Capability is required by Goal: A Capability supports fulfilment of a Goal, i.e. the goal needs to be satisfied during the capability delivery.
Capability requires Process: Capability requires one or several a Business Processes. I.e. a Capability is delivered by executing Business Processes.
Capability requires Context set: A Capability is designed to be used in a certain context situation that is represented by a Context Set.
Capability is supported by Pattern: The Pattern component describes the actual solution for realizing a Capability in the given context situation (represented by Context Set at design time) and by Context Situation during run time.
|Description||Goal is a desired state of affairs that needs to be attained. Goals can be refined into sub-goals forming a goal model. Goals should typically be expressed in measurable terms such as KPIs. Other modelling components such as problems, opportunities, and causes may also be included in goal modelling. From a point of view of organizational design goals are operationalized by business rules and business processes. According to the CDD approach a Goal requires one or several capabilities that help achieving it.|
|Purpose||Goal describes the vision of the organization, what it wants to achieve or avoid. Goal achievement requires Capabilities.|
|Associations||Goal requires KPI: Achievement of a Goal is measured by one or several Key Performance Indicators.
Goal requires Capability: Goal requires one or more Capability in order to be satisfied during capability delivery.
Goal motivates Process: Goals are operationalized by business processes and, hence, in EM terms we consider that a Goal motivates one or several processes at some decomposition level.
|Description||Indicator is a property of the business design that can be used for monitoring Capability delivery by measuring the Context (Context Indicator) for monitoring achievement of KPIs.|
|Purpose||Indicator is a generalization of two types:
Context Indicator measures the context values in Capability delivery application run time.
Key Performance Indicators set targets for achievement of the Goals in Capability delivery application run time.
The Context Indicators are designed according to the relevant context situations and measured during run time by aggregating the Measured Properties.,
|Associations||Indicator influences Capability: Capability delivery is monitored and adjusted on the basis of Indicators.|
|Description||Context Indicator is a property of the context relevant to the capability design and useful for monitoring capability delivery.|
|Purpose||Context Indicator represents an aggregation of Measureable Properties used for monitoring the Capability Delivery Application at run time. Context indicators should be designed in such as way that it allows monitoring according to the KPIs.|
|Associations||Context Indicator requires Measurable property: A Context Indicator used for monitoring the context situation. A Context indicator is based on values of one or several Measurable Properties.|
|Description||Key Performance Indicators (alias KPI) are measurable properties that can be seen as targets for achievement of Goals.|
|Purpose||KPI describes the measurable properties of the business Goal in order to support monitoring of goal fulfilment.|
|Associations||KPI is specialization of Indicator: KPI is a type of Indicator relevant to measuring the achievement of the Goals.
KPI is required by Goal: In order to check if business goals are satisfied during the capability delivery phase, KPIs are used to measure the achievement of Goals.
KPI has value KPI Value: this association is used to store the actual KPI values achieved at run-time
|Description||A Resource is something considered valuable for at least one actor. Resources can be explicit (external resources), such as goods, money and people or intangible (internal resources) such as knowledge and goodwill. The difference between internal Resources and external is that internal Resources are not possible to directly transfer between actors.|
|Purpose||Resource describes material, staff and other assets that are needed to ensure the Capability delivery.|
|Associations||Resource relates to Measurable property: Resource is related to one or several Measurable Properties.
Resource is part of Process: Business process design specifies the use of resources because Processes are executed by consuming Resources.
|Process (alias Business Process)|
|Description||Process is series of actions that are performed in order to achieve particular result. A Process supports Goals and has input and produces output in terms of information and/or material. When initiated a process is perceived to consume resources.|
|Purpose||Process describes the actions that need to be performed to deliver the Capability and support business one or several business Goals.|
|Associations||Process is required by Capability: Capability is delivered by a business Process.
Process is motivated by Goal: A Process defines how Goals are fulfilled in general.
Process is generalization of Process Variant: A process may consists of process variants that show what needs to be changed depending on context.
Process is aggregation of Resource: Processes are executed by consuming resources which needs to be specified in the business design.
Process is associated with Event Based Adjustment: This association is used to associate relevant process value used for adjustment calculations at run-time.
|Description||Process Variant is a part of the Process, which uses the same input and delivers the same outcome as the process in a different way.|
|Purpose||Process Variant describes the variability in the business process and capability delivery. Used for adjustment of a master process (e.g., a reference process) to specific requirements building the process context (Hallerbach et al., 2010) Process Variant is a part of the capability delivery process execution which depends upon the context.|
|Associations||Process Variant is a part of Process: Process can consist of one or more process variants.
Process Variant is a part of Capability Delivery Pattern: Pattern describes which process variant should be used in each context situation.
Process Variant is associated with Process Variant Variation Point: this relationship defined the location of the variation in the business process model.
|Capability Delivery Pattern (alias Pattern)|
|Description||Patterns are reusable solutions for reaching business Goals under specific situational contexts. The context defined for the Capability (Context Set) should match the context in which the Pattern is applicable.|
|Purpose||Patterns will represent reusable solutions in terms of business processes, resources, roles and supporting IT components (e.g. code fragments, web service definitions) for delivering a specific type of capability in a given context.
The Context Indicators are used to monitor at runtime whether the Pattern applied for delivering the Capability is valid for the concrete Context Situation.
|Associations||Pattern consists of Process Variant: Pattern describes which Process Variant should be used in each Context Situation.
Pattern requires Context set: Patterns describe which Process Variants should be used in which context modelled by Context Set.
Pattern supports Capability: The Pattern describes an actual solution for realizing a Capability in different context situations during the run time. There can be patterns that document a specific best practice or solution and are some point of time are not connected to any capability.
Pattern is associated with Capability Delivery Variation Point: this relationship defined the location of the variation in the capability delivery solution.
|Attributes||Problem/Goal: states what problem the pattern solves, why it should be applied
Solution: Describes the solution in textual form if necessary
Links: links to model fragments, e.g. Process Variants
Usage guidelines: guidelines for pattern application and tailoring if needed.
|Description||Context Set describes the set of Context Elements that are relevant for design and delivery of a specific Capability.|
|Purpose||Context Set represents different Context Situations when a capability or pattern is applicable. Each Context Set is specified by several Context Element Ranges; Context Set also specifies how the actual context should be monitored at run time, represented by Context Situation.|
|Associations||Context Set is required by Capability: A Capability is designed to be adequate for the certain context situations represented by a Context Set.
Context Set consists of Context Element Range: Context Set is a composite object consisting of one or more Context Element Ranges that specify the range of a particular Context Element include in the Context Set .
Context Set is required by Pattern: Context Set specifies the context when a pattern is applicable. It allows selecting patterns for capability design by matching capability and pattern context sets as well as identification of potentially applicable patterns during the run-time by matching the patter context set with the current capability delivery context situation.
Context set has Context situations: Context Set defines relevant Context Situations that should be monitored at runtime.
|Description||Context Situation captures the actual context during the system run time.|
|Purpose||Context Situation is a run time element that describes a certain context affecting capability delivery during the run time. Context situation is not modelled in the design phase.|
|Associations||Context situation is required by Pattern: during the capability delivery application run time context is monitored and appropriate Pattern for each Context Situation is applied.
Context Situation has Context Set: Context Situation is defined according to the Context Set.
Context Situation consists of Context Element Value: A Context Situation consists of a set of actual values for a set of Context Elements Values based on Measurable Properties.
|Context Element Range|
|Description||Context Element Range is used to specify boundaries of permitted Values for a specific Context Element and for a specific Context Set.|
|Purpose||The purpose of Context Element Range is to represent the actual ranges of value of relevant Context Elements for a specific Context Set. The attribute Calculation expression is used to specify the calculation of the context element value using measurable properties.|
|Associations||Context Set consists of Context Element Range: Context Set includes one or several Context Element Ranges.
Context Element Range is related to Context: Each Context Element Range represents values of a specific Context Element.
|Description||Run time context is described as Context Elements representing any information that can be used to characterise the situation of an entity.|
|Purpose||Context Element is any information that is relevant to capability design, delivery and pattern application. The Context Element only defines the context conceptually, the runtime values are represented by Context Element Value and design time ranges by Context Element Range.|
|Associations||Context Element has Context Element Value: Each Context Element has a value which is measured during the runtime.
Context Element is related to Context Element Range: Each Context Element used in capability design can be related to one or more Context Element Ranges.
Context Element is identified by Context Type: Context Elements can be structured in different types thus making them easier to recognize during capability design and to choose the most appropriate Pattern (e.g. static context affects Capability delivery differently then dynamic Context).
Context Element is measured by Measurable Property: Context Element should have value, they may be based on a number of Measurable Properties.
Context Element is associated to Variation Aspect: This association is used to specify what variations may be caused by a particular Context Element.
|Context Element Value|
|Description||Context Element Value is a value of a specific Context Element at a given the runtime situation.|
|Purpose||Each Context Element is represented by many Context Element Values each occurring at various situations.
Context Element Value has a certain value calculated from measurable properties.
|Associations||Context Element Value is a part of Context Situation: A Context Situation represents a set of actual Context Element Values.
Context Element Value describes Context Element: Each Context Element has a value at a certain situation.
Context Element Value is calculated by Context Calculation: This association is used to link the values of the context element with relevant calculations.
Context Element Value is use for KPI Calculation:
|Context Element Type (alias Context Type)|
|Description||Context Element Type allows structuring Context Elements in different groups and/or categories.|
|Purpose||Context Elements can be described by Context Element Type, e.g. static context, dynamic context, social context. Context Element Type supports finding the most appropriate pattern for a certain context situation, and defining relevant contexts during capability design.|
|Associations||Context Element Type identifies Context Element: Each Context Element can be characterized by one Context Element Type.|
|Description||Measurable Property is any information about the organization’s environment that can be measured.|
|Purpose||Measurable Property allows measuring a context and amount of Resources thus identifying the most appropriate Pattern for a particular Context Situation.|
|Associations||Measurable Property is related to Resource: Availability of amount Resources can be seen as relevant information to be measured and used in capability design.
Measurable Property is required by Context Indicator: Context Indicators should be defined and measured in order to support capability adjustment..
Measurable Property provides data for measuring Context Element: context is measured by one or several Measurable Properties.
Measurable Property is used in Context Calculation: This association is used to specify the measurable properties that are used in Context Calculations.
|Description||Calculates the target and current value of a KPI.|
|Purpose||The objective of the class KPICalculation is to calculate a value of a KPI. A KPI has two values – a target value and the current value. For each of them an instance of a KPICalculation is created, which is implemented in CDT (specify IDAs, calculation logic, perform validation) and executed in CNA. Both values of KPI can be used as input for CapabilityAdjusment instances and they are also visualized in CNA using a set of predefined widgets.|
|Associations||KPI Calculation is based on Context Element Value: this association is used to specify which Context Element Values are use in the algorithms for calculating KPI Values.
KPI Calculation calculates KPI Value: this association is used to assign the value calculated by KPI Calculation to KPI Value.
|Description||KPI Value represents the actual value of a KPI at runtime.|
|Purpose||KPI Value is calculated by KPICalculation and based on the Context Element Values|
|Associations||KPI Value is for KPI: this association is used to specify values of KPIs at run-time
KPI Value is calculated by KPI Calculation: this association is used to assign the value calculated by KPI Calculation to KPI Value.
|Description||Calculates Context Element Value.|
|Purpose||The objective of the class ContextCalculation is to calculate the value of ContextElement. To calculate the value AdjusmentConcept and MeasurableProperty are used. Each ContextCalculation can use multiple input data, however it can only return a single value (the value of the context element). The instances of the ContextCalculation are executed and managed in CNA, while values of measurable properties are retrieved from CCP during run-time. At first ContextCalculation input parameters and IDAs are modeled, then the adjustment logic is implemented and validated. The final step is ContextCalculation deployment to CNA.|
|Associations||Context Calculation uses Context Element Value: this association is to specify which values are used in calculation.
Context Calculation uses for calculation Measurable Property: this association is used to access the measurable properties that are needed for calculations in the adjustments.
|Description||Calculates context element or KPI value.|
|Purpose||Calculation is used to group two kinds of adjustments – ContextCalculation and KPICalculation. Calculation adjustments do not directly adjust the capability however the result from the calculation are used for instances of CapabilityAdjusment which directly alter the capability delivery.|
|Associations||Calculation has two sub-classes Context Calculation and KPI Calculation
Calculation is a specialization of Adjustment
|Context Indicator Calculation|
|Description||Calculates Context Indicator.|
|Purpose||The objective of the class ContextIndicatorCalculation is to calculate the value of ContextIndicator. To calculate the value AdjustmentConcept and MeasurableProperty are used. Each ContextIndicatorCalculation can use multiple input data, however it can only return a single value (the value of the context indicator). The instances of the Context Indicator Calculation are executed and managed in CNA, while values of measurable properties are retrieved from CCP during run-time. At first ContextIndicatorCalculation input parameters and IDAs are modelled, then the adjustment logic is implemented and validated. The final step is ContextIndicatorCalculation deployment to CNA.|
|Associations||Context Indicator Calculation uses for calculation Measurable Property: this association is used to access the measurable properties that are needed for calculations in the adjustments.|
|Description||Supports implemented Capability Delivery Variation Point|
|Purpose||ScheduledAdjustment is executed based on a predefined schedule and it cannot be called through a web service. It is implemented (using programming language) and validated in CDT, deployed to CNA. ScheduledAdjustment cannot be called from external components (no API provided) however it can interact with other components if they provide an API. ScheduledAdjustment is mainly used for supporting decision making in CapabilityDeliveryVariationPoint (non-process based capability, e.g. scaling in the cloud based on the current load).|
|Associations||Scheduled Adjustment supports implementing Capability Delivery Variation Point: this association is used to specify which variation point is affected by the adjustment.
Scheduled Adjustment is a specialization of Capability Adjustment
|Event Based Adjustment|
|Description||Supports implementing Process Variant Variation Point.|
|Purpose||EventBasedAdjustment is implemented (both Java and MathML types are supported) and validated in CDT, deployed to CNA. After the deployment it can be called through web services hosted in the CNA, which allows external systems to get a result of EventBasedAdjusment whenever it is required. EventBasedAdjustment supports decision making in ProcessVariantVariationPoint. When using EventBasedAdjustment to choosing the right process variant during run-time, process instance values can be passed to the adjustment via VariationPointBinding.|
|Associations||Event Based Adjustment is associated with Process Variant Variation Point: this association is used to support decision making and to specify which adjustment is related to the adjustment.
Event Based Adjustment is associated with Process: this association is used to specify which process instance data are used in the adjustment calculation.
Event Based Adjustment is a specialization of Capability Adjustment
|Description||The Adjustment is a superclass for representing the common technical characteristics of all adjustments.|
|Purpose||All adjustments can use AdjustmentConstant for adjustment variable value calculation and are further divided into Calculation and CapabilityAdjustment. The structure of the class Adjustment is shown in Fig. Figure 3‑23.|
|Associations||Adjustment uses for calculation Adjustment Constant: this association is used to link the adjustment with global values stored in the CNA.|
|Capability Delivery Variation Point|
|Description||A capability delivery variation point is a specialization of a variation point and is intended for modelling non process-based capabilities (where process variation points are not suitable).|
|Purpose||Capability Delivery Pattern may represent a complete solution or it can consist of several “sub-patterns” each of them focusing on a specific part of the solution. Variation amongst such pattern may be specified by Capability Delivery Variation Point.|
|Associations||Capability Delivery Variation Point is defined in Pattern: this association is used to specify how the capability adjustments can lead to variation.
Capability Delivery Variation Point is associated with Scheduled Adjustment: this association is used to specify the adjustment algorithm related to the variation point.
|Process Variant Variation Point|
|Description||Process Variant Variation Point contains multiple process variants to choose from.|
|Purpose||Process Variant Variation Point is the specialisation of the Variation Point concept and represents the location of changes in process variants.|
|Associations||Process Variant Variation Point is defined in Process Variant: this association specifies how the different process variants can be associated with each other.
Process Variant Variation Point is associated with Event Based Adjustment: this association is used for specifying the decision making related to choosing the needed Process Variant.
|Description||Locations of variations in a business process model or capability delivery.|
|Purpose||A Variation Point identifies the business service model element, where a variation with respect to a specific variation aspect occurs; they are the locations of variations in a business service model. A variation point is specialized to Capability Delivery Variation Point and Process Variant Variation Point.|
|Associations||Variation Point depends on Variation Aspect: this association is used to specify on which aspects a Variation Point depends on.|
|Description||Causes and types of variations in business processes of an enterprises where alternative flows, functions or procedures are possible.|
|Purpose||Variation Aspect identifies the causes and types of variations that can be relevant for different business services and at different positions in the business service model. Context Elements are related to different business drivers that cause variations in processes. Each Variation Aspect consists of one or several Context Elements.|
|Associations||Variation Aspect is based on Context Element: this association used to specify which how a context element influences variability.
Variation Aspect determines Variation Point: this association used to specify which Variation Points depend on which Variation Aspects.
|Description||AdjustmentConstant represents a constant value that managed centrally in the CAN and it is used in adjustments.|
|Purpose||AdjustmentConstant refers to a system wide constant that can be used for altering the capability without modifying its actual code. Instances of AdjustmentConstant can be reused in all adjustments and are centrally managed using CNA user interface.|
|Associations||Adjustment Constant is used by Adjustment: this specifies which Adjustment Constants are used by which Adjustments.|