Service Specification Layer

C1-S1 – Capability to Service Mapping

C1-S1 Logical Diagram
C1-S1 Logical Diagram
Element Name Element Kind Definition
Capability Type A DispositionalProperty that is the set of all things that are capable of achieving a particular outcome.
CapabilityOfService Type A TypicalWholePart that relates a Service to the specification of its underlying capability. Note: in MODAF 1.2 and M3 there was "ServiceAimsToAchieve" which showed how services were put together to achieve a capability. This was considered redundant, as it can (and should) be shown in OV-2 by tracing a Node to a capability and the services that support its OperationActivities.
ServiceSpecification Type A ServiceDeliveryType that is the specification of a ServiceDelivery. Note: was called "Service" in M3.

Table ‑: C1-S1 Element List

S1 – Service Taxonomy

 S1 Logical Diagram
S1 Logical Diagram
Element Name Element Kind Definition
AttributeOfService Type A typeInstance that relates a ServiceSpecification to a ServiceAttribute relevent to measuring service performance.
CBRNEnvironment Type An EnvironmentalFactor that defines the type of chemical, biological, radiological and nuclear environment in which an Enterprise may operate.
EnvironmentalFactor Type A GeopoliticalLocationStateType that defines some aspect of the environment in which an Enterprise may operate.
LightConditions Type An EnvironmentmentalFactor that defines the types of light (e.g. broad daylight, dusk, moonlit, etc.) in which an Enterprise may operate.
Measure Type A Property whose members are Individuals that all share a common, measurable property, or whose properties lie within a MeasureRange.
Examples: 2kg, 4 weeks, 2km.
MeasureCategory Type A MeasureType whose members are recognised types of MeasureInstance.
Examples: Mass (included in IDEAS), Length (included in IDEAS), Velocity, Hardness.
MeasureInContext Type A ModemIndividualType that brings together EnvironmentalFactors with a Measure in order to qualify the measure.
Examples: 40mph in desert, 1km range in cloudy conditions
MeasurePoint Type A Measure whose members are Individuals that all share a common property that can be measured.
Examples: 2kg, 4 weeks, 2km.
MeasureRange Type A Measure that is characterised by two MeasurePoints that define its upper and lower bounds.
TerrainType Type An EnvironmentalFactor that defines the type of ground conditions that an Enterprise may operate in.
Note: TerrainType is a subtype of GeopoliticalLocationStateType as the terrain may change over time (e.g. muddy, frozen ground, deep snow, etc.)
ServiceSpecification Type A ServiceDeliveryType that is the specification of a ServiceDelivery.
WeatherConditions Type An EnvironmentalFactor that defines the type of weather in which an Enterprise may operate
environmentalContext TupleType A couple that relates a MeasureInContext to an EnvironmentalFactor in order to qualify the measure.
lowerBoundOfMeasureRange TupleType A superSubtype that asserts the MeasureInstance that is the lower bound (i.e. minimum measure) of a MeasureRange.
measureTypeInstance TupleType A typeInstance that asserts a Measure is an instance of a MeasureCategory. Examples: 2kg is a mass, 40m/s is a velocity.
qualifiedMeasure TupleType A superSubtype that relates a MeasureInContext to the measure it qualifies
serviceGeneralisation TupleType A modemIndividualTypeSpecialisation where one ServiceSpecification is a specialisation of another.
upperBoundOfMeasureRange TupleType A superSubtype that asserts the MeasureInstance that is the upper bound (i.e. maximum measure) of a MeasureRange.

Table ‑: S1 Element List

S2 – Not Used

S3 – Service Interfaces

