building distributed and robust multi-agent systems...agent revival/restart (due to supervision)...

49
Building Distributed and Robust Multi-agent Systems Álvaro Fernández Díaz Clara Benac Earle Lars-Ake Fredlund

Upload: others

Post on 11-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Building Distributed and Robust Multi-agent Systems...Agent revival/restart (due to supervision) Monitoring in eJason Notifications as beliefs Monitors persist Fault recovery eJason

Building Distributed and Robust Multi-agent

Systems

Álvaro Fernández Díaz

Clara Benac Earle

Lars-Ake Fredlund

Page 2: Building Distributed and Robust Multi-agent Systems...Agent revival/restart (due to supervision) Monitoring in eJason Notifications as beliefs Monitors persist Fault recovery eJason
Page 3: Building Distributed and Robust Multi-agent Systems...Agent revival/restart (due to supervision) Monitoring in eJason Notifications as beliefs Monitors persist Fault recovery eJason

sensors

distance to goal

actuators

shoot ball

opponent position

Page 4: Building Distributed and Robust Multi-agent Systems...Agent revival/restart (due to supervision) Monitoring in eJason Notifications as beliefs Monitors persist Fault recovery eJason

AutonomyProactivenessReactivitySocial ability…..

Page 5: Building Distributed and Robust Multi-agent Systems...Agent revival/restart (due to supervision) Monitoring in eJason Notifications as beliefs Monitors persist Fault recovery eJason

A day in an agent's life

Page 6: Building Distributed and Robust Multi-agent Systems...Agent revival/restart (due to supervision) Monitoring in eJason Notifications as beliefs Monitors persist Fault recovery eJason

A day in an agent's life

Leaves homeWalks to the officeWorksWalks home

Page 7: Building Distributed and Robust Multi-agent Systems...Agent revival/restart (due to supervision) Monitoring in eJason Notifications as beliefs Monitors persist Fault recovery eJason

DESIRES

BELIEFS

INTENTIONS

Page 8: Building Distributed and Robust Multi-agent Systems...Agent revival/restart (due to supervision) Monitoring in eJason Notifications as beliefs Monitors persist Fault recovery eJason

at(home)

BELIEFS

Page 9: Building Distributed and Robust Multi-agent Systems...Agent revival/restart (due to supervision) Monitoring in eJason Notifications as beliefs Monitors persist Fault recovery eJason

I want to go to work

DESIRES

Page 10: Building Distributed and Robust Multi-agent Systems...Agent revival/restart (due to supervision) Monitoring in eJason Notifications as beliefs Monitors persist Fault recovery eJason

To go to work I need to leave home and walk to the office

INTENTIONS

Page 11: Building Distributed and Robust Multi-agent Systems...Agent revival/restart (due to supervision) Monitoring in eJason Notifications as beliefs Monitors persist Fault recovery eJason

The central idea is that we can architect computer programs as if they have a ‘mental state’

Page 12: Building Distributed and Robust Multi-agent Systems...Agent revival/restart (due to supervision) Monitoring in eJason Notifications as beliefs Monitors persist Fault recovery eJason

go_to(work)

Page 13: Building Distributed and Robust Multi-agent Systems...Agent revival/restart (due to supervision) Monitoring in eJason Notifications as beliefs Monitors persist Fault recovery eJason

go_to(work)

leave(home)get_to(work)

Page 14: Building Distributed and Robust Multi-agent Systems...Agent revival/restart (due to supervision) Monitoring in eJason Notifications as beliefs Monitors persist Fault recovery eJason

go_to(work)

walk_to(work)

leave(home)get_to(work)

Page 15: Building Distributed and Robust Multi-agent Systems...Agent revival/restart (due to supervision) Monitoring in eJason Notifications as beliefs Monitors persist Fault recovery eJason
Page 16: Building Distributed and Robust Multi-agent Systems...Agent revival/restart (due to supervision) Monitoring in eJason Notifications as beliefs Monitors persist Fault recovery eJason

go_to(work)

get_to(work)

walk_to(work) drive_to(work)

leave(home)get_to(work)

