the ruleml perspective on reaction rule standards
Post on 18-Oct-2014
4.598 views
DESCRIPTION
Presentation about Reaction RuleML at the Ontology, Rules, and Logic Programming for Reasoning and Applications (RulesReasoningLP) Session at the Ontolog Forum, 9 January 2014TRANSCRIPT
![Page 1: The RuleML Perspective on Reaction Rule Standards](https://reader034.vdocument.in/reader034/viewer/2022051512/54423098b1af9f310a8b459a/html5/thumbnails/1.jpg)
The RuleML Perspective on Deliberation-Reaction Standards
Adrian Paschke, Harold Boley, Tara Athan
In Ontolog RulesReasoningLP: Series Session 5 9 January 2014
0
![Page 2: The RuleML Perspective on Reaction Rule Standards](https://reader034.vdocument.in/reader034/viewer/2022051512/54423098b1af9f310a8b459a/html5/thumbnails/2.jpg)
Agenda
• Reaction RuleML
• Semantic Profiles
• Semantic Metamodel and External Ontologies (Semantic Sorts)
• Syntactic Customization
1
![Page 3: The RuleML Perspective on Reaction Rule Standards](https://reader034.vdocument.in/reader034/viewer/2022051512/54423098b1af9f310a8b459a/html5/thumbnails/3.jpg)
The RuleML Family
Reaction
2
Reaction RuleML 1.0 Paper: http://link.springer.com/chapter/10.1007%2F978-3-642-32689-9_9
Reaction RuleML 1.0 Tutorial: http://www.slideshare.net/swadpasc/reaction-ruleml-ruleml2012paschketutorial
RuleML 1.0 Paper http://link.springer.com/chapter/10.1007/978-3-642-16289-3_15
RuleML Overview Slides: http://cs.unb.ca/~boley/talks/RuleML-Overarching-Talk.pdf
![Page 4: The RuleML Perspective on Reaction Rule Standards](https://reader034.vdocument.in/reader034/viewer/2022051512/54423098b1af9f310a8b459a/html5/thumbnails/4.jpg)
Reaction Rules: Four Sub-branches
• PR Production Rules (Condition-Action rules)
• ECA Event-Condition-Action (ECA) rules
• CEP Rule-based Complex Event Processing (complex event processing reaction rules, (distributed) event messaging reaction rules, query reaction rules, etc.)
• DR and KR Knowledge Representation AI Reasoning with Temporal/Event/Action/Situation/ Transition/Process Logics and Calculi
3
![Page 5: The RuleML Perspective on Reaction Rule Standards](https://reader034.vdocument.in/reader034/viewer/2022051512/54423098b1af9f310a8b459a/html5/thumbnails/5.jpg)
Quick Overview: Reaction RuleML Dialects
• Spatio-Temporal Derivation RuleML (if-then)*
– Time, Spatial, Interval
• KR RuleML (if-then or on-if-do) *
– Situation, Happens(@type), Initiates, Terminates, Holds, fluent
• Production RuleML (if-do) *
– Assert, Retract, Update, Action
• ECA RuleML (on-if-do) *
– Event, Action, + (event / action algebra operators)
• CEP (arbitrary combination of on, if, do)
– Receive, Send, Message
* + variants and alternatives
4
![Page 6: The RuleML Perspective on Reaction Rule Standards](https://reader034.vdocument.in/reader034/viewer/2022051512/54423098b1af9f310a8b459a/html5/thumbnails/6.jpg)
(Reaction) Rules: Specializable Syntax <Rule @key @keyref @style>
<meta> <!-– descriptive metadata of the rule --> </meta>
<scope> <!–- scope of the rule e.g. a rule module --> </scope>
<evaluation> <!-- intended semantics --> </evaluation>
<signature> <!– rule signature --> </signature>
<qualification> <!–- e.g. qualifying rule metadata, e.g.
priorities, validity, strategy --> </qualification>
<quantification> <!-- quantifying rule declarations,
e.g. variable bindings --> </quantification>
<oid> <!– object identifier --> </oid>
<on> <!–- event part --> </on>
<if> <!–- condition part --> </if>
<then> <!-– (logical) conclusion part --> </then>
<do> <!-- action part --> </do>
<after> <!–- postcondition part after action,
e.g. to check effects of execution --> </after>
<else> <!–- (logical) else conclusion --> </else>
<elsedo> <!-- alternative/else action,
e.g. for default handling --> </elsedo>
</Rule>
Info, Life
Cycle Mgt.
Interface
Imple-
mentation
5
![Page 7: The RuleML Perspective on Reaction Rule Standards](https://reader034.vdocument.in/reader034/viewer/2022051512/54423098b1af9f310a8b459a/html5/thumbnails/7.jpg)
Reaction RuleML – Example Rule Types
• Derivation Rule: <Rule style="reasoning"> (temporal/event/action/situation <if>...</if>
reasoning) <then>...</then>
</Rule>
• Production Rule: <Rule style="active"> <if>...</if>
<do>...</do>
</Rule>
• Trigger Rule: <Rule style="active"> > <on>...</on>
<do>...</do>
</Rule>
• ECA Rule: <Rule style="active"> <on>...</on>
<if>...</if>
<do>...</do>
</Rule> 6
![Page 8: The RuleML Perspective on Reaction Rule Standards](https://reader034.vdocument.in/reader034/viewer/2022051512/54423098b1af9f310a8b459a/html5/thumbnails/8.jpg)
Agenda
• Reaction RuleML
• Semantic Profiles
• Semantic Metamodel and External Ontologies (Semantic Sorts)
• Syntactic Customization
7
![Page 9: The RuleML Perspective on Reaction Rule Standards](https://reader034.vdocument.in/reader034/viewer/2022051512/54423098b1af9f310a8b459a/html5/thumbnails/9.jpg)
1. Include/Import external Semantic Profile
<xi:include href="../../profiles/SituationCalculusProfile.rrml" xpointer="xpointer(/RuleML/*)"/>
<evaluation>
<Profile keyref="&ruleml;ReifiedClassicalSituationCalculus" />
</evaluation>
2. Reference pre-defined Semantic Profile as profile type
<evaluation>
<Profile type="&rif;RDFS“ iri="http://www.w3.org/ns/entailment/RDFS"/>
</evaluation>
3. Locally defined Semantic Profile
<Assert>
<evaluation>
<Profile key="&ruleml;ReifiedClassicalSituationCalculus" >
<formula><Rulebase > ... RuleML definition… </Rulebase></formula>
<content> … xs:any XML content, e.g. RIF, Common Logic XML… </content>
</Profile>
</evaluation>
<Rulebase>
<Rule> … </Rule>
<Rule> … </Rule>
</Rulebase>
</Assert>
Integration of Semantic Profiles
8
Note: also other non
RuleML content models are
supported
Reference published
external semantic profiles,
e.g. RIF, OWL, profiles …
![Page 10: The RuleML Perspective on Reaction Rule Standards](https://reader034.vdocument.in/reader034/viewer/2022051512/54423098b1af9f310a8b459a/html5/thumbnails/10.jpg)
Example – Reified Situation Calculus Axioms
(1) 8(A1, A2, S1, S2) (do(A1,S1) = do(A2,S2)) (A1 = A2)
(2) 8(S1, S2, A) (S1 < do(A,S2)) ´ (S1 <= S2)
(3) 8(S1, S2) (S1 6 S2) ´ (S1 < S2) (S1 = S2)
(4) 8(S1, S2) (S1 < S2) ¬ (S2 < S1)
(5) 8(S, F) [holds(F,s0) (8(A) (holds(F,S)
holds(F,do(A,S)))] holds(F,S)
(6) ¬S < s0
…
9
![Page 11: The RuleML Perspective on Reaction Rule Standards](https://reader034.vdocument.in/reader034/viewer/2022051512/54423098b1af9f310a8b459a/html5/thumbnails/11.jpg)
<Assert>
<evaluation>
<Profile key="&ruleml;ReifiedSituationCalculus" >
<Rulebase key="&ruleml;ReifiedSituationCalculusBasicAxioms" > <!-- Forall(A1, A2, S1, S2) (do(A1,S1) = do(A2,S2)) => (A1 = A2) -->
<Rule key=„&ruleml;SituationCalculusBasicAxiom1">
<quantification> <Forall>
<declare><Var>A1</Var></declare> <declare><Var>A2</Var></declare>
<declare><Var>S1</Var></declare> <declare><Var>S2</Var></declare>
</Forall> </quantification>
<if>
<Equal>
<Situation>
<Do> <Action><Var>A1</Var></Action><Situation><Var>S1</Var></Situation> </Do>
</Situation>
<Situation>
<Do> <Action><Var>A2</Var></Action><Situation><Var>S2</Var></Situation></Do>
</Situation>
</Equal>
</if>
<then>
<Equal> <Action><Var>A1</Var></Action> <Action><Var>A2</Var></Action> </Equal>
</then>
</Rule>
…. </Profile>
</evaluation>
</Assert>
Example: Axiomatization of Situation Calculus Profile in RuleML
10
Profile key can be
referenced by keyref
![Page 12: The RuleML Perspective on Reaction Rule Standards](https://reader034.vdocument.in/reader034/viewer/2022051512/54423098b1af9f310a8b459a/html5/thumbnails/12.jpg)
Complex Event Processing – Semantic Profiles (defined in <evaluation> semantic profiles)
1. Definition – Definition of event/action pattern e.g. by event algebra – Based on declarative formalization or procedural implementation – Defined over an atomic instant or an interval of time, events/actions, situation, transition
etc.
2. Selection – Defines selection function to select one event from several occurred events
(stored in an event instance sequence e.g. in memory, database/KB) of a particular type, e.g. “first”, “last”
– Crucial for the outcome of a reaction rule, since the events may contain different (context) information, e.g. different message payloads or sensing information
3. Consumption – Defines which events are consumed after the detection of a complex event – An event may contribute to the detection of several complex events, if it is not consumed – Distinction in event messaging between “multiple receive” and “single receive” – Events which can no longer contribute, e.g. are outdated, should be removed
4. Execution – Actions might have an internal effect i.e. change the knowledge state leading to state
transition from (pre-)condition state to post-condition state – The effect might be hypothetical (e.g. a hypothetical state via a computation) or
persistent (update of the knowledge base), – Actions might have an external side effect
11 11
![Page 13: The RuleML Perspective on Reaction Rule Standards](https://reader034.vdocument.in/reader034/viewer/2022051512/54423098b1af9f310a8b459a/html5/thumbnails/13.jpg)
<Rule style="active"> <evaluation> <Profile> e.g. selection and consumptions policies </Profile> </evaluation> <signature> <Event key="#ce1"> … event pattern definition (for event detection) </Event> </signature> <on> <Event keyref="#ce1"/> <!– use defined event pattern for detecting events --> </on> <if> … </if> <do> <Assert safety="transactional"> <!-- transactional update --> <formula> <Atom> …. </Atom> </formula> </Assert> </do> </Rule>
Example - Reaction Rules with Semantic Profiles
Interface
(semantic profile +
event pattern
signature for event
processing /
detection)
Implementation
(reaction rule
triggered by event
detection)
12
![Page 14: The RuleML Perspective on Reaction Rule Standards](https://reader034.vdocument.in/reader034/viewer/2022051512/54423098b1af9f310a8b459a/html5/thumbnails/14.jpg)
Example - Semantic LP Profiles
13
![Page 15: The RuleML Perspective on Reaction Rule Standards](https://reader034.vdocument.in/reader034/viewer/2022051512/54423098b1af9f310a8b459a/html5/thumbnails/15.jpg)
GDWFS DSTABLE
WFS WFS+
DWFS
GWFS
STABLE
REG-SEM
PERFECT WPERFECT
MsuppP
WGCWA GCWA
MP
COMP
O-SEM
COMP3
Semantic Layering - Example LP Semantic Profiles
A semantic SEM‘ extends a semantic SEM:
SEM‘ > SEM iff 8 (P, F) SEM(P) |= F SEM‘(P) |= F
![Page 16: The RuleML Perspective on Reaction Rule Standards](https://reader034.vdocument.in/reader034/viewer/2022051512/54423098b1af9f310a8b459a/html5/thumbnails/16.jpg)
Semantic Profiles for Evaluation • A semantics SEM‘ extends SEM for rule program P iff all
formula F which are true in SEM(P) are also true in SEM‘(P), but in SEM‘(P) more formula can be true or false than with SEM(P).
• SEM' is defined for a class of programs that strictly includes the class of programs with the semantics SEM
• SEM' coincides with SEM for all programs of the class of programs for which SEM is defined
A semantic profile SEM’ (= intended evaluation semantics of the inference engine) can be used for all programs (or scoped modules) with SEM(P) 6 SEM’(P)
15
![Page 17: The RuleML Perspective on Reaction Rule Standards](https://reader034.vdocument.in/reader034/viewer/2022051512/54423098b1af9f310a8b459a/html5/thumbnails/17.jpg)
<-- rule interface with two alternative interpretation semantics and a signature.
The interface references the implementation identified by the corresponding key -->
<Rule key=“#r1">
<evaluation index="1">
<!-- WFS semantic profile -->
<Profile type="&ruleml;Well-Founded-Semantics" />
</evaluation>
<evaluation index="2">
<!-- alternative ASS semantic profile define in the metamodel -->
<Profile type="&ruleml;Answer-Set-Semantics" />
</evaluation>
<!-- the signature defines the queryable head of the backward-reasoning rule -->
<signature>
<Atom><Rel>likes</Rel><Var mode="+"/><Var mode=“-"/></Atom>
</signature>
</Rule>
<!-- implementation of rule 1 which is interpreted either by WFS or by ASS semantics
and only allows queries according to it's signature definition. -->
<Rule keyref=“#r1" style="reasoning">
<if>... </if>
<then>
<Atom><Rel>likes</Rel><Var>X</Var><Var>Y</Var></Atom>
</then>
</Rule>
Example: Use of Semantic LP Profiles for Interpretation
Interface with evaluation semantics and public rule signature
Implementation
16
![Page 18: The RuleML Perspective on Reaction Rule Standards](https://reader034.vdocument.in/reader034/viewer/2022051512/54423098b1af9f310a8b459a/html5/thumbnails/18.jpg)
Example – RIF SWC Profiles
17
Profile IRI of the Profile Model Satisfiability Entailment
Simple http://www.w3.org/ns/entailment/Simple
RIF-Simple-model
satisfiability RIF-Simple-entailment
RDF http://www.w3.org/ns/entailment/RDF
RIF-RDF-model RIF-RDF-satisfiability
RIF-RDF-entailment
RDFS http://www.w3.org/ns/entailment/RDFS
RIF-RDFS-model RIF-RDFS-satisfiability
RIF-RDFS-entailment
D http://www.w3.org/ns/entailment/D
RIF-D-model RIF-D-satisfiability
RIF-D-entailment
OWL Direct http://www.w3.org/ns/entailment/OWL-Direct
RIF-OWL Direct-model
RIF-OWL Direct-satisfiability
RIF-OWL Direct-entailment
Simple < RDF < RDFS < D < OWL RDF-Based
Example: <evaluation>
<Profile type="&rif;RDFS“ iri="http://www.w3.org/ns/entailment/RDFS"/>
</evaluation>
![Page 19: The RuleML Perspective on Reaction Rule Standards](https://reader034.vdocument.in/reader034/viewer/2022051512/54423098b1af9f310a8b459a/html5/thumbnails/19.jpg)
Semantic Profiles in Nested Program Scopes
Rule
Scope
18
Inner
Module
Scope
<Assert key="#module1”>
<evaluation><Profile> ...SEM’’… </Profile><evaluation>
<Rulebase key="#innermodule1.1">
<evaluation><Profile> ...SEM’… </Profile><evaluation>
<Rule key=“#rule1”>
<evaluation><Profile> ...SEM… </Profile><evaluation>
</Rule>
<Rule key=“#rule2”>
…
</Rule>
</Rulebase>
<Rulebase key="#innermodule1.2"> … </Rulebase>
</Assert>
Outer
Scope
Inner
Module
Scope
Rule
Scope
SEM‘‘(#module1) > SEM‘(#innermodule1.1) > SEM(#rule1)
SEM(#rule2) = SEM‘‘(#module1)
SEM‘(#innermodule1.2) = SEM‘‘(#module1)
![Page 20: The RuleML Perspective on Reaction Rule Standards](https://reader034.vdocument.in/reader034/viewer/2022051512/54423098b1af9f310a8b459a/html5/thumbnails/20.jpg)
<Assert key="#module1”>
<meta> <!-- descriptive metadata -->
<Atom><Rel iri="dc:creator"/><Ind>Adrian Paschke</Ind></arg></Atom>
</meta>
<qualification> <!-- qualifying metadata -->
<Atom> <!-- the module is valid for one year from 2011 to 2012 -->
<Rel>valid</Rel>
<Interval type="&ruleml;TimeInstant">
<Time type="&ruleml;TimeInstant"><Data xsi:type="xs:date">2011-01-01</Data></Time>
<Time type="&ruleml;TimeInstant"><Data xsi:type="xs:date">2012-01-01</Data></Time>
</Interval>
</Atom>
</qualification>
<Rulebase key="#innermodule1.1">
<!– the rule base scopes apply to all knowledge in the rule base -->
<scope> <!– scope : only knowledge authored by „Adrian Paschke“ -->
<Atom><Rel iri="dc:creator"/><Ind>Adrian Paschke</Ind></arg></Atom>
</scope>
<scope> <!– scope : only valid knowledge; validity value will be bound to variable -->
<Atom><Rel>valid</Rel><Var>Validity</Var></Atom>
</scope>
<Rule key=“#rule1”>
<scope> <Atom><Rel>source</Rel><Ind>./module1.prova</Ind></Atom></scope>
<guard> <!-- guard on the validity: “current date during validity of module1”
<Operator type="&ruleml;During"><Expr iri="…getDate()“/><Var>Validity</Var></Operator>
</guard>
<if> … </if> <then> </then>
</Rule>
</Rulebase>
</Assert>
Dynamic Program Views with Scopes and Guards
Inner
Scope
+
Guard
Outer
Scope
19
Note: Local functions are
interpreted with the intended
semantics of the scope
![Page 21: The RuleML Perspective on Reaction Rule Standards](https://reader034.vdocument.in/reader034/viewer/2022051512/54423098b1af9f310a8b459a/html5/thumbnails/21.jpg)
Test Cases for Self-validating Rule Bases • Test Cases constrain the possible models and approximate the intended models of
the rule base – Queries are used to test the rule base
• A test case is defined by T := {X, A, N}, where – assertion base (input data, e.g. facts )
– a formula denoting a test query
– N := + , – a positive or negative label
• Semantics
– |=TC compatibility relation
– Mod association function between sets of formulas and sets of models
– Σ model selection function
for T:={X, A, +} and for T:={X,A,-}
– CR(X) deductive closure of X. Decidable inference operator based on formal proofs
LX
LA
)(R)(Mod(X), m : M m iff ) A, (X, | M 0TC0 AModm
)(R)(Mod(X), m : M m iff ) A, (X, | M 0TC0 AModm
)(XCA R)(XCA R
+
Intended
Model
Partial
Model + +
-
Test Cases (+,-)
inconsistent: +
Intended
Model
+ +
-
Test Cases (+,-)
consistent:
-
![Page 22: The RuleML Perspective on Reaction Rule Standards](https://reader034.vdocument.in/reader034/viewer/2022051512/54423098b1af9f310a8b459a/html5/thumbnails/22.jpg)
Rule Markup for Test Cases / Test Suites <TestSuite ruleBase="SampleBase.xml">
<Test id="ID001" purpose="...">
<Assert><formula>
<And>
<Atom>
<Rel>parent</Rel>
<Ind>John</Ind>
<Ind>Mary</Ind>
</Atom>
</And>
</formula></Assert>
<TestItem expectedAnswer="yes">
<Query><formula>
<Atom closure="universal">
<Rel>uncle</Rel>
<Ind>Mary</Ind>
<Var>Nephew</Var>
</Atom>
</formula></Query>
<expectedResults>
<VariableValuePair>
<Var>Nephew</Var>
<Ind>Tom</Ind>
</VariableValuePair>
<VariableValuePair>
<Var>Nephew</Var>
<Ind>Irene</Ind>
</VariableValuePair>
</expectedResults>
</TestItem>
<InferenceEngineSemantics><Profile =“&ruleML;MinimalHerbrandSemantics”/></InferenceEngineSemantics>
</Test></TestSuite>
![Page 23: The RuleML Perspective on Reaction Rule Standards](https://reader034.vdocument.in/reader034/viewer/2022051512/54423098b1af9f310a8b459a/html5/thumbnails/23.jpg)
Testing Semantic Properties
• Entailment Tests for Classical Logics
– right weakening, reflexivity, and, or, left logical equivalence, cautious monotony, cut, rationality, negation rat., disjunction rat., …
• Entailment Tests for Skeptical Logics
– cumulativity, rationality, …
• Weak Semantic Properties Tests
– elimination of tautologies, generalized principle of partial evaluation, positive/negative reduction, elimination of non-minimal rules, independence, relevance, …
22
![Page 24: The RuleML Perspective on Reaction Rule Standards](https://reader034.vdocument.in/reader034/viewer/2022051512/54423098b1af9f310a8b459a/html5/thumbnails/24.jpg)
Example – Cautious Montony Test P: a <- not b P’: a <- not b
b <- not a b <- not a
c <- not c c <- not c
c <- a c <- a
c
T:{a=>true,c=>true}
• STABLE(P) |=TC {a, not b, c}, i.e. T succeeds.
• STABLE(P’) |=TC {not a, b, c}, i.e. T fails.
Test Case: STABLE does not fulfil not cautious monotony
23
![Page 25: The RuleML Perspective on Reaction Rule Standards](https://reader034.vdocument.in/reader034/viewer/2022051512/54423098b1af9f310a8b459a/html5/thumbnails/25.jpg)
Agenda
• Reaction RuleML
• Semantic Profiles
• Semantic Metamodel and External Ontologies (Semantic Sorts)
• Syntactic Customization
24
![Page 26: The RuleML Perspective on Reaction Rule Standards](https://reader034.vdocument.in/reader034/viewer/2022051512/54423098b1af9f310a8b459a/html5/thumbnails/26.jpg)
RuleML Types (Sorted Logic)
• Types (sorts) can be assigned by using the @type attribute
• External vocabularies / ontologies define types, e.g.,
<Var type="&vo;Vehicle">Car</Var>
<Ind iri="&vo;Corolla" type="&vo;Sedan"/>
• Semantics defined / linked by Semantic Profile, e.g. order-sorted logic using RDFS or OWL entailment profiles
![Page 27: The RuleML Perspective on Reaction Rule Standards](https://reader034.vdocument.in/reader034/viewer/2022051512/54423098b1af9f310a8b459a/html5/thumbnails/27.jpg)
Reaction RuleML Examples with Types from RuleML Metamodel and External Ontologies
<Quantifier type=“&ruleml;Forall"> == <Forall> <Operator type="&ruleml;And"> == <And> <Operator type="&ruleml;Conjunction"> == <Conjunction> <Negation type="&ruleml;InflationaryNegation"> == <Naf> <Action type="&ruleml;Assert"> == <Assert> <Action type="&ruleml;Retract"> == <Retract> <Event type="&ruleml;SimpleEvent"> == <Atom> … </Atom> <Event type="ibm:CommonBaseEvent"> == IBM CBE <Operator type="snoop:Sequence"> == Snoop Algebra
== <Operator type="&ruleml;Sequence"> == <Sequence> <Ind iri="person.xml#xpointer(//Person/LastName[1]/text())"/> <Action iri="BPEL.xml#xpointer(//invoke[@name=checkHotel])">
26
![Page 28: The RuleML Perspective on Reaction Rule Standards](https://reader034.vdocument.in/reader034/viewer/2022051512/54423098b1af9f310a8b459a/html5/thumbnails/28.jpg)
Reaction RuleML Metamodel Top Level Ontologies
General concepts such as space, time, event, action and their properties and relations
Temporal Ontology
Action Ontology Process
Ontology Agent
Ontology Situation Ontology
Domain Ontologies
Vocabularies related to specific domains by specializing the concepts introduced in the top-level ontology
Task Activities Ontologies
Vocabularies related to generic tasks or
activities by specializing the
concepts introduced in the top-level ontology
Application Ontologies
Specific user/application ontologies
E.g. ontologies describing roles played by domain entities while perfoming application activities
Spatio Ontology
Event Ontology
27
![Page 29: The RuleML Perspective on Reaction Rule Standards](https://reader034.vdocument.in/reader034/viewer/2022051512/54423098b1af9f310a8b459a/html5/thumbnails/29.jpg)
Time Top Ontology Metamodel
Time
Time Instant Time Interval
Time Types
28
![Page 30: The RuleML Perspective on Reaction Rule Standards](https://reader034.vdocument.in/reader034/viewer/2022051512/54423098b1af9f310a8b459a/html5/thumbnails/30.jpg)
Interval Top Ontology Metamodel
Interval
Empty Interval
Left Open
Interval
Interval Types
Degenerated
Interval
Left Closed Right Open
Interval
Left Open Right Closed
Interval
Left Closed Interva
l
Right Closed Interva
l
Right Open
Interval
29
![Page 31: The RuleML Perspective on Reaction Rule Standards](https://reader034.vdocument.in/reader034/viewer/2022051512/54423098b1af9f310a8b459a/html5/thumbnails/31.jpg)
Event Top Ontology Metamodel
Event
Simple Event Complex Event
Event Types
30
![Page 32: The RuleML Perspective on Reaction Rule Standards](https://reader034.vdocument.in/reader034/viewer/2022051512/54423098b1af9f310a8b459a/html5/thumbnails/32.jpg)
Action Top Ontology Metamodel
Action
Atomic Action Complex Action
Action Types
31
![Page 33: The RuleML Perspective on Reaction Rule Standards](https://reader034.vdocument.in/reader034/viewer/2022051512/54423098b1af9f310a8b459a/html5/thumbnails/33.jpg)
Situation Top Ontology Metamodel
Situation
Heterogeneous Situation
Homogenous Situation
Dynamic Change
Situation
Time Frame
Situation
Frequency Situation
State Situation
Process Situation
Iterative Situation
Habitual Situation
Situation Types
Domain ontologies
Fluent
32
has property
has property
![Page 34: The RuleML Perspective on Reaction Rule Standards](https://reader034.vdocument.in/reader034/viewer/2022051512/54423098b1af9f310a8b459a/html5/thumbnails/34.jpg)
Example: Situation Top Ontology Metamodel
Situation
Heterogeneous Situation
Homogenous Situation
Dynamic Change
Situation
Time Frame
Situation
Frequency Situation
State Situation
Process Situation
Iterative Situation
Habitual Situation
Situation Properties
(time, location, participants, …)
Situation Content
hasContent hasProperties
Situation Types
Situation Descriptions
LaysOn TheFloor
TrafficLightChanges
Within5Minutes
He Runs
Rings3 Times
He Coughs
He Smokes
Situation Individuals
use the other top ontologies
Domain ontologies
Metadata Properties
Fluent Properties
hasValue
33
![Page 35: The RuleML Perspective on Reaction Rule Standards](https://reader034.vdocument.in/reader034/viewer/2022051512/54423098b1af9f310a8b459a/html5/thumbnails/35.jpg)
Example - Event MetaModel (for defining Event Types as Instances of the MetaModel Event Class)
Defined Event Types
Event Class Definition
34
![Page 36: The RuleML Perspective on Reaction Rule Standards](https://reader034.vdocument.in/reader034/viewer/2022051512/54423098b1af9f310a8b459a/html5/thumbnails/36.jpg)
Extended Event Meta Model Ontology (with computational properties and complex value definitions)
35
![Page 37: The RuleML Perspective on Reaction Rule Standards](https://reader034.vdocument.in/reader034/viewer/2022051512/54423098b1af9f310a8b459a/html5/thumbnails/37.jpg)
Example - Typed Complex Event Pattern Definition
<Event key=“#ce2" type="&ruleml;ComplexEvent">
<signature> <!-- pattern signature definition -->
<Sequence>
<signature>
<Event type="&ruleml;SimpleEvent">
<signature><Event>...event_A...</Event></signature>
</Event>
</signature>
<signature><Event type="&ruleml;ComplexEvent" keyref="ce1"/></signature>
<signature>
<Event type="cbe:CommonBaseEvent" iri="cbe.xml#xpointer(//CommonBaseEvent)"/>
</signature>
</Sequence>
</signature>
</Event>
<Event key=“#ce1">
<signature> <!-- event pattern signature -->
<Concurrent>
<Event><meta><Time>...t3</Time></meta><signature>...event_B</signature></Event>
<Event><meta><Time>...t3</Time></meta><signature>...event_C</signature></Event>
</Concurrent>
</signature>
</Event>
<Event key=“#e1” keyref=“#ce2”><content>…</content></Event>
Event
Pattern
defining
Event
Templates
signature
Event
Instance 36
![Page 38: The RuleML Perspective on Reaction Rule Standards](https://reader034.vdocument.in/reader034/viewer/2022051512/54423098b1af9f310a8b459a/html5/thumbnails/38.jpg)
Agenda
• Reaction RuleML
• Semantic Profiles
• Semantic Metamodel and External Ontologies (Semantic Sorts)
• Syntactic Customization
37
![Page 39: The RuleML Perspective on Reaction Rule Standards](https://reader034.vdocument.in/reader034/viewer/2022051512/54423098b1af9f310a8b459a/html5/thumbnails/39.jpg)
RuleML Sublanguages Customized by MYNG as Relax NG Schemas (1)
38
![Page 40: The RuleML Perspective on Reaction Rule Standards](https://reader034.vdocument.in/reader034/viewer/2022051512/54423098b1af9f310a8b459a/html5/thumbnails/40.jpg)
39
RuleML Sublanguages Customized by MYNG as Relax NG Schemas (2)
![Page 41: The RuleML Perspective on Reaction Rule Standards](https://reader034.vdocument.in/reader034/viewer/2022051512/54423098b1af9f310a8b459a/html5/thumbnails/41.jpg)
Normal Disjunctive LP
Stratified Disjunctive LP Normal LP
Stratified LP Definite Disjunctive LP
Definite LP
Extended LP
Extended Disjunctive LP
Example
Derivation RuleML Expressiveness Layering
![Page 42: The RuleML Perspective on Reaction Rule Standards](https://reader034.vdocument.in/reader034/viewer/2022051512/54423098b1af9f310a8b459a/html5/thumbnails/42.jpg)
Normal Disjunctive PR with (non-stratified) iNeg
Stratified Disjunctive PR
with iNeg
Normal PR with (non-
stratified) iNeg
Stratified PR with iNeg Definite Disjunctive PR
Definite PR
Example - Production RuleML Layering
![Page 43: The RuleML Perspective on Reaction Rule Standards](https://reader034.vdocument.in/reader034/viewer/2022051512/54423098b1af9f310a8b459a/html5/thumbnails/43.jpg)
Active Reaction Rules with Alternative
Actions (If-do-elsedo style)
Active ECAP RRs
Active ECA RRs
Messaging RRs (serial reaction
rules for workflow-style execution
in branching logics)
Trigger Reaction Rules (EA
RRs)
Serial Derivation Rules with
local nested Reaction Rules
Example
ECA and CEP RuleML Expressiveness Layering
![Page 44: The RuleML Perspective on Reaction Rule Standards](https://reader034.vdocument.in/reader034/viewer/2022051512/54423098b1af9f310a8b459a/html5/thumbnails/44.jpg)
Summary
• Fine grained syntactic language configuration (expressiveness) with MYNG (as Relax NG schemas)
• Intended semantics defined by Semantic Profiles – Semantic Test Cases for verification and validation
• Sorted Logic supports Types defined in external semantic ontologies and Meta Model vocabulary
• Towards joint standards for Deliberation, Reaction Rules
43
![Page 45: The RuleML Perspective on Reaction Rule Standards](https://reader034.vdocument.in/reader034/viewer/2022051512/54423098b1af9f310a8b459a/html5/thumbnails/45.jpg)
44
Thank you !
Questions?
44
Acknowledgement to the members of the Reaction RuleML
technical group
![Page 46: The RuleML Perspective on Reaction Rule Standards](https://reader034.vdocument.in/reader034/viewer/2022051512/54423098b1af9f310a8b459a/html5/thumbnails/46.jpg)
RuleML Online Community
• RuleML MediaWiki (http://wiki.ruleml.org)
• Mailing lists (http://ruleml.org/mailman/listinfo)
• Technical Groups (http://wiki.ruleml.org/index.php/Organizational_Structure#Technical_Groups)
– Uncertainty Reasoning
– Defeasible Logic
– Reaction Rules
– Multi-Agent Systems
– …
• RuleML sources are hosted on Github (https://github.com/RuleML)
45
![Page 47: The RuleML Perspective on Reaction Rule Standards](https://reader034.vdocument.in/reader034/viewer/2022051512/54423098b1af9f310a8b459a/html5/thumbnails/47.jpg)
Further Reading – (Reaction) RuleML • Harold Boley, Adrian Paschke, Omair Shafiq: RuleML 1.0: The Overarching Specification of Web Rules.
RuleML 2010: 162-178 http://dx.doi.org/10.1007/978-3-642-16289-3_15 http://www.cs.unb.ca/~boley/talks/RuleML-Overarching-Talk.pdf
• Adrian Paschke, Harold Boley, Zhili Zhao, Kia Teymourian and Tara Athan: Reaction RuleML 1.0: Standardized Semantic Reaction Rules, 6th International Conference on Rules (RuleML 2012), Montpellier, France, August 27-31, 2012 http://link.springer.com/chapter/10.1007%2F978-3-642-32689-9_9 http://www.slideshare.net/swadpasc/reaction-ruleml-ruleml2012paschketutorial
• Adrian Paschke: Tutorial on Semantic Complex Event Processing and Reaction RuleML, atDemAAL 2013 - Dem@Care Summer School on Ambient Assisted Living, 16-20 September 2013, Chania, Crete, Greece http://www.slideshare.net/swadpasc/dem-aal-semanticceppaschke
• Paschke, A., Boley, H.: Rule Markup Languages and Semantic Web Rule Languages, in Handbook of Research on Emerging Rule-Based Languages and Technologies: Open Solutions and Approaches, IGI Publishing, ISBN:1-60566-402-2, 2009 http://www.igi-global.com/chapter/rule-markup-languages-semantic-web/35852 Sample chapter: http://nparc.cisti-icist.nrc-cnrc.gc.ca/npsi/ctrl?action=rtdoc&an=18533385
• Paschke, A., Boley, H.: Rules Capturing Event and Reactivity, in Handbook of Research on Emerging Rule-Based Languages and Technologies: Open Solutions and Approaches, IGI Publishing, ISBN:1-60566-402-2, 2009 http://www.igi-global.com/book/handbook-research-emerging-rule-based/465 Sample Chapter: http://nparc.cisti-icist.nrc-cnrc.gc.ca/npsi/ctrl?action=rtdoc&an=16435934&article=0&fd=pdf
• Adrian Paschke and Harold Boley: Rule Responder: Rule-Based Agents for the Semantic-Pragmatic Web, in Special Issue on Intelligent Distributed Computing in International Journal on Artificial Intelligence Tools (IJAIT), V0l. 20,6, 2011 https://www.researchgate.net/publication/220160498
![Page 48: The RuleML Perspective on Reaction Rule Standards](https://reader034.vdocument.in/reader034/viewer/2022051512/54423098b1af9f310a8b459a/html5/thumbnails/48.jpg)
Further Reading – RuleML Test Cases
• Adrian Paschke: Verification, Validation, Integrity of Rule Based Policies and Contracts in the Semantic Web, 2nd International Semantic Web Policy Workshop (SWPW'06), Nov. 5-9, 2006, Athens, GA, USA http://ceur-ws.org/Vol-207/paper01.pdf
• Adrian Paschke, Jens Dietrich, Adrian Giurca, Gerd Wagner, Sergey Lukichev: On Self-Validating Rule Bases, Proceedings of 2nd International Workshop on Semantic Web Enabled Software Engineering (SWESE 2006), Athens, Georgia, USA (6th November 2006), November 2006 http://www.rewerse.net/publications/rewerse-description/REWERSE-RP-2006-166.html http://km.aifb.kit.edu/ws/swese2006/final/paschke_full.pdf http://www.researchgate.net/publication/228359327_On_self-validating_rule_bases
• Adrian Paschke and Jens Dietrich: On the Test-Driven Development and Validation of Business Rules. ISTA 2005: 31-48 http://subs.emis.de/LNI/Proceedings/Proceedings63/article3604.html
• Adrian Paschke: The ContractLog Approach Towards Test-driven Verification and Validation of Rule Bases - A Homogeneous Integration of Test Cases and Integrity Constraints into Evolving Logic Programs and Rule Markup Languages (RuleML), in IBIS 10/2005 http://rbsla.ruleml.org/docs/ContractLog_VVI.pdf