OrdRing2015 - Event-Driven Rule-based Reasoning using EYE

Post on 14-Jan-2017

180 views 0 download

Transcript of OrdRing2015 - Event-Driven Rule-based Reasoning using EYE

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: