TemporalControlConstruct

Fully qualified class name: 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

Inheritance
      ᐊ── Process::TemporalControlConstruct
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.

TemporalOperator

1..1

description

Process::ControlLogic

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

String

0..1

displayLabel

Process::ControlLogic

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.

LabelForDisplay

0..*

identifier

Process::ControlLogic

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

Identifier

0..1

name

Process::ControlLogic

Human understandable name (linguistic signifier, word, phrase, or mnemonic). May follow ISO/IEC 11179-5 naming principles, and have context provided to specify usage.

ObjectName

0..*

workflow

Process::ControlLogic

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

ControlledVocabularyEntry

0..1

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 -

Activity

0..*

none

Process::ControlLogic

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

Process::ControlLogic

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

Process::ControlLogic

from

ControlLogic informs ProcessingAgent

Control logic informs a processing agent. The information may be deterministic or non-deterministic.

0..*

- own package -

ProcessingAgent

0..*

none

Process::ControlLogic

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

Process::ControlLogic

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.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-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) -&gt; 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) -&gt; 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) -&gt; (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) -&gt; (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) -&gt; 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) -&gt; 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) -&gt; (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) -&gt; (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) -&gt; 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) -&gt; 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) -&gt; (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) -&gt; (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 (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 (main 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      "TemporalControlConstruct": "cdi:TemporalControlConstruct",
 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          " comment ": "tag:json-should-support-trailing-commas" 
17        }
18      },
19      
20      " comment ": "tag:json-should-support-trailing-commas" 
21    }
22  ],
23  "generatedBy": "This code was generated by the Eclipse Acceleo project UCMIS M2T on 2024-03-16 23:40:11.",
24  "basedOn": "based on the UML data type DDICDIModels::DDICDILibrary::Classes::Process::TemporalControlConstruct"
25}