ordring2015 - event-driven rule-based reasoning using eye
Post on 14-Jan-2017
180 Views
Preview:
TRANSCRIPT
Event-Driven Rule-Based Reasoning using EYE
Ben De MeesterDörthe Arndt, Pieter Bonte, Jabran Bhatti,
Wim Dereuddre, Ruben Verborgh, Femke Ongenae, Filip De Turck, Erik Mannens, and Rik Van de Walle
University Ghent – iMinds – Multimedia Labben.demeester@ugent.be | @Ben__DM
http://ceur-ws.org/Vol-1488/paper-08.pdf
OrdRing2015@ISWC | October 11th 2015 | Bethlehem, PA
We present
A nurse call system via reasoning.
Why via (rule) reasoning?
How is it done?
Where are we now?
eHealth Scenario1. Call launched – select nurse + update call2. Call Redirect – select different nurse3. Call Temp. Accept – Update Call Status4. Corridor – Location update5. Patient location – update location, turn on lights and update nurse6. Presence on – update call, turn on lights & update nurse status7. Presence off – update call, turn off lights & update nurse status7. Presence off – update call, turn off lights & update nurse status8. Corridor – update location, turn off lights & update nurse status
A Nurse call system
Hospital, finding the most suitable nurse.
Most suitable?Trust relationshipCompetencesLocationStatus
ACCIOHealthcare ontology (DL)
How complex?
Assigning the ‘correct’ nurse can be complex
This complex
Filters in sequenceCorrect competences
Decisions in sequenceBeing closer and with a patient is more important than being far away and free
ConfigurabilityEvery hospital is different
So, you want to assign a nurse?
Needs
Event-basedNurses move, calls get made, …
StatefulKeep current states of the nurses
Scalable1 – 50 wards
ExpressiveDL-ontology + complex decision trees
Reasoning techniques
OWL DL-reasoning + SPARQLCon: Bad performance (e.g., location calculation for SPARQL)
Stream reasoningCon: not enough expressitivity
OWL-RL + rule reasoningCon: Not DL (but not necessary for this use case)Pro: easy mapping from decision treesPro: all rules are executed at oncePro: one system for everything
N3
{ this } => { that }
Turtle superset
Very expressivethat can be rulesbuilt-ins (e.g. time predicates)Datalog is not expressive enoughForward and backward reasoning
EYE Reasoner
Performant
PrologEYE supports all built-in Prolog predicates
Rule reasoning
File-based
Use case analysis
Small portion dynamic dataSplit up static from dynamic
State changes can introduce conflictProgrammatic update
Split up dynamic data
StaticHospital layout (rooms, wards, logistics)OntologiesRules
DynamicNurse’s stateNurse’s locationActive calls
Static Dynamic
Programmatic update
Nurse Erik goes from the hallway to room 1event::nurseErik accio:location :room1
knowledge base:nurseErik accio:location :hallway
Erik cannot be in two places at the same timeTimestamps are expensive
Fixed set of predicates
Architecture
Initializer
Decider
PostUpdater
PreUpdater
EventHandler
Architecture
Initializer (0)
(1) (6)
(2)
(3)
(4)
(5)
Decider
PostUpdater
PreUpdater
EventHandler
Performance improvements for EYE?
Preload the static data
Room location is known before, and doesn’t change
Nurse competences don’t change very day
Multiple parallel reasoning instances
Performance?
0 5 10 15 20 25 30 35 40 45 500
1000200030004000500060007000
Splitting / 1 EYE Splitting / 4 EYEsNo splitting / 1 EYE No splitting / 4 EYEs
#wards
Exec
ution
Tim
e (m
s)
Preloading improves IO
Preloading / 1 EYE
No preloading / 1 EYE
Preloading / 4 EYEs
No preloading / 4 EYEs
0
500
1000
1500
2000
2500
reasoning reasoningIO
Reas
onin
g tim
e (m
s), 5
0 w
ards
More consistent reasoning time with multiple parallel instances
0 15 15 40 50 50 65 65 65 900
5
10
15
20
25
30
1 EYE 4 EYEs
Time incoming event (s)
Exec
ution
Tim
e (s
)
Performance?
0 5 10 15 20 25 30 35 40 45 500
1000200030004000500060007000
Preloading / 1 EYE Preloading / 4 EYEsNo preloading / 1 EYE No preloading / 4 EYEs
#wards
Exec
ution
Tim
e (m
s)
Future performance?
0 5 10 15 20 25 30 35 40 45 500
100200300400500600700800900
Preloading / 4 EYEs
#wards
Reas
onin
g Ti
me
(ms)
Conclusions
Expressiveness comes at a cost…
But current system works for the current use case.
File-based reasoning is a bottleneck.next: in-memory reasoning
http://ceur-ws.org/Vol-1488/paper-08.pdf
Our project
ORCA
Our pilot project partners:
top related