S3 Logical Diagram
S3 Logical Diagram
Element Name Element Kind Definition
AsynchronousOperation Type An OperationSpecification where the caller and called do not wait for each other to complete the communication.
DataElement Type A SymbolOrSymbolStringType that represents interactions between resource elements.
Interface Type A ModemIndividualType that is an interface either provided or required by another ModemIndividualType.
InterfaceOperation Type A TypicalWholePart that realtes an OperationSpecification to its InterfaceSpecification.
InterfaceSpecification Type A ModemIndividualType that is a part of another ModemIndividualType that defines how it communicates
MessageSpecification Type A DataElement that specifies the content of a message.
OperationInputParameter Type A TypicalWholePart where an OperationParameter is passed into a OperationSpecification.
OperationParameter Type A ModemIndividualType that is a part of an OperationSpecification. OperationParameters are passed in and out of OperationSpecifications.
OperationReadWriteParameter Type A TypicalWholePart where an OperationParameter is passed into an OperationSpecification that can then be modified and the result read after processing.
OperationReturnParameter Type A TypicalWholePart where an OperationParameter is passed out of an OperationSpecification.
OperationSpecification Type A ModemIndividualType that is an invokable part of an InterfaceSpecification. [ABSTRACT]
ProvidedInterface Type An Interface describing what a ServiceSpecification or a ResourceType is capable of providing when invoked by an external element.
RequiredInterface Type An Interface describing what a ServiceSpecification or a ResourceType requires from an external element.
ServiceInterface Type A TypicalWholePart that relates a ServiceSpecification to an Interface that it requires or provides.
ServiceSpecification Type A ServiceDeliveryType that is the specification of a ServiceDelivery.
Note: was called "Service" in M3.
SynchronousOperation Type An OperationSpecification where the caller and called wait for each other to complete the communication.
specForInterface TupleType A modemIndividualTypeSpecialisation that relates an Interface to the InterfaceSpecification that specifies it
supportedMessageFormat TupleType A couple that relates an Interface to a MessageSpecification that it can support.

S3 Element List

S4 – Service Functions

S4 Logical Diagram
S4 Logical Diagram
Element Name Element Kind Definition
ConsumerServiceFunction Type An IndividualExchangeRoleType where the role is a ServiceFlowImportRole and the consumer is a ServiceFunction
ProducerServiceFunction Type An IndividualExchangeRoleType where the role is a ServiceFlowExportRole and the producer is a ServiceFunction
ServiceExport Type A SendInExchangeType where the sender is a ServiceSpecification or ServiceFunction
ServiceFlow Type An ExchangeType where two ServiceSpecifications interact.
ServiceFlowExportRole Type A SendType where the sender is a ServiceSpecification or ServiceFunction.
ServiceFlowImportRole Type A RecieveType where the receiver is a ServiceSpecification or ServiceFunction
ServiceFunction Type A ServiceProcess carried out by a ServiceSpecification.
ServiceFunctionComposition Type A TypicalWholePart that relates a parent (whole) ServiceFunction to its child (part) ServiceFunction
Note: was called "ActivityComposition" in M3
ServiceImport Type A ReceiveInExchangeType where the receiver is a ServiceSpecification or ServiceFunction.
ServiceRole Type A ProcessPartOfBodyType that asserts that a ServiceFunction is part of a ServiceSpecification.
ServiceSpecification Type A ServiceDeliveryType that is the specification of a ServiceDelivery.
Note: was called "Service" in M3.

Table ‑: S4 Element List

S5 – Service States

S5 Logical Diagram
S5 Logical Diagram
Element Name Element Kind Definition
ServiceSpecification Type A ServiceDeliveryType that is the specification of a ServiceDelivery.
Note: was called "Service" in M3.
ServiceSpecificationState Type A ServiceDeliveryStateType that is a type of temporal state typical of a ServiceSpecification.
StateMachine Type A StateMachineViews used to model typical states and transitions for ModemIndividualElementTypes.
StateMachineRegion Type A StateMachineRegions which is part of a StateMachine.
StateSpecification Type An OwnedStateSets used in a MODEM state machine.
StateTransition Type A StateSuccessionType indicating there is a possible transition between StateSpecifications.
regionOfStateMachine TupleType A stateMachineViewTypesRegionInstances which relates a StateMachineRegion to a StateMachine.
stateInRegion TupleType A regionTypeInstance that asserts a StateSpecification features in a StateMachineRegion.
stateMachineForServiceSpecification TupleType An appliedStateMachine that relates a ServiceSpecification to its state machine.
stateTransitionInRegion TupleType A regionTypeInstance that asserts a StateTransition features in a StateMachineRegion

Table ‑: S5 Element List

S6 – Service Interactions

