32
Asynchronous Multi-Context Systems 1 Stefan Ellmauthaler org P¨ uhrer Computer Science Institute Leipzig University Germany ReactKnow 2014 Prague August 19 th 2014 1 Research has been supported by DFG and FWF (projects BR 1817/7-1 and FOR 1513) S. Ellmauthaler, J. P¨ uhrer ReactKnow 2014 - Prague CSI Leipzig 1 / 19

Asynchronous Multi-Context Systems1 · Asynchronous Multi-Context Systems De nition A data package is a pair d = hs;Ii, where s 2Nis either a context name or a sensor name, stating

  • Upload
    others

  • View
    18

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Asynchronous Multi-Context Systems1 · Asynchronous Multi-Context Systems De nition A data package is a pair d = hs;Ii, where s 2Nis either a context name or a sensor name, stating

Asynchronous Multi-Context Systems1

Stefan Ellmauthaler Jorg Puhrer

Computer Science InstituteLeipzig University

Germany

ReactKnow 2014Prague

August 19th 2014

1Research has been supported by DFG and FWF (projects BR 1817/7-1 and FOR 1513)

S. Ellmauthaler, J. Puhrer ReactKnow 2014 - Prague CSI Leipzig 1 / 19

Page 2: Asynchronous Multi-Context Systems1 · Asynchronous Multi-Context Systems De nition A data package is a pair d = hs;Ii, where s 2Nis either a context name or a sensor name, stating

Outline

1 Motivation

2 Concept

3 Asynchronous Multi-Context Systems

4 Relation to (reactive) Multi-Context Systems

5 Outlook & Related Work

S. Ellmauthaler, J. Puhrer ReactKnow 2014 - Prague CSI Leipzig 2 / 19

Page 3: Asynchronous Multi-Context Systems1 · Asynchronous Multi-Context Systems De nition A data package is a pair d = hs;Ii, where s 2Nis either a context name or a sensor name, stating

reactive Multi-Context Systems so far ...

Motivation

integration of heterogeneous KR-formalisms

awareness of continuous flow of knowledge

Realisation

Contexts with different KR & Reasoning formalisms

Bridge-Rules for exchange of beliefs

Notion of Equilibrium as Semantics

Run represents the change of knowledge and belief over time

S. Ellmauthaler, J. Puhrer ReactKnow 2014 - Prague CSI Leipzig 3 / 19

Page 4: Asynchronous Multi-Context Systems1 · Asynchronous Multi-Context Systems De nition A data package is a pair d = hs;Ii, where s 2Nis either a context name or a sensor name, stating

... and a slight look to online-applications

Many different services and sources of knowledge

Continuous flow of information

Data collection till sufficient knowledge for their tasks is available

Communication is often query-based

Asynchronous communication protocols

S. Ellmauthaler, J. Puhrer ReactKnow 2014 - Prague CSI Leipzig 4 / 19

Page 5: Asynchronous Multi-Context Systems1 · Asynchronous Multi-Context Systems De nition A data package is a pair d = hs;Ii, where s 2Nis either a context name or a sensor name, stating

Computer Aided Emergency Team Management

Example Environment - Emergency Team Management

Emergency Call

Classification and Prioritisation of each case

Overview of available rescue units

Overview on ETAs for each unit and case

Suggesting optimal assignments

Communicate Tasks to rescue units

Requirements

Fast response to events

Consider different sources of data

Modularity for additional components

Human as last instance for decisions

S. Ellmauthaler, J. Puhrer ReactKnow 2014 - Prague CSI Leipzig 5 / 19

Page 6: Asynchronous Multi-Context Systems1 · Asynchronous Multi-Context Systems De nition A data package is a pair d = hs;Ii, where s 2Nis either a context name or a sensor name, stating

Consequences of Asynchronicity

→ Contexts compute their belief sets independently

→ No agreement on a common Equilibrium

→ No defined basis for Bridge-Rules to fire

→ Need for Output-Rules (OR)

→ Keep track of information provided by OR

→ Input stream for each context

