TemporalControlConstruct#
Fully qualified class name of the UML model DDI-CDI 1.0: DDICDIModels::DDICDILibrary::Classes::Process::TemporalControlConstruct
Definition#
Declarative control flow operator where the continuation of the execution flow depends on the finalization of one or more preceding activities/steps.
XORJoin: Given three activities A, B and C, if XORJoin(A, B) -> C, then C is executed after either A or B finishes executing. XORJoin is sometimes referred to as simple merge.
ANDJoin: Given three activities A, B and C, if ANDJoin(A, B) -> C, then C is executed after both A and B finish executing. ANDJoin is sometimes referred to as synchronization.
XORSplit: Given three activities A, B and C, if XORSplit(A) -> (B, C), then either B or C is executed, not both, after A finishes executing. XORSplit is sometimes referred to as exclusive choice.
ANDSplit: Given three activities A, B and C, if ANDSplit(A) -> (B, C), then both B and C are executed after A finishes executing.
Diagram#
Diagram
Inheritance#
Inheritance
Attributes#
Attributes
Name |
Inherited from |
Description |
Data Type |
Multiplicity |
Default value |
|---|---|---|---|---|---|
temporalControl |
- own class - |
TemporalControl is a property of type TemporalControlConstructType. There are four members of this enumeration: AND-split, XOR-split, AND-join and XOR-join. |
1..1 |
||
description |
A description of the control logic in human-readable language. |
String |
0..1 |
||
displayLabel |
A human-readable display label for the object. Supports the use of multiple languages. Repeat for labels with different content, for example, labels with differing length limitations. |
0..* |
|||
identifier |
Identifier for objects requiring short- or long-lasting referencing and management. |
0..1 |
|||
name |
Human understandable name (linguistic signifier, word, phrase, or mnemonic). May follow ISO/IEC 11179-5 naming principles, and have context provided to specify usage. |
0..* |
|||
workflow |
Reference to the system or standard from which the workflow was taken. |
0..1 |
Associations#
Associations
Direction |
Association |
Description |
Multiplicity of TemporalControlConstruct |
Package of Other Class |
Other Class |
Multiplicity of other class |
Aggregation Kind |
Inherited from |
|---|---|---|---|---|---|---|---|---|
to |
Activity hasInternal ControlLogic |
An activity is embedded in the control construct which launches it. |
0..* |
- own package - |
0..* |
none |
||
from |
ControlLogic has InformationFlowDefinition |
A control construct has zero or more information flow definitions each of which provides the control construct with zero or more input and output parameters used or produced in the step/sub-step with which it is associated. |
0..* |
- own package - |
0..* |
shared |
||
to |
ControlLogic hasSubControlLogic ControlLogic |
Control logic is a container of control logic which is in turn a container of control logic ad infinitum so that it is able to represent the structure of a program. |
0..* |
- own package - |
0..1 |
none |
||
from |
ControlLogic informs ProcessingAgent |
Control logic informs a processing agent. The information may be deterministic or non-deterministic. |
0..* |
- own package - |
0..* |
none |
||
from |
ControlLogic invokes Activity |
Control logic invokes an activity deterministically (either conditionally or unconditionally) or non-derministically (based on temporal constraints or rule-based scheduling). |
0..* |
- own package - |
1..* |
none |
Encodings#
Syntax representations / encodings
All syntax representations except the Canonical XMI are provided as reference points for specific implementations, or for use as defaults if sufficient in the form presented.
Fragment for the class TemporalControlConstruct (entire model as XMI)
1<packagedElement xmlns:StandardProfile="http://www.omg.org/spec/UML/20131001/StandardProfile"
2 xmlns:uml="http://www.omg.org/spec/UML/20131001"
3 xmlns:xmi="http://www.omg.org/spec/XMI/20131001"
4 xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-TemporalControlConstruct"
5 xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TemporalControlConstruct"
6 xmi:type="uml:Class">
7 <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-TemporalControlConstruct-ownedComment"
8 xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TemporalControlConstruct-ownedComment"
9 xmi:type="uml:Comment">
10 <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-Process-TemporalControlConstruct"/>
11 <body>Definition
12==========
13Declarative control flow operator where the continuation of the execution flow depends on the finalization of one or more preceding activities/steps.
14
15- XORJoin: Given three activities A, B and C, if XORJoin(A, B) -> C, then C is executed after either A or B finishes executing. XORJoin is sometimes referred to as simple merge.
16- ANDJoin: Given three activities A, B and C, if ANDJoin(A, B) -> C, then C is executed after both A and B finish executing. ANDJoin is sometimes referred to as synchronization.
17- XORSplit: Given three activities A, B and C, if XORSplit(A) -> (B, C), then either B or C is executed, not both, after A finishes executing. XORSplit is sometimes referred to as exclusive choice.
18- ANDSplit: Given three activities A, B and C, if ANDSplit(A) -> (B, C), then both B and C are executed after A finishes executing.</body>
19 </ownedComment>
20 <name>TemporalControlConstruct</name>
21 <generalization xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-TemporalControlConstruct-generalization"
22 xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TemporalControlConstruct-generalization"
23 xmi:type="uml:Generalization">
24 <general xmi:idref="DDICDIModels-DDICDILibrary-Classes-Process-TemporalConstraints"/>
25 </generalization>
26 <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-TemporalControlConstruct-temporalControl"
27 xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TemporalControlConstruct-temporalControl"
28 xmi:type="uml:Property">
29 <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-TemporalControlConstruct-temporalControl-ownedComment"
30 xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TemporalControlConstruct-temporalControl-ownedComment"
31 xmi:type="uml:Comment">
32 <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-Process-TemporalControlConstruct-temporalControl"/>
33 <body>TemporalControl is a property of type TemporalControlConstructType. There are four members of this enumeration: AND-split, XOR-split, AND-join and XOR-join.</body>
34 </ownedComment>
35 <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-TemporalControlConstruct-temporalControl-lowerValue"
36 xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TemporalControlConstruct-temporalControl-lowerValue"
37 xmi:type="uml:LiteralInteger">
38 <value>1</value>
39 </lowerValue>
40 <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-TemporalControlConstruct-temporalControl-upperValue"
41 xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TemporalControlConstruct-temporalControl-upperValue"
42 xmi:type="uml:LiteralUnlimitedNatural">
43 <value>1</value>
44 </upperValue>
45 <name>temporalControl</name>
46 <type xmi:idref="DDICDIModels-DDICDILibrary-DataTypes-Enumerations-TemporalOperator"/>
47 </ownedAttribute>
48</packagedElement>
Fragment for the class TemporalControlConstruct (entire XML Schema)
1<xs:element name="TemporalControlConstruct"
2 type="TemporalControlConstructXsdType"
3 xml:id="TemporalControlConstruct">
4 <!-- based on the UML class DDICDIModels::DDICDILibrary::Classes::Process::TemporalControlConstruct -->
5 <xs:annotation>
6 <xs:documentation>Definition
7 ==========
8 Declarative control flow operator where the continuation of the execution flow depends on the finalization of one or more preceding activities/steps.
9
10 - XORJoin: Given three activities A, B and C, if XORJoin(A, B) -> C, then C is executed after either A or B finishes executing. XORJoin is sometimes referred to as simple merge.
11 - ANDJoin: Given three activities A, B and C, if ANDJoin(A, B) -> C, then C is executed after both A and B finish executing. ANDJoin is sometimes referred to as synchronization.
12 - XORSplit: Given three activities A, B and C, if XORSplit(A) -> (B, C), then either B or C is executed, not both, after A finishes executing. XORSplit is sometimes referred to as exclusive choice.
13 - ANDSplit: Given three activities A, B and C, if ANDSplit(A) -> (B, C), then both B and C are executed after A finishes executing.</xs:documentation>
14 </xs:annotation>
15</xs:element>
16<xs:complexType name="TemporalControlConstructXsdType"
17 xml:id="TemporalControlConstructXsdType">
18 <xs:annotation>
19 <xs:documentation>Definition
20 ==========
21 Declarative control flow operator where the continuation of the execution flow depends on the finalization of one or more preceding activities/steps.
22
23 - XORJoin: Given three activities A, B and C, if XORJoin(A, B) -> C, then C is executed after either A or B finishes executing. XORJoin is sometimes referred to as simple merge.
24 - ANDJoin: Given three activities A, B and C, if ANDJoin(A, B) -> C, then C is executed after both A and B finish executing. ANDJoin is sometimes referred to as synchronization.
25 - XORSplit: Given three activities A, B and C, if XORSplit(A) -> (B, C), then either B or C is executed, not both, after A finishes executing. XORSplit is sometimes referred to as exclusive choice.
26 - ANDSplit: Given three activities A, B and C, if ANDSplit(A) -> (B, C), then both B and C are executed after A finishes executing.</xs:documentation>
27 </xs:annotation>
28 <xs:complexContent>
29 <xs:extension base="TemporalConstraintsXsdType">
30 <xs:sequence>
31 <xs:element name="temporalControl"
32 type="TemporalOperatorXsdType"
33 minOccurs="1"
34 maxOccurs="1"
35 xml:id="TemporalControlConstruct-temporalControl">
36 <xs:annotation>
37 <xs:documentation>TemporalControl is a property of type TemporalControlConstructType. There are four members of this enumeration: AND-split, XOR-split, AND-join and XOR-join.</xs:documentation>
38 </xs:annotation>
39 </xs:element>
40 </xs:sequence>
41 </xs:extension>
42 </xs:complexContent>
43</xs:complexType>
Fragment for the class TemporalControlConstruct (entire JSON Schema)
1"cls-TemporalControlConstruct": {
2 "description": "http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/TemporalControlConstruct",
3 "type": "object",
4 "properties": {
5 "@context": {
6 "$ref": "#/defs/at-context"
7 },
8 "@id": {
9 "type": "string",
10 "format": "iri-reference"
11 },
12 "@type": {
13 "const": "TemporalControlConstruct"
14 },
15 "temporalControl": {
16 "$comment": "cardinality 1..1 – from cdi:TemporalControlConstruct",
17 "$ref": "#/defs/enum-TemporalOperator"
18 },
19 "description": {
20 "$comment": "cardinality 0..1 – from cdi:ControlLogic",
21 "$ref": "#/defs/xsd:string"
22 },
23 "displayLabel": {
24 "$comment": "cardinality 0..-1 – from cdi:ControlLogic",
25 "if": { "type": "array" },
26 "then": { "items": { "$ref": "#/defs/dt-LabelForDisplay" } },
27 "else": { "$ref": "#/defs/dt-LabelForDisplay" }
28 },
29 "identifier": {
30 "$comment": "cardinality 0..1 – from cdi:ControlLogic",
31 "$ref": "#/defs/dt-Identifier"
32 },
33 "name": {
34 "$comment": "cardinality 0..-1 – from cdi:ControlLogic",
35 "if": { "type": "array" },
36 "then": { "items": { "$ref": "#/defs/dt-ObjectName" } },
37 "else": { "$ref": "#/defs/dt-ObjectName" }
38 },
39 "workflow": {
40 "$comment": "cardinality 0..1 – from cdi:ControlLogic",
41 "$ref": "#/defs/dt-ControlledVocabularyEntry"
42 },
43 "has_InformationFlowDefinition": {
44 "description": "ControlLogic_has_InformationFlowDefinition",
45 "$comment": "cardinality 0..-1",
46 "anyOf": [
47 {
48 "$ref": "#/defs/target-InformationFlowDefinition"
49 },
50 {
51 "type": "array",
52 "items": {
53 "$ref": "#/defs/target-InformationFlowDefinition"
54 }
55 }
56 ]
57 },
58 "hasSubControlLogic": {
59 "description": "ControlLogic_hasSubControlLogic_ControlLogic",
60 "$comment": "cardinality 0..-1",
61 "anyOf": [
62 {
63 "$ref": "#/defs/target-ControlLogic"
64 },
65 {
66 "type": "array",
67 "items": {
68 "$ref": "#/defs/target-ControlLogic"
69 }
70 }
71 ]
72 },
73 "informs": {
74 "description": "ControlLogic_informs_ProcessingAgent",
75 "$comment": "cardinality 0..-1",
76 "anyOf": [
77 {
78 "$ref": "#/defs/target-ProcessingAgent"
79 },
80 {
81 "type": "array",
82 "items": {
83 "$ref": "#/defs/target-ProcessingAgent"
84 }
85 }
86 ]
87 },
88 "invokes": {
89 "description": "ControlLogic_invokes_Activity",
90 "$comment": "cardinality 1..-1",
91 "anyOf": [
92 {
93 "$ref": "#/defs/target-Activity"
94 },
95 {
96 "type": "array",
97 "items": {
98 "$ref": "#/defs/target-Activity"
99 }
100 }
101 ]
102 },
103 "hasInternal_OF_Activity": {
104 "description": "Activity_hasInternal_ControlLogic",
105 "$comment": "cardinality 0..-1",
106 "anyOf": [
107 {
108 "$ref": "#/defs/target-Activity"
109 },
110 {
111 "type": "array",
112 "items": {
113 "$ref": "#/defs/target-Activity"
114 }
115 }
116 ]
117 },
118 "hasSubControlLogic_OF_ControlLogic": {
119 "description": "ControlLogic_hasSubControlLogic_ControlLogic",
120 "$comment": "cardinality 0..1",
121 "$ref": "#/defs/target-ControlLogic"
122 },
123 "sameAs": {
124 "$ref": "#/defs/owl:sameAs"
125 }
126 },
127 "required": ["temporalControl","invokes","@type"],
128 "additionalProperties": false
129},
130"target-TemporalControlConstruct": {
131 "description": "all subclasses of http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/TemporalControlConstruct",
132 "anyOf": [
133 { "$ref": "#/defs/cls-TemporalControlConstruct" },
134 { "type": "string", "format": "iri-reference" }
135 ]
136},
Fragment for the class TemporalControlConstruct (main ontology)
1# class TemporalControlConstruct
2# based on the UML class DDICDIModels::DDICDILibrary::Classes::Process::TemporalControlConstruct
3cdi:TemporalControlConstruct
4 a rdfs:Class, owl:Class, ucmis:Class;
5 rdfs:label "TemporalControlConstruct";
6 rdfs:comment "Definition \n==========\nDeclarative control flow operator where the continuation of the execution flow depends on the finalization of one or more preceding activities/steps.\n\n- XORJoin: Given three activities A, B and C, if XORJoin(A, B) -> C, then C is executed after either A or B finishes executing. XORJoin is sometimes referred to as simple merge.\n- ANDJoin: Given three activities A, B and C, if ANDJoin(A, B) -> C, then C is executed after both A and B finish executing. ANDJoin is sometimes referred to as synchronization.\n- XORSplit: Given three activities A, B and C, if XORSplit(A) -> (B, C), then either B or C is executed, not both, after A finishes executing. XORSplit is sometimes referred to as exclusive choice.\n- ANDSplit: Given three activities A, B and C, if ANDSplit(A) -> (B, C), then both B and C are executed after A finishes executing."@en;
7 rdfs:subClassOf cdi:TemporalConstraints;
8.
9
10cdi:TemporalControlConstruct-temporalControl
11 a rdf:Property, owl:ObjectProperty, ucmis:Attribute;
12 rdfs:label "temporalControl";
13 rdfs:comment "TemporalControl is a property of type TemporalControlConstructType. There are four members of this enumeration: AND-split, XOR-split, AND-join and XOR-join."@en;
14 rdfs:domain cdi:TemporalControlConstruct;
15 rdfs:range cdi:TemporalOperator;
16.
Fragment for the class TemporalControlConstruct (entire JSON-LD)
1{
2 "@context": [
3 "TemporalConstraints.jsonld",
4 {
5 "cdi": "http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/",
6 "xsd": "http://www.w3.org/2001/XMLSchema#",
7
8 "temporalControl": {
9 "@id": "cdi:TemporalControlConstruct-temporalControl",
10 "@type": "@vocab",
11 "@context": {
12 "AndJoin": "cdi:AndJoin"
13 , "AndSplit": "cdi:AndSplit"
14 , "XorJoin": "cdi:XorJoin"
15 , "XorSplit": "cdi:XorSplit"
16 }
17 },
18
19 " comment ": "tag:json-should-support-trailing-commas"
20 }
21 ],
22 "generatedBy": "This code was generated by the Eclipse Acceleo project UCMIS M2T on 2025-08-29 14:34:54.",
23 "basedOn": "based on the UML data type DDICDIModels::DDICDILibrary::Classes::Process::TemporalControlConstruct"
24}
Fragment for the class TemporalControlConstruct (entire SHACL - Shapes Constraint Language)
1# class TemporalControlConstruct
2# based on the UML class DDICDIModels::DDICDILibrary::Classes::Process::TemporalControlConstruct
3<#TemporalControlConstruct> a sh:NodeShape;
4 sh:targetClass cdi:TemporalControlConstruct;
5 sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/TemporalControlConstruct";
6 sh:closed true;
7 sh:ignoredProperties ( owl:sameAs );
8 sh:property [
9 sh:path rdf:type;
10 sh:in ( cdi:TemporalControlConstruct
11 ) ;
12 ];
13 # attributes
14 sh:property <#TemporalControlConstruct-temporalControl>;
15 # associations from TemporalControlConstruct
16 # associations to TemporalControlConstruct
17
18 # ---- superclass: TemporalConstraints
19 # attributes
20 # associations from TemporalConstraints
21 # associations to TemporalConstraints
22
23 # ---- superclass: NonDeterministicDeclarative
24 # attributes
25 # associations from NonDeterministicDeclarative
26 # associations to NonDeterministicDeclarative
27
28 # ---- superclass: ControlLogic
29 # attributes
30 sh:property <#ControlLogic-description>;
31 sh:property <#ControlLogic-displayLabel>;
32 sh:property <#ControlLogic-identifier>;
33 sh:property <#ControlLogic-name>;
34 sh:property <#ControlLogic-workflow>;
35 # associations from ControlLogic
36 sh:property <#ControlLogic_has_InformationFlowDefinition>;
37 sh:property <#ControlLogic_hasSubControlLogic_ControlLogic>;
38 sh:property <#ControlLogic_informs_ProcessingAgent>;
39 sh:property <#ControlLogic_invokes_Activity>;
40 # associations to ControlLogic
41 sh:property <#rev_Activity_hasInternal_ControlLogic>;
42 sh:property <#rev_ControlLogic_hasSubControlLogic_ControlLogic>;
43
44
45
46
47
48
49
50
51
52.
53
54<#TemporalControlConstruct-temporalControl> a sh:PropertyShape ;
55 sh:path cdi:TemporalControlConstruct-temporalControl;
56 sh:node <#TemporalOperator>
57 ;
58 sh:minCount 1;
59 sh:maxCount 1;
60.
Fragment for the class TemporalControlConstruct (entire ShEx - Shape Expressions)
1# class TemporalControlConstruct
2# based on the UML class DDICDIModels::DDICDILibrary::Classes::Process::TemporalControlConstruct
3cdi:TemporalControlConstructShape CLOSED {
4 a [cdi:TemporalControlConstruct];
5 cdi:TemporalControlConstruct-temporalControl @cdi:TemporalOperatorShape;
6 &cdi:TemporalConstraintsProperties;
7 }