S6 Logical Diagram
S6 Logical Diagram
Element Name Element Kind Definition
AsynchronousOperation Type An OperationSpecification where the caller and called do not wait for each other to complete the communication.
Delay Type A TriggerItem that is a pause between Processes, Events, etc.
EventBoundedServiceProcess Type A ServiceProcess that has ServiceEvents marking its beginning and end.
ItemInServiceScenario Type An ItemInScenario where the Scenario is a ServiceScenario.
LifelineForService Type A TypicalTemporalWholePart that asserts a ServiceLifeLine is a typical temporal part of a ServiceSpecification.
OperationSpecification Type A ModemIndividualType that is an invokable part of an InterfaceSpecification [ABSTRACT].
SequencedOperation Type A ServiceScenarioPart that is the typical occurance of an OperationSpecification.
SequencedServiceFunction Type An EventBoundedServiceProcess whose instances are special cases of ServiceFunctions that take part in ServiceScenarios.
ServiceConsumer Type A Node that interacts with one or more services.
ServiceDelay Type A ServiceSequencedItem that has a specified temporal extent, but an unspecified spatial extent..
ServiceEndEvent Type An EndBorderType that relates a EventBoundedServiceProcess to the ServiceEvent that marks its end
Note: there may be no more than one ServiceEndEvent for a given EventBoundedServiceProcess
ServiceEvent Type An Event that marks the beginning or end of a EventBoundedServiceProcess.
ServiceFunction Type A ServiceProcess carried out by a ServiceSpecification.
ServiceLifeline Type A ServiceSpecificationState whose extent is defined by a ServiceScenario.
ServiceOrConsumer Type A ServiceScenarioPart that is either a ServiceLifeline or a ServiceConsumer. [ABSTRACT]
ServiceScenario Type A Scenario that describes the order of interactions with a ServiceSpecification.
ServiceScenarioPart Type A ModemIndividualType that features in (i.e. is part of) a ServiceScenario
ServiceSequencedItem Type A ServiceScenarioPart that can be sequenced by ServiceSequencing.
ServiceSpecification Type A ServiceDeliveryType that is the specification of a ServiceDelivery.
Note: was called "Service" in M3.
ServiceStartEvent Type A StartBorderType that relates an EventBoundedServicelProcess to the ServiceEvent that marks its start.
Note: there may be no more than one ServiceStartEvent for a given ServiceSequencedProcess.
SynchronousOperation Type An OperationSpecification where the caller and called wait for each other to complete the communication.
Time Type A MeasureInstance whose members are Individuals that have a particular temporal dimension of the same length.
Examples: 22 seconds, 14 weeks, The time taken for light to travel 2km in a vacuum.
TimeRange Type A MeasureRange where the bounds are Times.
delayRange TupleType A measureOfType that relates a LogicalDelay to the delayRange in which it falls.
delayTime TupleType A measureOfType that relates a LogicalDelay to its Time.
operationCaller TupleType A couple that asserts a ServiceOrConsumer invokes a SequencedOperation on a ServiceLifeline.
operationFlowInScenario TupleType A modemIndividualTypeSpecialisation that relates an OperationSpecification to its usage (as a SequencedOperation) in a ServiceScenario
Note: A SequencedOperation is based on only one OperationSpecification
operationOwner TupleType A couple where a SequencedOperation is run by a ServiceLifeline.
serviceFunctionInSequence TupleType A modemIndividualTypeSpecialisation that relates a ServiceFunction to a SequencedServiceFunction that is a case of it being used in a ServiceScenario.

Table ‑: S6 Element List

S7 – Service Interface Parameters

