RuleBasedScheduling

Fully qualified class name: DDICDIModels::DDICDILibrary::Classes::Process::RuleBasedScheduling

Definition

Rule based scheduling performs a fact check on rules from the rule set, testing their condition part against the facts in the research data store. Fact checking may be assisted by a curator who can semantically compare the condition part of each candidate rule with the facts. The fact checker returns the next activity which rule based scheduling performs according to the following function: factcheck (RuleSet, ResearchDataStore, Curator): Activity.

Examples

One real-life situation in which rule-based scheduling is performed involves data virtualization. Here the research datastore has a catalog of views available for use. Rule based scheduling might explore the catalog to determine the rule(s) in the rule set that currently apply. A software curator might assist in the decision in case there was no exact match between a rule and its condition(s) and given the current state of the research datastore. The curator typically uses natural language processing.

Explanatory notes

Rule based scheduling is guided by its scheduling strategy. This is described by an enumeration that consists of “forwardChaining” and “backwardChaining”.

Diagram

Inheritance
    ᐊ── Process::RuleBasedScheduling
Attributes

Name

Inherited from

Description

Data Type

Multiplicity

Default value

schedulingType

- own class -

Indicated if rule-based scheduling is forward-chaining or backward-chaining.

SchedulingStrategy

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 RuleBasedScheduling

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

from

RuleBasedScheduling has Curator

Rule based scheduling has one or more curators. The curators may be commercial/off-the-shelf, open source and/or home grown. They are likely to be domain-specific which is why rule based scheduling might employ many.

0..1

- own package -

Curator

0..*

composite

- own class -

from

RuleBasedScheduling has RuleSet

Rule sets are a component of rule based scheduling.

0..1

- own package -

RuleSet

0..*

composite

