Changes between Version 5 and Version 6 of AgentArchitecture

11/12/2010 11:38:51 AM (10 years ago)



  • AgentArchitecture

    v5 v6  
     1== Lirec Agent Architecture == 
    13[[Image(3layerArchi.png, 700px)]] 
    1719SAMGAR utilises the [ YARP] framework that supports distributed computation and code re-use by structuring communication between modules (within and between the layers in the architecture). This allows modules with a high computational load to be cleanly decoupled and distributed between computers. SAMGAR adds to the functionality of YARP with a method of encapsulation, allowing multiple instances of identical modules to be present on shared networks without error for differing embodiments, therefore allowing code re-use and the ability for migration, along with a Graphical user interface to allow a more direct and more generic way to alter network parameters outside of hard code. SAMGAR is written in C++.  
     21'''Three Level Model''' 
     23The LIREC software architecture is based on the concept of a [ three layer architecture] facilitating software integration. The figure below shows how the 3 sub-systems fit within this concept. FAtiMA is exclusively located at level 3 while CMION provides a bridge between levels 3 and 2 (and on platforms where SAMGAR is unavailable even level 1) and SAMGAR bridges levels 2 and 1.  
     25[[Image(architecture-overview2.gif, 800px)]] 
     27FAtiMA is connected to CMION via a Socket connection. When FAtiMA selects an action for execution it is sent to CMION’s competency manager which selects a suitable execution plan that realizes the action on the current embodiment by invoking one or more competencies. Upon completion of this invocation, CMION will send a message to the FAtiMA reporting the success or failure of the action. Instead of being directly invoke by the mind, competencies can also be continuously running. This is usually the case for perception competencies. If such a competency detects information that is relevant for the agent mind it can update the world model component inside cmion, which is directly linked and synchronized with the FAtiMA agent’s internal knowledge base.  
     29The connection between CMION and SAMGAR is made on the level of individual competencies. In CMION an individual competency can be linked to a certain SAMGAR module. Whenever that SAMGAR module appears (i.e. is started) the connected competency in CMION will automatically be instantiated and available for invocation. When the competency runs it can communicate with its associated SAMGAR module through a Yarp Port and exchange any kind of data through this port (by using the flexible bottle data structure provided by Yarp).