Step#

Fully qualified class name of the UML model DDI-CDI 1.0: DDICDIModels::DDICDILibrary::Classes::Process::Step

Definition#

Step is a reusable, parameterized activity associated to information flows. One or more steps perform an sctivity.

Examples#

An editing activity resolves into one or more steps. A transformation of a wide data set to a long data set takes a single step on an ETL (extract, transform, load) platform like Pentaho.

Explanatory notes#

Steps can be broken out into a sequence of sub steps ad infinitum.

Diagram#

Diagram

Inheritance#

Inheritance
  ᐊ── Process::Step

Attributes#

Attributes
Attributes#

Name

Inherited from

Description

Data Type

Multiplicity

Default value

script

- own class -

The executable code for performing a process step, expressed in a formal language.

CommandCode

0..1

scriptingLanguage

- own class -

The formal language used by the script associated with the process step.

ControlledVocabularyEntry

0..1

definition

Process::Activity

Natural language statement conveying the meaning of a concept, differentiating it from other concepts. Supports the use of multiple languages and structured text. ‘externalDefinition’ can’t be used if ‘definition’ is used.

InternationalString

0..1

description

Process::Activity

A description of the Activity in human-readable language.

String

0..1

displayLabel

Process::Activity

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..*

entityProduced

Process::Activity

The thing resulting from the activity.

Reference

0..*

entityUsed

Process::Activity

A thing employed in the activity.

Reference

0..*

identifier

Process::Activity

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

Identifier

0..1

name

Process::Activity

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..*

standardModelMapping

Process::Activity

A reference to a standard process model from which the Activity is taken, such as The Generic Statistical Business Process Model (GSBPM), the Generic Longitudinal Business Process Model (GLBPM), Open Archive Information System (OAIS) model, etc. The model and step or sub-step corresponding to the Activity is noted here using the Paired External Controlled Vocabulary Entry. Enter the name of the model in “term” and the step, sub-step, or specific portion of the model in “extent”.

Reference

0..*

Associations#

Associations
Associations#

Direction

Association

Description

Multiplicity of Step

Package of Other Class

Other Class

Multiplicity of other class

Aggregation Kind

Inherited from

from

Activity has Step

Activities may be broken out into Steps. Steps are also a subtype of Activity.

0..*

- own package -

Step

0..*

shared

Process::Activity

from

Activity hasInternal ControlLogic

An activity is embedded in the control construct which launches it.

0..*

- own package -

ControlLogic

0..*

none

Process::Activity

to

Activity hasSubActivity Activity

An Activity is a container for SubActivities.

0..*

- own package -

Activity

0..1

none

Process::Activity

to

ControlLogic invokes Activity

Control logic invokes an activity deterministically (either conditionally or unconditionally) or non-derministically (based on temporal constraints or rule-based scheduling).

1..*

- own package -

ControlLogic

0..*

none

Process::Activity

to

ProcessingAgent performs Activity

A processing agent performs an activity at the direction of control logic.

0..*

- own package -

ProcessingAgent

0..*

none

Process::Activity

to

SequencePosition indexes Activity

1..1

- own package -

SequencePosition

0..*

none

Process::Activity

to

Activity has Step

Activities may be broken out into Steps. Steps are also a subtype of Activity.

0..*

- own package -

Activity

0..*

none

own class

to

Step hasSubStep Step

A step can be broken out into steps ad infinitum.

0..*

- own package -

Step

0..*

none

own class

from

Step produces Parameter

The Step creates Parameter as an output.

0..*

- own package -

Parameter

0..*

none

own class

from

Step receives Parameter

The Step uses Parameter as an input.

0..*

- own package -

Parameter

0..*

none

