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

Attributes

Name

Inherited from

Description

Data Type

Multiplicity

Default value

description

- own class -

A desription of the control logic in human-readable language.

String

0..1

identifier

- own class -

Identifier for objects requiring short- or long-lasting referencing and management.

Identifier

0..1

workflow

- own class -

Reference to the system or standard from which the workflow was taken.

ControlledVocabularyEntry

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 -

Activity

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 -

InformationFlowDefinition

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 -

ControlLogic

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 -

ProcessingAgent

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 -

Activity

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 desription 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-identifier"
 46                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ControlLogic-identifier"
 47                   xmi:type="uml:Property">
 48      <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic-identifier-ownedComment"
 49                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ControlLogic-identifier-ownedComment"
 50                    xmi:type="uml:Comment">
 51         <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic-identifier"/>
 52         <body>Identifier for objects requiring short- or long-lasting referencing and management.</body>
 53      </ownedComment>
 54      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic-identifier-lowerValue"
 55                  xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ControlLogic-identifier-lowerValue"
 56                  xmi:type="uml:LiteralInteger"/>
 57      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic-identifier-upperValue"
 58                  xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ControlLogic-identifier-upperValue"
 59                  xmi:type="uml:LiteralUnlimitedNatural">
 60         <value>1</value>
 61      </upperValue>
 62      <name>identifier</name>
 63      <isID>true</isID>
 64      <type xmi:idref="DDICDIModels-DDICDILibrary-DataTypes-StructuredDataTypes-Identifier"/>
 65   </ownedAttribute>
 66   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic-ownedAttribute_1"
 67                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ControlLogic-ownedAttribute_1"
 68                   xmi:type="uml:Property">
 69      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic-ownedAttribute_1-lowerValue"
 70                  xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ControlLogic-ownedAttribute_1-lowerValue"
 71                  xmi:type="uml:LiteralInteger"/>
 72      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic-ownedAttribute_1-upperValue"
 73                  xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ControlLogic-ownedAttribute_1-upperValue"
 74                  xmi:type="uml:LiteralUnlimitedNatural">
 75         <value>*</value>
 76      </upperValue>
 77      <association xmi:idref="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic_informs_ProcessingAgent"/>
 78      <type xmi:idref="DDICDIModels-DDICDILibrary-Classes-Process-ProcessingAgent"/>
 79   </ownedAttribute>
 80   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic-ownedAttribute_2"
 81                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ControlLogic-ownedAttribute_2"
 82                   xmi:type="uml:Property">
 83      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic-ownedAttribute_2-lowerValue"
 84                  xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ControlLogic-ownedAttribute_2-lowerValue"
 85                  xmi:type="uml:LiteralInteger">
 86         <value>1</value>
 87      </lowerValue>
 88      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic-ownedAttribute_2-upperValue"
 89                  xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ControlLogic-ownedAttribute_2-upperValue"
 90                  xmi:type="uml:LiteralUnlimitedNatural">
 91         <value>*</value>
 92      </upperValue>
 93      <association xmi:idref="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic_invokes_Activity"/>
 94      <type xmi:idref="DDICDIModels-DDICDILibrary-Classes-Process-Activity"/>
 95   </ownedAttribute>
 96   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic-ownedAttribute_3"
 97                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ControlLogic-ownedAttribute_3"
 98                   xmi:type="uml:Property">
 99      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic-ownedAttribute_3-lowerValue"
