tATAmI-2 a Flexible Framework for Modular Agents Andrei Olaru - - PowerPoint PPT Presentation

tatami 2 a flexible framework for modular agents
SMART_READER_LITE
LIVE PREVIEW

tATAmI-2 a Flexible Framework for Modular Agents Andrei Olaru - - PowerPoint PPT Presentation

tATAmI-2 a Flexible Framework for Modular Agents Andrei Olaru cs@andreiolaru.ro University Politehnica of Bucharest 28.05.2015 0 / 1 . Andrei Olaru cs@andreiolaru.ro . CSCS20 . Bucharest, Romania 28.05.2015 tATAmI-2 a


slide-1
SLIDE 1

tATAmI-2 – a Flexible Framework for Modular Agents

Andrei Olaru – cs@andreiolaru.ro University Politehnica of Bucharest 28.05.2015

0 / 1

. Andrei Olaru – cs@andreiolaru.ro . CSCS’20 . Bucharest, Romania 28.05.2015

slide-2
SLIDE 2

tATAmI-2 – a Flexible Framework for Modular Agents

  • verview

0 / 1

. Andrei Olaru – cs@andreiolaru.ro . CSCS’20 . Bucharest, Romania 28.05.2015

slide-3
SLIDE 3

· tATAmI-2 – a Flexible Framework for Modular Agents · ·

| Problem Context − → AmI

· Context: building a MAS framework for MAS-based AmI applications We require a framework with a lot of flexibility:

◮ agents must be able to run on various devices (PC, Android, iOS, Arduino) ◮ agents must be able to use various communication methods

· TCP/IP · web services · web sockets · queues · other?

◮ agents structure must be able to be very light or more complex

· behaviors · S-CLAIM · other AOP languages

1 / 1

. Andrei Olaru – cs@andreiolaru.ro . CSCS’20 . Bucharest, Romania 28.05.2015

slide-4
SLIDE 4

· tATAmI-2 – a Flexible Framework for Modular Agents · ·

| Problem Context

◮ How to model agents regardless of their internal structure? ◮ How to model communication and mobility services? ◮ How to control agents and platforms? ◮ How to correctly load platforms and agents?

2 / 1

. Andrei Olaru – cs@andreiolaru.ro . CSCS’20 . Bucharest, Romania 28.05.2015

slide-5
SLIDE 5

· tATAmI-2 – a Flexible Framework for Modular Agents · ·

| What are we doing?

CLAIM & SymPa A.Suna 2010 tATAmI-1 S-CLAIM Jade A.Olaru M.T. Benea T.T.N.Nguyen 2013 tATAmI-2 S-CLAIM ContextKB Jade A.Olaru M.T. Benea E.Sevastian 2015 tATAmI-2.5 platforms A.Olaru C.Mihai

3 / 1

. Andrei Olaru – cs@andreiolaru.ro . CSCS’20 . Bucharest, Romania 28.05.2015

slide-6
SLIDE 6

· tATAmI-2 – a Flexible Framework for Modular Agents · ·

| What are we doing? S-CLAIM Knowledge Visualization Base Jade agent

− →

tATAmI-1 class inheritance layers tATAmI-2 flexible modules/components

4 / 1

. Andrei Olaru – cs@andreiolaru.ro . CSCS’20 . Bucharest, Romania 28.05.2015

slide-7
SLIDE 7

· tATAmI-2 – a Flexible Framework for Modular Agents · ·

| tATAmI-2 Architecture

The tATAmI-2 framework connects all platforms and agents, accross multiple machines. A machine that is part of the framework; it hosts one

  • r more containers, which host agents.

A platform spans multiple machines and offers commu- nication, discovery and mobility services to agents. An agent runs inside a container, being loaded on a platform. A component runs inside an Composite agent an imple- ments functionality.

5 / 1

. Andrei Olaru – cs@andreiolaru.ro . CSCS’20 . Bucharest, Romania 28.05.2015

slide-8
SLIDE 8

· tATAmI-2 – a Flexible Framework for Modular Agents · ·

| tATAmI-2 Architecture

The platform is an entity that offers various types of services to agents.

· tATAmI-2 sees it as:

PlatformLoader .start() .stop() .loadAgent() .recommendComponent() · an agent sees it as platform link

  • can only be used by

specialized components Loading a platform: create instance − → start − → create containers − → create link agents − → load agents

6 / 1

. Andrei Olaru – cs@andreiolaru.ro . CSCS’20 . Bucharest, Romania 28.05.2015

slide-9
SLIDE 9

· tATAmI-2 – a Flexible Framework for Modular Agents · ·

| tATAmI-2 Architecture

The agent is a persistent, autonomous entity that percieves, acts and commu- nicates

· tATAmI-2 sees it as:

AgentManager .start() .stop() .setPlatformLink() · the platform is contacted by the agent’s specialized components An agent is loaded by an AgentLoader: create the agent loader − → pre-load the agent − → load the agent − → load the agent on the platform − → start − → enrol − → start simulation

7 / 1

. Andrei Olaru – cs@andreiolaru.ro . CSCS’20 . Bucharest, Romania 28.05.2015

slide-10
SLIDE 10

· tATAmI-2 – a Flexible Framework for Modular Agents · ·

| tATAmI-2 Architecture

load scenario load platforms load agent loaders pre-load agents start platforms create containers platform(s) boot Boot start Sim Link Agents Sim Mgr load agents load agents

  • nto platforms

