ControlLogic¶
Fully qualified class name: DDICDIModels::DDICDILibrary::Classes::Process::ControlLogic
Definition¶
Control logic is a program in which the order of statements is explicit. Control logic is either deterministic (imperative) or non-deterministic (declarative). Deterministic control logic consists of control constructs. Declarative control logic is constraint- and/or rule-based. Control logic may contain control logic.
Examples¶
A loop control construct is deterministic control logic. A script is deterministic control logic. Rule based scheduling is declarative control logic.
Explanatory notes¶
DDI-CDI has extended control logic to include non-deterministic activity and step controls, which are not specifically described in DDI Lifecycle or DDI Codebook.
Diagram
Inheritance
Attributes
Name |
Inherited from |
Description |
Data Type |
Multiplicity |
Default value |
---|---|---|---|---|---|
description |
- own class - |
A description of the control logic in human-readable language. |
String |
0..1 |
|
displayLabel |
- own class - |
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 |
- own class - |
Identifier for objects requiring short- or long-lasting referencing and management. |
0..1 |
||
name |
- own class - |
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 |
- own class - |
Reference to the system or standard from which the workflow was taken. |
0..1 |
Associations
Direction |
Association |
Description |
Multiplicity of ControlLogic |
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 |
- own class - |
|
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 |
- own class - |
|
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 |
- own class - |
|
from |
ControlLogic informs ProcessingAgent |
Control logic informs a processing agent. The information may be deterministic or non-deterministic. |
0..* |
- own package - |
0..* |
none |
- own class - |
|
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 |
- own class - |
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 ControlLogic (entire model as XMI)
1<packagedElement xmlns:StandardProfile="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard"
2 xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML"
3 xmlns:xmi="http://www.omg.org/spec/XMI/20131001"
4 xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic"
5 xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ControlLogic"
6 xmi:type="uml:Class">
7 <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic-ownedComment"
8 xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ControlLogic-ownedComment"
9 xmi:type="uml:Comment">
10 <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic"/>
11 <body>Definition
12============
13Control logic is a program in which the order of statements is explicit. Control logic is either deterministic (imperative) or non-deterministic (declarative). Deterministic control logic consists of control constructs. Declarative control logic is constraint- and/or rule-based. Control logic may contain control logic.
14
15Examples
16==========
17A loop control construct is deterministic control logic. A script is deterministic control logic. Rule based scheduling is declarative control logic.
18
19Explanatory notes
20===================
21DDI-CDI has extended control logic to include non-deterministic activity and step controls, which are not specifically described in DDI Lifecycle or DDI Codebook.</body>
22 </ownedComment>
23 <name>ControlLogic</name>
24 <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic-description"
25 xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ControlLogic-description"
26 xmi:type="uml:Property">
27 <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic-description-ownedComment"
28 xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ControlLogic-description-ownedComment"
29 xmi:type="uml:Comment">
30 <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic-description"/>
31 <body>A description of the control logic in human-readable language.</body>
32 </ownedComment>
33 <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic-description-lowerValue"
34 xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ControlLogic-description-lowerValue"
35 xmi:type="uml:LiteralInteger"/>
36 <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic-description-upperValue"
37 xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ControlLogic-description-upperValue"
38 xmi:type="uml:LiteralUnlimitedNatural">
39 <value>1</value>
40 </upperValue>
41 <name>description</name>
42 <type href="http://www.eclipse.org/uml2/5.0.0/UML/PrimitiveTypes.xmi#String"
43 xmi:type="uml:PrimitiveType"/>
44 </ownedAttribute>
45 <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic-displayLabel"
46 xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ControlLogic-displayLabel"
47 xmi:type="uml:Property">
48 <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic-displayLabel-ownedComment"
49 xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ControlLogic-displayLabel-ownedComment"
50 xmi:type="uml:Comment">
51 <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic-displayLabel"/>
52 <body>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.</body>
53 </ownedComment>
54 <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic-displayLabel-lowerValue"
55 xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ControlLogic-displayLabel-lowerValue"
56 xmi:type="uml:LiteralInteger"/>
57 <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic-displayLabel-upperValue"
58 xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ControlLogic-displayLabel-upperValue"
59 xmi:type="uml:LiteralUnlimitedNatural">
60 <value>*</value>
61 </upperValue>
62 <name>displayLabel</name>
63 <isOrdered>true</isOrdered>
64 <type xmi:idref="DDICDIModels-DDICDILibrary-DataTypes-StructuredDataTypes-LabelForDisplay"/>
65 </ownedAttribute>
66 <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic-identifier"
67 xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ControlLogic-identifier"
68 xmi:type="uml:Property">
69 <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic-identifier-ownedComment"
70 xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ControlLogic-identifier-ownedComment"
71 xmi:type="uml:Comment">
72 <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic-identifier"/>
73 <body>Identifier for objects requiring short- or long-lasting referencing and management.</body>
74 </ownedComment>
75 <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic-identifier-lowerValue"
76 xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ControlLogic-identifier-lowerValue"
77 xmi:type="uml:LiteralInteger"/>
78 <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic-identifier-upperValue"
79 xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ControlLogic-identifier-upperValue"
80 xmi:type="uml:LiteralUnlimitedNatural">
81 <value>1</value>
82 </upperValue>
83 <name>identifier</name>
84 <isID>true</isID>
85 <type xmi:idref="DDICDIModels-DDICDILibrary-DataTypes-StructuredDataTypes-Identifier"/>
86 </ownedAttribute>
87 <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic-name"
88 xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ControlLogic-name"
89 xmi:type="uml:Property">
90 <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic-name-ownedComment"
91 xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ControlLogic-name-ownedComment"
92 xmi:type="uml:Comment">
93 <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic-name"/>
94 <body>Human understandable name (linguistic signifier, word, phrase, or mnemonic). May follow ISO/IEC 11179-5 naming principles, and have context provided to specify usage.</body>
95 </ownedComment>
96 <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic-name-lowerValue"
97 xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ControlLogic-name-lowerValue"
98 xmi:type="uml:LiteralInteger"/>
99 <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic-name-upperValue"
100 xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ControlLogic-name-upperValue"
101 xmi:type="uml:LiteralUnlimitedNatural">
102 <value>*</value>
103 </upperValue>
104 <name>name</name>
105 <isOrdered>true</isOrdered>
106 <type xmi:idref="DDICDIModels-DDICDILibrary-DataTypes-StructuredDataTypes-ObjectName"/>
107 </ownedAttribute>
108 <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic-ownedAttribute_1"
109 xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ControlLogic-ownedAttribute_1"
110 xmi:type="uml:Property">
111 <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic-ownedAttribute_1-lowerValue"
112 xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ControlLogic-ownedAttribute_1-lowerValue"
113 xmi:type="uml:LiteralInteger"/>
114 <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic-ownedAttribute_1-upperValue"
115 xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ControlLogic-ownedAttribute_1-upperValue"
116 xmi:type="uml:LiteralUnlimitedNatural">
117 <value>*</value>
118 </upperValue>
119 <association xmi:idref="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic_informs_ProcessingAgent"/>
120 <type xmi:idref="DDICDIModels-DDICDILibrary-Classes-Process-ProcessingAgent"/>
121 </ownedAttribute>
122 <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic-ownedAttribute_2"
123 xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ControlLogic-ownedAttribute_2"
124 xmi:type="uml:Property">
125 <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic-ownedAttribute_2-lowerValue"
126 xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ControlLogic-ownedAttribute_2-lowerValue"
127 xmi:type="uml:LiteralInteger">
128 <value>1</value>
129 </lowerValue>
130 <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic-ownedAttribute_2-upperValue"
131 xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ControlLogic-ownedAttribute_2-upperValue"
132 xmi:type="uml:LiteralUnlimitedNatural">
133 <value>*</value>
134 </upperValue>
135 <association xmi:idref="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic_invokes_Activity"/>
136 <type xmi:idref="DDICDIModels-DDICDILibrary-Classes-Process-Activity"/>
137 </ownedAttribute>
138 <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic-ownedAttribute_3"
139 xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ControlLogic-ownedAttribute_3"
140 xmi:type="uml:Property">
141 <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic-ownedAttribute_3-lowerValue"
142 xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ControlLogic-ownedAttribute_3-lowerValue"
143 xmi:type="uml:LiteralInteger"/>
144 <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic-ownedAttribute_3-upperValue"
145 xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ControlLogic-ownedAttribute_3-upperValue"
146 xmi:type="uml:LiteralUnlimitedNatural">
147 <value>*</value>
148 </upperValue>
149 <aggregation>shared</aggregation>
150 <association xmi:idref="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic_hasSubControlLogic_ControlLogic"/>
151 <type xmi:idref="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic"/>
152 </ownedAttribute>
153 <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic-ownedAttribute_4"
154 xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ControlLogic-ownedAttribute_4"
155 xmi:type="uml:Property">
156 <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic-ownedAttribute_4-lowerValue"
157 xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ControlLogic-ownedAttribute_4-lowerValue"
158 xmi:type="uml:LiteralInteger"/>
159 <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic-ownedAttribute_4-upperValue"
160 xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ControlLogic-ownedAttribute_4-upperValue"
161 xmi:type="uml:LiteralUnlimitedNatural">
162 <value>*</value>
163 </upperValue>
164 <aggregation>shared</aggregation>
165 <association xmi:idref="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic_has_InformationFlowDefinition"/>
166 <type xmi:idref="DDICDIModels-DDICDILibrary-Classes-Process-InformationFlowDefinition"/>
167 </ownedAttribute>
168 <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic-workflow"
169 xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ControlLogic-workflow"
170 xmi:type="uml:Property">
171 <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic-workflow-ownedComment"
172 xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ControlLogic-workflow-ownedComment"
173 xmi:type="uml:Comment">
174 <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic-workflow"/>
175 <body>Reference to the system or standard from which the workflow was taken.</body>
176 </ownedComment>
177 <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic-workflow-lowerValue"
178 xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ControlLogic-workflow-lowerValue"
179 xmi:type="uml:LiteralInteger"/>
180 <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic-workflow-upperValue"
181 xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ControlLogic-workflow-upperValue"
182 xmi:type="uml:LiteralUnlimitedNatural">
183 <value>1</value>
184 </upperValue>
185 <name>workflow</name>
186 <type xmi:idref="DDICDIModels-DDICDILibrary-DataTypes-StructuredDataTypes-ControlledVocabularyEntry"/>
187 </ownedAttribute>
188</packagedElement>
Fragment for the class ControlLogic (entire XML Schema)
1<xs:element name="ControlLogic"
2 type="ControlLogicXsdType"
3 xml:id="ControlLogic">
4 <!-- based on the UML class DDICDIModels::DDICDILibrary::Classes::Process::ControlLogic -->
5 <xs:annotation>
6 <xs:documentation>Definition
7 ============
8 Control logic is a program in which the order of statements is explicit. Control logic is either deterministic (imperative) or non-deterministic (declarative). Deterministic control logic consists of control constructs. Declarative control logic is constraint- and/or rule-based. Control logic may contain control logic.
9
10 Examples
11 ==========
12 A loop control construct is deterministic control logic. A script is deterministic control logic. Rule based scheduling is declarative control logic.
13
14 Explanatory notes
15 ===================
16 DDI-CDI has extended control logic to include non-deterministic activity and step controls, which are not specifically described in DDI Lifecycle or DDI Codebook.</xs:documentation>
17 </xs:annotation>
18</xs:element>
19<xs:complexType name="ControlLogicXsdType"
20 xml:id="ControlLogicXsdType">
21 <xs:annotation>
22 <xs:documentation>Definition
23 ============
24 Control logic is a program in which the order of statements is explicit. Control logic is either deterministic (imperative) or non-deterministic (declarative). Deterministic control logic consists of control constructs. Declarative control logic is constraint- and/or rule-based. Control logic may contain control logic.
25
26 Examples
27 ==========
28 A loop control construct is deterministic control logic. A script is deterministic control logic. Rule based scheduling is declarative control logic.
29
30 Explanatory notes
31 ===================
32 DDI-CDI has extended control logic to include non-deterministic activity and step controls, which are not specifically described in DDI Lifecycle or DDI Codebook.</xs:documentation>
33 </xs:annotation>
34 <xs:sequence>
35 <xs:element name="description"
36 type="xs:string"
37 minOccurs="0"
38 maxOccurs="1"
39 xml:id="ControlLogic-description">
40 <xs:annotation>
41 <xs:documentation>A description of the control logic in human-readable language.</xs:documentation>
42 </xs:annotation>
43 </xs:element>
44 <xs:element name="displayLabel"
45 type="LabelForDisplayXsdType"
46 minOccurs="0"
47 maxOccurs="unbounded"
48 xml:id="ControlLogic-displayLabel">
49 <xs:annotation>
50 <xs:documentation>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.</xs:documentation>
51 </xs:annotation>
52 </xs:element>
53 <xs:element name="identifier"
54 type="IdentifierXsdType"
55 minOccurs="0"
56 maxOccurs="1"
57 xml:id="ControlLogic-identifier">
58 <xs:annotation>
59 <xs:documentation>Identifier for objects requiring short- or long-lasting referencing and management.</xs:documentation>
60 </xs:annotation>
61 </xs:element>
62 <xs:element name="name"
63 type="ObjectNameXsdType"
64 minOccurs="0"
65 maxOccurs="unbounded"
66 xml:id="ControlLogic-name">
67 <xs:annotation>
68 <xs:documentation>Human understandable name (linguistic signifier, word, phrase, or mnemonic). May follow ISO/IEC 11179-5 naming principles, and have context provided to specify usage.</xs:documentation>
69 </xs:annotation>
70 </xs:element>
71 <xs:element name="workflow"
72 type="ControlledVocabularyEntryXsdType"
73 minOccurs="0"
74 maxOccurs="1"
75 xml:id="ControlLogic-workflow">
76 <xs:annotation>
77 <xs:documentation>Reference to the system or standard from which the workflow was taken.</xs:documentation>
78 </xs:annotation>
79 </xs:element>
80 <xs:element name="ControlLogic_informs_ProcessingAgent"
81 minOccurs="0"
82 maxOccurs="unbounded"
83 xml:id="ControlLogic_informs_ProcessingAgent">
84 <xs:annotation>
85 <xs:documentation>Control logic informs a processing agent. The information may be deterministic or non-deterministic.</xs:documentation>
86 </xs:annotation>
87 <xs:complexType>
88 <xs:complexContent>
89 <xs:restriction base="AssociationReferenceXsdType">
90 <xs:sequence>
91 <xs:element name="ddiReference"
92 type="InternationalRegistrationDataIdentifierXsdType"
93 minOccurs="0"
94 maxOccurs="1"
95 xml:id="ControlLogic_informs_ProcessingAgent-ddiReference"/>
96 <xs:element name="validType"
97 minOccurs="0"
98 maxOccurs="unbounded"
99 xml:id="ControlLogic_informs_ProcessingAgent-validType">
100 <xs:simpleType>
101 <xs:restriction base="xs:NMTOKEN">
102 <xs:enumeration value="Curator"/>
103 <xs:enumeration value="ProcessingAgent"/>
104 <xs:enumeration value="Service"/>
105 </xs:restriction>
106 </xs:simpleType>
107 </xs:element>
108 </xs:sequence>
109 </xs:restriction>
110 </xs:complexContent>
111 </xs:complexType>
112 </xs:element>
113 <xs:element name="ControlLogic_invokes_Activity"
114 minOccurs="1"
115 maxOccurs="unbounded"
116 xml:id="ControlLogic_invokes_Activity">
117 <xs:annotation>
118 <xs:documentation>Control logic invokes an activity deterministically (either conditionally or unconditionally) or non-derministically (based on temporal constraints or rule-based scheduling).</xs:documentation>
119 </xs:annotation>
120 <xs:complexType>
121 <xs:complexContent>
122 <xs:restriction base="AssociationReferenceXsdType">
123 <xs:sequence>
124 <xs:element name="ddiReference"
125 type="InternationalRegistrationDataIdentifierXsdType"
126 minOccurs="0"
127 maxOccurs="1"
128 xml:id="ControlLogic_invokes_Activity-ddiReference"/>
129 <xs:element name="validType"
130 minOccurs="0"
131 maxOccurs="unbounded"
132 xml:id="ControlLogic_invokes_Activity-validType">
133 <xs:simpleType>
134 <xs:restriction base="xs:NMTOKEN">
135 <xs:enumeration value="Activity"/>
136 <xs:enumeration value="Step"/>
137 </xs:restriction>
138 </xs:simpleType>
139 </xs:element>
140 </xs:sequence>
141 </xs:restriction>
142 </xs:complexContent>
143 </xs:complexType>
144 </xs:element>
145 <xs:element name="ControlLogic_hasSubControlLogic_ControlLogic"
146 minOccurs="0"
147 maxOccurs="unbounded"
148 xml:id="ControlLogic_hasSubControlLogic_ControlLogic">
149 <xs:annotation>
150 <xs:documentation>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.</xs:documentation>
151 </xs:annotation>
152 <xs:complexType>
153 <xs:complexContent>
154 <xs:restriction base="AssociationReferenceXsdType">
155 <xs:sequence>
156 <xs:element name="ddiReference"
157 type="InternationalRegistrationDataIdentifierXsdType"
158 minOccurs="0"
159 maxOccurs="1"
160 xml:id="ControlLogic_hasSubControlLogic_ControlLogic-ddiReference"/>
161 <xs:element name="validType"
162 minOccurs="0"
163 maxOccurs="1"
164 xml:id="ControlLogic_hasSubControlLogic_ControlLogic-validType">
165 <xs:simpleType>
166 <xs:restriction base="xs:NMTOKEN">
167 <xs:enumeration value="AllenIntervalAlgebra"/>
168 <xs:enumeration value="ConditionalControlLogic"/>
169 <xs:enumeration value="ControlLogic"/>
170 <xs:enumeration value="DeterministicImperative"/>
171 <xs:enumeration value="NonDeterministicDeclarative"/>
172 <xs:enumeration value="RuleBasedScheduling"/>
173 <xs:enumeration value="Sequence"/>
174 <xs:enumeration value="TemporalConstraints"/>
175 <xs:enumeration value="TemporalControlConstruct"/>
176 </xs:restriction>
177 </xs:simpleType>
178 </xs:element>
179 </xs:sequence>
180 </xs:restriction>
181 </xs:complexContent>
182 </xs:complexType>
183 </xs:element>
184 <xs:element name="ControlLogic_has_InformationFlowDefinition"
185 minOccurs="0"
186 maxOccurs="unbounded"
187 xml:id="ControlLogic_has_InformationFlowDefinition">
188 <xs:annotation>
189 <xs:documentation>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.</xs:documentation>
190 </xs:annotation>
191 <xs:complexType>
192 <xs:complexContent>
193 <xs:restriction base="AssociationReferenceXsdType">
194 <xs:sequence>
195 <xs:element name="ddiReference"
196 type="InternationalRegistrationDataIdentifierXsdType"
197 minOccurs="0"
198 maxOccurs="1"
199 xml:id="ControlLogic_has_InformationFlowDefinition-ddiReference"/>
200 <xs:element name="validType"
201 minOccurs="0"
202 maxOccurs="unbounded"
203 xml:id="ControlLogic_has_InformationFlowDefinition-validType">
204 <xs:simpleType>
205 <xs:restriction base="xs:NMTOKEN">
206 <xs:enumeration value="InformationFlowDefinition"/>
207 </xs:restriction>
208 </xs:simpleType>
209 </xs:element>
210 </xs:sequence>
211 </xs:restriction>
212 </xs:complexContent>
213 </xs:complexType>
214 </xs:element>
215 </xs:sequence>
216</xs:complexType>
Fragment for the class ControlLogic (main ontology)
1# class ControlLogic
2# based on the UML class DDICDIModels::DDICDILibrary::Classes::Process::ControlLogic
3cdi:ControlLogic
4 a rdfs:Class, owl:Class, ucmis:Class;
5 rdfs:label "ControlLogic";
6 rdfs:comment "Definition \n============ \nControl logic is a program in which the order of statements is explicit. Control logic is either deterministic (imperative) or non-deterministic (declarative). Deterministic control logic consists of control constructs. Declarative control logic is constraint- and/or rule-based. Control logic may contain control logic. \n\nExamples \n========== \nA loop control construct is deterministic control logic. A script is deterministic control logic. Rule based scheduling is declarative control logic. \n\nExplanatory notes \n=================== \nDDI-CDI has extended control logic to include non-deterministic activity and step controls, which are not specifically described in DDI Lifecycle or DDI Codebook."@en;
7
8.
9
10cdi:ControlLogic-description
11 a rdf:Property, owl:DatatypeProperty, ucmis:Attribute;
12 rdfs:label "description";
13 rdfs:comment "A description of the control logic in human-readable language."@en;
14 rdfs:domain cdi:ControlLogic;
15 rdfs:range xsd:string;
16.
17
18cdi:ControlLogic-displayLabel
19 a rdf:Property, owl:ObjectProperty, ucmis:Attribute;
20 rdfs:label "displayLabel";
21 rdfs:comment "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."@en;
22 rdfs:domain cdi:ControlLogic;
23 rdfs:range cdi:LabelForDisplay;
24.
25
26cdi:ControlLogic-identifier
27 a rdf:Property, owl:ObjectProperty, ucmis:Attribute;
28 rdfs:label "identifier";
29 rdfs:comment "Identifier for objects requiring short- or long-lasting referencing and management."@en;
30 rdfs:domain cdi:ControlLogic;
31 rdfs:range cdi:Identifier;
32.
33
34cdi:ControlLogic-name
35 a rdf:Property, owl:ObjectProperty, ucmis:Attribute;
36 rdfs:label "name";
37 rdfs:comment "Human understandable name (linguistic signifier, word, phrase, or mnemonic). May follow ISO/IEC 11179-5 naming principles, and have context provided to specify usage."@en;
38 rdfs:domain cdi:ControlLogic;
39 rdfs:range cdi:ObjectName;
40.
41
42cdi:ControlLogic-workflow
43 a rdf:Property, owl:ObjectProperty, ucmis:Attribute;
44 rdfs:label "workflow";
45 rdfs:comment "Reference to the system or standard from which the workflow was taken."@en;
46 rdfs:domain cdi:ControlLogic;
47 rdfs:range cdi:ControlledVocabularyEntry;
48.
49
50
51cdi:ControlLogic_has_InformationFlowDefinition
52 a rdf:Property, owl:ObjectProperty, ucmis:Association;
53 # ASSOCIATION
54 rdfs:label "has";
55 skos:altLabel "ControlLogic_has_InformationFlowDefinition";
56 rdfs:comment "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."@en;
57 rdfs:domain cdi:ControlLogic;
58 rdfs:range cdi:InformationFlowDefinition;
59.
60
61cdi:ControlLogic_hasSubControlLogic_ControlLogic
62 a rdf:Property, owl:ObjectProperty, ucmis:Association;
63 # ASSOCIATION
64 rdfs:label "hasSubControlLogic";
65 skos:altLabel "ControlLogic_hasSubControlLogic_ControlLogic";
66 rdfs:comment "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."@en;
67 rdfs:domain cdi:ControlLogic;
68 rdfs:range cdi:ControlLogic;
69.
70
71cdi:ControlLogic_informs_ProcessingAgent
72 a rdf:Property, owl:ObjectProperty, ucmis:Association;
73 # ASSOCIATION
74 rdfs:label "informs";
75 skos:altLabel "ControlLogic_informs_ProcessingAgent";
76 rdfs:comment "Control logic informs a processing agent. The information may be deterministic or non-deterministic."@en;
77 rdfs:domain cdi:ControlLogic;
78 rdfs:range cdi:ProcessingAgent;
79.
80
81cdi:ControlLogic_invokes_Activity
82 a rdf:Property, owl:ObjectProperty, ucmis:Association;
83 # ASSOCIATION
84 rdfs:label "invokes";
85 skos:altLabel "ControlLogic_invokes_Activity";
86 rdfs:comment "Control logic invokes an activity deterministically (either conditionally or unconditionally) or non-derministically (based on temporal constraints or rule-based scheduling)."@en;
87 rdfs:domain cdi:ControlLogic;
88 rdfs:range cdi:Activity;
89.
Fragment for the class ControlLogic (main JSON-LD)
1{
2 "@context": [
3 {
4 "cdi": "http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/",
5 "xsd": "http://www.w3.org/2001/XMLSchema#",
6 "ControlLogic": "cdi:ControlLogic",
7 "description": {
8 "@id": "cdi:ControlLogic-description",
9 "@type": "xsd:string"
10 },
11 "displayLabel": {
12 "@id": "cdi:ControlLogic-displayLabel",
13 "@type": "@id",
14 "@context": "LabelForDisplay.jsonld"
15 },
16 "identifier": {
17 "@id": "cdi:ControlLogic-identifier",
18 "@type": "@id",
19 "@context": "Identifier.jsonld"
20 },
21 "name": {
22 "@id": "cdi:ControlLogic-name",
23 "@type": "@id",
24 "@context": "ObjectName.jsonld"
25 },
26 "workflow": {
27 "@id": "cdi:ControlLogic-workflow",
28 "@type": "@id",
29 "@context": "ControlledVocabularyEntry.jsonld"
30 },
31
32 "has": {
33 "@id": "cdi:ControlLogic_has_InformationFlowDefinition",
34 "@type": "@id" },
35 "hasSubControlLogic": {
36 "@id": "cdi:ControlLogic_hasSubControlLogic_ControlLogic",
37 "@type": "@id" },
38 "informs": {
39 "@id": "cdi:ControlLogic_informs_ProcessingAgent",
40 "@type": "@id" },
41 "invokes": {
42 "@id": "cdi:ControlLogic_invokes_Activity",
43 "@type": "@id" },
44 "hasInternal_OF_Activity": {
45 "@reverse": "cdi:Activity_hasInternal_ControlLogic",
46 "@type": "@id"
47 },
48 "hasSubControlLogic_OF_ControlLogic": {
49 "@reverse": "cdi:ControlLogic_hasSubControlLogic_ControlLogic",
50 "@type": "@id"
51 },
52 " comment ": "tag:json-should-support-trailing-commas"
53 }
54 ],
55 "generatedBy": "This code was generated by the Eclipse Acceleo project UCMIS M2T on 2024-03-16 23:40:10.",
56 "basedOn": "based on the UML data type DDICDIModels::DDICDILibrary::Classes::Process::ControlLogic"
57}