KDM 1.0 Specification Cover Page
OMG's Issue Reporting Procedure 1
Preface xiii
Scope 1
Conformance 1
KDM Domains 1
Compliance Levels 2
Meaning and Types of Compliance 3
Normative References 5
Terms and Definitions 5
Symbols 5
Additional Information 5
Changes to Other OMG Specifications 5
How to Read this Specification 6
Acknowledgements 8
Specification Overview 9
KDM 11
Overview 11
Organization of the KDM Packages 12
Part 1. KDM Infrastructure Layer 15
Core Package 17
Overview 17
Organization of the Core Package 17
CoreEntities Class Diagram 17
Element Class (abstract) 18
ModelElement Class (abstract) 18
KDMEntity Class (abstract) 19
CoreRelations Class Diagram 20
KDMRelationship Class (abstract) 21
KDMEntity (additional properties) 22
AggregatedRelations Class Diagram 22
AggregatedRelationship Class 23
KDMEntity (additional properties) 25
Datatypes Class Diagram 26
Boolean Type (datatype) 26
String Type (datatype) 26
Integer Type (datatype) 26
KDM Package 27
Overview 27
Organization of the Kdm Package 27
Framework Class Diagram 28
KDMFramework Class (abstract) 29
KDMModel Class (abstract) 29
KDMEntity (additional properties) 30
Segment Class 31
Audit Class Diagram 32
Audit Class 32
KDMFramework (additional properties) 33
Extensions Class Diagram 33
Stereotype Class 35
TagDefinition Class 37
ExtensionFamily Class 38
ModelElement (additional properties) 39
ExtendedValues class diagram 39
ExtendedValue class (abstract) 40
TaggedValue Class 41
TaggedRef class 41
Annotations Class Diagram 42
Attribute Class 43
Annotation Class 43
Element (additional properties) 44
Source Package 45
Overview 45
Organization of the Source Package 45
InventoryModel class diagram 46
InventoryModel Class 47
AbstractInventoryElement Class (abstract) 48
AbstractInventoryRelationship Class (abstract) 48
InventoryItem class (generic) 48
SourceFile Class 49
Image Class 50
Configuration Class 50
ResourceDescription Class 50
BinaryFile Class 50
ExecutableFile Class 50
InventoryContainer class (generic) 50
Directory Class 51
Project class 51
InventoryInheritances class diagram 52
InventoryRelations class diagram 53
DependsOn class 53
SourceRef Class Diagram 54
SourceRef Class 54
SourceRegion Class 56
ExtenededInventoryElements Class Diagram 57
InventoryElement class (generic) 57
InventoryRelationship class (generic) 58
Part 2. Program Elements Layer 59
Code Package 61
Overview 61
Organization of the Code Package 61
CodeModel Class Diagram 62
CodeModel Class 63
AbstractCodeElement Class (abstract) 64
AbstractCodeRelationship Class (abstract) 64
CodeItem Class (abstract) 64
ComputationalObject Class (abstract) 65
Datatype Class (abstract) 65
CodeInheritances Class Diagram 65
Modules Class Diagram 66
Module Class (generic) 66
CompilationUnit Class 67
SharedUnit Class 67
LanguageUnit class 68
CodeAssembly Class 68
Package Class 68
ControlElements Class Diagram 69
ControlElement class (generic) 69
CallableUnit Class 70
CallableKind Data Type (enumerated) 70
MethodUnit Class 71
MethodKind data type (enumeration) 71
DataElements Class Diagram 72
DataElement class (generic) 73
StorableUnit class 74
StorableKind data type (enumeration) 74
ExportKind data type (enumeration) 75
ItemUnit class 75
IndexUnit class 75
MemberUnit class 76
ParameterUnit class 76
ValueElements class diagram 77
ValueElement class (abstract) 78
Value class 78
ValueList class 78
PrimitiveTypes Class Diagram 79
PrimitiveType class (generic) 80
BooleanType Class 80
CharType Class 81
OrdinalType Class 81
DateType Class 81
TimeType Class 81
IntegerType Class 82
DecimalType Class 82
ScaledType Class 82
FloatType Class 83
VoidType Class 83
StringType Class 83
BitType Class 83
BitStringType Class 84
OctetType Class 84
OctetStringType Class 84
EnumeratedTypes Class Diagram 84
EnumeratedType Class 85
CompositeTypes Class Diagram 85
CompositeType Class (generic) 86
ChoiceType Class 87
RecordType Class 87
DerivedTypes Class Diagram 88
DerivedType Class (generic) 89
ArrayType Class 90
PointerType Class 90
RangeType Class 91
BagType class 92
SetType class 92
SequenceType class 92
Signature Class Diagram 93
Signature Class 93
ParameterKind enumeration datatype 94
DefinedTypes Class Diagram 94
DefinedType Class (abstract) 95
TypeUnit class 95
SynonymUnit class 96
ClassTypes Class Diagram 96
ClassUnit Class 97
InterfaceUnit Class 97
Templates Class Diagram 98
TemplateUnit Class 98
TemplateParameter Class 99
TemplateType class 99
TemplateRelations Class Diagram 100
InstanceOf Class 100
ParameterTo Class 101
InterfaceRelations Class Diagram 103
Implements Class 104
ImplementationOf Class 105
TypeRelations Class Diagram 108
HasType Class 108
HasValue Class 109
ClassRelations Class Diagram 112
Extends Class 112
Preprocessor Class Diagram 114
PreprocessorDirective Class (generic) 114
MacroUnit class 116
MacroKind data type (enumeration) 116
MacroDirective class 117
IncludeDirective class 117
Conditional Directive class 117
PreprocessorRelations class diagram 118
Expands class 118
GeneratedFrom class 119
Includes class 121
VariantTo class 122
Redefines class 123
Comments Class Diagram 125
CommentUnit Class 125
AbstractCodeElement Class (additional properties) 126
Visibility Class Diagram 126
Namespace Class 126
VisibilityRelations Class Diagram 127
VisibleIn Class 127
Imports Class 128
ExtendedCodeElements Class Diagram 129
CodeElement Class (generic) 130
CodeRelationship Class (generic) 130
Action Package 131
Overview 131
Organization of the Action Package 131
ActionElements Class Diagram 131
ActionElement Class 132
AbstractActionRelationship Class (abstract) 133
BlockUnit Class 133
ControlElement (additional properties) 134
ActionInheritances Class Diagram 134
ActionFlow Class Diagram 135
ControlFlow Class (generic) 135
EntryFlow Class 136
Flow Class 136
TrueFlow Class 137
FalseFlow Class 137
GuardedFlow Class 138
CallableRelations Class Diagram 138
Calls Class 139
Dispatches Class 140
DataRelations Class Diagram 141
Reads Class 142
Writes Class 143
Addresses Class 143
Creates Class 143
ExceptionBlocks Class Diagram 144
ExceptionUnit Class 145
TryUnit class 145
CatchUnit class 145
FinallyUnit class 146
ExceptionFlow Class Diagram 148
ExitFlow Class 149
ExceptionFlow Class 150
ExceptionRelations Class Diagram 150
Throws Class 151
InterfaceRelations Class Diagram 151
CompliesTo Class 152
UsesRelations Class Diagram 152
UsesType Class 153
ExtendedActionElements Class Diagram 153
ActionRelationship Class (generic) 154
Micro KDM 155
Part 3. Runtime Resources Layer 161
Platform Package 165
Overview 165
Organization of the Platform Package 165
PlatformModel Class Diagram 166
PlatformModel Class 166
AbstractPlatformElement Class (abstract) 167
AbstractPlatformRelationship Class (abstract) 167
PlatformInheritances Class Diagram 168
PlatformResources Class Diagram 168
ResourceType Class 169
NamingResource Class 170
MarshalledResource Class 170
MessagingResource Class 170
FileResource Class 171
ExecutionResource Class 171
LockResource Class 171
StreamResource Class 171
DataManager Class 171
PlatformEvent class 172
PlatformAction class 172
ExternalActor Class 172
PlatformRelations Class Diagram 173
BindsTo Class 173
ProvisioningRelations Class Diagram 174
Requires Class 174
PlatformActions Class Diagram 175
ManagesResource class 175
ReadsResource class 176
WritesResource class 176
DefinedBy class 177
Deployment Class Diagram 177
DeployedComponent Class 178
DeployedSoftwareSystem Class 179
Machine Class 179
DeployedResource Class 180
RuntimeResources Class Diagram 180
RuntimeResource (generic) 181
Process Class 181
Thread Class 181
RuntimeActions Class Diagram 181
Loads Class 182
Spawns Class 183
ExtenededPlatformElements Class Diagram 183
PlatformElement Class (generic) 184
PlatformRelationship Class (generic) 184
UI Package 185
Overview 185
Organization of the UI Package 185
UIModel Class Diagram 185
UIModel Class 186
AbstractUIElement Class (abstract) 187
AbstractUIRelationship Class (abstract) 187
UIInheritances Class Diagram 188
UIResources Class Diagram 188
UIResource Class (generic) 189
UIDisplay Class (generic) 190
Screen Class 190
Report Class 190
UIField Class 190
UIEvent class 191
UIAction class 191
UIRelations Class Diagram 191
UIFlow Class 192
UILayout Class 192
UIActions Class Diagram 193
Displays Class 194
DisplaysImage Class 194
ManagesUI class 194
ReadsUI class 195
WritesUI class 195
ExtendedUIElements Class Diagram 196
UIElement Class (generic) 196
UIRelationship Class (generic) 197
Event Package 199
Overview 199
Organization of the Event Package 199
EventModel Class Diagram 199
EventModel Class 200
AbstractEventElement Class (abstract) 200
AbstractEventRelationship Class (abstract) 201
EventInheritances Class Diagram 201
EventResources Class Diagram 202
EventResource Class (generic) 203
Event Class 203
State class 203
InitialState class 203
Transition class 204
OnEntry class 204
OnExit class 204
EventAction class 204
EventRelations Class Diagram 205
NextState class 205
ConsumesEvent class 206
EventActions Class Diagram 206
ReadsState class 207
ProducesEvent class 208
HasState class 208
ExtenededEventElements Class Diagram 209
EventElement Class (generic) 209
EventRelationship Class (generic) 209
Data Package 211
Overview 211
Organization of the Data Package 211
Data Model Class Diagram 211
DataModel Class 212
AbstractDataElement Class (abstract) 213
AbstractDataRelationship Class (abstract) 213
Data Inheritances class diagram 213
DataResources Class Diagram 214
DataResource Class (generic) 215
DataContainer Class (generic) 216
Catalog Class 216
RelationalSchema Class 216
DataEvent Class 217
DataAction class 217
ColumnSet Class Diagram 218
ColumnSet (generic) 218
RelationalTable Class 219
RelationalView Class 222
DataSegment Class 222
RecordFile Class 224
KeyIndex Class Diagram 229
IndexElement Class (generic) 229
UniqueKey Class 230
ReferenceKey Class 230
Index Class 230
Key Relations class diagram 231
KeyRelationship Class 231
DataActions class diagram 232
ReadsColumnSet class 233
WritesColumnSet class 233
ManagesData class 234
HasContent class 234
StructuredData Class Diagram 240
XMLSchema 240
AbstractContentElement (abstract) 240
ContentElements Class Diagram 241
ContentItem (generic) 241
ComplexContentType 242
SimpleContentType 242
ContentRestriction 243
AllContent Class 245
SeqContent Class 245
ChoiceContent Class 246
GroupContent Class 246
MixedContent Class 246
ContentAttribute Class 246
ContentElement Class 247
ContentReference Class 247
ContentRelations Class Diagram 252
TypedBy class 252
DatatypeOf class 253
ReferenceTo class 253
ExtensionTo class 254
RestrictionOf class 254
ExtenededDataElements Class Diagram 255
ExtendedDataElement Class 255
DataRelationship Class 256
Part 4. Abstractions Layer 257
Structure Package 259
Overview 259
Organization of the Structure Package 259
StructureModel Class Diagram 259
StructureModel Class 260
AbstractStructureElement Class (abstract) 260
AbstractStructureRelationship Class (abstract) 261
Subsystem Class 261
Layer Class 261
Component Class 262
SoftwareSystem Class 262
ArchitectureView Class 262
StructureInheritances Class Diagram 262
ExtenededStructureElements Class Diagram 263
StructureElement Class (generic) 263
StructureRelationship Class (generic) 264
Conceptual Package 265
Overview 265
Organization of the Conceptual Package 266
ConceptualModel Class Diagram 267
ConceptualModel 268
AbstractConceptualElement (abstract) 269
AbstractConceptualRelationship class (abstract) 270
ConceptualInheritances Class Diagram 270
ConceptualElements class diagram 270
ConceptualContainer class 271
TermUnit 272
FactUnit 272
RuleUnit 272
ConceptualRole 272
BehaviorUnit class 273
ScenarioUnit class 273
ConceptualRelations class diagram 274
ConceptualFlow class 274
ExtendedConceptualElements Class Diagram 282
ConceptualElement Class (generic) 283
ConceptualRelationship Class (generic) 283
Build Package 285
Overview 285
Organization of the Build Package 285
BuildModel Class Diagram 285
BuildModel Class 286
AbstractBuildElement Class (abstract) 286
AbstractBuildRelationship Class (abstract) 287
Origin Class 287
Tool Class 287
SymbolicLink Class 287
BuildInheritances Class Diagram 288
BuildResources Class Diagram 288
BuildResource Class 289
BuildComponent Class 289
BuildDescription Class 289
BuildStep class 290
BuildRelations Class Diagram 290
LinksTo Class 291
Consumes class 292
Produces class 292
SupportedBy class 293
SuppliedBy class 293
DescribedBy class 294
ExtendedBuildElements Class Diagram 295
BuildElement Class (generic) 296
BuildRelationship Class (generic) 296
Appendix 1. Semantics of the micro KDM action elements 299
Comparison actions 299
Actions related to the primitive numerical datatypes 300
Actions related to bitwise operations on primitive datatypes 301
Control actions 302
Actions related to access to datatypes 305
Actions related to type conversions 307
Actions related to StringType operations 308
Actions related to SetType operations 309
Actions related to SequenceType operations 310
Actions related to BagType operations 311