sdrule-l: managing semantically rich business decision processes
DESCRIPTION
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-67TRANSCRIPT
SDRule-L: Managing SemanticallyRich Business Decision Processes(short paper)Yan Tang Demey and Christophe DebruyneVrije Universiteit Brussel STARLab2013-08-27 @ EC-Web 2013
2013-08-27 @ EC-Web 2013| page 1
Outline
Introduction and Problem
SDRule-L
Approach
Implementation
Limitations, Future Work and Conclusions
2013-08-27 @ EC-Web 2013| page 2
Introduction and Problem
Introduction
I Semantic Decision Support Systems (SDSS)→ requires propercapturing of business semantics to
I Fact-based Modeling (FBM) & Object Role Modeling (ORM)I Fact-oriented modeling languageI Facts vs. Fact-types
Example
Fact: ”Christophe” knows ”Yan”Fact-types: [Person] knows (/known by) [Person]
[Person] having (/ of) [Name]
I Important in FBM and ORM are ...I grounding in natural languageI verbalizationI graphical notation
... for the involvement of non-technical domain experts
2013-08-27 @ EC-Web 2013| page 4
Introduction
I However, FBM and ORM have ...I limited support for modeling and reasoning over dynamic rules
such as the sequence of events
I SDRule-L extends ORM to capture such rules
I How can we reason over such rules to support decision making?
2013-08-27 @ EC-Web 2013| page 5
SDRule-L
SDRule-L
SDRule-L extends ORM by introducing constraints, operators andcorresponding graphical notations such as:
I Sequence constraints;I Cluster constraints;I Implication- and negation constraints;I Skipper.
2013-08-27 @ EC-Web 2013| page 7
Sequence Constraints
Relations between events:
Formalization of Objectification: Before going into the details of SDRule-L con-straints and operators, it is necessary to explain objectification and the formalization.
Objectification is a way of treating a role pair as an object [3]. Graphically, it is represented as shown in Fig. 1 (O1), which is a minimum constrained fact type with an objectification. A and B are two object types, r1 and r2 are the roles that A and B can play with, and C is an objectified role pair r1/r2. The bar on r1/r2 is a uniqueness constraint, meaning that the populations of A and B with regard to r1/r2 are unique.
O1 O2
Fig. 1. Example of objectification and its equivalent owl-compatible model
The objectification from Fig. 1 (O1) can be mapped to Fig. 1 (O2) without losing any semantics. In Fig. 1 (O2), the objectified role pair r1/r2 is treated as a new object type C. Two new roles r1’ and r2’ are introduced for the issues of formalization and implementation. Two mandatory constraints (graphically represented as dots) are applied between C and A, and between C and B. The constraints on roles r1’ and r2’ ensures 1:1 population between C and A, and between C and B. The circled bar in Fig. 1 (O2) is an external uniqueness, which is a direct adaptation from the unique-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
A r1/r2
C
B A r1/r1'
C B r2'/r2
>>
_ _
-_
>>
>>
|=|
Events have time stamps denoting the beginning and end of an event.
2013-08-27 @ EC-Web 2013| page 8
Sequence Constraints
Example:
Device
opening
opened by
Curtain
sending
sent by
Message
>>
Device opening Curtain TRIGGERS Device sending Message.
2013-08-27 @ EC-Web 2013| page 9
Cluster Constraints
I Treating a set offact types as anobject
I 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
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
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
Approach
Approach
1) Parse SDRule-L Markup file
2) Translate fact-types into Description Logics
3) Process constraints in SDRule-L Commitment
I Static constraints translated into DL;I Dynamic rules and higher-order constraints
I Adopt approach of Tao et al. 2010I Translate constraints into queries checking existence
counterexamples
4) Notify user of problems
2013-08-27 @ EC-Web 2013| page 14
Translating fact-types into DL
Person
“Employment”
works for
employs
Company
⇓
Person
with
of
Employmentof
with
Company
2013-08-27 @ EC-Web 2013| page 15
Translating fact-types into DL
A
“C”
r1
r2
B A
r1
r1’
C
r2’
r2
B
Translation into DL:
I ∃r1.> v A and ∃r1′.> v C and r1− ≡ r1I ∃r2.> v B and ∃r2′.> v C and r2− ≡ r2I C ≡ ≤ 1r1′.> u ∃r1′.> u ≤ 1r2.> u ∃r2′.>
2013-08-27 @ EC-Web 2013| page 16
Process SDRule-L Constraints
Events – roles involved with sequence constraints – are ”cast” asbeing of the type ”event” and have a start- and end-time.
A
“C”
r1
r2
B
...
>>
Event
with
ofwith
of
Timestamp
2013-08-27 @ EC-Web 2013| page 17
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
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
Implementation
Implementation
I SDRule-L Markup ParserI Jena and PelletI Available as a module, part of a ”suite”
2013-08-27 @ EC-Web 2013| page 21
Limitations, Future Work andConclusions
Limitations and Future Work
Ambiguous paths→ similar limitation arises in the graphical notationof 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 of sequence, cluster and implication, and operators of negation and skipper. We have shown a method of mapping dynamic rules into a combination of static rules and queries for detecting model anomalies. This method is further implemented in the SDRule-L reasoning engine.
Acknowledgements: Our use case and experimental data from this paper are taken from the SBO OSCB project.
References
1. Tang, Y., Meersman, R.: SDRule Markup Language: Towards Modeling and
Interchanging Ontological Commitments for Semantic Decision Making. In Giurca, A., Gasevic, D., Taveter, K., eds. : Handbook of Research on Emerging Rule-Based Languages and Technologies: Open Solutions and Approaches Sec. I. Chapter V. IGI Publishing, USA (2008)
2. FBM: What is Fact Based Modeling? In: Fact Based Modeling Official Website. Available at: http://www.factbasedmodeling.org/
3. Halpin, T., Morgan, T.: Information Modeling and Relational Databases 2nd edn. Morgan Kaufmann (2008)
4. Calì, A., Gottlob, G., Pieris, A.: The Return of the Entity-Relationship Model: Ontological Query Answering. In : Semantic Search over the Web. Springer Berlin Heidelberg, Germany (2012) 255-281
5. Wang, X., Chan, C.: Ontology Modeling Using UML. In Konstantas, D., Léonard, M., Pigneur, Y., Patel, S., eds. : 7th International Conference on Object Oriented Information Systems Conference (OOIS’2001), Geneva, vol. LNCS 2817, pp.59-68 (2001)
6. Prater, J., Mueller, R., Beauregard, B.: An ontological approach to oracle BPM. In
A ra/rb
B
rc/reEC
ra/rc
rc/rdD
ra/rd>>
A ra/rb
B
rc/reEC
ra/rc
rc/rdD
ra/rd>>
A ra/rb
B
rc/reEC
ra/rc
rc/rdD
ra/rd>>
We currently only support sequence constraints with same ”startingpoint”. Similar limitation for Implication, and Cluster constraints.
2013-08-27 @ EC-Web 2013| page 23
Conclusions
1. Formulated the problem of modeling and reasoning aboutaspects not supported by popular fact-based modelinglanguages
2. Extended ORM with SDRule-L3. Translate SDRule-L into DL4. Check constraint violation by looking for counterexamples5. Implemented ideas, part of IDE
2013-08-27 @ EC-Web 2013| page 24