e lendor.. e l e n d o r. t he s oftware f ramework f or m ulti -a gent s ystems research a ndrey t...

10
. . E E l l e e n n d d o o r r . . T T HE HE S S OFTWARE OFTWARE F F RAMEWORK RAMEWORK F F OR OR M M ULTI ULTI -A -A GENT GENT S S YSTEMS YSTEMS RESEARCH RESEARCH A A NDREY NDREY T T ATARINOV ATARINOV V V ASILY ASILY F F EDOSEEV EDOSEEV V V SEVOLOD SEVOLOD U U STINOV STINOV

Upload: eugenia-sanders

Post on 01-Jan-2016

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: E lendor.. E l e n d o r. T HE S OFTWARE F RAMEWORK F OR M ULTI -A GENT S YSTEMS RESEARCH A NDREY T ATARINOV V ASILY F EDOSEEV V SEVOLOD U STINOV

.. EE ll ee nn dd oo rr ..

TTHEHE S SOFTWAREOFTWARE F FRAMEWORKRAMEWORK

FFOROR M MULTIULTI-A-AGENTGENT S SYSTEMSYSTEMSRESEARCHRESEARCH

AANDREYNDREY T TATARINOVATARINOV

VVASILYASILY F FEDOSEEVEDOSEEV

VVSEVOLODSEVOLOD U USTINOVSTINOV

Page 2: E lendor.. E l e n d o r. T HE S OFTWARE F RAMEWORK F OR M ULTI -A GENT S YSTEMS RESEARCH A NDREY T ATARINOV V ASILY F EDOSEEV V SEVOLOD U STINOV

– Agents don’t concern any information about external modules– Agents initialize interactions with each other via Agents Server (and may continue the interaction directly for optimization)– Agents may use any module which has exported its interface to Language Linker– Agents are composed from orthogonal projections to a subset of system modules at current system state

AGENTS’ PROPERTIES

MMULTIULTI-A-AGENTGENT S SYSTEMSYSTEMS

PhysicalEngine

PhysicalEngine

Agents ServerAgents ServerАгентАгент

АгентAgent

Language LinkerLanguage LinkerАгентАгент

АгентOther Modules

Page 3: E lendor.. E l e n d o r. T HE S OFTWARE F RAMEWORK F OR M ULTI -A GENT S YSTEMS RESEARCH A NDREY T ATARINOV V ASILY F EDOSEEV V SEVOLOD U STINOV

Language Linker(Inter-language Gate)

Language Linker(Inter-language Gate)

DebuggersDebuggers

Integrated DevelopmentEnvironment (IDE)

Integrated DevelopmentEnvironment (IDE)

PROGRAMMING LANGUAGES SUPPORT SUBSYSTEM

Agents ServerAgents ServerData Access GateData Access Gate Physical EnginePhysical Engine

BASE SUPPORT SUBSYSTEM

3DS Max ModelsImport Module

3DS Max ModelsImport Module

VisualizationEngine

VisualizationEngine Sound EngineSound Engine

EXTENDED SUPPORT SUBSYSTEM

K E R N E L

MULTI-AGENT FRAMEWORK

XroftAndrew

Tatarinov

XroftAndrew

Tatarinov

VasfedVasily

Fedoseev

VasfedVasily

Fedoseev

SeVsevolodUstinov

SeVsevolodUstinov

The Developers

ARCHITECTUREARCHITECTURECONCEPTSCONCEPTS

STRUCTURALSTRUCTURAL

Modularity

Open Design

Multi-Layer

Distributed

OS-in-OS

FUNCTIONALFUNCTIONAL

Flexibility

Reliability

Scalability

Portability

Scriptability

ARCHITECTUREARCHITECTURECONCEPTSCONCEPTS

STRUCTURALSTRUCTURAL

Modularity

Open Design

Multi-Layer

Distributed

OS-in-OS

FUNCTIONALFUNCTIONAL

Flexibility

Reliability

Scalability

Portability

Scriptability

PropertyPanels

PropertyPanels

Software Abstraction Layer (SAL) Software Abstraction Layer (SAL)

ComponentsLoader

Components loading,basic modules interaction,system integrity support

ComponentsLoader

Components loading,basic modules interaction,system integrity support

ExecutionManager

Threads and processcontrol and interaction,event-driven process

management

ExecutionManager

Threads and processcontrol and interaction,event-driven process

management

EventManager

System state control,structural synchronous

dump, exception manager

EventManager

System state control,structural synchronous

dump, exception manager

SystemConsole

System and configurationcommands interpretation,direct user system control

SystemConsole

System and configurationcommands interpretation,direct user system control

…Storage Master

Multi-type array object storage,RAM and resources allocation

Storage Master Multi-type array object storage,RAM and resources allocation

Data Abstractor andCompiler Abstraction Layer (CAL)

Type-safe Storage Master API(data abstraction and data type support)

Data Abstractor andCompiler Abstraction Layer (CAL)

Type-safe Storage Master API(data abstraction and data type support)

NetworkDistributor

Remote calls (RPC),data synchronization

and access management

NetworkDistributor

Remote calls (RPC),data synchronization

and access management

Hardware Abstraction Layer (HAL),including processor-specific optimizations

Hardware Abstraction Layer (HAL),including processor-specific optimizations

SSYSTEMYSTEM A ARCHITECTURERCHITECTURE SSYSTEMYSTEM A ARCHITECTURERCHITECTURE

CompilersCompilers

InterpretersInterpreters

Page 4: E lendor.. E l e n d o r. T HE S OFTWARE F RAMEWORK F OR M ULTI -A GENT S YSTEMS RESEARCH A NDREY T ATARINOV V ASILY F EDOSEEV V SEVOLOD U STINOV

