Multi-agent systems can be viewed as a software architecture style consisting of autonomous components called agents. The agents interact through message passing according to a predefined protocol. There are different organizational styles for multi-agent systems including hierarchical, flat, subsumption, and modular organizations. Effective multi-agent systems require specially designed communication protocols that fit the agent architecture, organization, and tasks. Standard communication languages and protocols are increasingly used to facilitate conversations between agents from different systems.
Introduction to agents and multi-agent systemsAntonio Moreno
Multi-agent systems course at University Rovira i Virgili. Slides mostly based on those of Rosenschein, from the content of the book by Wooldridge.
Lecture 1-Introduction to agents and multi-agent systems.
Multiagent Based Methodologies have become an
important subject of research in advance Software Engineering.
Several methodologies have been proposed as, a theoretical
approach, to facilitate and support the development of complex
distributed systems. An important question when facing the
construction of Agent Applications is deciding which
methodology to follow. Trying to answer this question, a
framework with several criteria is applied in this paper for the
comparative analysis of existing multiagent system
methodologies. The results of the comparative over two of them,
conclude that those methodologies have not reached a sufficient
maturity level to be used by the software industry. The
framework has also proved its utility for the evaluation of any
kind of Multiagent Based Software Engineering Methodology
Requirement analysis, architectural design and formal verification of a multi...ijcsit
This paper presents an approach based on the analysis, design, and formal verification of a multi-agent
based university Information Management System (IMS). University IMS accesses information, creates
reports and facilitates teachers as well as students. An orchestrator agent manages the coordination
between all agents. It also manages the database connectivity for the whole system. The proposed IMS is
based on BDI agent architecture, which models the system based on belief, desire, and intentions. The
correctness properties of safety and liveness are specified by First-order predicate logic.
Introduction to agents and multi-agent systemsAntonio Moreno
Multi-agent systems course at University Rovira i Virgili. Slides mostly based on those of Rosenschein, from the content of the book by Wooldridge.
Lecture 1-Introduction to agents and multi-agent systems.
Multiagent Based Methodologies have become an
important subject of research in advance Software Engineering.
Several methodologies have been proposed as, a theoretical
approach, to facilitate and support the development of complex
distributed systems. An important question when facing the
construction of Agent Applications is deciding which
methodology to follow. Trying to answer this question, a
framework with several criteria is applied in this paper for the
comparative analysis of existing multiagent system
methodologies. The results of the comparative over two of them,
conclude that those methodologies have not reached a sufficient
maturity level to be used by the software industry. The
framework has also proved its utility for the evaluation of any
kind of Multiagent Based Software Engineering Methodology
Requirement analysis, architectural design and formal verification of a multi...ijcsit
This paper presents an approach based on the analysis, design, and formal verification of a multi-agent
based university Information Management System (IMS). University IMS accesses information, creates
reports and facilitates teachers as well as students. An orchestrator agent manages the coordination
between all agents. It also manages the database connectivity for the whole system. The proposed IMS is
based on BDI agent architecture, which models the system based on belief, desire, and intentions. The
correctness properties of safety and liveness are specified by First-order predicate logic.
This presentation covers agent technology for artificial intelligence. Topics covered are as follows: expert systems, overcoming expert systems limitations, agent, what is an agent, definition of an agent, agents versus expert systems, how is an agent different from other software, types of agents, deliberate versus reactive, interface versus information, mobile versus stationary, and why a mobile agent.
International Journal of Engineering Research and Applications (IJERA) aims to cover the latest outstanding developments in the field of all Engineering Technologies & science.
International Journal of Engineering Research and Applications (IJERA) is a team of researchers not publication services or private publications running the journals for monetary benefits, we are association of scientists and academia who focus only on supporting authors who want to publish their work. The articles published in our journal can be accessed online, all the articles will be archived for real time access.
Our journal system primarily aims to bring out the research talent and the works done by sciaentists, academia, engineers, practitioners, scholars, post graduate students of engineering and science. This journal aims to cover the scientific research in a broader sense and not publishing a niche area of research facilitating researchers from various verticals to publish their papers. It is also aimed to provide a platform for the researchers to publish in a shorter of time, enabling them to continue further All articles published are freely available to scientific researchers in the Government agencies,educators and the general public. We are taking serious efforts to promote our journal across the globe in various ways, we are sure that our journal will act as a scientific platform for all researchers to publish their works online.
Adaptive guidance model based similarity for software process development pro...ijseajournal
This paper describes a modeling approach SAGM (Similarity for Adaptive Guidance Model) that provides
adaptive and recursive guidance for software process development. This approach, in accordance to
developer needs, allows specific tailored guidance regarding the profile of developers. A profile is partially
or completely defined from a model of developers, through their roles, their qualifications, and through the
relationships between the context of the current activity and the model of the defined activities. This
approach aims to define the generic profile of development context and a similarity measure that evaluates
the similarities between the profiles created from the model of developers and those of the development
team involved in the execution of a software process. This is to identify the profiles classification and to
deduce the appropriate type of assistance to developers (that can be corrective, constructive or specific).
Seminarie Computernetwerken 2012-2013: Lecture I, 26-02-2013Vincenzo De Florio
Seminarie Computernetwerken is a course given at Universiteit Antwerpen, Belgium
A series of seminars focusing on various themes changing from year to year.
This year's themes are: resilience, behaviour, evolvability; in systems, networks, and organizations
In what follows we describe:
themes of the course
view to the seminars
rules of the game
Can “Feature” be used to Model the Changing Access Control Policies? IJORCS
Access control policies [ACPs] regulate the access to data and resources in information systems. These ACPs are framed from the functional requirements and the Organizational security & privacy policies. It was found to be beneficial, when the ACPs are included in the early phases of the software development leading to secure development of information systems. Many approaches are available for including the ACPs in requirements and design phase. They relied on UML artifacts, Aspects and also Feature for this purpose. But the earlier modeling approaches are limited in expressing the evolving ACPs due to organizational policy changes and business process modifications. In this paper, we analyze, whether “Feature”- defined as an increment in program functionality can be used as a modeling entity to represent the Evolving Access control requirements. We discuss the two prominent approaches that use Feature in modeling ACPs. Also we have a comparative analysis to find the suitability of Features in the context of changing ACPs. We conclude with our findings and provide directions for further research.
IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...IJCSEA Journal
Software metrics are increasingly playing a central role in the planning and control of software development projects. Coupling measures have important applications in software development and maintenance. Existing literature on software metrics is mainly focused on centralized systems, while work in the area of distributed systems, particularly in service-oriented systems, is scarce. Distributed systems with service oriented components are even more heterogeneous networking and execution environment. Traditional coupling measures take into account only “static” couplings. They do not account for “dynamic” couplings due to polymorphism and may significantly underestimate the complexity of software and misjudge the need for code inspection, testing and debugging. This is expected to result in poor predictive accuracy of the quality models in distributed Object Oriented systems that utilize static coupling measurements. In order to overcome these issues, we propose a hybrid model in Distributed Object Oriented Software for measure the coupling dynamically. In the proposed method, there are three steps
such as Instrumentation process, Post processing and Coupling measurement. Initially the instrumentation process is done. In this process the instrumented JVM that has been modified to trace method calls. During this process, three trace files are created namely .prf, .clp, .svp. In the second step, the information in these file are merged. At the end of this step, the merged detailed trace of each JVM contains pointers to the merged trace files of the other JVM such that the path of every remote call from the client to the server can be uniquely identified. Finally, the coupling metrics are measured dynamically. The implementation results show that the proposed system will effectively measure the coupling metrics dynamically.
Graph-Based Algorithm for a User-Aware SaaS Approach: Computing Optimal Distr...IJERA Editor
As a tool to exploit economies of scale, Software as a Service cloud models promote Multi-Tenancy which is the notion of sharing instances among a large group of tenants. However, Multi-Tenancy only satisfies requirements that are common to all tenants as well as the fact that tenants themselves hesitate about sharing. In a try to solve this problem, the present paper propose a User-Aware approach for Software as a Service models using Rich-Variant Components. The main contribution of this approach is a framework summarized in a graphbased algorithm enabling deduction of an optimal distribution of instances on application's tenants. To illustrate and evaluate the framework, the approach is applied on a Software as a Service Application for private school management
The IT-GRC platform is a solution that is based on
the paradigm of distributed systems, based on multi-agent systems
(MAS) in its different parts namely the user interface, the static
and dynamic configuration of the organization management
profiles, the choice of the best repository and the processing of
processes, it takes advantage of the autonomy and learning aspect
of ADMs as well as their high-level communication and
coordination. However, these technological components are
difficult to manipulate, or users lack the necessary skills to use
them correctly. In this situation, the modeling of a communication
architecture is necessary, in order to adapt the functionalities of
the platform to the needs of the users. To help achieve these goals,
it is necessary to develop a functional and intelligent
communication architecture, adaptable and able to provide a
support framework, allowing access to system functionalities
regardless of physical and time constraints.
This presentation covers agent technology for artificial intelligence. Topics covered are as follows: expert systems, overcoming expert systems limitations, agent, what is an agent, definition of an agent, agents versus expert systems, how is an agent different from other software, types of agents, deliberate versus reactive, interface versus information, mobile versus stationary, and why a mobile agent.
International Journal of Engineering Research and Applications (IJERA) aims to cover the latest outstanding developments in the field of all Engineering Technologies & science.
International Journal of Engineering Research and Applications (IJERA) is a team of researchers not publication services or private publications running the journals for monetary benefits, we are association of scientists and academia who focus only on supporting authors who want to publish their work. The articles published in our journal can be accessed online, all the articles will be archived for real time access.
Our journal system primarily aims to bring out the research talent and the works done by sciaentists, academia, engineers, practitioners, scholars, post graduate students of engineering and science. This journal aims to cover the scientific research in a broader sense and not publishing a niche area of research facilitating researchers from various verticals to publish their papers. It is also aimed to provide a platform for the researchers to publish in a shorter of time, enabling them to continue further All articles published are freely available to scientific researchers in the Government agencies,educators and the general public. We are taking serious efforts to promote our journal across the globe in various ways, we are sure that our journal will act as a scientific platform for all researchers to publish their works online.
Adaptive guidance model based similarity for software process development pro...ijseajournal
This paper describes a modeling approach SAGM (Similarity for Adaptive Guidance Model) that provides
adaptive and recursive guidance for software process development. This approach, in accordance to
developer needs, allows specific tailored guidance regarding the profile of developers. A profile is partially
or completely defined from a model of developers, through their roles, their qualifications, and through the
relationships between the context of the current activity and the model of the defined activities. This
approach aims to define the generic profile of development context and a similarity measure that evaluates
the similarities between the profiles created from the model of developers and those of the development
team involved in the execution of a software process. This is to identify the profiles classification and to
deduce the appropriate type of assistance to developers (that can be corrective, constructive or specific).
Seminarie Computernetwerken 2012-2013: Lecture I, 26-02-2013Vincenzo De Florio
Seminarie Computernetwerken is a course given at Universiteit Antwerpen, Belgium
A series of seminars focusing on various themes changing from year to year.
This year's themes are: resilience, behaviour, evolvability; in systems, networks, and organizations
In what follows we describe:
themes of the course
view to the seminars
rules of the game
Can “Feature” be used to Model the Changing Access Control Policies? IJORCS
Access control policies [ACPs] regulate the access to data and resources in information systems. These ACPs are framed from the functional requirements and the Organizational security & privacy policies. It was found to be beneficial, when the ACPs are included in the early phases of the software development leading to secure development of information systems. Many approaches are available for including the ACPs in requirements and design phase. They relied on UML artifacts, Aspects and also Feature for this purpose. But the earlier modeling approaches are limited in expressing the evolving ACPs due to organizational policy changes and business process modifications. In this paper, we analyze, whether “Feature”- defined as an increment in program functionality can be used as a modeling entity to represent the Evolving Access control requirements. We discuss the two prominent approaches that use Feature in modeling ACPs. Also we have a comparative analysis to find the suitability of Features in the context of changing ACPs. We conclude with our findings and provide directions for further research.
IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...IJCSEA Journal
Software metrics are increasingly playing a central role in the planning and control of software development projects. Coupling measures have important applications in software development and maintenance. Existing literature on software metrics is mainly focused on centralized systems, while work in the area of distributed systems, particularly in service-oriented systems, is scarce. Distributed systems with service oriented components are even more heterogeneous networking and execution environment. Traditional coupling measures take into account only “static” couplings. They do not account for “dynamic” couplings due to polymorphism and may significantly underestimate the complexity of software and misjudge the need for code inspection, testing and debugging. This is expected to result in poor predictive accuracy of the quality models in distributed Object Oriented systems that utilize static coupling measurements. In order to overcome these issues, we propose a hybrid model in Distributed Object Oriented Software for measure the coupling dynamically. In the proposed method, there are three steps
such as Instrumentation process, Post processing and Coupling measurement. Initially the instrumentation process is done. In this process the instrumented JVM that has been modified to trace method calls. During this process, three trace files are created namely .prf, .clp, .svp. In the second step, the information in these file are merged. At the end of this step, the merged detailed trace of each JVM contains pointers to the merged trace files of the other JVM such that the path of every remote call from the client to the server can be uniquely identified. Finally, the coupling metrics are measured dynamically. The implementation results show that the proposed system will effectively measure the coupling metrics dynamically.
Graph-Based Algorithm for a User-Aware SaaS Approach: Computing Optimal Distr...IJERA Editor
As a tool to exploit economies of scale, Software as a Service cloud models promote Multi-Tenancy which is the notion of sharing instances among a large group of tenants. However, Multi-Tenancy only satisfies requirements that are common to all tenants as well as the fact that tenants themselves hesitate about sharing. In a try to solve this problem, the present paper propose a User-Aware approach for Software as a Service models using Rich-Variant Components. The main contribution of this approach is a framework summarized in a graphbased algorithm enabling deduction of an optimal distribution of instances on application's tenants. To illustrate and evaluate the framework, the approach is applied on a Software as a Service Application for private school management
The IT-GRC platform is a solution that is based on
the paradigm of distributed systems, based on multi-agent systems
(MAS) in its different parts namely the user interface, the static
and dynamic configuration of the organization management
profiles, the choice of the best repository and the processing of
processes, it takes advantage of the autonomy and learning aspect
of ADMs as well as their high-level communication and
coordination. However, these technological components are
difficult to manipulate, or users lack the necessary skills to use
them correctly. In this situation, the modeling of a communication
architecture is necessary, in order to adapt the functionalities of
the platform to the needs of the users. To help achieve these goals,
it is necessary to develop a functional and intelligent
communication architecture, adaptable and able to provide a
support framework, allowing access to system functionalities
regardless of physical and time constraints.
Introductory tutorial on the foundations of agents and multi-agent systems at the 18th European Agent Systems Summer School (EASSS 2016) – 25 July 2016, Catania, Italy
FIPA provides its members a high quality mentoring program where experienced IT professionals transfer valuable knowledge to professionals of the future.
Mentoring program is a yearlong person-to-person interaction where a competent and experienced senior expert will act as a mentor. Mentor guides, supports and assists a younger professional, a mentee, to develop professional skills and success. Program offers thought-provoking and topical training sessions with a skilled network for mentors as well as new insights through the mentoring of a young talent.
I am doing research "Multi Agents System Software Development Methodology on Mobile Operating Systems using JADE". The slide is only my proposal slides. Final slide will be soon. :)
Introduction to Agents and Multi-agent Systems (lecture slides)Dagmar Monett
Online lecture at the School of Computer Science, University of Hertfordshire, Hatfield, UK, as part of the 10th Europe Week from 3rd to 7th March 2014.
Intelligent Buildings: Foundation for Intelligent Physical AgentsIJERA Editor
FIPA is an IEEE Computer Society standards organization that promotes agent-based technology and the interoperability of its standards with other technologies. In the design phase of Intelligent Buildings, it is essential to manage many services and facilities, to do this, multi-agent systems are a good tool to manage them. In this paper, we will gereneral description of the features and elements of multiagent systems described by Foundation for Intelligent Physical Agents (FIPA). Secondly, we will focus on the architectures of these multiagent systems. And finally, we will propose a multi-agent system design to see the application in the design of a detached house where the lighting, air conditioning and security systems will be integrated.
Software Archtecture.
Software design is a process to transform user requirements into some suitable form, which helps the programmer in software coding and implementation.
Software design is the important step in SDLC (Software Design Life Cycle), which moves the concentration from problem domain to solution domain. It tries to specify how to fulfill the requirements mentioned in SRS.
Software design plays an important role in developing software: during software design, software engineers produce various models that form a kind of blueprint of the solution to be implemented
A Survey of Service Oriented Architecture Systems Maintenance Approaches ijcsit
Maintenance of Service Oriented Architectures (SOA) plays an important role in guaranteeing
and previews a successful deployment in any enterprise. The SOA "development and
maintenance" process demands, must apply the traditional system evolution and maintenance
rules. The conditions in SOA are different from the traditional software developing and
maintenance, so we present in this survey paper the roles of SOA system developers and the
different approaches for SOA maintenance systems as a problem's solution of using the
traditional approaches for object oriented system.
[2015/2016] Introduction to software architectureIvano Malavolta
This presentation is about a lecture I gave within the "Software systems and services" immigration course at the Gran Sasso Science Institute, L'Aquila (Italy): http://cs.gssi.infn.it/.
http://www.ivanomalavolta.com
Presenting an Excusable Model of Enterprise Architecture for Evaluation of R...Editor IJCATR
Upon increasing application of unified modeling language diagrams for description of enterprise architecture and
importance of evaluating the non-functional requirements in the enterprise architecture, establishing an executable model of these
diagrams is necessary. On the other side, unified modeling language diagrams have not the capability of evaluating the non-functional
requirements of system directly. The simplicity and characteristics of these diagrams must be reserved and the capability of evaluating
these requirements to be incorporated thereto. To achieve this goal, an executable model of these diagrams to be Created.
In this paper, it is assumed that architecture of a system has been described by two use case and collaboration diagrams of unified
modeling language. The role of these diagrams in evaluation of reliability and annotations related thereto has been examined and
extended by a algorithm to an executable model means colored Petri net. In this study, the procedure of establishing an executable
model that can analyze the reliability of artifacts in C4ISR framework. According to the results obtained from simulation of this model
and their analysis, we could identify the problems in planning phase and improve out artifacts in order to avoid the extreme time and
economic costs of implementation.
Similar to Topic 4 -software architecture viewpoint-multi-agent systems-a software architecture-viewpoint (20)
Introduction to AI for Nonprofits with Tapp NetworkTechSoup
Dive into the world of AI! Experts Jon Hill and Tareq Monaur will guide you through AI's role in enhancing nonprofit websites and basic marketing strategies, making it easy to understand and apply.
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...Levi Shapiro
Letter from the Congress of the United States regarding Anti-Semitism sent June 3rd to MIT President Sally Kornbluth, MIT Corp Chair, Mark Gorenberg
Dear Dr. Kornbluth and Mr. Gorenberg,
The US House of Representatives is deeply concerned by ongoing and pervasive acts of antisemitic
harassment and intimidation at the Massachusetts Institute of Technology (MIT). Failing to act decisively to ensure a safe learning environment for all students would be a grave dereliction of your responsibilities as President of MIT and Chair of the MIT Corporation.
This Congress will not stand idly by and allow an environment hostile to Jewish students to persist. The House believes that your institution is in violation of Title VI of the Civil Rights Act, and the inability or
unwillingness to rectify this violation through action requires accountability.
Postsecondary education is a unique opportunity for students to learn and have their ideas and beliefs challenged. However, universities receiving hundreds of millions of federal funds annually have denied
students that opportunity and have been hijacked to become venues for the promotion of terrorism, antisemitic harassment and intimidation, unlawful encampments, and in some cases, assaults and riots.
The House of Representatives will not countenance the use of federal funds to indoctrinate students into hateful, antisemitic, anti-American supporters of terrorism. Investigations into campus antisemitism by the Committee on Education and the Workforce and the Committee on Ways and Means have been expanded into a Congress-wide probe across all relevant jurisdictions to address this national crisis. The undersigned Committees will conduct oversight into the use of federal funds at MIT and its learning environment under authorities granted to each Committee.
• The Committee on Education and the Workforce has been investigating your institution since December 7, 2023. The Committee has broad jurisdiction over postsecondary education, including its compliance with Title VI of the Civil Rights Act, campus safety concerns over disruptions to the learning environment, and the awarding of federal student aid under the Higher Education Act.
• The Committee on Oversight and Accountability is investigating the sources of funding and other support flowing to groups espousing pro-Hamas propaganda and engaged in antisemitic harassment and intimidation of students. The Committee on Oversight and Accountability is the principal oversight committee of the US House of Representatives and has broad authority to investigate “any matter” at “any time” under House Rule X.
• The Committee on Ways and Means has been investigating several universities since November 15, 2023, when the Committee held a hearing entitled From Ivory Towers to Dark Corners: Investigating the Nexus Between Antisemitism, Tax-Exempt Universities, and Terror Financing. The Committee followed the hearing with letters to those institutions on January 10, 202
A Strategic Approach: GenAI in EducationPeter Windle
Artificial Intelligence (AI) technologies such as Generative AI, Image Generators and Large Language Models have had a dramatic impact on teaching, learning and assessment over the past 18 months. The most immediate threat AI posed was to Academic Integrity with Higher Education Institutes (HEIs) focusing their efforts on combating the use of GenAI in assessment. Guidelines were developed for staff and students, policies put in place too. Innovative educators have forged paths in the use of Generative AI for teaching, learning and assessments leading to pockets of transformation springing up across HEIs, often with little or no top-down guidance, support or direction.
This Gasta posits a strategic approach to integrating AI into HEIs to prepare staff, students and the curriculum for an evolving world and workplace. We will highlight the advantages of working with these technologies beyond the realm of teaching, learning and assessment by considering prompt engineering skills, industry impact, curriculum changes, and the need for staff upskilling. In contrast, not engaging strategically with Generative AI poses risks, including falling behind peers, missed opportunities and failing to ensure our graduates remain employable. The rapid evolution of AI technologies necessitates a proactive and strategic approach if we are to remain relevant.
Model Attribute Check Company Auto PropertyCeline George
In Odoo, the multi-company feature allows you to manage multiple companies within a single Odoo database instance. Each company can have its own configurations while still sharing common resources such as products, customers, and suppliers.
Acetabularia Information For Class 9 .docxvaibhavrinwa19
Acetabularia acetabulum is a single-celled green alga that in its vegetative state is morphologically differentiated into a basal rhizoid and an axially elongated stalk, which bears whorls of branching hairs. The single diploid nucleus resides in the rhizoid.
Synthetic Fiber Construction in lab .pptxPavel ( NSTU)
Synthetic fiber production is a fascinating and complex field that blends chemistry, engineering, and environmental science. By understanding these aspects, students can gain a comprehensive view of synthetic fiber production, its impact on society and the environment, and the potential for future innovations. Synthetic fibers play a crucial role in modern society, impacting various aspects of daily life, industry, and the environment. ynthetic fibers are integral to modern life, offering a range of benefits from cost-effectiveness and versatility to innovative applications and performance characteristics. While they pose environmental challenges, ongoing research and development aim to create more sustainable and eco-friendly alternatives. Understanding the importance of synthetic fibers helps in appreciating their role in the economy, industry, and daily life, while also emphasizing the need for sustainable practices and innovation.
How to Make a Field invisible in Odoo 17Celine George
It is possible to hide or invisible some fields in odoo. Commonly using “invisible” attribute in the field definition to invisible the fields. This slide will show how to make a field invisible in odoo 17.
Unit 8 - Information and Communication Technology (Paper I).pdfThiyagu K
This slides describes the basic concepts of ICT, basics of Email, Emerging Technology and Digital Initiatives in Education. This presentations aligns with the UGC Paper I syllabus.
Biological screening of herbal drugs: Introduction and Need for
Phyto-Pharmacological Screening, New Strategies for evaluating
Natural Products, In vitro evaluation techniques for Antioxidants, Antimicrobial and Anticancer drugs. In vivo evaluation techniques
for Anti-inflammatory, Antiulcer, Anticancer, Wound healing, Antidiabetic, Hepatoprotective, Cardio protective, Diuretics and
Antifertility, Toxicity studies as per OECD guidelines
Francesca Gottschalk - How can education support child empowerment.pptxEduSkills OECD
Francesca Gottschalk from the OECD’s Centre for Educational Research and Innovation presents at the Ask an Expert Webinar: How can education support child empowerment?
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...Dr. Vinod Kumar Kanvaria
Exploiting Artificial Intelligence for Empowering Researchers and Faculty,
International FDP on Fundamentals of Research in Social Sciences
at Integral University, Lucknow, 06.06.2024
By Dr. Vinod Kumar Kanvaria
2. Introduction to Software
Architecture
Software
Architecture
(SA)
increase in size and
complexity of
software systems
specification and
design
important
software
engineering
discipline
Methodologies
to develop the solution focus on specific
problem types or
solution types.
Identification of the
preferred architecture
3. Software Architecture
Abstract level SA involves the description of components of
which systems are comprised, the interaction
among these components, and the patterns
according to which the components are
combined to form the whole system.
Practical level SA refers to the design and specification
component decomposition and organization,
communication protocols, control and data flow
and structure, synchronization and access to
data, and so forth.
4. 1.1. Introduction to Software
Architecture
Applying the most appropriate architecture should reduce
development time and increase the efficiency and adequacy of
the resulting computational solution.
Solving a
computational
problem
1) Analyze the problem,
its characteristics, and
typical patterns
2) matched against similar
patterns of problems
encountered in the past
and common software
architectures
5. 1.1. Introduction to Software
Architecture
Framework
what the components that
construct instances of the
architectural style
what the constraints on the
ways in which these
components can be combined
and interact are.
Topology
of the
system
Semantics of
execution
• Software architecture usually employs a common framework.
• The framework adopted in this chapter is based on treating a system as a
collection of components and a set of interactions between these components
(which is practically a MAS framework).
• Once the framework is used to describe styles and systems, one can have a
better understanding of the underlying computational model.
unique components,
interactions, and
constraints
6. 1.2. Software Architectural
Aspects of Multi-agent Systems
The analysis is typically done at the methodology level, which is at a
higher level of abstraction.
We find it necessary to analyze the relationship between the
software architecture of a MAS and its functionality.
to examine MAS mainly
with respect to their
software architecture
styles
attributes
-robustness
-flexibility
-adaptability
-code reusability
7. 1.2. Software Architectural
Aspects of Multi-agent Systems
Viewing them as a software architecture style, MAS are
systems comprising components called agents.
The agents are usually designed to be autonomous, where
autonomy refers to a component not depending on the properties
or the states of other components for its functionality.
MAS
analysis of MAS
should provide
whether:
1) a is an appropriate
computational solution
to a problem at hand
2)what type of MAS
provides the most
appropriate solution for
this problem.
8. 1.2. Software Architectural
Aspects of Multi-agent Systems
capable of interaction,
typically by message passing in a predefined protocol (agent
communication languages, e.g., FIPA-ACL and KQML).
no direct function call or implicit event invocation between
components (that is, the agents) are allowed.
the autonomy of an agent a means that although others can
request a service S which is provided by a, it has the sole control
over the activation of its service S and may refuse to provide it, or
ask for a (monetary) compensation for its service.
MAS
components
9. 1.2. Software Architectural
Aspects of Multi-agent Systems
Several architectural styles have been recognized and described in
the general SE literature; however, agents and MAS architectures
which are well-documented are not widely recognized by
practitioners.
With the increase in the number of MAS industrial solutions, it is
necessary to increase the visibility and the accessibility of
agent and MAS architectures.
Due to their unique suitability to several classes of computational
problems, it is important to characterize MAS as a software
architecture style and to provide the architectural specifications
of such systems. Some effort in this direction was made by Weyns
(2010).
Such specifications should equip system designers with a family of
appropriate solutions for highly distributed problems in open,
heterogeneous, dynamic, and information-rich environments.
10. MAS Terminology:
Agent architecture
For example, agents (in the context of MAS) usually have a
communication module to facilitate communication with other.
Some types of agents have internal AI modules such as a reasoning
module or a planning module.
Incoming messages received by the communication module may affect
reasoning and planning (e.g., reason to understand the effects of the
message and plan to address these effects).
The internal AI modules may create outgoing messages to be processed
and sent out by the communication module.
Agent
architecture
modules relationships interactions
from which a single
agent is comprised
between, and
the among these modules
11. MAS Terminology:
MAS organization
MAS organization describes the way in which a collection of
agents is organized to form a MAS.
Relationships and interactions among the agents and specific
agents’ roles within the organization are the focus of MAS
organization.
The agent architecture is not part of the MAS organization (although
interrelations between the two may exist).
For instance, the agents may be organized in a rigid hierarchy in
which the interrelations are predefined.
This may reduce the need to locate other agents and reason about
them, and the amount of communication necessary for the system
to function well.
12. MAS Terminology:
Multi-agent services
Multi-agent services include services aimed to support a
variety of MAS needs.
The service types listed below are examples of multi-agent
services:
Dynamic organizational activity facilitation, notably agent location and
coordination mechanisms (possibly implemented by means of
middleware or middle agents)
Increased system efficiency and resource utilization (e.g., technologies
for network sensing, mobility facilitation, dynamic resource allocation
and load balancing)
Agent and MAS activation, interfacing and testing tools (possibly
delivered as part of agent frameworks)
Security infrastructure and services (for protecting the agents,
information they hold and transactions they perform)
Multi-agent services are usually associated with the MAS
infrastructure.
13. MAS Terminology:
Multi-agent infrastructure
Thus providing an infrastructure that enables constructing a domain-
specific MAS.
Commonly, the infrastructure is associated with services which facilitate
MAS activity and organization (e.g., agent naming service, agent
directory service, agent execution platform, etc.).
The terms above are elaborated upon in the following sections to
facilitate the discussion of agent architectures.
Multi-agent infrastructure
agent
architecture
MAS
organization
multi-agent
services
dependencies dependencies
14. Agents and MAS Organization
These properties and their evaluation should facilitate
comparison between, and assessment of, different MAS
infrastructures.
Architectural
Properties
agents MAS
15. Agents and MAS Organization:
Agent Internal Architecture
Over the years, a large variety of agent internal architectures
were introduced by agent researchers and practitioners.
Major focus on MAS architectures.
It is important to note that the incorporation of an agent
architecture in a MAS may in times be difficult or not possible
at all.
This is because, for agents to be incorporated into MAS, it is
necessary to equip them with components that facilitate
interaction with other agents and users (e.g., communication
and cooperation components).
Additionally, being part of a MAS imposes restrictions on the
admissible interactions among the agents.
16. Agents and MAS Organization:
Agent Internal Architecture
Agents, either stand-alone or as part of a MAS, must be able to
exhibit:
behaviours
perform tasks
provide services
Regardless of their internal architecture.
In similarity to the information hiding provided via encapsulation in
object-oriented programming, agent designers and developers
typically prefer that the details of an agent’s internal
architecture be hidden from other agents and users.
Will allow entities with which the agent interacts to assume some
capability of the agent’s and some interaction protocols,
but will prevent the need that they know what methods and
components are employed by the agent to behave, perform its tasks,
and provide its services.
17. Agents and MAS Organization:
Agent Internal Architecture
In practice, although information hiding is a desired
architectural property, it is not always present in agent
implementations.
Often, agents that take part in a MAS do assume some type and
structure with respect to the agents with which they interact.
Another aspect of internal agent architecture is its influence on
the overall MAS behavior and the ability of the MAS to efficiently
perform its tasks.
Although such influence seems an inevitable property of MAS, no
extensive software engineering research was performed to
investigate this issue.
18. Agents and MAS Organization:
MAS Organization
Generally speaking, MAS are organized in one of the following
ways:
hierarchical organization,
flat organization (in times referred to as democracy),
subsumption organization, and
modular organization.
Hybrids of these and dynamic changes from one organization
style to another are also possible, though not very common in
implemented MAS (probably due to the complexity of implementing
dynamic reorganization and the limited merit stemming from it).
19. Agents and MAS Organization:
MAS Organization: Hierarchical MAS Organization
We summarize below the properties of these MAS organizational models.
Hierarchical MAS (e.g., federated MAS) are organized such that
agents can only interact (and in times only communicate) subject to a
hierarchical structure.
A prominent advantage of the hierarchical structure in MAS is:
the significant reduction in complexity, and therefore in communication, in
the system.
there is no need for a mechanism for agent registry and location, which are
commonly part of MAS infrastructure.
For example, in Sect. 4.4, where we present a federated MAS, the
components in the upper level of the hierarchy, the facilitators, are in charge
of locating agents.
The disadvantage of the hierarchical organization is:
the rigid structure, which does not allow agents to dynamically organize
themselves to best fit varying needs and specific tasks.
Further, typically the hierarchy implies that the lower-level agents
depend on the higher-level agents (e.g., in OAA), and higher-level
agents may even be in partial or full control of the lower-level agents.
This may contrast requirements for agent autonomy and for agent
self-interest.
20. A flat organization of a MAS implies that each agent can directly contact any of the
other agents.
No fixed structure is imposed on the system; however, agents may dynamically form
structures to perform specific tasks.
In addition, no control of one agent by another agent is assumed.
Such an organization requires that either the system is closed in the sense that each
agent knows all of the others ahead of time, or (when the system is open) an agent
location mechanism must be provided as part of the infrastructure.
A flat organization is advantageous since it fully supports autonomy and self-interest
of agents as well as distribution and openness of the MAS.
It also allows for dynamic adjustments of the MAS organization to changes in tasks and
the environment.
However, openness and dynamism come at a cost:
they impose communication overheads,
a need for agent location mechanisms, and
a need for mechanisms for dynamic MAS reorganization.
Additionally, the amount of reasoning an agent performs with regard to other agents
(and consequently the local computational overhead of an agent) increases significantly
in a flat organization.
An example of a flat MAS organization is presented in Sect. 4.1. MAS based on the Jade
platform are another example of a flat organization (although other organizations can be
implemented using Jade).
Agents and MAS Organization:
MAS Organization: Flat MAS Organization
21. Agents and MAS Organization:
MAS Organization: Subsumption MAS Organization
There are MAS where some agents are components of other agents.
These agents are subsumed by the container agents, which in turn may be
components of larger container agents. The subsumption model, which takes its
roots in robotics, however, applies well to distributed AI and MAS in general.
It has some similarity with the hierarchical model; however, it takes it to the
extreme by requiring that the subsumed agents completely surrender to the
control of the container agent.
From a software architectural viewpoint, such architecture resembles an inclusion
of objects within a larger object, except for the (important) difference in the
control methods.
That is, while objects are usually controlled and activated by (possibly remote)
procedure call or by event invocation, agents are activated by high-level
communication, i.e., message transmission.
The strict control relationships in the subsumption organization, which result in
efficient task execution and low communication overhead, however, restrict the
system to address a well-defined set of tasks, with limited flexibility and
adaptability.
It is also not simple to modify a subsumption MAS (e.g., add a new component)
in the face of long-term changes in tasks and the environment of the system.
An example of a MAS with a subsumption organization.
22. Agents and MAS Organization:
MAS Organization: Modular MAS Organization
A MAS exhibits a modular organization when it is comprised of
several modules, where each of these modules can be perceived
as a virtually stand-alone MAS.
Typically, the partition of the system into modules is done along
dimensions such as geographical vicinity or a need for intense
interaction among agents and services within the same module.
Often, the system is comprised of such parts as a result of its
development process, during which new modules were gradually
added to an already existing system.
23. Agents and MAS Organization:
MAS Organization: Modular MAS Organization
Modularity increases efficiency of MAS task execution and reduces
communication overhead.
Also, in similarity to a flat organization, each module exhibits
internal high flexibility.
On the other hand, cross-module reorganization is rather complex,
hence in this dimension flexibility is limited.
In addition, modularity implies constraints on inter-module
communication.
For instance, while intra-module communication is usually
connection-oriented, inter-module communication may be
connectionless, which prohibits the execution of tasks that require
inter-modular concurrency.
The OSACA system provides an example of a modular MAS
architecture.
24. MAS Architectural Properties
Communication structures and protocols, system
openness level, flexibility, infrastructure services,
and robustness, also take part in MAS
architecture.
25. MAS Architectural Properties:
Communication
MAS require a specially designed communication protocol that best
fits
agent architecture
MAS organization
the typical tasks of these systems
For e.g., ARCHON or OAA, which uses an agent communication
language (ACL) developed specifically for OAA agents.
MAS increasingly rely on standard communication languages
and protocols (typically FIPA2 ACL and protocols), although
proprietary languages and protocols are still in use.
The advantage of proprietary protocols is in their efficiency:
the agents are implemented using the same communication
infrastructure and
transmit only the information necessary with very little overhead and
message packaging and parsing.
26. MAS Architectural Properties:
Communication
The major disadvantage:
the difficulty to facilitate conversations with agents that are not part of
the proprietary communication environment, as it is most unlikely that
other agents will have those specialized communication protocols
implemented in them.
To overcome this limitation, some MAS platforms implement both a
proprietary and standard communication languages.
Jade & FIPA-OS do not implement proprietary communication
infrastructure and focus on standard communication protocols
FIPA-ACL support agent communication languages
This, however, does not mean that two agents from different
systems that support the same ACL are able to understand each
another.
Jade, RETSINA and D’Agents some of the publicly available
communication modules
27. MAS Architectural Properties:
Communication
Distributed computational systems implement
several standard communication protocols.
We distinguish three main attributes of such
protocols, which are relevant to MAS and to their
architecture:
28. MAS Architectural Properties:
Communication
Symmetry: • In many systems, client/server protocols are used for
communication
• They are well-supported and documented as part of
operating systems and programming languages
• Implementations are simple and efficient
• Drawback of client/server protocols is that they imply
asymmetry between the communicating entities: one
is in control of the communication, whereas the other
party can only respond upon request and cannot
initiate communication.
• In proprietary communication—agent communication
is implemented as a client/server architecture.
• Designers of MAS, especially open MAS with a flat
organization, have realized that the asymmetry
associated with such architecture is inappropriate for
these systems and have implemented symmetric
means of communication.
• This, however, increases protocol complexity and may
affect communication speed.
29. MAS Architectural Properties:
Communication
Message
Recipients:
• Messages in a network may be sent to:
• a single addressee,
• to multiple ones (multicast), and
• to all (broadcast)
• In an open system, broadcast is impractical, since an
agent does not know all of the other agents.
• Therefore, open MAS usually implement peer-to-peer
or multicast communication.
• In closed MAS, however, broadcast is commonly used.
• The advantage of the latter is in the simplicity of the
protocol.
• The disadvantage is that all of the agents receive the
message, even when it is completely irrelevant for
them, thus increasing network congestion.
30. MAS Architectural Properties:
Communication
Connection
Type:
• Connection-oriented and connectionless
communication are both implemented in MAS.
• The advantages and drawbacks of these are not
unique to MAS, and can be found in standard
networks’ textbooks.
• Typically, MAS implement connection-oriented
communication; however, in some cases
connectionless protocols are supported as well.
• Connection-oriented communication is preferred when
dependent tasks are performed concurrently by
multiple agents, and close coordination is necessary
during execution.
• In such situations, connectionless communication may
prohibit coordination and proper task performance.
• In MAS where task execution is loosely coordinated
and where concurrency is of minor importance,
connectionless communication is sufficient.
31. MAS Architectural Properties:
System Openness
The openness of a MAS refers to:
the ability of introducing additional agents into the system in excess to the
agents that comprise it initially, and
the capability of agents to leave the system and of the system to cope with
such departures.
While some MAS architectures do not allow the addition of agents (at
all),
Others may be more open, allowing to add agents with different
styles of addition.
In its basic level, MAS openness refers to the OSI (Open Systems
Interconnection) definition of system openness.
However, in MAS, additional properties are considered. One can
classify MAS openness into three broad categories:
Dynamic Openness
Static Openness
Offline Openness
32. MAS Architectural Properties:
System Openness: Dynamic Openness
Dynamic
Openness:
• In MAS, the level of dynamism allowed for adding
and removing agents has a significant effect on the
properties of the system.
• MAS that allow agents to leave or join the system
dynamically, during run time, without any explicit
message to all of the other agents in the system, are
the most open ones.
• The advantage of such openness is in the ability of
the system to dynamically adjust itself to changes in
the environment, tasks, and availability of resources.
• A prominent disadvantage of dynamic openness is the
additional services and computation required to
facilitate it.
• When agents can unpredictably appear and disappear,
a robust agent location mechanism is essential.
• Also, agents must be provided with methods to
alternate their tasks execution and planning, since
availability of necessary capabilities and resources
varies over time as the agent population changes.
33. MAS Architectural Properties:
System Openness: Static Openness
Static
Openness:
• Less dynamic, yet considered open, is the case where agents
can be added to the system without restarting it, but either
all of the agents are notified on such an addition, or they all
hold in advance a list of prospective additional agents.
• This type of openness eliminates the need for a complex
agent location mechanism, and reduces the complexity of
contingent execution and planning computation (although
these are not eliminated).
• On the other hand, the flexibility of the system and its ability
to adjust itself to dynamic changes is restricted.
• Such openness is insufficient for environments with high
levels of uncertainty.
• It can better fit cases in which changes are more gradual
and predictable.
• Online addition of third-party agents is not supported by this
architecture, which in turn limits adaptability of MAS to
changing conditions and tasks.
34. MAS Architectural Properties:
System Openness: Offline Openness
Offline
Openness:
• The most restricted type of openness is the one that allows the
addition of new agents only offline, by halting the system, adding
agents, updating some connection information, and restarting the
system.
• This approach allows for changes in the system over time; however,
dynamic changes are not supported.
• While this restricts flexibility, it eliminates the need for infrastructure
services and for additional computation to handle dynamic changes in
the system.
• Hence, such systems perform more efficiently in cases of well-
defined, predictable, and relatively static problem domains.
• The classes of MAS openness listed above are part of a wide
spectrum of openness levels and styles.
• Modifications of these classes and hybrids thereof allow gaining
some advantages and compromising others.
35. MAS Architectural Properties:
Infrastructure Services
In some MAS infrastructure services are
inseparable from the system, whereas in others
they are optional or even unnecessary.
We provide details of some of these services:
36. MAS Architectural Properties:
Infrastructure Services Agent Naming
Agent
Naming
• An open MAS must be provided with an agent naming service, so
that no two agents will have identical names, and the consequent
confusion be avoided.
• Close systems or slightly open systems, where all of the agents (or
the possible ones—in the latter systems) are known in advance do
not need a naming service.
Agent
Location
• Another type of service necessary in open MAS is an agent
location service (e.g., brokering or matchmaking).
• When the existence and availability of agents are not common
knowledge, this service is a precondition to the ability of a MAS to
perform its tasks.
• An agent location service is sometimes implemented in a
centralized manner, which may be simpler to implement and
maintain, however more vulnerable, and creates a single point of
failure of the MAS.
• In contrast, distributed location mechanisms are more complicated
to design, implement, and maintain, and increase communication
and computation overheads; however, they can provide a reliable,
robust service.
37. MAS Architectural Properties:
Infrastructure Services Agent Location
Security,
Privacy,
and Trust
• Security, privacy, and trust are optional services which
can be very useful in open MAS.
• In such systems, an agent may be uncertain with regards to
the true identity and the trustworthiness of other agents.
• Security mechanisms can reduce the risks that stem from
this uncertainty.
• Security infrastructure is not commonly provided as part
of MAS infrastructure; however, some support to agent trust
and secure transactions among agents can be found.
• For MAS in which such services are absent, the addition of
such services may require introducing trusted third parties
such as electronic Certification Authorities as well as
implementing protocols to be followed by the agents.
• This, inevitably, increases computation (e.g., for encryption
and decryption) and communication (e.g., for reputation
management) overheads, and may create bottlenecks at the
third parties.
38. MAS Architectural Properties:
Infrastructure Services Agent Naming
Mobility • There is a unique family of MAS—those that allow for
agent mobility (e.g., Agent Tcl, D’Agents, Aglets Jade),
where an infrastructure service that supports mobility
may be required.
• The most common way to provide this service is via
mobility servers, sometimes called agent docks.
• Agent docks are servers which are running on machines
where mobile agents are allowed to arrive.
• The mobile agent “docks” at the dock, and the dock
provides interface and access to resources on that
machine subject to the restrictions applicable to the
arriving agent.
• Mobility servers increase computation overheads on the
machines they run.
• On the other hand, they provide an essential service in
case that mobility is necessary.
39. MAS Architectural Properties:
System Robustness
One of the advantages of MAS is the distribution of execution, which
allows for an increase in overall performance.
In addition, failure of one agent does not necessarily imply a failure of the
whole system.
The robustness provided by MAS is further increased by replicated
capabilities.
This replication is enabled by having multiple agents with the same or
similar capabilities in the system.
In such cases, when an agent that has some capability becomes
unavailable, another agent with a similar capability may be approached.
Replicated capabilities are more natural (and useful) in open MAS;
however, they can support robustness in close MAS as well.
The disadvantage of this replication is in the resulting redundancy, which in
times is merely a waste of resources.
The robustness of a MAS depends also on the type of services it uses and
the way in which these are implemented, as mentioned above.
Other software architectural properties, although important, are of lesser
significance for the design of multi-agent systems and therefore not
included in the discussion above.
40. Illustrative Examples
Early MAS Infrastructure
Agent-Agency Infrastructure
Flexible MAS Organization
Federated MAS
FIPA Specifications
41. Earlier MAS infrastructures
Archon, which provides a system organization as well as agent
internal architecture.
developed at the time where no agents’ standards and no common
agent communication languages were available
goal was to reduce the complexity of control in large, complex
(usually pre-existing) computational systems.
achieved via distribution of execution and control.
A set of existing domain-specific applications which solve specific
problems are assumed.
The whole system is comprised of these component systems, and
the MAS infrastructure provided by Archon facilitates this.
To implement cooperation among the component systems, Archon
provides a layered organization, somewhat similar to the OSI
layered communication protocol.
42. Early MAS Infrastructure
The Archon agent architecture
SM holds a model
of the IS and
reasons about its
state
The AAM contains
models of other
agents in the
community.
PCM Assesses interactional
situations and plans and
monitors cooperation with
other agents.
The HLCM provides the
other modules with
three key services:
intelligent addressing,
and message filtering
and scheduling.
Monitors and
manages the IS by
checking the states
of its tasks, starting
and stopping tasks,
and supplying data
from external
sources
Provides a model and a
language for information
manipulation, for local
and remote access and
update.
43. Early MAS Infrastructure
The Archon agent architecture
Layers
Session layer Delivers interconnection services between agents
Archon layer • Is attached to each application to provide two
interfaces:
• one to the underlying application
• one to the rest of the agent community via the
session layer.
• Each Archon layer component controls itself, its
application system, and its interaction with other
agents.
• In the Archon approach, an agent is the combined
entity that includes the application system and its
attached Archon layer.
• The application systems implement domain-specific
functionality, and the Archon layer serves only for
coordination and cooperation among domain-specific
components.
44. Archon architecture
To be an open architecture:
Applications may be added to the whole system by attaching an
Archon layer component to the added domain-specific application.
Although Archon openness complies with the OSI approach to
openness, it is somewhat confined.
First, the addition (or removal) of components cannot be done
dynamically.
Agents can locate (and communicate with) other agents using two
complementing methods:
(1) Hardwired addresses in the local address list of each agent;
(2) Agents broadcast their availability to a single matching services agent,
well known to all agents, which serves as a blackboard-like mechanism.
The latter constitutes a centralized mechanism which results in a
single point of failure, whereas the former limits the openness of
the system, since only predefined agents can be added to it, or at
least all of the addresses of agents that may potentially join the
system must be known in advance.
45. Archon architecture
New agents that appear dynamically cannot add themselves or be added
to the system.
In the case of dynamic multi-agent systems, such an organization is
somewhat closed.
Additionally, even when agents are known in advance, their ability to join
the system depends on their ability to appear as Archon agents.
That is, an agent can be connected to an Archon-based MAS only by using
the Archon session layer, which requires following its communication
protocols.
OSACA, an Open System for Asynchronous Cognitive Agents, is a
general multi-agent infrastructure which exhibits similar properties
In addition to its MAS organization, Archon supports agent architecture as
well. An Archon agent architecture is comprised of two components:
the Archon layer and
the Intelligent System (IS),
which the Archon layer interfaces with, and monitors.
The IS is usually a pre-existing, separately designed, developed, and
implemented component, which does not follow a dictated Archon
architecture.
46. Modules Functions
Information
management
module (AIM)
Provides a model and a language for information
manipulation, for local and remote access and update.
Two internal modules:
• self model (SM)
• agent
acquaintance
module (AAM)
• SM holds a model of the IS and reasons about its state
• The AAM contains models of other agents in the
community.
Monitor module Monitors and manages the IS by checking the states of its
tasks, starting and stopping tasks, and supplying data from
external sources
Planning and
coordination module
(PCM)
Assesses interactional situations and plans and monitors
cooperation with other agents.
High-level
communication
module (HLCM)
The layer between the session layer and other Archon
modules (collectively referred to as the Archon layer). The
HLCM provides the other modules with three key services:
intelligent addressing, and message filtering and scheduling.
The internal architecture of an Archon layer consists of modules as follows:
47. Summary: Archon architecture
Archon is a multi-agent infrastructure with a flat organization and static
openness.
It allows for cooperation between previously existing specialized systems.
It supports distributed control of these systems as well as high-level
communication and information exchange among them.
Archon enables adding new specialized subsystems to the system without
recompiling the system.
This addition is limited to previously known names and addresses of the
components to be added.
Archon was designed as a layered architecture.
Conceptually, each layer may be replaced by a component that complies
with the interface requirements of the adjacent layers.
Issues such as security, privacy, and trust are not explicitly addressed in
Archon, and mobility is not supported.
48. Agent-Agency Infrastructure
ADEPT (Advanced Decision Environment for Process Tasks) is
another example of an early multi-agent infrastructure. It was aimed at
facilitating collaboration among autonomous units of organizations.
ADEPT suggests a subsumption MAS organization:
the MAS is comprised of agencies, where each agency may either be:
a single agent or,
recursively, a collection of several agencies.
Communication and cooperative task execution are performed either :
within an agency,
among its members, or between agencies,
However not directly between members of an agency and agents or
agencies outside this agency.
Each agency is represented by a single responsible agent.
Consequently, ADEPT can support both hierarchical and flat
organizational structures, and combinations thereof; however, the
specific organization style must be set in advance and cannot be altered
dynamically.
While this organization is more flexible than the ones provided in
Archon and OSACA, the partition into agencies limits dynamic changes in
organizational structure.
49. The ADEPT MAS Organization
For example,
agencies 5 and
8, which are
subagencies of
agency 4,
cannot directly
communicate
with agencies 1
and 3.
They can use the
responsible agent 4
to contact entities
external to agency
4 (however, they
are not assumed to
know these
entities).
50. Agent-Agency Infrastructure: ADEPT
The ADEPT system organization is depicted in Figure.
Agents and agencies can only communicate and (directly) cooperate with
agents and agencies within their encapsulating agency.
In ADEPT, communication requires that agents, agencies, and tasks, which
are all objects, register themselves with an Object Request Broker
(ORB) as defined in the CORBA specifications.
The ADEPT internal agent architecture is similar to the one provided
by Archon.
In summary, ADEPT supports a more flexible organization than other
early MAS infrastructures do.
Yet, dynamic organizational changes are not supported.
An interesting property of ADEPT is of tasks being autonomous entities.
This allows mobility of tasks among agents and agencies and thus may
support dynamic mobility and load balancing.
Issues of openness are not explicitly addressed in ADEPT, and it seems to
allow a rather close openness level.
51. Flexible MAS Organization
Examples presented thus far show specific MAS organizations such as
hierarchy, flat organization, and subsumption. Clearly, flexibility in
MAS design is necessary.
DESIRE is a framework for DEsign and Specification of Interacting
Reasoning components which facilitates such flexibility.
It was used for developing reusable multi-agent applications. Using
logic, DESIRE enables specification of generic multi-agent models.
DESIRE specifications are based on compositional, hierarchical
architecture.
In similarity to object-oriented design, each component has its input
and output interfaces specifications defined and known to other
components, whereas the internal structure is hidden from the rest of
the system.
This allows for reuse.
52. Flexible MAS Organization
DESIRE classifies agent types including reflective, reactive, cognitive, social and
BDI (believe, desire, intend) agents.
This classification, although important for multi-agent research, has a limited
significance when software architecture properties are examined.
While reactive and proactive activity of agents can be referred to as software
architecture issues, cognitive and social behaviors are not so.
Nevertheless, the compositional approach of DESIRE presents interesting
architectural properties.
Some such properties can be found, e.g., in the weak agent type.
The DESIRE framework does not dictate a specific agent organization.
It allows for a variety of organizational styles, each designed to fit the properties of
a specific problem domain.
This results in flexibility in the design stage of MAS based on DESIRE; however,
once such a system is implemented its organization is no longer flexible or
dynamically adaptable.
Similarly, agent mobility is not supported, although it can be implemented using an
agent factory (thus providing generative agent migration).
Issues such as security, privacy, and trust are not explicitly addressed either.
Communication follows standard inter-object communication architectures.
53. Federated MAS
Genesereth and Ketchpel introduce a system organization which consists of agents
and facilitators as a means for interoperability.
Facilitators and agents are organized into a federated system (see Figure).
An example of a federated system is OAA.
The federated organization suggests that agents communicate via facilitators.
This way, each group of agents who are facilitated by a single facilitator is a
federation in which an agent surrenders some of its autonomy to the facilitator.
In this organization, the facilitator’s role is to translate messages and direct them to
agents that can handle them.
In a federated MAS organization, agents can dynamically connect and disconnect
from a facilitator, thus exhibiting dynamic openness.
Upon connection to a facilitator, an agent specifies its capabilities and needs in an
agent communication language (ACL).
The federated organization facilitates application interoperability, however,
compromises agent autonomy.
Flexible interoperability can be supported by other types of middle agents (e.g.,
matchmakers).
Issues such as security, privacy and trust are not explicitly addressed either but are
partly supported by facilitators.
55. FIPA Specifications
FIPA, the Foundation for Intelligent Physical Agents has
produced a set of specifications for various aspects of agent
architectures.
These focus mainly on the communication and the agent location
aspects of the architecture, e.g., agent communication language and
agent interaction protocols, among others.
Yet, FIPA does not provide specifications for MAS organization.
Implicitly, the communication and agent location as specified by FIPA
facilitate a variety of MAS organizations.
Indeed, specific implementation of FIPA specifications in agent
frameworks (e.g., Jade) suggest several different MAS organizations.
Dynamic openness is well-supported by FIPA specification and its
implementations.
Agents from various FIPA-compliant frameworks can interoperate,
and can join MAS dynamically.
FIPA also has security and mobility specifications.
56. Conclusion
Software architecture involves the structure and organization of a software
system as well as non-structural properties associated with the system.
Many architectural properties presented here are not unique to MAS.
However, when combined in a single system they typically constitute a MAS,
establishing a unique architectural style.
This combination and style facilitate the suitability of MAS for solving
problems where information, location, and control are distributed, where
heterogeneous autonomous (i.e., self-controlled) components comprise the
system, where the system is open, the environment is dynamically
changing, and uncertainty is present.
In some cases, only a subset of these problem domain characteristics is
present.
This does not mean that MAS are no longer relevant as an architecture and
as a solution approach.
Yet, in such cases it may be advisable to consider architectures other than
MAS as a solution approach.
One should bear in mind that the high complexity of MAS and the amount of
code replication in such systems may result in excessive, unnecessary
efforts in the development and maintenance phases as well as inefficient
solution and poor system performance.