S7 Logical Diagram
S7 Logical Diagram
Element Name Element Kind Definition
AggregateDataType Type A DataModelTypeRepresentation which is an aggregate of other DataModelTypeRepresentations.
ArrayDataType Type An AggregateDataType whose members are addressed using a numeric index.
AsynchronousOperation Type An OperationSpecification where the caller and called do not wait for each other to complete the communication.
BagDataType Type An AggregateDataType whose members are not kept in any particular order - i.e. there is no way to address a particular member.
BinaryDataType Type A SimpleDataType whose instances are binary objects.
Note: Data Models may instantiate several different BinaryDataTypes - e.g. "BLOB", "MPEG", "varbinary", etc
CardinalitySpecifier Type An IntegerRepresentation that specifies the cardinality of an EntityRelationshipEnd.
ChoiceDataType Type A DataModelTypeRepresentation which represents a choice of datatypes, restricted by the architect to a list.
Note: Also known as a SELECT in some data modelling languages (e.g. ISO10303-11).
DataElement Type A SymbolOrSymbolStringType that represents interactions between resource elements.
DataModel Type A StructuredRepresentation defining the structure of data, showing classifications of data elements and relationships between them..
DataModelComponent Type A Representation that can be part of a DataModel.
Entity Type A DataModelComponent that defines an item of interest..
EnumerationType Type A DataModelTypeRepresentation which consists of named values.
FloatingPointDataType Type A NumericDataType whose instances are real numbers.
Note: Data Models may instantiate several different IntegerDataTypes - e.g. "float", "double", "real", etc.
HashedAggregate Type An AggregateDataType whose members are indexed using an identifier.
IntegerDataType Type A NumericDataType whose instances are integer numbers.
Note: Data Models may instantiate several different IntegerDataTypes - e.g. "LongInt", "short", "word", etc
Interface Type A ModemIndividualType that is an interface either provided or required by another ModemIndividualType.
InterfaceOperation Type A TypicalWholePart that realtes an OperationSpecification to its InterfaceSpecification.
InterfaceSpecification Type A ModemIndividualType that is a part of another ModemIndividualType that defines how it communicates
ItemInDataModel Type A RepresentationInStructure where a DataModelComponent is part of a DataModel
ListDataType Type An AggregateDataType whose members are stored and accessed as an ordered list.
LogicalDataType Type A SimpleDataType whose instances are true/false or true/false/unknown.
Note: Data Models may instantiate several different LogicalDataTypes - e.g. "Boolean", "YesNo", "BOOL", etc.
MaxAggregateSize Type A RepresentationInStructure that specifies the maximum size of an AggregateDataType.
MessageSpecification Type A DataElement that specifies the content of a message.
MinAggregateSize Type A RepresentationInStructure that specifies the minimum size of an AggregateDataType.
NumericDataType Type A SimpleDataType whose instances are numbers.
OperationInputParameter Type A TypicalWholePart where an OperationParameter is passed into a OperationSpecification.
OperationParameter Type A ModemIndividualType that is a part of an OperationSpecification. OperationParameters are passed in and out of OperationSpecifications.
OperationReadWriteParameter Type A TypicalWholePart where an OperationParameter is passed into a OperationSpecification that can then be modified and the result read after processing.
OperationReturnParameter Type A TypicalWholePart where an OperationParameter is passed out of an OperationSpecification.
OperationSpecification Type A ModemIndividualType that is an invokable part of an InterfaceSpecification. [ABSTRACT]
PhysicalDataModel Type A DataModel that is an implementable specification of a data structure. A PhysicalDataModel realises a LogicalDataModel, taking into account implementation restrictions and performance issues whilst still enforcing the constraints, relationships and typing of the logical model.
ProvidedInterface Type An Interface describing what a ServiceSpecification or a ResourceType is capable of providing when invoked by an external element.
RequiredInterface Type An Interface describing what a ServiceSpecification or a ResourceType requires from an external element.
ServiceInterface Type A TypicalWholePart that relates a ServiceSpecification to an Interface that it requires or provides.
ServiceSpecification Type A ServiceDeliveryType that is the specification of a ServiceDelivery.
Note: was called "Service" in M3.
SimpleDataType Type A DataModelTypeRepresentation that is used to specify the type of a literal (e.g. text, integer, floating point number, etc.).
StringRepresentation Type A Representation whose all members are all strings.
SynchronousOperation Type An OperationSpecification where the caller and called wait for each other to complete the communication.
TextDataType Type A SimpleDataType whose instances are text literals.
Note: Data Models may instantiate several different TextDataTypes - e.g. "String", "XML Text", "WideString", etc.
choiceElement TupleType A couple that asserts a DataModelTypeRepresentation is a valid choice in a ChoiceDataType.
dataElementRepresentation TupleType A representedByDataType that asserts an DataElement is represented by a DataModelTypeRepresentation.
enumerationItem TupleType A Couple that relates a StringRepresentation to an EnumerationType of which it is an element.
parameterRepresentation TupleType A representedBy that links an OperationParameter to its datatype (DataModelTypeRepresentation).
specForInterface TupleType A modemIndividualTypeSpecialisation that relates an Interface to the InterfaceSpecification that specifies it.
supportedMessageFormat TupleType A couple that relates an Interface to a MessageSpecification that it can support.