MMODULEODULE AND AND AAGENTGENT S STRUCTURETRUCTURE

Soundrepresentation

Soundrepresentation

Visualrepresentation

Visualrepresentation

Physicalrepresentation

Physicalrepresentation

Compiled languagerepresentation

Compiled languagerepresentation

Elendor C++representationElendor C++

representation

Smalltalkrepresentation

Smalltalkrepresentation

AgentRoot(required)

AgentRoot(required)

GraphicalEngine

GraphicalEngine

PhysicalEngine

PhysicalEngine

SoundEngineSoundEngine

LanguageLinker

LanguageLinker

AgentsServerAgentsServer

AGENT

Language Linkerrepresentation

Language Linkerrepresentation

Data TypesDefinition

Data TypesDefinition

Module-specificInterface

Module-specificInterface

CommonComponent

Interface(required)

CommonComponent

Interface(required)

StorageMaster

StorageMaster

OtherModules

OtherModulesOther

ModulesOther

ModulesOther

ModulesOther

Modules

LanguageLinker

LanguageLinker

ComponentsLoader

ComponentsLoader

MODULE

Module/AgentLogic

Module/AgentLogic

OtherModules

OtherModulesOther

ModulesOther

ModulesExternal

LanguagesExternal

Languages

OtherModules

OtherModulesOther

ModulesOther

ModulesExternal

LanguagesExternal

Languages

Page 5: E lendor.. E l e n d o r. T HE S OFTWARE F RAMEWORK F OR M ULTI -A GENT S YSTEMS RESEARCH A NDREY T ATARINOV V ASILY F EDOSEEV V SEVOLOD U STINOV

PHYSICAL ENGINE

– Moves agents in virtual space using real-physics laws

– Detects and processes collisions between agents and other objects and the landscape

GRAPHICAL ENGINE

– Visualizes agents in a virtual world

– Allows to move around a virtual world and to watch agents’ behavior

PPHYSICALHYSICAL ANDAND G GRAPHICALRAPHICAL E ENGINESNGINES

GraphicalEngine

GraphicalEngine

PhysicalEngine

PhysicalEngine

ExecutionControllerExecutionController

AgentsServerAgentsServer

The ConsoleThe Console

PhysicalEngine

PhysicalEngine

GraphicalEngine

GraphicalEngine

Page 6: E lendor.. E l e n d o r. T HE S OFTWARE F RAMEWORK F OR M ULTI -A GENT S YSTEMS RESEARCH A NDREY T ATARINOV V ASILY F EDOSEEV V SEVOLOD U STINOV

NNETWORKETWORK S SUPPORTUPPORT

TCP/IPNetwork

Address TableAddress Table

RPC TableRPC Table

Primary ConnectorPrimary Connector

StorageMaster

StorageMaster

OthermodulesOther

modules

NETWORK ENGINE

Address TableAddress Table

RPC TableRPC Table

Primary ConnectorPrimary Connector

StorageMaster

StorageMaster

MACHINE 1

OtherModulesOther

ModulesOther

modules

NETWORK ENGINE

OS WINDOWS

SoftwareAbstraction Layer

SoftwareAbstraction Layer

Address TableAddress Table

RPC TableRPC Table

Primary ConnectorPrimary Connector

StorageMaster

StorageMaster

MACHINE 2

OtherModulesOther

ModulesOther

modules

NETWORK ENGINE

OS LINUX

SoftwareAbstraction Layer

SoftwareAbstraction Layer

MACHINE N

OS ?????

SoftwareAbstraction Layer

SoftwareAbstraction Layer

Page 7: E lendor.. E l e n d o r. T HE S OFTWARE F RAMEWORK F OR M ULTI -A GENT S YSTEMS RESEARCH A NDREY T ATARINOV V ASILY F EDOSEEV V SEVOLOD U STINOV

LLANGUAGEANGUAGE S SUBSYSTEMUBSYSTEM

– Language subsystem translates the sources to byte-code and allows to execute and debug this code on virtual machines provided by language support modules

– The subsystem is designed to work with any set of programming languages

– Language linker is responsible for interaction of portions of code written in different languages and executed on different virtual machines

– It is possible to use few languages to develop one agent or module

– Currently, the modules for Smalltalk, Elendor-C++ (a subset of C++) and Console scripting language (ECSL) is provided

Language Linker(inter-language gate)

Language Linker(inter-language gate)

AgentsServerAgentsServer

ExecutionControllerExecutionController

Translators

Debuggers

Virtual Machines

LANGUAGE SUPPORTMODULES

Page 8: E lendor.. E l e n d o r. T HE S OFTWARE F RAMEWORK F OR M ULTI -A GENT S YSTEMS RESEARCH A NDREY T ATARINOV V ASILY F EDOSEEV V SEVOLOD U STINOV

VVIRTUALIRTUAL W WORLDORLD V VISUALIZATIONISUALIZATION

Wireframe mode

Simple lightening mode Multi-textured mode

Solid faces mode

Page 9: E lendor.. E l e n d o r. T HE S OFTWARE F RAMEWORK F OR M ULTI -A GENT S YSTEMS RESEARCH A NDREY T ATARINOV V ASILY F EDOSEEV V SEVOLOD U STINOV

SSYSTEM AT YSTEM AT WWORKORK

Page 10: E lendor.. E l e n d o r. T HE S OFTWARE F RAMEWORK F OR M ULTI -A GENT S YSTEMS RESEARCH A NDREY T ATARINOV V ASILY F EDOSEEV V SEVOLOD U STINOV

SSYSTEM AT YSTEM AT WWORKORK