own class

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 Step (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-Step"
  5                  xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#Step"
  6                  xmi:type="uml:Class">
  7   <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-Step-ownedComment"
  8                  xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#Step-ownedComment"
  9                  xmi:type="uml:Comment">
 10      <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-Process-Step"/>
 11      <body>Definition
 12============
 13Step is a reusable, parameterized activity associated to information flows. One or more steps perform an sctivity.
 14
 15Examples
 16==========
 17An editing activity resolves into one or more steps. A transformation of a wide data set to a long data set takes a single step on an ETL (extract, transform, load) platform like Pentaho.
 18
 19Explanatory notes
 20===================
 21Steps can be broken out into a sequence of sub steps ad infinitum.</body>
 22   </ownedComment>
 23   <name>Step</name>
 24   <generalization xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-Step-generalization"
 25                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#Step-generalization"
 26                    xmi:type="uml:Generalization">
 27      <general xmi:idref="DDICDIModels-DDICDILibrary-Classes-Process-Activity"/>
 28   </generalization>
 29   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-Step-ownedAttribute_1"
 30                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#Step-ownedAttribute_1"
 31                    xmi:type="uml:Property">
 32      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-Step-ownedAttribute_1-lowerValue"
 33                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#Step-ownedAttribute_1-lowerValue"
 34                   xmi:type="uml:LiteralInteger"/>
 35      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-Step-ownedAttribute_1-upperValue"
 36                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#Step-ownedAttribute_1-upperValue"
 37                   xmi:type="uml:LiteralUnlimitedNatural">
 38         <value>*</value>
 39      </upperValue>
 40      <association xmi:idref="DDICDIModels-DDICDILibrary-Classes-Process-Step_produces_Parameter"/>
 41      <type xmi:idref="DDICDIModels-DDICDILibrary-Classes-Process-Parameter"/>
 42   </ownedAttribute>
 43   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-Step-ownedAttribute_2"
 44                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#Step-ownedAttribute_2"
 45                    xmi:type="uml:Property">
 46      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-Step-ownedAttribute_2-lowerValue"
 47                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#Step-ownedAttribute_2-lowerValue"
 48                   xmi:type="uml:LiteralInteger"/>
 49      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-Step-ownedAttribute_2-upperValue"
 50                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#Step-ownedAttribute_2-upperValue"
 51                   xmi:type="uml:LiteralUnlimitedNatural">
 52         <value>*</value>
 53      </upperValue>
 54      <association xmi:idref="DDICDIModels-DDICDILibrary-Classes-Process-Step_receives_Parameter"/>
 55      <type xmi:idref="DDICDIModels-DDICDILibrary-Classes-Process-Parameter"/>
 56   </ownedAttribute>
 57   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-Step-ownedAttribute_3"
 58                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#Step-ownedAttribute_3"
 59                    xmi:type="uml:Property">
 60      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-Step-ownedAttribute_3-lowerValue"
 61                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#Step-ownedAttribute_3-lowerValue"
 62                   xmi:type="uml:LiteralInteger"/>
 63      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-Step-ownedAttribute_3-upperValue"
 64                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#Step-ownedAttribute_3-upperValue"
 65                   xmi:type="uml:LiteralUnlimitedNatural">
 66         <value>*</value>
 67      </upperValue>
 68      <aggregation>shared</aggregation>
 69      <association xmi:idref="DDICDIModels-DDICDILibrary-Classes-Process-Step_hasSubStep_Step"/>
 70      <type xmi:idref="DDICDIModels-DDICDILibrary-Classes-Process-Step"/>
 71   </ownedAttribute>
 72   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-Step-script"
 73                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#Step-script"
 74                    xmi:type="uml:Property">
 75      <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-Step-script-ownedComment"
 76                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#Step-script-ownedComment"
 77                     xmi:type="uml:Comment">
 78         <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-Process-Step-script"/>
 79         <body>The executable code for performing a process step, expressed in a formal language.</body>
 80      </ownedComment>
 81      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-Step-script-lowerValue"
 82                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#Step-script-lowerValue"
 83                   xmi:type="uml:LiteralInteger"/>
 84      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-Step-script-upperValue"
 85                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#Step-script-upperValue"
 86                   xmi:type="uml:LiteralUnlimitedNatural">
 87         <value>1</value>
 88      </upperValue>
 89      <name>script</name>
 90      <type xmi:idref="DDICDIModels-DDICDILibrary-DataTypes-StructuredDataTypes-CommandCode"/>
 91   </ownedAttribute>
 92   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-Step-scriptingLanguage"
 93                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#Step-scriptingLanguage"
 94                    xmi:type="uml:Property">
 95      <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-Step-scriptingLanguage-ownedComment"
 96                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#Step-scriptingLanguage-ownedComment"
 97                     xmi:type="uml:Comment">
 98         <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-Process-Step-scriptingLanguage"/>
 99         <body>The formal language used by the script associated with the process step.</body>
100      </ownedComment>
101      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-Step-scriptingLanguage-lowerValue"
102                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#Step-scriptingLanguage-lowerValue"
103                   xmi:type="uml:LiteralInteger"/>
104      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-Step-scriptingLanguage-upperValue"
105                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#Step-scriptingLanguage-upperValue"
106                   xmi:type="uml:LiteralUnlimitedNatural">
107         <value>1</value>
108      </upperValue>
109      <name>scriptingLanguage</name>
110      <type xmi:idref="DDICDIModels-DDICDILibrary-DataTypes-StructuredDataTypes-ControlledVocabularyEntry"/>
111   </ownedAttribute>
112</packagedElement>

Fragment for the class Step (entire XML Schema)

  1<xs:element name="Step"
  2            type="StepXsdType"
  3            xml:id="Step">
  4  <!-- based on the UML class DDICDIModels::DDICDILibrary::Classes::Process::Step -->
  5  <xs:annotation>
  6    <xs:documentation>Definition
  7          ============
  8          Step is a reusable, parameterized activity associated to information flows. One or more steps perform an sctivity.
  9          
 10          Examples
 11          ==========
 12          An editing activity resolves into one or more steps. A transformation of a wide data set to a long data set takes a single step on an ETL (extract, transform, load) platform like Pentaho.
 13          
 14          Explanatory notes
 15          ===================
 16          Steps can be broken out into a sequence of sub steps ad infinitum.</xs:documentation>
 17  </xs:annotation>
 18</xs:element>
 19<xs:complexType name="StepXsdType"
 20                xml:id="StepXsdType">
 21  <xs:annotation>
 22    <xs:documentation>Definition
 23          ============
 24          Step is a reusable, parameterized activity associated to information flows. One or more steps perform an sctivity.
 25          
 26          Examples
 27          ==========
 28          An editing activity resolves into one or more steps. A transformation of a wide data set to a long data set takes a single step on an ETL (extract, transform, load) platform like Pentaho.
 29          
 30          Explanatory notes
 31          ===================
 32          Steps can be broken out into a sequence of sub steps ad infinitum.</xs:documentation>
 33  </xs:annotation>
 34  <xs:complexContent>
 35    <xs:extension base="ActivityXsdType">
 36      <xs:sequence>
 37        <xs:element name="script"
 38                    type="CommandCodeXsdType"
 39                    minOccurs="0"
 40                    maxOccurs="1"
 41                    xml:id="Step-script">
 42          <xs:annotation>
 43            <xs:documentation>The executable code for performing a process step, expressed in a formal language.</xs:documentation>
 44          </xs:annotation>
 45        </xs:element>
 46        <xs:element name="scriptingLanguage"
 47                    type="ControlledVocabularyEntryXsdType"
 48                    minOccurs="0"
 49                    maxOccurs="1"
 50                    xml:id="Step-scriptingLanguage">
 51          <xs:annotation>
 52            <xs:documentation>The formal language used by the script associated with the process step.</xs:documentation>
 53          </xs:annotation>
 54        </xs:element>
 55        <xs:element name="Step_produces_Parameter"
 56                    minOccurs="0"
 57                    maxOccurs="unbounded"
 58                    xml:id="Step_produces_Parameter">
 59          <xs:annotation>
 60            <xs:documentation>The Step creates Parameter as an output.</xs:documentation>
 61          </xs:annotation>
 62          <xs:complexType>
 63            <xs:complexContent>
 64              <xs:restriction base="AssociationReferenceXsdType">
 65                <xs:sequence>
 66                  <xs:element name="ddiReference"
 67                              type="InternationalRegistrationDataIdentifierXsdType"
 68                              minOccurs="0"
 69                              maxOccurs="1"
 70                              xml:id="Step_produces_Parameter-ddiReference"/>
 71                  <xs:element name="validType"
 72                              minOccurs="0"
 73                              maxOccurs="unbounded"
 74                              xml:id="Step_produces_Parameter-validType">
 75                    <xs:simpleType>
 76                      <xs:restriction base="xs:NMTOKEN">
 77                        <xs:enumeration value="Parameter"/>
 78                      </xs:restriction>
 79                    </xs:simpleType>
 80                  </xs:element>
 81                </xs:sequence>
 82              </xs:restriction>
 83            </xs:complexContent>
 84          </xs:complexType>
 85        </xs:element>
 86        <xs:element name="Step_receives_Parameter"
 87                    minOccurs="0"
 88                    maxOccurs="unbounded"
 89                    xml:id="Step_receives_Parameter">
 90          <xs:annotation>
 91            <xs:documentation>The Step uses Parameter as an input.</xs:documentation>
 92          </xs:annotation>
 93          <xs:complexType>
 94            <xs:complexContent>
 95              <xs:restriction base="AssociationReferenceXsdType">
 96                <xs:sequence>
 97                  <xs:element name="ddiReference"
 98                              type="InternationalRegistrationDataIdentifierXsdType"
 99                              minOccurs="0"
100                              maxOccurs="1"
101                              xml:id="Step_receives_Parameter-ddiReference"/>
102                  <xs:element name="validType"
103                              minOccurs="0"
104                              maxOccurs="unbounded"
105                              xml:id="Step_receives_Parameter-validType">
106                    <xs:simpleType>
107                      <xs:restriction base="xs:NMTOKEN">
108                        <xs:enumeration value="Parameter"/>
109                      </xs:restriction>
110                    </xs:simpleType>
111                  </xs:element>
112                </xs:sequence>
113              </xs:restriction>
114            </xs:complexContent>
115          </xs:complexType>
116        </xs:element>
117        <xs:element name="Step_hasSubStep_Step"
118                    minOccurs="0"
119                    maxOccurs="unbounded"
120                    xml:id="Step_hasSubStep_Step">
121          <xs:annotation>
122            <xs:documentation>A step can be broken out into steps ad infinitum.</xs:documentation>
123          </xs:annotation>
124          <xs:complexType>
125            <xs:complexContent>
126              <xs:restriction base="AssociationReferenceXsdType">
127                <xs:sequence>
128                  <xs:element name="ddiReference"
129                              type="InternationalRegistrationDataIdentifierXsdType"
130                              minOccurs="0"
131                              maxOccurs="1"
132                              xml:id="Step_hasSubStep_Step-ddiReference"/>
133                  <xs:element name="validType"
134                              minOccurs="0"
135                              maxOccurs="unbounded"
136                              xml:id="Step_hasSubStep_Step-validType">
137                    <xs:simpleType>
138                      <xs:restriction base="xs:NMTOKEN">
139                        <xs:enumeration value="Step"/>
140                      </xs:restriction>
141                    </xs:simpleType>
142                  </xs:element>
143                </xs:sequence>
144              </xs:restriction>
145            </xs:complexContent>
146          </xs:complexType>
147        </xs:element>
148      </xs:sequence>
149    </xs:extension>
150  </xs:complexContent>
151</xs:complexType>

Fragment for the class Step (entire JSON Schema)

  1"cls-Step": {
  2  "description": "http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/Step",
  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": "Step"
 14    },
 15    "script": {
 16      "$comment": "cardinality 0..1 – from cdi:Step",
 17      "$ref": "#/defs/dt-CommandCode"
 18    },
 19    "scriptingLanguage": {
 20      "$comment": "cardinality 0..1 – from cdi:Step",
 21      "$ref": "#/defs/dt-ControlledVocabularyEntry"
 22    },
 23    "definition": {
 24      "$comment": "cardinality 0..1 – from cdi:Activity",
 25      "$ref": "#/defs/dt-InternationalString"
 26    },
 27    "description": {
 28      "$comment": "cardinality 0..1 – from cdi:Activity",
 29      "$ref": "#/defs/xsd:string"
 30    },
 31    "displayLabel": {
 32      "$comment": "cardinality 0..-1 – from cdi:Activity",
 33      "if": { "type": "array" },
 34      "then": { "items": { "$ref": "#/defs/dt-LabelForDisplay" } },
 35      "else": { "$ref": "#/defs/dt-LabelForDisplay" }
 36    },
 37    "entityProduced": {
 38      "$comment": "cardinality 0..-1 – from cdi:Activity",
 39      "if": { "type": "array" },
 40      "then": { "items": { "$ref": "#/defs/dt-Reference" } },
 41      "else": { "$ref": "#/defs/dt-Reference" }
 42    },
 43    "entityUsed": {
 44      "$comment": "cardinality 0..-1 – from cdi:Activity",
 45      "if": { "type": "array" },
 46      "then": { "items": { "$ref": "#/defs/dt-Reference" } },
 47      "else": { "$ref": "#/defs/dt-Reference" }
 48    },
 49    "identifier": {
 50      "$comment": "cardinality 0..1 – from cdi:Activity",
 51      "$ref": "#/defs/dt-Identifier"
 52    },
 53    "name": {
 54      "$comment": "cardinality 0..-1 – from cdi:Activity",
 55      "if": { "type": "array" },
 56      "then": { "items": { "$ref": "#/defs/dt-ObjectName" } },
 57      "else": { "$ref": "#/defs/dt-ObjectName" }
 58    },
 59    "standardModelMapping": {
 60      "$comment": "cardinality 0..-1 – from cdi:Activity",
 61      "if": { "type": "array" },
 62      "then": { "items": { "$ref": "#/defs/dt-Reference" } },
 63      "else": { "$ref": "#/defs/dt-Reference" }
 64    },
 65    "hasSubStep": {
 66      "description": "Step_hasSubStep_Step",
 67      "$comment": "cardinality 0..-1",
 68      "anyOf": [
 69        {
 70          "$ref": "#/defs/target-Step"
 71        },
 72        {
 73          "type": "array",
 74          "items": {
 75            "$ref": "#/defs/target-Step"
 76          }
 77        }
 78      ]
 79    },
 80    "produces": {
 81      "description": "Step_produces_Parameter",
 82      "$comment": "cardinality 0..-1",
 83      "anyOf": [
 84        {
 85          "$ref": "#/defs/target-Parameter"
 86        },
 87        {
 88          "type": "array",
 89          "items": {
 90            "$ref": "#/defs/target-Parameter"
 91          }
 92        }
 93      ]
 94    },
 95    "receives": {
 96      "description": "Step_receives_Parameter",
 97      "$comment": "cardinality 0..-1",
 98      "anyOf": [
 99        {
100          "$ref": "#/defs/target-Parameter"
101        },
102        {
103          "type": "array",
104          "items": {
105            "$ref": "#/defs/target-Parameter"
106          }
107        }
108      ]
109    },
110    "has_Step": {
111      "description": "Activity_has_Step",
112      "$comment": "cardinality 0..-1",
113      "anyOf": [
114        {
115          "$ref": "#/defs/target-Step"
116        },
117        {
118          "type": "array",
119          "items": {
120            "$ref": "#/defs/target-Step"
121          }
122        }
123      ]
124    },
125    "hasInternal": {
126      "description": "Activity_hasInternal_ControlLogic",
127      "$comment": "cardinality 0..-1",
128      "anyOf": [
129        {
130          "$ref": "#/defs/target-ControlLogic"
131        },
132        {
133          "type": "array",
134          "items": {
135            "$ref": "#/defs/target-ControlLogic"
136          }
137        }
138      ]
139    },
140    "hasSubActivity": {
141      "description": "Activity_hasSubActivity_Activity",
142      "$comment": "cardinality 0..-1",
143      "anyOf": [
144        {
145          "$ref": "#/defs/target-Activity"
146        },
147        {
148          "type": "array",
149          "items": {
150            "$ref": "#/defs/target-Activity"
151          }
152        }
153      ]
154    },
155    "has_Step_OF_Activity": {
156      "description": "Activity_has_Step",
157      "$comment": "cardinality 0..-1",
158      "anyOf": [
159        {
160          "$ref": "#/defs/target-Activity"
161        },
162        {
163          "type": "array",
164          "items": {
165            "$ref": "#/defs/target-Activity"
166          }
167        }
168      ]
169    },
170    "hasSubStep_OF_Step": {
171      "description": "Step_hasSubStep_Step",
172      "$comment": "cardinality 0..-1",
173      "anyOf": [
174        {
175          "$ref": "#/defs/target-Step"
176        },
177        {
178          "type": "array",
179          "items": {
180            "$ref": "#/defs/target-Step"
181          }
182        }
183      ]
184    },
185    "hasSubActivity_OF_Activity": {
186      "description": "Activity_hasSubActivity_Activity",
187      "$comment": "cardinality 0..1",
188      "$ref": "#/defs/target-Activity"
189    },
190    "invokes_OF_ControlLogic": {
191      "description": "ControlLogic_invokes_Activity",
192      "$comment": "cardinality 0..-1",
193      "anyOf": [
194        {
195          "$ref": "#/defs/target-ControlLogic"
196        },
197        {
198          "type": "array",
199          "items": {
200            "$ref": "#/defs/target-ControlLogic"
201          }
202        }
203      ]
204    },
205    "performs_OF_ProcessingAgent": {
206      "description": "ProcessingAgent_performs_Activity",
207      "$comment": "cardinality 0..-1",
208      "anyOf": [
209        {
210          "$ref": "#/defs/target-ProcessingAgent"
211        },
212        {
213          "type": "array",
214          "items": {
215            "$ref": "#/defs/target-ProcessingAgent"
216          }
217        }
218      ]
219    },
220    "indexes_OF_SequencePosition": {
221      "description": "SequencePosition_indexes_Activity",
222      "$comment": "cardinality 0..-1",
223      "anyOf": [
224        {
225          "$ref": "#/defs/target-SequencePosition"
226        },
227        {
228          "type": "array",
229          "items": {
230            "$ref": "#/defs/target-SequencePosition"
231          }
232        }
233      ]
234    },
235    "sameAs": {
236      "$ref": "#/defs/owl:sameAs"
237    }
238  },
239  "required": ["@type"],
240  "additionalProperties": false
241},
242"target-Step": {
243  "description": "all subclasses of http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/Step",
244  "anyOf": [
245    { "$ref": "#/defs/cls-Step" },
246    { "type": "string", "format": "iri-reference" }
247  ]
248},