100                  xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ControlLogic-ownedAttribute_3-lowerValue"
101                  xmi:type="uml:LiteralInteger"/>
102      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic-ownedAttribute_3-upperValue"
103                  xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ControlLogic-ownedAttribute_3-upperValue"
104                  xmi:type="uml:LiteralUnlimitedNatural">
105         <value>*</value>
106      </upperValue>
107      <aggregation>shared</aggregation>
108      <association xmi:idref="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic_hasSubControlLogic_ControlLogic"/>
109      <type xmi:idref="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic"/>
110   </ownedAttribute>
111   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic-ownedAttribute_4"
112                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ControlLogic-ownedAttribute_4"
113                   xmi:type="uml:Property">
114      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic-ownedAttribute_4-lowerValue"
115                  xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ControlLogic-ownedAttribute_4-lowerValue"
116                  xmi:type="uml:LiteralInteger"/>
117      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic-ownedAttribute_4-upperValue"
118                  xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ControlLogic-ownedAttribute_4-upperValue"
119                  xmi:type="uml:LiteralUnlimitedNatural">
120         <value>*</value>
121      </upperValue>
122      <aggregation>shared</aggregation>
123      <association xmi:idref="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic_has_InformationFlowDefinition"/>
124      <type xmi:idref="DDICDIModels-DDICDILibrary-Classes-Process-InformationFlowDefinition"/>
125   </ownedAttribute>
126   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic-workflow"
127                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ControlLogic-workflow"
128                   xmi:type="uml:Property">
129      <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic-workflow-ownedComment"
130                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ControlLogic-workflow-ownedComment"
131                    xmi:type="uml:Comment">
132         <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic-workflow"/>
133         <body>Reference to the system or standard from which the workflow was taken.</body>
134      </ownedComment>
135      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic-workflow-lowerValue"
136                  xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ControlLogic-workflow-lowerValue"
137                  xmi:type="uml:LiteralInteger"/>
138      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-ControlLogic-workflow-upperValue"
139                  xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#ControlLogic-workflow-upperValue"
140                  xmi:type="uml:LiteralUnlimitedNatural">
141         <value>1</value>
142      </upperValue>
143      <name>workflow</name>
144      <type xmi:idref="DDICDIModels-DDICDILibrary-DataTypes-StructuredDataTypes-ControlledVocabularyEntry"/>
145   </ownedAttribute>
146</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 desription of the control logic in human-readable language.</xs:documentation>
 42      </xs:annotation>
 43    </xs:element>
 44    <xs:element name="identifier"
 45                type="IdentifierXsdType"
 46                minOccurs="0"
 47                maxOccurs="1"
 48                xml:id="ControlLogic-identifier">
 49      <xs:annotation>
 50        <xs:documentation>Identifier for objects requiring short- or long-lasting referencing and management.</xs:documentation>
 51      </xs:annotation>
 52    </xs:element>
 53    <xs:element name="workflow"
 54                type="ControlledVocabularyEntryXsdType"
 55                minOccurs="0"
 56                maxOccurs="1"
 57                xml:id="ControlLogic-workflow">
 58      <xs:annotation>
 59        <xs:documentation>Reference to the system or standard from which the workflow was taken.</xs:documentation>
 60      </xs:annotation>
 61    </xs:element>
 62    <xs:element name="ControlLogic_informs_ProcessingAgent"
 63                minOccurs="0"
 64                maxOccurs="unbounded"
 65                xml:id="ControlLogic_informs_ProcessingAgent">
 66      <xs:annotation>
 67        <xs:documentation>Control logic informs a processing agent. The information may be deterministic or non-deterministic.</xs:documentation>
 68      </xs:annotation>
 69      <xs:complexType>
 70        <xs:complexContent>
 71          <xs:restriction base="AssociationReferenceXsdType">
 72            <xs:sequence>
 73              <xs:element name="ddiReference"
 74                          type="InternationalRegistrationDataIdentifierXsdType"
 75                          minOccurs="0"
 76                          maxOccurs="1"
 77                          xml:id="ControlLogic_informs_ProcessingAgent-ddiReference"/>
 78              <xs:element name="validType"
 79                          minOccurs="0"
 80                          maxOccurs="unbounded"
 81                          xml:id="ControlLogic_informs_ProcessingAgent-validType">
 82                <xs:simpleType>
 83                  <xs:restriction base="xs:NMTOKEN">
 84                    <xs:enumeration value="Curator"/>
 85                    <xs:enumeration value="ProcessingAgent"/>
 86                    <xs:enumeration value="Service"/>
 87                  </xs:restriction>
 88                </xs:simpleType>
 89              </xs:element>
 90            </xs:sequence>
 91          </xs:restriction>
 92        </xs:complexContent>
 93      </xs:complexType>
 94    </xs:element>
 95    <xs:element name="ControlLogic_invokes_Activity"
 96                minOccurs="1"
 97                maxOccurs="unbounded"
 98                xml:id="ControlLogic_invokes_Activity">
 99      <xs:annotation>