- 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 RuleBasedScheduling (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-RuleBasedScheduling"
 5                 xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#RuleBasedScheduling"
 6                 xmi:type="uml:Class">
 7   <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-RuleBasedScheduling-ownedComment"
 8                 xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#RuleBasedScheduling-ownedComment"
 9                 xmi:type="uml:Comment">
10      <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-Process-RuleBasedScheduling"/>
11      <body>Definition 
12============ 
13Rule based scheduling performs a fact check on rules from the rule set, testing their condition part against the facts in the research data store. Fact checking may be assisted by a curator who can semantically compare the condition part of each candidate rule with the facts. The fact checker returns the next activity which rule based scheduling performs according to the following function: factcheck (RuleSet, ResearchDataStore, Curator): Activity.
14
15Examples 
16========== 
17One real-life situation in which rule-based scheduling is performed involves data virtualization. Here the research datastore has a catalog of views available for use. Rule based scheduling might explore the catalog to determine the rule(s) in the rule set that currently apply. A software curator might assist in the decision in case there was no exact match between a rule and its condition(s) and given the current state of the research datastore. The curator typically uses natural language processing. 
18
19Explanatory notes 
20=================== 
21Rule based scheduling is guided by its scheduling strategy. This is described by an enumeration that consists of "forwardChaining" and "backwardChaining".</body>
22   </ownedComment>
23   <name>RuleBasedScheduling</name>
24   <generalization xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-RuleBasedScheduling-generalization"
25                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#RuleBasedScheduling-generalization"
26                   xmi:type="uml:Generalization">
27      <general xmi:idref="DDICDIModels-DDICDILibrary-Classes-Process-NonDeterministicDeclarative"/>
28   </generalization>
29   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-RuleBasedScheduling-ownedAttribute_1"
30                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#RuleBasedScheduling-ownedAttribute_1"
31                   xmi:type="uml:Property">
32      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-RuleBasedScheduling-ownedAttribute_1-lowerValue"
33                  xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#RuleBasedScheduling-ownedAttribute_1-lowerValue"
34                  xmi:type="uml:LiteralInteger"/>
35      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-RuleBasedScheduling-ownedAttribute_1-upperValue"
36                  xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#RuleBasedScheduling-ownedAttribute_1-upperValue"
37                  xmi:type="uml:LiteralUnlimitedNatural">
38         <value>*</value>
39      </upperValue>
40      <aggregation>composite</aggregation>
41      <association xmi:idref="DDICDIModels-DDICDILibrary-Classes-Process-RuleBasedScheduling_has_RuleSet"/>
42      <type xmi:idref="DDICDIModels-DDICDILibrary-Classes-Process-RuleSet"/>
43   </ownedAttribute>
44   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-RuleBasedScheduling-ownedAttribute_2"
45                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#RuleBasedScheduling-ownedAttribute_2"
46                   xmi:type="uml:Property">
47      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-RuleBasedScheduling-ownedAttribute_2-lowerValue"
48                  xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#RuleBasedScheduling-ownedAttribute_2-lowerValue"
49                  xmi:type="uml:LiteralInteger"/>
50      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-RuleBasedScheduling-ownedAttribute_2-upperValue"
51                  xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#RuleBasedScheduling-ownedAttribute_2-upperValue"
52                  xmi:type="uml:LiteralUnlimitedNatural">
53         <value>*</value>
54      </upperValue>
55      <aggregation>composite</aggregation>
56      <association xmi:idref="DDICDIModels-DDICDILibrary-Classes-Process-RuleBasedScheduling_has_Curator"/>
57      <type xmi:idref="DDICDIModels-DDICDILibrary-Classes-Process-Curator"/>
58   </ownedAttribute>
59   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-RuleBasedScheduling-schedulingType"
60                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#RuleBasedScheduling-schedulingType"
61                   xmi:type="uml:Property">
62      <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-RuleBasedScheduling-schedulingType-ownedComment"
63                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#RuleBasedScheduling-schedulingType-ownedComment"
64                    xmi:type="uml:Comment">
65         <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-Process-RuleBasedScheduling-schedulingType"/>
66         <body>Indicated if rule-based scheduling is forward-chaining or backward-chaining.</body>
67      </ownedComment>
68      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-RuleBasedScheduling-schedulingType-lowerValue"
69                  xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#RuleBasedScheduling-schedulingType-lowerValue"
70                  xmi:type="uml:LiteralInteger">
71         <value>1</value>
72      </lowerValue>
73      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-RuleBasedScheduling-schedulingType-upperValue"
74                  xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#RuleBasedScheduling-schedulingType-upperValue"
75                  xmi:type="uml:LiteralUnlimitedNatural">
76         <value>1</value>
77      </upperValue>
78      <name>schedulingType</name>
79      <type xmi:idref="DDICDIModels-DDICDILibrary-DataTypes-Enumerations-SchedulingStrategy"/>
80   </ownedAttribute>
81</packagedElement>

Fragment for the class RuleBasedScheduling (entire XML Schema)

  1<xs:element name="RuleBasedScheduling"
  2            type="RuleBasedSchedulingXsdType"
  3            xml:id="RuleBasedScheduling">
  4  <!-- based on the UML class DDICDIModels::DDICDILibrary::Classes::Process::RuleBasedScheduling -->
  5  <xs:annotation>
  6    <xs:documentation>Definition 
  7          ============ 
  8          Rule based scheduling performs a fact check on rules from the rule set, testing their condition part against the facts in the research data store. Fact checking may be assisted by a curator who can semantically compare the condition part of each candidate rule with the facts. The fact checker returns the next activity which rule based scheduling performs according to the following function: factcheck (RuleSet, ResearchDataStore, Curator): Activity.
  9          
 10          Examples 
 11          ========== 
 12          One real-life situation in which rule-based scheduling is performed involves data virtualization. Here the research datastore has a catalog of views available for use. Rule based scheduling might explore the catalog to determine the rule(s) in the rule set that currently apply. A software curator might assist in the decision in case there was no exact match between a rule and its condition(s) and given the current state of the research datastore. The curator typically uses natural language processing. 
 13          
 14          Explanatory notes 
 15          =================== 
 16          Rule based scheduling is guided by its scheduling strategy. This is described by an enumeration that consists of "forwardChaining" and "backwardChaining".</xs:documentation>
 17  </xs:annotation>
 18</xs:element>
 19<xs:complexType name="RuleBasedSchedulingXsdType"
 20                xml:id="RuleBasedSchedulingXsdType">
 21  <xs:annotation>
 22    <xs:documentation>Definition 
 23          ============ 
 24          Rule based scheduling performs a fact check on rules from the rule set, testing their condition part against the facts in the research data store. Fact checking may be assisted by a curator who can semantically compare the condition part of each candidate rule with the facts. The fact checker returns the next activity which rule based scheduling performs according to the following function: factcheck (RuleSet, ResearchDataStore, Curator): Activity.
 25          
 26          Examples 
 27          ========== 
 28          One real-life situation in which rule-based scheduling is performed involves data virtualization. Here the research datastore has a catalog of views available for use. Rule based scheduling might explore the catalog to determine the rule(s) in the rule set that currently apply. A software curator might assist in the decision in case there was no exact match between a rule and its condition(s) and given the current state of the research datastore. The curator typically uses natural language processing. 
 29          
 30          Explanatory notes 
 31          =================== 
 32          Rule based scheduling is guided by its scheduling strategy. This is described by an enumeration that consists of "forwardChaining" and "backwardChaining".</xs:documentation>
 33  </xs:annotation>
 34  <xs:complexContent>
 35    <xs:extension base="NonDeterministicDeclarativeXsdType">
 36      <xs:sequence>
 37        <xs:element name="schedulingType"
 38                    type="SchedulingStrategyXsdType"
 39                    minOccurs="1"
 40                    maxOccurs="1"
 41                    xml:id="RuleBasedScheduling-schedulingType">
 42          <xs:annotation>
 43            <xs:documentation>Indicated if rule-based scheduling is forward-chaining or backward-chaining.</xs:documentation>
 44          </xs:annotation>
 45        </xs:element>
 46        <xs:element name="RuleBasedScheduling_has_RuleSet"
 47                    minOccurs="0"
 48                    maxOccurs="unbounded"
 49                    xml:id="RuleBasedScheduling_has_RuleSet">
 50          <xs:annotation>
 51            <xs:documentation>Rule sets are a component of rule based scheduling.</xs:documentation>
 52          </xs:annotation>
 53          <xs:complexType>
 54            <xs:complexContent>
 55              <xs:restriction base="AssociationReferenceXsdType">
 56                <xs:sequence>
 57                  <xs:element name="ddiReference"
 58                              type="InternationalRegistrationDataIdentifierXsdType"
 59                              minOccurs="0"
 60                              maxOccurs="1"
 61                              xml:id="RuleBasedScheduling_has_RuleSet-ddiReference"/>
 62                  <xs:element name="validType"
 63                              minOccurs="0"
 64                              maxOccurs="1"
 65                              xml:id="RuleBasedScheduling_has_RuleSet-validType">
 66                    <xs:simpleType>
 67                      <xs:restriction base="xs:NMTOKEN">
 68                        <xs:enumeration value="RuleSet"/>
 69                      </xs:restriction>
 70                    </xs:simpleType>
 71                  </xs:element>
 72                </xs:sequence>
 73              </xs:restriction>
 74            </xs:complexContent>
 75          </xs:complexType>
 76        </xs:element>
 77        <xs:element name="RuleBasedScheduling_has_Curator"
 78                    minOccurs="0"
 79                    maxOccurs="unbounded"
 80                    xml:id="RuleBasedScheduling_has_Curator">
 81          <xs:annotation>
 82            <xs:documentation>Rule based scheduling has one or more curators. The curators may be commercial/off-the-shelf, open source and/or home grown. They are likely to be domain-specific which is why rule based scheduling might employ many.</xs:documentation>
 83          </xs:annotation>
 84          <xs:complexType>
 85            <xs:complexContent>
 86              <xs:restriction base="AssociationReferenceXsdType">
 87                <xs:sequence>
 88                  <xs:element name="ddiReference"
 89                              type="InternationalRegistrationDataIdentifierXsdType"
 90                              minOccurs="0"
 91                              maxOccurs="1"
 92                              xml:id="RuleBasedScheduling_has_Curator-ddiReference"/>
 93                  <xs:element name="validType"
 94                              minOccurs="0"
 95                              maxOccurs="1"
 96                              xml:id="RuleBasedScheduling_has_Curator-validType">
 97                    <xs:simpleType>
 98                      <xs:restriction base="xs:NMTOKEN">
 99                        <xs:enumeration value="Curator"/>
100                      </xs:restriction>
101                    </xs:simpleType>
102                  </xs:element>
103                </xs:sequence>
104              </xs:restriction>
105            </xs:complexContent>
106          </xs:complexType>
107        </xs:element>
108      </xs:sequence>
109    </xs:extension>
110  </xs:complexContent>
111</xs:complexType>

Fragment for the class RuleBasedScheduling (main ontology)

 1# class RuleBasedScheduling
 2# based on the UML class DDICDIModels::DDICDILibrary::Classes::Process::RuleBasedScheduling
 3cdi:RuleBasedScheduling
 4  a rdfs:Class, owl:Class, ucmis:Class;
 5  rdfs:label "RuleBasedScheduling";
 6  rdfs:comment "Definition \n============ \nRule based scheduling performs a fact check on rules from the rule set, testing their condition part against the facts in the research data store. Fact checking may be assisted by a curator who can semantically compare the condition part of each candidate rule with the facts. The fact checker returns the next activity which rule based scheduling performs according to the following function: factcheck (RuleSet, ResearchDataStore, Curator): Activity.\n\nExamples \n========== \nOne real-life situation in which rule-based scheduling is performed involves data virtualization. Here the research datastore has a catalog of views available for use. Rule based scheduling might explore the catalog to determine the rule(s) in the rule set that currently apply. A software curator might assist in the decision in case there was no exact match between a rule and its condition(s) and given the current state of the research datastore. The curator typically uses natural language processing. \n\nExplanatory notes \n=================== \nRule based scheduling is guided by its scheduling strategy. This is described by an enumeration that consists of \"forwardChaining\" and \"backwardChaining\"."@en;
 7  rdfs:subClassOf cdi:NonDeterministicDeclarative;
 8.
 9
10cdi:RuleBasedScheduling-schedulingType
11  a rdf:Property, owl:ObjectProperty, ucmis:Attribute;
12  rdfs:label "schedulingType";
13  rdfs:comment "Indicated if rule-based scheduling is forward-chaining or backward-chaining."@en;
14  rdfs:domain cdi:RuleBasedScheduling;
15  rdfs:range cdi:SchedulingStrategy;
16.
17
18
19cdi:RuleBasedScheduling_has_Curator
20  a rdf:Property, owl:ObjectProperty, ucmis:Association;
21  # ASSOCIATION
22  rdfs:label "has";
23  skos:altLabel "RuleBasedScheduling_has_Curator";
24  rdfs:comment "Rule based scheduling has one or more curators. The curators may be commercial/off-the-shelf, open source and/or home grown. They are likely to be domain-specific which is why rule based scheduling might employ many."@en;
25  rdfs:domain cdi:RuleBasedScheduling;
26  rdfs:range cdi:Curator;
27.
28
29cdi:RuleBasedScheduling_has_RuleSet
30  a rdf:Property, owl:ObjectProperty, ucmis:Association;
31  # ASSOCIATION
32  rdfs:label "has";
33  skos:altLabel "RuleBasedScheduling_has_RuleSet";
34  rdfs:comment "Rule sets are a component of rule based scheduling."@en;
35  rdfs:domain cdi:RuleBasedScheduling;
36  rdfs:range cdi:RuleSet;
37.

Fragment for the class RuleBasedScheduling (main JSON-LD)

 1{
 2  "@context": [
 3    "NonDeterministicDeclarative.jsonld",
 4    {
 5      "cdi": "http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/",
 6      "xsd": "http://www.w3.org/2001/XMLSchema#",
 7      "RuleBasedScheduling": "cdi:RuleBasedScheduling",
 8      "schedulingType": {
 9        "@id": "cdi:RuleBasedScheduling-schedulingType",
10        "@type": "@vocab",
11        "@context": {
12          "BackwardChaining": "cdi:BackwardChaining",
13          "ForwardChaining": "cdi:ForwardChaining",
14          " comment ": "tag:json-should-support-trailing-commas" 
15        }
16      },
17      
18      "has": {
19        "@id": "cdi:RuleBasedScheduling_has_Curator",
20        "@type": "@id"      },
21      "has": {
22        "@id": "cdi:RuleBasedScheduling_has_RuleSet",
23        "@type": "@id"      },
24      " comment ": "tag:json-should-support-trailing-commas" 
25    }
26  ],
27  "generatedBy": "This code was generated by the Eclipse Acceleo project UCMIS M2T on 2024-03-16 23:40:11.",
28  "basedOn": "based on the UML data type DDICDIModels::DDICDILibrary::Classes::Process::RuleBasedScheduling"
29}