Fragment for the class Step (main ontology)

 1# class Step
 2# based on the UML class DDICDIModels::DDICDILibrary::Classes::Process::Step
 3cdi:Step
 4  a rdfs:Class, owl:Class, ucmis:Class;
 5  rdfs:label "Step";
 6  rdfs:comment "Definition\n============\nStep is a reusable, parameterized activity associated to information flows. One or more steps perform an sctivity.\n\nExamples\n==========\nAn editing activity resolves into one or more steps. A transformation of a wide data set to a long data set takes a single step on an ETL (extract, transform, load) platform like Pentaho.\n\nExplanatory notes\n===================\nSteps can be broken out into a sequence of sub steps ad infinitum."@en;
 7  rdfs:subClassOf cdi:Activity;
 8.
 9
10cdi:Step-script
11  a rdf:Property, owl:ObjectProperty, ucmis:Attribute;
12  rdfs:label "script";
13  rdfs:comment "The executable code for performing a process step, expressed in a formal language."@en;
14  rdfs:domain cdi:Step;
15  rdfs:range cdi:CommandCode;
16.
17
18cdi:Step-scriptingLanguage
19  a rdf:Property, owl:ObjectProperty, ucmis:Attribute;
20  rdfs:label "scriptingLanguage";
21  rdfs:comment "The formal language used by the script associated with the process step."@en;
22  rdfs:domain cdi:Step;
23  rdfs:range cdi:ControlledVocabularyEntry;
24.
25
26
27cdi:Step_hasSubStep_Step
28  a rdf:Property, owl:ObjectProperty, ucmis:Association;
29  # ASSOCIATION
30  rdfs:label "hasSubStep";
31  skos:altLabel "Step_hasSubStep_Step";
32  rdfs:comment "A step can be broken out into steps ad infinitum."@en;
33  rdfs:domain cdi:Step;
34  rdfs:range cdi:Step;
35.
36
37cdi:Step_produces_Parameter
38  a rdf:Property, owl:ObjectProperty, ucmis:Association;
39  # ASSOCIATION
40  rdfs:label "produces";
41  skos:altLabel "Step_produces_Parameter";
42  rdfs:comment "The Step creates Parameter as an output."@en;
43  rdfs:domain cdi:Step;
44  rdfs:range cdi:Parameter;
45.
46
47cdi:Step_receives_Parameter
48  a rdf:Property, owl:ObjectProperty, ucmis:Association;
49  # ASSOCIATION
50  rdfs:label "receives";
51  skos:altLabel "Step_receives_Parameter";
52  rdfs:comment "The Step uses Parameter as an input."@en;
53  rdfs:domain cdi:Step;
54  rdfs:range cdi:Parameter;
55.