100        <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>
101      </xs:annotation>
102      <xs:complexType>
103        <xs:complexContent>
104          <xs:restriction base="AssociationReferenceXsdType">
105            <xs:sequence>
106              <xs:element name="ddiReference"
107                          type="InternationalRegistrationDataIdentifierXsdType"
108                          minOccurs="0"
109                          maxOccurs="1"
110                          xml:id="ControlLogic_invokes_Activity-ddiReference"/>
111              <xs:element name="validType"
112                          minOccurs="0"
113                          maxOccurs="unbounded"
114                          xml:id="ControlLogic_invokes_Activity-validType">
115                <xs:simpleType>
116                  <xs:restriction base="xs:NMTOKEN">
117                    <xs:enumeration value="Activity"/>
118                    <xs:enumeration value="Step"/>
119                  </xs:restriction>
120                </xs:simpleType>
121              </xs:element>
122            </xs:sequence>
123          </xs:restriction>
124        </xs:complexContent>
125      </xs:complexType>
126    </xs:element>
127    <xs:element name="ControlLogic_hasSubControlLogic_ControlLogic"
128                minOccurs="0"
129                maxOccurs="unbounded"
130                xml:id="ControlLogic_hasSubControlLogic_ControlLogic">
131      <xs:annotation>
132        <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>
133      </xs:annotation>
134      <xs:complexType>
135        <xs:complexContent>
136          <xs:restriction base="AssociationReferenceXsdType">
137            <xs:sequence>
138              <xs:element name="ddiReference"
139                          type="InternationalRegistrationDataIdentifierXsdType"
140                          minOccurs="0"
141                          maxOccurs="1"
142                          xml:id="ControlLogic_hasSubControlLogic_ControlLogic-ddiReference"/>
143              <xs:element name="validType"
144                          minOccurs="0"
145                          maxOccurs="1"
146                          xml:id="ControlLogic_hasSubControlLogic_ControlLogic-validType">
147                <xs:simpleType>
148                  <xs:restriction base="xs:NMTOKEN">
149                    <xs:enumeration value="AllenIntervalAlgebra"/>
150                    <xs:enumeration value="ConditionalControlLogic"/>
151                    <xs:enumeration value="ControlLogic"/>
152                    <xs:enumeration value="DeterministicImperative"/>
153                    <xs:enumeration value="NonDeterministicDeclarative"/>
154                    <xs:enumeration value="RuleBasedScheduling"/>
155                    <xs:enumeration value="Sequence"/>
156                    <xs:enumeration value="TemporalConstraints"/>
157                    <xs:enumeration value="TemporalControlConstruct"/>
158                  </xs:restriction>
159                </xs:simpleType>
160              </xs:element>
161            </xs:sequence>
162          </xs:restriction>
163        </xs:complexContent>
164      </xs:complexType>
165    </xs:element>
166    <xs:element name="ControlLogic_has_InformationFlowDefinition"
167                minOccurs="0"
168                maxOccurs="unbounded"
169                xml:id="ControlLogic_has_InformationFlowDefinition">
170      <xs:annotation>
171        <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>
172      </xs:annotation>
173      <xs:complexType>
174        <xs:complexContent>
175          <xs:restriction base="AssociationReferenceXsdType">
176            <xs:sequence>
177              <xs:element name="ddiReference"
178                          type="InternationalRegistrationDataIdentifierXsdType"
179                          minOccurs="0"
180                          maxOccurs="1"
181                          xml:id="ControlLogic_has_InformationFlowDefinition-ddiReference"/>
182              <xs:element name="validType"
183                          minOccurs="0"
184                          maxOccurs="unbounded"
185                          xml:id="ControlLogic_has_InformationFlowDefinition-validType">
186                <xs:simpleType>
187                  <xs:restriction base="xs:NMTOKEN">
188                    <xs:enumeration value="InformationFlowDefinition"/>
189                  </xs:restriction>
190                </xs:simpleType>
191              </xs:element>
192            </xs:sequence>
193          </xs:restriction>
194        </xs:complexContent>
195      </xs:complexType>
196    </xs:element>
197  </xs:sequence>
198</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 desription of the control logic in human-readable language."@en;
14  rdfs:domain cdi:ControlLogic;
15  rdfs:range xsd:string;
16.
17
18cdi:ControlLogic-identifier
19  a rdf:Property, owl:ObjectProperty, ucmis:Attribute;
20  rdfs:label "identifier";
21  rdfs:comment "Identifier for objects requiring short- or long-lasting referencing and management."@en;
22  rdfs:domain cdi:ControlLogic;
23  rdfs:range cdi:Identifier;
24.
25
26cdi:ControlLogic-workflow
27  a rdf:Property, owl:ObjectProperty, ucmis:Attribute;
28  rdfs:label "workflow";
29  rdfs:comment "Reference to the system or standard from which the workflow was taken."@en;
30  rdfs:domain cdi:ControlLogic;
31  rdfs:range cdi:ControlledVocabularyEntry;
32.
33
34
35cdi:ControlLogic_has_InformationFlowDefinition
36  a rdf:Property, owl:ObjectProperty, ucmis:Association;
37  # ASSOCIATION
38  rdfs:label "has";
39  skos:altLabel "ControlLogic_has_InformationFlowDefinition";
40  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;
41  rdfs:domain cdi:ControlLogic;
42  rdfs:range cdi:InformationFlowDefinition;
43.
44
45cdi:ControlLogic_hasSubControlLogic_ControlLogic
46  a rdf:Property, owl:ObjectProperty, ucmis:Association;
47  # ASSOCIATION
48  rdfs:label "hasSubControlLogic";
49  skos:altLabel "ControlLogic_hasSubControlLogic_ControlLogic";
50  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;
51  rdfs:domain cdi:ControlLogic;
52  rdfs:range cdi:ControlLogic;
53.
54
55cdi:ControlLogic_informs_ProcessingAgent
56  a rdf:Property, owl:ObjectProperty, ucmis:Association;
57  # ASSOCIATION
58  rdfs:label "informs";
59  skos:altLabel "ControlLogic_informs_ProcessingAgent";
60  rdfs:comment "Control logic informs a processing agent. The information may be deterministic or non-deterministic."@en;
61  rdfs:domain cdi:ControlLogic;
62  rdfs:range cdi:ProcessingAgent;
63.
64
65cdi:ControlLogic_invokes_Activity
66  a rdf:Property, owl:ObjectProperty, ucmis:Association;
67  # ASSOCIATION
68  rdfs:label "invokes";
69  skos:altLabel "ControlLogic_invokes_Activity";
70  rdfs:comment "Control logic invokes an activity deterministically (either conditionally or unconditionally) or non-derministically (based on temporal constraints or rule-based scheduling)."@en;
71  rdfs:domain cdi:ControlLogic;
72  rdfs:range cdi:Activity;
73.

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      "identifier": {
12        "@id": "cdi:ControlLogic-identifier",
13        "@type": "@id",
14        "@context": "Identifier.jsonld"
15      },
16      "workflow": {
17        "@id": "cdi:ControlLogic-workflow",
18        "@type": "@id",
19        "@context": "ControlledVocabularyEntry.jsonld"
20      },
21      
22      "has": {
23        "@id": "cdi:ControlLogic_has_InformationFlowDefinition",
24        "@type": "@id"      },
25      "hasSubControlLogic": {
26        "@id": "cdi:ControlLogic_hasSubControlLogic_ControlLogic",
27        "@type": "@id"      },
28      "informs": {
29        "@id": "cdi:ControlLogic_informs_ProcessingAgent",
30        "@type": "@id"      },
31      "invokes": {
32        "@id": "cdi:ControlLogic_invokes_Activity",
33        "@type": "@id"      },
34      "hasInternal_OF_Activity": {
35        "@reverse": "cdi:Activity_hasInternal_ControlLogic",
36        "@type": "@id"      },
37      "hasSubControlLogic_OF_ControlLogic": {
38        "@reverse": "cdi:ControlLogic_hasSubControlLogic_ControlLogic",
39        "@type": "@id"      },
40      " comment ": "tag:json-should-support-trailing-commas" 
41    }
42  ],
43  "generatedBy": "This code was generated by the Eclipse Acceleo project UCMIS M2T on 2023-12-12 16:04:52.",
44  "basedOn": "based on the UML data type DDICDIModels::DDICDILibrary::Classes::Process::ControlLogic"
45}