Semantic Decision Rule Language (SDRule-L) is an extension to Object-Role Modelling language (ORM), which is one of the most popular fact based, graphical modelling languages for designing information systems. In this paper, we want to discuss how SDRule-L models can be formalized, analysed and applied in a business context. An SDRule-L model may contain static (e.g., data constraints) and dynamic rules (e.g., sequence of events). A reasoning engine is created for detecting inconsistency. When an SDRule-L model is used to manage linked data, a feasible way is to align SDRule-L with Semantic Web languages, e.g. OWL. In order to achieve this, we propose to map dynamic rules into a combination of static rules and queries for detecting anomalies. In this paper, we will illustrate a model reification algorithm for automatically transforming SDRule-L models that contain dynamic rules into the ones containing static rules, which can be formalized in Description Logic.
Published as: Yan Tang Demey, Christophe Debruyne: SDRule-L: Managing Semantically Rich Business Decision Processes. EC-Web 2013: 59-67
4. Introduction
Semantic Decision Support Systems (SDSS) → requires proper
capturing of business semantics to
Fact-based Modeling (FBM) & Object Role Modeling (ORM)
Fact-oriented modeling language
Facts vs. Fact-types
Example
Fact: ”Christophe” knows ”Yan”
Fact-types: [Person] knows (/known by) [Person]
[Person] having (/ of) [Name]
Important in FBM and ORM are ...
grounding in natural language
verbalization
graphical notation
... for the involvement of non-technical domain experts
2013-08-27 @ EC-Web 2013| page 4
5. Introduction
However, FBM and ORM have ...
limited support for modeling and reasoning over dynamic rules
such as the sequence of events
SDRule-L extends ORM to capture such rules
How can we reason over such rules to support decision making?
2013-08-27 @ EC-Web 2013| page 5
7. SDRule-L
SDRule-L extends ORM by introducing constraints, operators and
corresponding graphical notations such as:
Sequence constraints;
Cluster constraints;
Implication- and negation constraints;
Skipper.
2013-08-27 @ EC-Web 2013| page 7
8. Sequence Constraints
Relations between events:
ness constraint on r1/r2 from Fig. 1 (O1). We use 𝒮𝒪ℐ𝒬(𝐷) – a DL dialect – to for-
malize Fig. 1 (O2) as follows:
∃𝑟1. ⊤ ⊑ 𝐴 𝑟1 ≡ 𝑟1 ∃𝑟2. ⊤ ⊑ 𝐵 𝑟2 ≡ 𝑟2′
∃𝑟1 . ⊤ ⊑ 𝐶 ∃𝑟2 . ⊤ ⊑ 𝐶 𝐶 ≡≤ 1𝑟1 . ⊤ ⊓ ∃𝑟1 . ⊤ ⊔≤ 1𝑟2 . ⊤ ⊓ ∃𝑟2 . ⊤
In what follows, we will use objectification to objectify roles.
Sequence is a common constraint for an event. In SDRule-L, two events can have the
relations as indicated in Table 1.
Table 1. SDRule-L Sequence (𝐸 : event on the right of the connector;𝐸 : event on the left)
ID Name Graphical Notation Verbalization
1 Succession 𝐸 is before 𝐸
2 Continuation 𝐸 is exactly before 𝐸
3 Overlap 𝐸 and 𝐸 overlap
4 Trigger 𝐸 triggers 𝐸
5 Terminator 𝐸 is terminated by 𝐸
6 Coincidence 𝐸 and 𝐸 are in parallel
Allow us to use 𝐸 for denoting an event. An event contains two basic time indica-
tors: begin time stamp (which we indicate as 𝑇 ) and end time stamp (indicated as 𝑇 ).
𝐸 is a valid event iff 𝑇 ≥ 𝑇 . We use a dot “.” to indicate the holder of an element.
For example, for an event 𝐸 , its begin time stamp is denoted by 𝐸 . 𝑇 . Given two
>>
_ _
-_
>>
>>
|=|
Events have time stamps denoting the beginning and end of an event.
2013-08-27 @ EC-Web 2013| page 8
10. Cluster Constraints
Treating a set of
fact types as an
object
Modalities:
Possible → ♦
Mandatory →
Device
receiving
received by
Signal
opening
opened by
Curtain
sending
sent by
Message
Opening Curtain
Listen and React
Sending Message♦
2013-08-27 @ EC-Web 2013| page 10
11. Implication and Negation
Device
opening
opened by
Curtain
sending
sent by
Message
Device
opening
opened by
Curtain
sending
sent by
Message
¬
¬
IF Device opening Curtain,
THEN Device sending Message
IF Device NOT opening Curtain,
THEN Device NOT sending Message
2013-08-27 @ EC-Web 2013| page 11
12. Skipper
Used to ignored rules in a particular commitment.
Device
sending
sent by
Message
¶
EACH Device sending AT LEAST ONE Message (SKIPPED)
2013-08-27 @ EC-Web 2013| page 12
14. Approach
1) Parse SDRule-L Markup file
2) Translate fact-types into Description Logics
3) Process constraints in SDRule-L Commitment
Static constraints translated into DL;
Dynamic rules and higher-order constraints
Adopt approach of Tao et al. 2010
Translate constraints into queries checking existence
counterexamples
4) Notify user of problems
2013-08-27 @ EC-Web 2013| page 14
15. Translating fact-types into DL
Person
“Employment”
works for
employs
Company
⇓
Person
with
of
Employment
of
with
Company
2013-08-27 @ EC-Web 2013| page 15
16. Translating fact-types into DL
A
“C”
r1
r2
B A
r1
r1’
C
r2’
r2
B
Translation into DL:
∃r1. A and ∃r1 . C and r1−
≡ r1
∃r2. B and ∃r2 . C and r2−
≡ r2
C ≡ ≤ 1r1 . ∃r1 . ≤ 1r2. ∃r2 .
2013-08-27 @ EC-Web 2013| page 16
17. Process SDRule-L Constraints
Events – roles involved with sequence constraints – are ”cast” as
being of the type ”event” and have a start- and end-time.
A
“C”
r1
r2
B
...
>>
Event
with
of
with
of
Timestamp
2013-08-27 @ EC-Web 2013| page 17
18. Process SDRule-L Constraints
Create SPARQL ASK queries checking existence of counterexamples
Device
opening
opened by
Curtain
sending
sent by
Message
>>
Test general timestamp correctness
ASK {
?x <.../#start> ?t1.
?x <.../#end> ?t2.
FILTER(?t1 > ?t2) }
Test sequence constraint
ASK {
{ ?a <.../#sending_r1> ?rc1. ?rc1 <.../#start> ?t1.
?a <.../#opening_r1> ?rc2. ?rc2 <.../#end> ?t2.
FILTER(?t1 >= ?t2) }
UNION
{ OPTIONAL{ ?a <.../#sending_r1> ?rc1. }
?a <.../#opening_r1> ?rc2.
FILTER(!BOUND(?rc1)) } }
2013-08-27 @ EC-Web 2013| page 18
19. Process SDRule-L Constraints
Create SPARQL ASK queries checking existence of counterexamples
Device
receiving
received by
Signal
opening
opened by
Curtain
sending
sent by
Message
Opening Curtain
Listen and React
Sending Message♦
Test cluster constraint
ASK { ?a a <...#Device>.
OPTIONAL {?a <.../rec_r1> ?x1.
OPTIONAL {?a <.../ope_r1> ?x2.
FILTER(!BOUND(?x1) ||
!BOUND(?x2)) }
ASK {
?a <.../sen_r1> ?b.
OPTIONAL { ?a <.../rec_r1> ?c.
FILTER(!BOUND(?c)) }
2013-08-27 @ EC-Web 2013| page 19
23. Limitations and Future Work
Ambiguous paths → similar limitation arises in the graphical notation
of external uniqueness constraints in ORM.
Sequence on unconnected
fact types
Possible path 1 Possible path 2
Fig. 9. An example of a sequence applied on unconnected fact types and two possible paths of
connections
5 Conclusion
In this paper, we have discussed the most recent results concerning SDRule-L, which
is a semantic decision support language. In particular, we have presented constraints
A
ra/rb
B
rc/re
EC
ra/rc
rc/rd
D
ra/rd>>
A
ra/rb
B
rc/re
EC
ra/rc
rc/rd
D
ra/rd>>
A
ra/rb
B
rc/re
EC
ra/rc
rc/rd
D
ra/rd>>
We currently only support sequence constraints with same ”starting
point”. Similar limitation for Implication, and Cluster constraints.
2013-08-27 @ EC-Web 2013| page 23
24. Conclusions
1. Formulated the problem of modeling and reasoning about
aspects not supported by popular fact-based modeling
languages
2. Extended ORM with SDRule-L
3. Translate SDRule-L into DL
4. Check constraint violation by looking for counterexamples
5. Implemented ideas, part of IDE
2013-08-27 @ EC-Web 2013| page 24