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...
TRANSCRIPT
.. 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
– 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
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
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
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
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
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
VVIRTUALIRTUAL W WORLDORLD V VISUALIZATIONISUALIZATION
Wireframe mode
Simple lightening mode Multi-textured mode
Solid faces mode
SSYSTEM AT YSTEM AT WWORKORK
SSYSTEM AT YSTEM AT WWORKORK