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
Attributes
Name |
Inherited from |
Description |
Data Type |
Multiplicity |
Default value |
---|---|---|---|---|---|
schedulingType |
- own class - |
Indicated if rule-based scheduling is forward-chaining or backward-chaining. |
1..1 |
||
description |
A description of the control logic in human-readable language. |
String |
0..1 |
||
displayLabel |
A human-readable display label for the object. Supports the use of multiple languages. Repeat for labels with different content, for example, labels with differing length limitations. |
0..* |
|||
identifier |
Identifier for objects requiring short- or long-lasting referencing and management. |
0..1 |
|||
name |
Human understandable name (linguistic signifier, word, phrase, or mnemonic). May follow ISO/IEC 11179-5 naming principles, and have context provided to specify usage. |
0..* |
|||
workflow |
Reference to the system or standard from which the workflow was taken. |
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 - |
0..* |
none |
||
from |
ControlLogic has InformationFlowDefinition |
A control construct has zero or more information flow definitions each of which provides the control construct with zero or more input and output parameters used or produced in the step/sub-step with which it is associated. |
0..* |
- own package - |
0..* |
shared |
||
to |
ControlLogic hasSubControlLogic ControlLogic |
Control logic is a container of control logic which is in turn a container of control logic ad infinitum so that it is able to represent the structure of a program. |
0..* |
- own package - |
0..1 |
none |
||
from |
ControlLogic informs ProcessingAgent |
Control logic informs a processing agent. The information may be deterministic or non-deterministic. |
0..* |
- own package - |
0..* |
none |
||
from |
ControlLogic invokes Activity |
Control logic invokes an activity deterministically (either conditionally or unconditionally) or non-derministically (based on temporal constraints or rule-based scheduling). |
0..* |
- own package - |
1..* |
none |
||
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 - |
0..* |
composite |
- own class - |
|
from |
RuleBasedScheduling has RuleSet |
Rule sets are a component of rule based scheduling. |
0..1 |
- own package - |
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-09-23 21:53:00.",
28 "basedOn": "based on the UML data type DDICDIModels::DDICDILibrary::Classes::Process::RuleBasedScheduling"
29}