Fragment for the class Step (entire JSON-LD)

 1{
 2  "@context": [
 3    "Activity.jsonld",
 4    {
 5      "cdi": "http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/",
 6      "xsd": "http://www.w3.org/2001/XMLSchema#",
 7
 8      "script": {
 9        "@id": "cdi:Step-script",
10        "@type": "@id",
11        "@context": "CommandCode.jsonld"
12      },
13      "scriptingLanguage": {
14        "@id": "cdi:Step-scriptingLanguage",
15        "@type": "@id",
16        "@context": "ControlledVocabularyEntry.jsonld"
17      },
18      
19      "hasSubStep": {
20        "@id": "cdi:Step_hasSubStep_Step",
21        "@type": "@id",
22        "@context": "Step.jsonld"
23      },
24      "produces": {
25        "@id": "cdi:Step_produces_Parameter",
26        "@type": "@id",
27        "@context": "Parameter.jsonld"
28      },
29      "receives": {
30        "@id": "cdi:Step_receives_Parameter",
31        "@type": "@id",
32        "@context": "Parameter.jsonld"
33      },
34      "has_Step_OF_Activity": {
35        "@reverse": "cdi:Activity_has_Step",
36        "@type": "@id",
37        "@context": "Activity.jsonld"
38      },
39      "hasSubStep_OF_Step": {
40        "@reverse": "cdi:Step_hasSubStep_Step",
41        "@type": "@id",
42        "@context": "Step.jsonld"
43      },
44      " comment ": "tag:json-should-support-trailing-commas"
45    }
46  ],
47  "generatedBy": "This code was generated by the Eclipse Acceleo project UCMIS M2T on 2025-08-29 14:34:54.",
48  "basedOn": "based on the UML data type DDICDIModels::DDICDILibrary::Classes::Process::Step"
49}