→ Interaction with environment:I aMCS wide input streamsI aMCS wide output streams

S. Ellmauthaler, J. Puhrer ReactKnow 2014 - Prague CSI Leipzig 6 / 19

Page 7: Asynchronous Multi-Context Systems1 · Asynchronous Multi-Context Systems De nition A data package is a pair d = hs;Ii, where s 2Nis either a context name or a sensor name, stating

Other Design-Choices

Each context decide when to computeI realised by computation controller cc

Dynamic adjustments of context-managementI computation controller (cc)I output rules (OR)I context-semantics (ACC)I context update function (cu)

S. Ellmauthaler, J. Puhrer ReactKnow 2014 - Prague CSI Leipzig 7 / 19

Page 8: Asynchronous Multi-Context Systems1 · Asynchronous Multi-Context Systems De nition A data package is a pair d = hs;Ii, where s 2Nis either a context name or a sensor name, stating

Asynchronous Multi-Context Systems

Definition

A data package is a pair d = 〈s, I 〉, where s ∈ N is either a context nameor a sensor name, stating the source of d , and I ⊆ IL is a set of pieces ofinformation. An information buffer is a sequence of data packages.

Definition

Let C = 〈n,LS〉 be a context. An output rule r for C is an expression ofthe form

〈n, i〉 ←b1, . . . , bj , not bj+1, . . . ,not bm, (1)