Table ‑: S7 Element List

S8 – Service Policy

S8 Logical Diagram<
S8 Logical Diagram<
Element Name Element Kind Definition
AttributeOfService Type A typeInstance that relates a ServiceSpecification to a ServiceAttribute relevent to measuring service performance.
Constraint Type A Type that is the collection of all the objects subject to a particular constraint.
CBRNEnvironment Type An EnvironmentalFactor that defines the type of chemical, biological, radiological and nuclear environment in which an Enterprise may operate.
EnvironmentalFactor Type A GeopoliticalLocationStateType that defines some aspect of the environment in which an Enterprise may operate.
LightConditions Type An EnvironmentmentalFactor that defines the types of light (e.g. broad daylight, dusk, moonlit, etc.) in which an Enterprise may operate.
Measure Type A Property whose members are Individuals that all share a common, measurable property, or whose properties lie within a MeasureRange.
Examples: 2kg, 4 weeks, 2km.
MeasureCategory Type A MeasureType whose members are recognised types of MeasureInstance.
Examples: Mass (included in IDEAS), Length (included in IDEAS), Velocity, Hardness.
MeasureInContext Type A ModemIndividualType that brings together EnvironmentalFactors with a Measure in order to qualify the measure.
Examples: 40mph in desert, 1km range in cloudy conditions
MeasurePoint Type A Measure whose members are Individuals that all share a common property that can be measured.
Examples: 2kg, 4 weeks, 2km.
MeasureRange Type A Measure that is characterised by two MeasurePoints that define its upper and lower bounds.
ModemIndividualType Type The parent (supertype) of all MODEM elements that are types of Individuals e.g. tank, computer, etc.
ServiceSpecification Type A ServiceDeliveryType that is the specification of a ServiceDelivery. Note: was called "Service" in M3
ServiceSpecificationState Type A ServiceDeliveryStateType that is a type of temporal state typical of a ServiceSpecification.
TerrainType Type An EnvironmentalFactor that defines the type of ground conditions that an Enterprise may operate in.
Note: TerrainType is a subtype of GeopoliticalLocationStateType as the terrain may change over time (e.g. muddy, frozen ground, deep snow, etc.).
WeatherConditions Type An EnvironmentalFactor that defines the type of weather in which an Enterprise may operate.
environmentalContext TupleType A couple that relates a MeasureInContext to an EnvironmentalFactor in order to qualify the measure.
lowerBoundOfMeasureRange TupleType A superSubtype that asserts the MeasureInstance that is the lower bound (i.e. minimum measure) of a MeasureRange.
measureTypeInstance TupleType A typeInstance that asserts a Measure is an instance of a MeasureCategory. Examples: 2kg is a mass, 40m/s is a velocity.
qualifiedMeasure TupleType A superSubtype that relates a MeasureInContext to the measure it qualifies
servicePolicy TupleType A measureOfType where the Measure specifies a policy for a ServiceSpecification. Note: The Measure must correspond to a given MeasureCategory that is an attributeOfService for the ServiceSpecification
upperBoundOfMeasureRange TupleType A superSubtype that asserts the MeasureInstance that is the upper bound (i.e. maximum measure) of a MeasureRange.

Table ‑: S8 Element List

Sr – Service Roadmap