Page 17: Building Distributed and Robust Multi-agent Systems...Agent revival/restart (due to supervision) Monitoring in eJason Notifications as beliefs Monitors persist Fault recovery eJason

If it rains & has key & car is near drives to the officeOtherwise walks to the office

A day in an agent's life

Page 18: Building Distributed and Robust Multi-agent Systems...Agent revival/restart (due to supervision) Monitoring in eJason Notifications as beliefs Monitors persist Fault recovery eJason

INTERPRETER

at(home)

get_to(work) drive_to(work)

IntentionsDesires

Beliefs

walk_to(work)drive_to(work

rains

Plans

Page 19: Building Distributed and Robust Multi-agent Systems...Agent revival/restart (due to supervision) Monitoring in eJason Notifications as beliefs Monitors persist Fault recovery eJason

How do I program that?

Page 20: Building Distributed and Robust Multi-agent Systems...Agent revival/restart (due to supervision) Monitoring in eJason Notifications as beliefs Monitors persist Fault recovery eJason

How do I program that?

Page 21: Building Distributed and Robust Multi-agent Systems...Agent revival/restart (due to supervision) Monitoring in eJason Notifications as beliefs Monitors persist Fault recovery eJason

How do I program that?

Page 22: Building Distributed and Robust Multi-agent Systems...Agent revival/restart (due to supervision) Monitoring in eJason Notifications as beliefs Monitors persist Fault recovery eJason

Implements the BDI architecture and the reasoning cycle

Page 23: Building Distributed and Robust Multi-agent Systems...Agent revival/restart (due to supervision) Monitoring in eJason Notifications as beliefs Monitors persist Fault recovery eJason

at(home). //Beliefs

!get_to_work. //Desires

//Plans

+!get_to_work: at(home) <-

!leave(home);

!drive_to(work).

+!leave(home) <-

-at(home);

+at(street).

Page 24: Building Distributed and Robust Multi-agent Systems...Agent revival/restart (due to supervision) Monitoring in eJason Notifications as beliefs Monitors persist Fault recovery eJason

Multiagent systems

Page 25: Building Distributed and Robust Multi-agent Systems...Agent revival/restart (due to supervision) Monitoring in eJason Notifications as beliefs Monitors persist Fault recovery eJason

hello

hi

Tom Alice

Page 26: Building Distributed and Robust Multi-agent Systems...Agent revival/restart (due to supervision) Monitoring in eJason Notifications as beliefs Monitors persist Fault recovery eJason

!start.+!start: true <- .send(Alice,tell,hello)

hello

hi

Tom Alice

Page 27: Building Distributed and Robust Multi-agent Systems...Agent revival/restart (due to supervision) Monitoring in eJason Notifications as beliefs Monitors persist Fault recovery eJason

Jason problems

Concurrency

Lacks distribution mechanisms

Lacks fault-tolerant mechanisms

Page 28: Building Distributed and Robust Multi-agent Systems...Agent revival/restart (due to supervision) Monitoring in eJason Notifications as beliefs Monitors persist Fault recovery eJason

https://github.com/avalor/eJason

Page 29: Building Distributed and Robust Multi-agent Systems...Agent revival/restart (due to supervision) Monitoring in eJason Notifications as beliefs Monitors persist Fault recovery eJason

Corrects some of the concurrency problems

Distribution and fault-tolerant mechanisms in Jason

eJason interpreter implemented in Erlang

Page 30: Building Distributed and Robust Multi-agent Systems...Agent revival/restart (due to supervision) Monitoring in eJason Notifications as beliefs Monitors persist Fault recovery eJason

Concurrency problems

tidy(kitchen)go(home)

at(office)

Page 31: Building Distributed and Robust Multi-agent Systems...Agent revival/restart (due to supervision) Monitoring in eJason Notifications as beliefs Monitors persist Fault recovery eJason

Agent Erlang process

Container Erlang node

Agent naming

Distributionmanager

Page 32: Building Distributed and Robust Multi-agent Systems...Agent revival/restart (due to supervision) Monitoring in eJason Notifications as beliefs Monitors persist Fault recovery eJason
Page 33: Building Distributed and Robust Multi-agent Systems...Agent revival/restart (due to supervision) Monitoring in eJason Notifications as beliefs Monitors persist Fault recovery eJason

Fault-tolerance

Page 34: Building Distributed and Robust Multi-agent Systems...Agent revival/restart (due to supervision) Monitoring in eJason Notifications as beliefs Monitors persist Fault recovery eJason

Fault detection: monitoring

Page 35: Building Distributed and Robust Multi-agent Systems...Agent revival/restart (due to supervision) Monitoring in eJason Notifications as beliefs Monitors persist Fault recovery eJason

Monitoring in eJasonAgent appearance (reconnection or newly spawned)

Agent presence (availability)

Agent revival/restart (due to supervision)

Page 36: Building Distributed and Robust Multi-agent Systems...Agent revival/restart (due to supervision) Monitoring in eJason Notifications as beliefs Monitors persist Fault recovery eJason

Monitoring in eJason➔ Notifications as beliefs➔ Monitors persist

Page 37: Building Distributed and Robust Multi-agent Systems...Agent revival/restart (due to supervision) Monitoring in eJason Notifications as beliefs Monitors persist Fault recovery eJason

Fault recovery

Page 38: Building Distributed and Robust Multi-agent Systems...Agent revival/restart (due to supervision) Monitoring in eJason Notifications as beliefs Monitors persist Fault recovery eJason

eJason supervision➔ Dynamic supervision trees➔ Decoupling of supervisor and children

Page 39: Building Distributed and Robust Multi-agent Systems...Agent revival/restart (due to supervision) Monitoring in eJason Notifications as beliefs Monitors persist Fault recovery eJason

eJason new supervision capabilities

ping

Tom Alice

Page 40: Building Distributed and Robust Multi-agent Systems...Agent revival/restart (due to supervision) Monitoring in eJason Notifications as beliefs Monitors persist Fault recovery eJason

pong

Tom Alice

eJason new supervision capabilities

Page 41: Building Distributed and Robust Multi-agent Systems...Agent revival/restart (due to supervision) Monitoring in eJason Notifications as beliefs Monitors persist Fault recovery eJason

ping

Tom Alice

eJason new supervision capabilities

Page 42: Building Distributed and Robust Multi-agent Systems...Agent revival/restart (due to supervision) Monitoring in eJason Notifications as beliefs Monitors persist Fault recovery eJason

Tom Alice

eJason new supervision capabilities

Page 43: Building Distributed and Robust Multi-agent Systems...Agent revival/restart (due to supervision) Monitoring in eJason Notifications as beliefs Monitors persist Fault recovery eJason

ping

Tom Alice

eJason new supervision capabilities

Page 44: Building Distributed and Robust Multi-agent Systems...Agent revival/restart (due to supervision) Monitoring in eJason Notifications as beliefs Monitors persist Fault recovery eJason

Tom Alice

eJason new supervision capabilities

Page 45: Building Distributed and Robust Multi-agent Systems...Agent revival/restart (due to supervision) Monitoring in eJason Notifications as beliefs Monitors persist Fault recovery eJason

unblock

Tom Alice

eJason new supervision capabilities

Page 46: Building Distributed and Robust Multi-agent Systems...Agent revival/restart (due to supervision) Monitoring in eJason Notifications as beliefs Monitors persist Fault recovery eJason

Tom Alice

eJason new supervision capabilities

Page 47: Building Distributed and Robust Multi-agent Systems...Agent revival/restart (due to supervision) Monitoring in eJason Notifications as beliefs Monitors persist Fault recovery eJason

restart

Tom Alice

eJason new supervision capabilities

Page 48: Building Distributed and Robust Multi-agent Systems...Agent revival/restart (due to supervision) Monitoring in eJason Notifications as beliefs Monitors persist Fault recovery eJason

Fault Tolerance

Distribution Multi-agent Systems Programming

Distributed and Fault Tolerant

Multi-agent Systems

Page 49: Building Distributed and Robust Multi-agent Systems...Agent revival/restart (due to supervision) Monitoring in eJason Notifications as beliefs Monitors persist Fault recovery eJason

Thanks

Presentation design bywww.presentationmagazine.com