such that n ∈ N is the name of a context or an output stream, i ∈ IL is apiece of information, and every b` (1 ≤ ` ≤ m) is a belief for C , i.e.,b` ∈ S for some S ∈ BSLS .

S. Ellmauthaler, J. Puhrer ReactKnow 2014 - Prague CSI Leipzig 8 / 19

Page 9: Asynchronous Multi-Context Systems1 · Asynchronous Multi-Context Systems De nition A data package is a pair d = hs;Ii, where s 2Nis either a context name or a sensor name, stating

Asynchronous Multi-Context Systems

Definition

Let C = 〈n,LS〉 be a context, OR a set of output rules for C , S ∈ BSLSa belief set, and n′ ∈ N a name. Then, the data package

dC (S ,OR, n′) = 〈n, {i | r ∈ OR, hd(r) = 〈n′, i〉,S |= bd(r)}〉

is the output of C with respect to OR under S relevant for n.

S. Ellmauthaler, J. Puhrer ReactKnow 2014 - Prague CSI Leipzig 9 / 19

Page 10: Asynchronous Multi-Context Systems1 · Asynchronous Multi-Context Systems De nition A data package is a pair d = hs;Ii, where s 2Nis either a context name or a sensor name, stating

Asynchronous Multi-Context Systems

Definition

Let C = 〈n,LS〉 be a context. A configuration of C is a tuplecf = 〈KB,ACC, ib, cm〉, where KB ∈ KBLS , ACC ∈ ACCLS , ib is afinite information buffer, and cm is a context management for C which isa triple cm = 〈cc, cu,OR〉, where

cc is a computation controller for C ,

OR is a set of output rules for C , and

cu is a context update function for C which is a function that mapsan information buffer ib = d1, . . . , dm and an admissible knowledgebase of LS to a configuration cf ′ = 〈KB′,ACC′, ib′, cm′〉 of C withib′ = dk , . . . , dm for some k ≥ 1.

S. Ellmauthaler, J. Puhrer ReactKnow 2014 - Prague CSI Leipzig 10 / 19

Page 11: Asynchronous Multi-Context Systems1 · Asynchronous Multi-Context Systems De nition A data package is a pair d = hs;Ii, where s 2Nis either a context name or a sensor name, stating

Asynchronous Multi-Context Systems

aMCS Ms1

s2

s3

C3KB

ACC

ib cc cu OR

C1KB

ACC

ib cc cu OR

C2KB

ACC

ib cc cu OR

S. Ellmauthaler, J. Puhrer ReactKnow 2014 - Prague CSI Leipzig 11 / 19

Page 12: Asynchronous Multi-Context Systems1 · Asynchronous Multi-Context Systems De nition A data package is a pair d = hs;Ii, where s 2Nis either a context name or a sensor name, stating

Run of an aMCS

Configuration of an aMCS

Configuration for each Context

Content of each output stream (output buffer)

Definition (Run structure)

Let M = 〈〈C1, . . . ,Cn〉, 〈o1, . . . , om〉〉 be an aMCS. A run structure for Mis a sequence

R = . . . ,Cf t ,Cf t+1,Cf t+2, . . . ,

where t ∈ Z is a point in time, and every Cf t′ in R (t ′ ∈ Z) is aconfiguration of M.

S. Ellmauthaler, J. Puhrer ReactKnow 2014 - Prague CSI Leipzig 12 / 19

Page 13: Asynchronous Multi-Context Systems1 · Asynchronous Multi-Context Systems De nition A data package is a pair d = hs;Ii, where s 2Nis either a context name or a sensor name, stating

Run of an aMCS

Time-awareness

Computation of belief sets takes time

Enumeration of belief sets takes time

Verification of non-existence of (further) belief sets takes time

Run execution

If a Context finds a belief set, OR are applied

Information is distributed to input-buffers of contexts or outputstreams

If a Context has finished its computation, EOC is sent to allstakeholders

S. Ellmauthaler, J. Puhrer ReactKnow 2014 - Prague CSI Leipzig 13 / 19

Page 14: Asynchronous Multi-Context Systems1 · Asynchronous Multi-Context Systems De nition A data package is a pair d = hs;Ii, where s 2Nis either a context name or a sensor name, stating

Example of an aMCS

Navigation

Amb Manager Task Planner

Case AnalyserMed Ontology

ER Employee

Case Dispatcher

Traffic stateAmbulance

CAET Management

S. Ellmauthaler, J. Puhrer ReactKnow 2014 - Prague CSI Leipzig 14 / 19

Page 15: Asynchronous Multi-Context Systems1 · Asynchronous Multi-Context Systems De nition A data package is a pair d = hs;Ii, where s 2Nis either a context name or a sensor name, stating

Differences to rMCS

rMCSs use equilibriaI strong semanticsI tight integration approach where context semantics are interdependentI every context need to agree → each context needs to wait→ synchronous approach

rMCSs have equilibria as source of non-determinism

aMCSs have computation time as source of non-determinism

S. Ellmauthaler, J. Puhrer ReactKnow 2014 - Prague CSI Leipzig 15 / 19

Page 16: Asynchronous Multi-Context Systems1 · Asynchronous Multi-Context Systems De nition A data package is a pair d = hs;Ii, where s 2Nis either a context name or a sensor name, stating

Simulation of rMCS

For each Context Ci of the rMCS, introduce three aMCS Contexts:I C kb

i stores its current knowledge baseI C kb′

i stores update of the knowledge base and compute its semanticsI Cm

i implements the bridge rules and the management function

Three contexts for the rMCS, whereI C obs receives sensor data and distributes the information,I C guess guesses equilibrium candidates and propagates them to Cm

i , andI C check compares all results of the contexts and informs other contexts

if an equilibrium has been found

S. Ellmauthaler, J. Puhrer ReactKnow 2014 - Prague CSI Leipzig 16 / 19

Page 17: Asynchronous Multi-Context Systems1 · Asynchronous Multi-Context Systems De nition A data package is a pair d = hs;Ii, where s 2Nis either a context name or a sensor name, stating

Future Work

Study modelling patterns and best practices for aMCS

Analysis how other approaches (e.g., clingo [Gebser et al., 2012])are capable for prototypical implementations

Analysis how features of other approaches (e.g., online queries,iterative computing, . . . ) relate to aMCS concepts (e.g., ib, OR,cc,. . . )

S. Ellmauthaler, J. Puhrer ReactKnow 2014 - Prague CSI Leipzig 17 / 19

Page 18: Asynchronous Multi-Context Systems1 · Asynchronous Multi-Context Systems De nition A data package is a pair d = hs;Ii, where s 2Nis either a context name or a sensor name, stating

Related Work

aMCS are motivated by rMCS [Brewka et al., 2014] and are based onMCS [Brewka et al., 2011a, Brewka et al., 2011b]

Evolving Mulit-Context Systems [Goncalves et al., 2014] follow asimilar approach to rMCS

A concept similar for output rules in reactive Multi-Context Systemshas been presented as reactive bridge rules [Ellmauthaler, 2013]

S. Ellmauthaler, J. Puhrer ReactKnow 2014 - Prague CSI Leipzig 18 / 19

Page 19: Asynchronous Multi-Context Systems1 · Asynchronous Multi-Context Systems De nition A data package is a pair d = hs;Ii, where s 2Nis either a context name or a sensor name, stating

Thank you for your interest!

S. Ellmauthaler, J. Puhrer ReactKnow 2014 - Prague CSI Leipzig 19 / 19

Page 20: Asynchronous Multi-Context Systems1 · Asynchronous Multi-Context Systems De nition A data package is a pair d = hs;Ii, where s 2Nis either a context name or a sensor name, stating

References I

[Brewka et al., 2011a] Brewka, G., Eiter, T., and Fink, M. (2011a).Nonmonotonic multi-context systems: A flexible approach forintegrating heterogeneous knowledge sources.In Logic Programming, Knowledge Representation, and NonmonotonicReasoning, pages 233–258. Springer.

[Brewka et al., 2011b] Brewka, G., Eiter, T., Fink, M., and Weinzierl, A.(2011b).Managed multi-context systems.In IJCAI’11, pages 786–791.

[Brewka et al., 2014] Brewka, G., Ellmauthaler, S., and Puhrer, J. (2014).Multi-context systems for reactive reasoning in dynamic environments.In Proc. ECAI’14.To appear.

S. Ellmauthaler, J. Puhrer ReactKnow 2014 - Prague CSI Leipzig 1 / 12

Page 21: Asynchronous Multi-Context Systems1 · Asynchronous Multi-Context Systems De nition A data package is a pair d = hs;Ii, where s 2Nis either a context name or a sensor name, stating

References II

[Ellmauthaler, 2013] Ellmauthaler, S. (2013).Generalizing multi-context systems for reactive stream reasoningapplications.In Proc. ICCSW’13, pages 17–24.

[Gebser et al., 2012] Gebser, M., Grote, T., Kaminski, R., Obermeier, P.,Sabuncu, O., and Schaub, T. (2012).Stream reasoning with answer set programming: Preliminary report.In Proc. KR’12.

[Goncalves et al., 2014] Goncalves, R., Knorr, M., and Leite, J. (2014).Evolving multi-context systems.In Proc. ECAI’14.To appear.

S. Ellmauthaler, J. Puhrer ReactKnow 2014 - Prague CSI Leipzig 2 / 12

Page 22: Asynchronous Multi-Context Systems1 · Asynchronous Multi-Context Systems De nition A data package is a pair d = hs;Ii, where s 2Nis either a context name or a sensor name, stating

Definition

A context is a pair C = 〈n,LS〉 where n ∈ N is the name of the contextand LS is a logic suite.

S. Ellmauthaler, J. Puhrer ReactKnow 2014 - Prague CSI Leipzig 3 / 12

Page 23: Asynchronous Multi-Context Systems1 · Asynchronous Multi-Context Systems De nition A data package is a pair d = hs;Ii, where s 2Nis either a context name or a sensor name, stating

Definition

An aMCS (of length n with m output streams) is a pair M = 〈C,O〉,where C = 〈C1, . . . ,Cn〉 is an n-tuple of contexts and O = 〈o1, . . . , om〉with oj ∈ N for each 1 ≤ j ≤ m is a tuple containing the names of theoutput streams of M.

S. Ellmauthaler, J. Puhrer ReactKnow 2014 - Prague CSI Leipzig 3 / 12

Page 24: Asynchronous Multi-Context Systems1 · Asynchronous Multi-Context Systems De nition A data package is a pair d = hs;Ii, where s 2Nis either a context name or a sensor name, stating

Definition

A data package is a pair d = 〈s, I 〉, where s ∈ N is either a context nameor a sensor name, stating the source of d , and I ⊆ IL is a set of pieces ofinformation. An information buffer is a sequence of data packages.

S. Ellmauthaler, J. Puhrer ReactKnow 2014 - Prague CSI Leipzig 4 / 12

Page 25: Asynchronous Multi-Context Systems1 · Asynchronous Multi-Context Systems De nition A data package is a pair d = hs;Ii, where s 2Nis either a context name or a sensor name, stating

Definition

Let C = 〈n,LS〉 be a context. A computation controller for C is a relationcc between a KB KB ∈ KBLS and a finite information buffer.

S. Ellmauthaler, J. Puhrer ReactKnow 2014 - Prague CSI Leipzig 5 / 12

Page 26: Asynchronous Multi-Context Systems1 · Asynchronous Multi-Context Systems De nition A data package is a pair d = hs;Ii, where s 2Nis either a context name or a sensor name, stating

Definition

Let C = 〈n,LS〉 be a context. An output rule r for C is an expression ofthe form

〈n, i〉 ←b1, . . . , bj ,not bj+1, . . . ,not bm, (2)

such that n ∈ N is the name of a context or an output stream, i ∈ IL is apiece of information, and every b` (1 ≤ ` ≤ m) is a belief for C , i.e.,b` ∈ S for some S ∈ BSLS .

S. Ellmauthaler, J. Puhrer ReactKnow 2014 - Prague CSI Leipzig 6 / 12

Page 27: Asynchronous Multi-Context Systems1 · Asynchronous Multi-Context Systems De nition A data package is a pair d = hs;Ii, where s 2Nis either a context name or a sensor name, stating

Definition

Let C = 〈n,LS〉 be a context, OR a set of output rules for C , S ∈ BSLSa belief set, and n′ ∈ N a name. Then, the data package

dC (S ,OR, n′) = 〈n, {i | r ∈ OR, hd(r) = 〈n′, i〉,S |= bd(r)}〉

is the output of C with respect to OR under S relevant for n.

S. Ellmauthaler, J. Puhrer ReactKnow 2014 - Prague CSI Leipzig 7 / 12

Page 28: Asynchronous Multi-Context Systems1 · Asynchronous Multi-Context Systems De nition A data package is a pair d = hs;Ii, where s 2Nis either a context name or a sensor name, stating

Definition

Let C = 〈n,LS〉 be a context. A configuration of C is a tuplecf = 〈KB,ACC, ib, cm〉, where KB ∈ KBLS , ACC ∈ ACCLS , ib is afinite information buffer, and cm is a context management for C which isa triple cm = 〈cc, cu,OR〉, where

cc is a computation controller for C ,

OR is a set of output rules for C , and

cu is a context update function for C which is a function that mapsan information buffer ib = d1, . . . , dm and an admissible knowledgebase of LS to a configuration cf ′ = 〈KB′,ACC′, ib′, cm′〉 of C withib′ = dk , . . . , dm for some k ≥ 1.

S. Ellmauthaler, J. Puhrer ReactKnow 2014 - Prague CSI Leipzig 8 / 12

Page 29: Asynchronous Multi-Context Systems1 · Asynchronous Multi-Context Systems De nition A data package is a pair d = hs;Ii, where s 2Nis either a context name or a sensor name, stating

Definition

Let M = 〈〈C1, . . . ,Cn〉, 〈o1, . . . , om〉〉 be an aMCS. A configuration of Mis a pair

Cf = 〈〈cf 1, . . . , cf n〉, 〈ob1, . . . , obm〉〉,

where

for all 1 ≤ i ≤ n cf i = 〈KB,ACC, ib, cm〉 is a configuration for Ci

and for every output rule r ∈ ORcm we have n ∈ N (M) for〈n, i〉 = hd(r), and

obj = . . . , dl−1, dl is an information buffer with a final element dl

that corresponds to the data on the output stream named oj for each1 ≤ j ≤ m such that for each h ≤ l with dh = 〈n, i〉 we have n = nCi

for some 1 ≤ i ≤ n.

S. Ellmauthaler, J. Puhrer ReactKnow 2014 - Prague CSI Leipzig 9 / 12

Page 30: Asynchronous Multi-Context Systems1 · Asynchronous Multi-Context Systems De nition A data package is a pair d = hs;Ii, where s 2Nis either a context name or a sensor name, stating

Definition

Let M = 〈〈C1, . . . ,Cn〉, 〈o1, . . . , om〉〉 be an aMCS. A run structure for Mis a sequence

R = . . . ,Cf t ,Cf t+1,Cf t+2, . . . ,

where t ∈ Z is a point in time, and every Cf t′ in R (t ′ ∈ Z) is aconfiguration of M.

S. Ellmauthaler, J. Puhrer ReactKnow 2014 - Prague CSI Leipzig 10 / 12

Page 31: Asynchronous Multi-Context Systems1 · Asynchronous Multi-Context Systems De nition A data package is a pair d = hs;Ii, where s 2Nis either a context name or a sensor name, stating

Definition

Let M be an aMCS of length n with m output streams and R a runstructure for M. R is a run for M if the following conditions hold for every1 ≤ i ≤ n and every 1 ≤ j ≤ m:

(i) if cf ti and cf t+1

i are defined, Ci is neither busy nor waiting at time t,then

I Ci is busy at time t + 1,I cf t+1

i = cucmti(ibti ,KBt

i )

We say that Ci started a computation for KBt+1i at time t + 1.

(ii) if Ci started a computation for KB at time t thenI we say that this computation ended at time t ′, if t ′ is the earliest time

point with t ′ ≥ t such that 〈nCi ,EOC〉 is added to every stakeholderbuffer b of Ci at t ′; the addition of dCi (S ,ORcmt′′

i, n) to b is called an

end of computation notification.I for all t ′ > t such that cf t′

i is defined, Ci is busy at t ′ unless thecomputation ended at some time t ′′ with t < t ′′ < t ′.

I if the computation ended at time t ′ and cf t′+1i is defined then Ci is not

busy at t ′ + 1.

S. Ellmauthaler, J. Puhrer ReactKnow 2014 - Prague CSI Leipzig 11 / 12

Page 32: Asynchronous Multi-Context Systems1 · Asynchronous Multi-Context Systems De nition A data package is a pair d = hs;Ii, where s 2Nis either a context name or a sensor name, stating

Definition

(iii) if Ci started a computation for KB at time t that ended at time t ′

then for every belief set S ∈ ACCti there is some time t ′′ with

t ≤ t ′′ ≤ t ′ such thatI dCi (S ,ORcmt′′

i, n) is added to every stakeholder buffer b of Ci for n at

t ′′.

We say that Ci computed S at time t ′′. The addition ofdCi

(S ,ORcmt′′i, n) to b is called a belief set notification.

(iv) if obtj and obt+1j are defined and obtj = . . . , dl−1, dl then

obt+1j = . . . , dl−1, dl , . . . , dl ′ for some l ′ ≥ l . Moreover, every data

package dl ′′ with l < l ′′ ≤ l ′ that was added at time t + 1 resultsfrom an end of computation notification or a belief set notification.

(v) if cf ti and cf t+1

i are defined, Ci is busy or waiting at time t, andibti = d1, . . . , dl then we have ibt+1

i = d1, . . . , dl , . . . , dl ′ for somel ′ ≥ l . Moreover, every data package dl ′′ with l < l ′′ ≤ l ′ that wasadded at time t + 1 either results from an end of computationnotification or a belief set notification or n /∈ N (M) (i.e., n is a sensorname) for dl ′′ = 〈n, i〉.

S. Ellmauthaler, J. Puhrer ReactKnow 2014 - Prague CSI Leipzig 12 / 12