Sr Logical Diagram
Sr Logical Diagram
Element Name Element Kind Definition
AttributeOfService Type A typeInstance that relates a ServiceSpecification to a ServiceAttribute relevent to measuring service performance.
Constraint Type A Type that is the collection of all the objects subject to a particular constraint.
CBRNEnvironment Type An EnvironmentalFactor that defines the type of chemical, biological, radiological and nuclear environment in which an Enterprise may operate.
EnvironmentalFactor Type A GeopoliticalLocationStateType that defines some aspect of the environment in which an Enterprise may operate.
LightConditions Type An EnvironmentmentalFactor that defines the types of light (e.g. broad daylight, dusk, moonlit, etc.) in which an Enterprise may operate.
Measure Type A Property whose members are Individuals that all share a common, measurable property, or whose properties lie within a MeasureRange.
Examples: 2kg, 4 weeks, 2km.
MeasureCategory Type A MeasureType whose members are recognised types of MeasureInstance.
Examples: Mass (included in IDEAS), Length (included in IDEAS), Velocity, Hardness.
MeasureInContext Type A ModemIndividualType that brings together EnvironmentalFactors with a Measure in order to qualify the measure.
Examples: 40mph in desert, 1km range in cloudy conditions
MeasurePoint Type A Measure whose members are Individuals that all share a common property that can be measured.
Examples: 2kg, 4 weeks, 2km.
MeasureRange Type A Measure that is characterised by two MeasurePoints that define its upper and lower bounds.
ModemIndividualType Type The parent (supertype) of all MODEM elements that are types of Individuals e.g. tank, computer, etc.
ServiceLevel Type A ServiceDeliveryType based on a ServiceSpecification that sets a level of service using of Measures that correspond to ServiceAttributes.
ServiceSpecification Type A ServiceDeliveryType that is the specification of a ServiceDelivery. Note: was called "Service" in M3
ServiceSpecificationState Type A ServiceDeliveryStateType that is a type of temporal state typical of a ServiceSpecification.
ServiceSpecificationVersionSuccession Type A BeforeAfterType that asserts that one ServiceSpecification succeeds another. Note: both ServiceSpecifications must be versions of the same ServiceSpecificationMaster.
TerrainType Type An EnvironmentalFactor that defines the type of ground conditions that an Enterprise may operate in.
Note: TerrainType is a subtype of GeopoliticalLocationStateType as the terrain may change over time (e.g. muddy, frozen ground, deep snow, etc.).
WeatherConditions Type An EnvironmentalFactor that defines the type of weather in which an Enterprise may operate.
Project IndividualType An Undertaking that is a time-limited endeavour to create a specific set of products or services.
ProjectMilestone IndividualType A ProjectPart that marks the end of one ProjectPhase and possibly the beginning of another.
Note: the temporal extent of a ProjectMilestone is likely to be finite - e.g. there may be milestone meetings, funding reviews, etc. before another Project or ProjectPhase can start.
ProjectPhase IndividualType An ProjectState that is a temporal part of a Project and has been nominated as a phase of a Project.
environmentalContext TupleType A couple that relates a MeasureInContext to an EnvironmentalFactor in order to qualify the measure.
levelOfService TupleType A modemIndividualTypeSpecialisation where a ServiceLevel is sets levels of service based on a ServiceSpecification.
lowerBoundOfMeasureRange TupleType A superSubtype that asserts the MeasureInstance that is the lower bound (i.e. minimum measure) of a MeasureRange.
measureTypeInstance TupleType A typeInstance that asserts a Measure is an instance of a MeasureCategory. Examples: 2kg is a mass, 40m/s is a velocity.
milestoneBegins TupleType A startBoundary that asserts a ProjectMilestone marks the beginning of a Project or ProjectPhase.
milestoneEnds TupleType An endBoundary that asserts a ProjectMilestone marks the end of a Project or ProjectPhase.
projectWholePhase TupleType A projectPhaseTemporalPart where the whole is a Project.
qualifiedMeasure TupleType A superSubtype that relates a MeasureInContext to the measure it qualifies.
serviceLevelMeasure TupleType A measureOfType that specifies a ServiceLevel.
servicePolicy TupleType A measureOfType where the Measure specifies a policy for a ServiceSpecification. Note: The Measure must correspond to a given MeasureCategory that is an attributeOfService for the ServiceSpecification
serviceSpecificationWithdrawnAt Milestone TupleType A couple that indicates that a ServiceSpecification is withdrawn at a ProjectMilestone.
upperBoundOfMeasureRange TupleType A superSubtype that asserts the MeasureInstance that is the upper bound (i.e. maximum measure) of a MeasureRange.

Table ‑: Sr Element List