start agents enrol agents with Sim Link Agents create agents Create Agents signal simulation start to all agents starts event timeline start Start Simulation . . . signal simulation stop to all agents agents stop components close agents Clear Agents stop Sim Link Agents stop platforms close GUI system exit platform(s) exit Exit 8 / 1

. Andrei Olaru – cs@andreiolaru.ro . CSCS’20 . Bucharest, Romania 28.05.2015

slide-11
SLIDE 11

· tATAmI-2 – a Flexible Framework for Modular Agents · ·

| tATAmI-2 Features

Use an XML scenario file to completely specify the initial configuration

<s c e n : p l a t f o r m> <s c e n : p a r a m e t e r name=”name” v a l u e=” l o c a l ” /> </ s c e n : p l a t f o r m> <s c e n : i n i t i a l> <s c e n : c o n t a i n e r name=” Container ”> <s c e n : a g e n t> <scen:component name=” p a r a m e t r i c ” /> <scen:component name=” v i s u a l i z a b l e ” /> <scen:component name=” messaging ” /> <scen:component name=” t e s t i n g ” c l a s s p a t h=” . . . PingBackTestComponent”> <s c e n : p a r a m e t e r name=” other agent ” v a l u e=”AgentB” /> <s c e n : p a r a m e t e r name=” i n i t i a t o r ” v a l u e=” t r u e ” /> </ scen:component> <s c e n : p a r a m e t e r name=” l o a d e r ” v a l u e=” composite ” /> <s c e n : p a r a m e t e r name=”name” v a l u e=”AgentA” /> </ s c e n : a g e n t> <s c e n : a g e n t> <scen:component name=” p a r a m e t r i c ” /> <scen:component name=” v i s u a l i z a b l e ” /> <scen:component name=” messaging ” /> <scen:component name=” t e s t i n g ” c l a s s p a t h=” . . . PingBackTestComponent” /> <s c e n : p a r a m e t e r name=” l o a d e r ” v a l u e=” composite ” /> <s c e n : p a r a m e t e r name=”name” v a l u e=”AgentB” /> </ s c e n : a g e n t> </ s c e n : c o n t a i n e r> </ s c e n : i n i t i a l>

9 / 1

. Andrei Olaru – cs@andreiolaru.ro . CSCS’20 . Bucharest, Romania 28.05.2015

slide-12
SLIDE 12

· tATAmI-2 – a Flexible Framework for Modular Agents · ·

| tATAmI-2 Features

Composite agents are formed of components which communicate by means of an event queue.

· and agent sees it as:

AgentComponent .parentChangeNotifier() .signalEvent() · tATAmI-2 sees it as .initialize() .preload() Loading a component: initialize − → preload − → add to agent − → agent start − → simulation start

10 / 1

. Andrei Olaru – cs@andreiolaru.ro . CSCS’20 . Bucharest, Romania 28.05.2015

slide-13
SLIDE 13

· tATAmI-2 – a Flexible Framework for Modular Agents · ·

| tATAmI-2 Features

Example: the Messaging Component – abstracts messaging services · A message is abstracted as a content sent between two endpoints · An endpoint has an external path and an internal path jade:platform-1/AgentA

  • external path (agent address)

/VISUALIZATION/CONTROL

  • internal path

◮ can be extended by any component offering messaging services ◮ provides metods such as send(), registerMessageHandler(),

getAgentAddress()

◮ is able to access the platform by using the platform link ◮ each platform is able to recommend a corresponding messaging

component

11 / 1

. Andrei Olaru – cs@andreiolaru.ro . CSCS’20 . Bucharest, Romania 28.05.2015

slide-14
SLIDE 14

· tATAmI-2 – a Flexible Framework for Modular Agents · ·

| Implementation

◮ tATAmI-2 core ◮ local messaging platform + corresponding component ◮ Jade messaging platform + corresponding component ◮ WebSocket messaging platform + corresponding component ◮ visualization, control, S-CLAIM interpreter ◮ various test components

12 / 1

. Andrei Olaru – cs@andreiolaru.ro . CSCS’20 . Bucharest, Romania 28.05.2015

slide-15
SLIDE 15

· tATAmI-2 – a Flexible Framework for Modular Agents · ·

| Implementation

Andrei Olaru · architecture · main development Marius-Tudor Benea · S-CLAIM development · Android development Amal El-Fallah Seghrouchni · tATAmI-1 coordination Emma Sevastian · scenario implementation Cosmin Mihai · WebSocket messaging Thi Thuy Nga Nguyen · tATAmI-1 development Adina Magda Florea · coordination

13 / 1

. Andrei Olaru – cs@andreiolaru.ro . CSCS’20 . Bucharest, Romania 28.05.2015

slide-16
SLIDE 16

· tATAmI-2 – a Flexible Framework for Modular Agents · ·

| Implementation

◮ multiple platforms running at the same time ; same agent communicating

through different means

◮ web service messaging ◮ conversation support ◮ Android deployment (supported in tATAmI-1)

14 / 1

. Andrei Olaru – cs@andreiolaru.ro . CSCS’20 . Bucharest, Romania 28.05.2015

slide-17
SLIDE 17

Thank You!

Any Questions?

14 / 1

. Andrei Olaru – cs@andreiolaru.ro . CSCS’20 . Bucharest, Romania 28.05.2015