Fragment for the class Step (entire SHACL - Shapes Constraint Language)

 1# class Step
 2# based on the UML class DDICDIModels::DDICDILibrary::Classes::Process::Step
 3<#Step> a sh:NodeShape;
 4    sh:targetClass cdi:Step;
 5	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/Step";
 6	sh:closed true;
 7	sh:ignoredProperties ( owl:sameAs );
 8    sh:property [
 9			sh:path rdf:type;
10			sh:in (   cdi:Step
11			 ) ;
12    ];
13    # attributes
14    sh:property <#Step-script>;
15    sh:property <#Step-scriptingLanguage>;
16    # associations from Step
17    sh:property <#Step_hasSubStep_Step>;
18    sh:property <#Step_produces_Parameter>;
19    sh:property <#Step_receives_Parameter>;
20    # associations to Step
21    sh:property <#rev_Activity_has_Step>;
22    sh:property <#rev_Step_hasSubStep_Step>;
23
24    # ---- superclass: Activity
25    # attributes
26    sh:property <#Activity-definition>;
27    sh:property <#Activity-description>;
28    sh:property <#Activity-displayLabel>;
29    sh:property <#Activity-entityProduced>;
30    sh:property <#Activity-entityUsed>;
31    sh:property <#Activity-identifier>;
32    sh:property <#Activity-name>;
33    sh:property <#Activity-standardModelMapping>;
34    # associations from Activity
35    sh:property <#Activity_has_Step>;
36    sh:property <#Activity_hasInternal_ControlLogic>;
37    sh:property <#Activity_hasSubActivity_Activity>;
38    # associations to Activity
39    sh:property <#rev_Activity_hasSubActivity_Activity>;
40    sh:property <#rev_ControlLogic_invokes_Activity>;
41    sh:property <#rev_ProcessingAgent_performs_Activity>;
42    sh:property <#rev_SequencePosition_indexes_Activity>;
43
44
45
46
47
48.
49
50<#Step-script> a sh:PropertyShape ;
51    sh:path cdi:Step-script;
52    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
53        cdi:CommandCode
54      
55    ) ]];
56    sh:maxCount 1;
57.
58<#Step-scriptingLanguage> a sh:PropertyShape ;
59    sh:path cdi:Step-scriptingLanguage;
60    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
61        cdi:ControlledVocabularyEntry
62      
63    ) ]];
64    sh:maxCount 1;
65.
66
67<#Step_hasSubStep_Step> a sh:PropertyShape ;
68    sh:path cdi:Step_hasSubStep_Step;
69	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
70        cdi:Step
71      
72    ) ]];
73.
74<#rev_Step_hasSubStep_Step> a sh:PropertyShape ;
75    sh:path [ sh:inversePath cdi:Step_hasSubStep_Step ];
76.
77<#Step_produces_Parameter> a sh:PropertyShape ;
78    sh:path cdi:Step_produces_Parameter;
79	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
80        cdi:Parameter
81      
82    ) ]];
83.
84<#rev_Step_produces_Parameter> a sh:PropertyShape ;
85    sh:path [ sh:inversePath cdi:Step_produces_Parameter ];
86.
87<#Step_receives_Parameter> a sh:PropertyShape ;
88    sh:path cdi:Step_receives_Parameter;
89	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
90        cdi:Parameter
91      
92    ) ]];
93.
94<#rev_Step_receives_Parameter> a sh:PropertyShape ;
95    sh:path [ sh:inversePath cdi:Step_receives_Parameter ];
96.

Fragment for the class Step (entire ShEx - Shape Expressions)

 1# class Step
 2# based on the UML class DDICDIModels::DDICDILibrary::Classes::Process::Step
 3cdi:StepShape CLOSED {
 4	a [cdi:Step];
 5	cdi:Step-script	@cdi:CommandCodeShape?;
 6	cdi:Step-scriptingLanguage	@cdi:ControlledVocabularyEntryShape?;
 7	^cdi:Activity_has_Step @cdi:ActivityShape OR @cdi:StepShape*;
 8	cdi:Step_hasSubStep_Step	@cdi:StepShape *;
 9	
10	cdi:Step_produces_Parameter	@cdi:ParameterShape *;
11	
12	cdi:Step_receives_Parameter	@cdi:ParameterShape *;
13	
14		&cdi:ActivityProperties;
15	}