An Agent-holon Oriented Methodology to Build Complex Software ...

5 downloads 34195 Views 156KB Size Report
engineering have been issued, such as the agent-oriented software engineering. ... concerning specification and development methodologies to build ...
Int. J. of Computers, Communications & Control, ISSN 1841-9836, E-ISSN 1841-9844 Vol. III (2008), Suppl. issue: Proceedings of ICCCC 2008, pp. 402-407

An Agent-holon Oriented Methodology to Build Complex Software Systems Gabriela Moise Abstract: In real life, there are a lot of complex processes which have to be automated in order to be more manageable and better controlled. The programmers have to build complex software applications which are to serve the complex activities of an organization. The agent-oriented paradigm has developed for the last decade and new techniques of software engineering have been issued, such as the agent-oriented software engineering. In this paper the author presents a study of the methodologies defined to the analysis and design agentbased system and proposes a methodology based on the concepts of agent and holon to build a complex system. One concept is the concept of "holon", considering that any organization has to be viewed according to a holonic structure and the other concept is the concept of "agent", a software entity with some special properties (autonomy, reactivity, social abilities, learning capacity, goal orientation, etc.). The proposed methodology fits the construction of the complex software system with fine granularity. Keywords: agent software, holon, software engineering

1

Introduction

A lot of complex and different activities carry on within an organization. The nature of business processes and the IT systems are getting more and more complex and sophisticated. To describe the complexity of a system, it is necessary to understand how the relationships between components determine the behaviour of the system, how the behaviour of each part of the system contributes to the whole behaviour of the system and how the system interacts with the environment and causes changes in the environment. The science of complex systems has been acknowledged as a new science that chips away all boundaries of the traditional disciplines: engineering, management, medicine, philosophy, social sciences, ecology, education, environment, and so forth. It is really hard to provide a measure of the system’s complexity. Some attempts were done in order to measure the complexity of a system: computational complexity (time measures or number of steps); information measuring (applying the algorithmic information theory); using degrees of comparison between things, in which at least one’s complexity can be measured; using the granularity of the system’s entities [8]. Summing up, "the complexity of the system is the amount of information necessary to describe it" [2]. If one takes into consideration the above mentioned facts, it is imperative to develop a methodology to build complex system. The most complex systems are based on many agents and a special case of complex systems are the complex adaptive systems. The researches agree on the fact that complex systems tend to rise into more complex systems. This aspect is a challenge for a software developer. According to [1], a systems’ methodology requires: "(a) the analysis of systems and systems problems, problems concerned with the systemic/relational aspects of complex systems; (b) the design, development, implementation, and evaluation of complex systems; and (c) the management of systems and the management of change in systems." Another aspect is that even if the structure of the components of the system changes, the behaviour of the system has to remain the same or has to be improved. So, how to develop a complex system is a challenge and in this paper, the author presents a methodology based on two concepts - i.e. those of agent and of holon - to develop a complex system. The remaining part of the paper is organized as follows: in section 2, there are presented some methodologies to develop agent-oriented systems, in section 3, the methodology itself and a case study and in section 4, the Summary and the Conclusions, the work to be done in the field of the complex system.

2

Methodologies to Develop Complex Systems

The agent-oriented paradigm has developed and it is used to build complex software systems from different areas: medical applications, industrial applications, such as manufacturing, air traffic control, process control, telecommunications, transportation systems, commercial applications, such as electronic commerce, business process management applications, entertainment applications [4]. Copyright © 2006-2008 by CCC Publications - Agora University Ed. House. All rights reserved.

An Agent-holon Oriented Methodology to Build Complex Software Systems

403

Despite the great number of agent-based applications, there is a consensus on the fact that there is a crucial lack concerning specification and development methodologies to build agent-based systems [3]. Many approaches take the OO techniques and methodologies and extend or adapt them to domain applications in order to design the agent systems. While the mental state of agents can not be modelled using OO techniques, other approaches extend the Knowledge Engineering techniques. Most of them restrict to the phases of analysis and design and they do not provide a tool to implement an agent-based system. Here are some methodologies to analyze and design agent-based systems: • Gaia (Wooldridge, Jennings and Kinny, 1999); • Prometheus (Lin Padgham and Michael Winikoff, 2002); • Multiagent Systems Engineering (MaSE) (DeLoach, 1999); • KaOS (Bradshaw et. al, 1997); • Agent-Oriented Analysis and Design (AOAD); (Burmeister, 1996) • AOM (Shoham, 1993). In the following paragraphs, the author briefly presents two methodologies, which she considers useful in developing MAS. In the methodology (GAIA), presented in [11], the process of building a MAS is viewed as a process of organizational design. The most abstract entity in the concepts’ hierarchy of GAIA is the concept of system. The first step of GAIA methodology is to identify the main roles of the system. Different roles in an organization interact, using a set of protocols in order to achieve their own goals and to contribute to the objectives of the organization. Responsibilities are the key attribute of a role in that they determine its functionality. A role has rights, which were called permissions. The organizational model is defined through two models: the roles models and the interaction ones. The design process generates three models: the agent model, the services model and the acquaintance model (figure no.1).

Figure 1: Relationships between Gaia methodology models (presented in [11]) The Prometheus methodology defines a generic modelling language that fits any MAS architecture (even its authors consider that this methodology is not so useful for non BDI agents) and any implementation environment. This methodology consists of three phases: the system specification phase, the architectural design phase and the detailed design phase. The roles of the system care, called functionalities, are identified in the system specification phase along with inputs, outputs and shared data sources. In the architectural phase, there are identified the types of agents, share data objects and there are provided the system overview diagrams and interaction diagrams. In the detailed design phase, there is the description of every agent’s internal structure and of the way it will accomplish its tasks within the overall system. The author of the present paper considers this methodology more practical than others and a valuable tool to develop MAS using Prometheus at [12]. More details about Prometheus methodology can be found in [9] and [10] . There is an agreement on the fact that a Unified Agent-oriented Modelling Language

404

Gabriela Moise

(UAML) is necessary, as a methodology that has to fully support the requirements, analysis and design phases, and the tools used for describing the complexity of multi-agent systems.

3

A Methodology Used for Building Complex System

A new methodology has been considered starting from the point of view that complex systems are composed of software entities that are not really intelligent agents. Most of the applications use the attribute ”intelligent”, but they are not so intelligent, as one can say that there is no brain. This ambiguity is also sustained by the fact that they have not reached an agreement yet about the definition of the intelligent agent term. So, the author considers that a complex system can be built using software entities with the following possible attributes: 1. Autonomy; 2. Mobility; 3. Veracity; 4. Having reason; 5. (Having) character; 6. Flexibility; 7. Robustness; 8. Goal oriented; 9. Learning capacity; 10. Good will. The methodology proposed in the paper is based on two concepts: ”agent”, already presented, and ”holon”. The concept of ”holon” was proposed by Koestler (1967) in his book The Ghost in the Machine.[5] The word ”holon” is a combination of two words: the Greek ’holos” meaning ”whole” and the suffix ”-on” meaning ”a particle” or ”a part”. Koestler asserted that parts and wholes in an absolute sense do not exist in the domain of life. So a holon is ”an identifiable part of a system that has a unique identity, yet is made up of sub-ordinate parts and in turn is part of a larger whole” [5]. A holon can be part of another holon, or a holon can be broken into several other holons, which in turn can be broken into holons. The minimum attributes of a holon are: autonomy and cooperation. These entities can be seen in a holarchical relationship with each other. Koestler called the systems of such entities Open Hierarchical Systems. There is a similarity between the concept of the holon and the concept of agent, and the differences between these concepts tend to be reduced. FIPA and HMS consortiums introduced guidelines and specifications that support the holonic requirements. A ”holarchy” is a system of holons that can cooperate to achieve a goal or objective. The benefits of the holonic organisation are: stability, flexibility, adaptability. In this paper two terms are used: simply software entity to denote an entity without any attributes; abstract agent holarchy to denote a holarchy of agents or simply an agent. An agent is a software entity with some attributes from the list from above and uses simply software entities. The way in which the models are defined is inspired from the work of building a complex system called Production Information Management System, implemented in a packing manufacture [7]. This methodology consists of the following phases: the system goals analysis, the architectural design phase and the detailed design phase and Prometheus Design Tool is used [12]. In the first phase a goals hierarchy is realized, starting from a general objective and ending with the most atomized goals. In figure no. 2 is presented a generic diagram of goals. For each goal from the level no. 1 it is designed and implemented an abstract agent holarchy . Unlike the first stage, where a top-down approach is used, now, in the second phase they use a down-top approach. So, a set of atom goals is attained. In the second phase, the architectural design one, simple software entities and abstract agent holarchy to achieve the goals are identified, as presented in figure no. 3. The atom goals are grouped and a group of atom goals are related to an agent. So, an agent gets a set of goals.

An Agent-holon Oriented Methodology to Build Complex Software Systems

Figure 2: Goals diagram

Figure 3: System overview diagram

405

406

Gabriela Moise

The system’s diagram shows all components of the system and all dependencies between them. This diagram is useful to design all details and to make a planning of application’s development. Also, we have to remind that we can make an estimation of the costs involved to build, implement and maintenance of the software application. At third phase, detailed design phase the internal structure of each agent and simply software entities, subordination protocols and co-operation protocols are designed (figure no. 4).

Figure 4: Detailed design They are two types of protocols: co-operation protocols and subordination protocols. The agents communicate between them using these protocols and messages. (figure no. 5)

Figure 5: Protocol design The internal structure of each agent contains the following possible of entities: 1. Action , 2. Capability, 3. Data, 4. Message, 5. Plan, 6. Percept. A case study of using the agent-holon oriented methodology is presented in figure no. 6.

Figure 6: Production Management Diagram The complexity of the system is growing in time. We start from building simple agents, software entities, agents holarchy and we finish with a linking procedure to generate the whole system. We add more holarchy at

An Agent-holon Oriented Methodology to Build Complex Software Systems

407

system using protocols therefore the system become more complex and functional. The one of the most important characteristic feature of this system consists in that fact that even if one of the component changes the functionality of the system is not affected.

4

Summary and Conclusions

The originality of this methodology consists in the fact that an objective is decomposed in a tree of goals, each branch being solved by building an abstract agent holarchy, be it a holarchy of agents or simply an agent. In the first phase of the methodology they use a top-down approach. After that each holarchy is developed, encoded and implemented. Finally the holarchies are linked and the application is generated. Each holarchy of agents can use simple software entities and solve a set of goal. The complexity of the system is growing in the phase of implementation, through building each holarchy and during run time, while new data acquisition is taking place, or plans are changed. This methodology has the following advantages: it enables one to atomize the problems and so simple problems can be solved more easily, generates portable abstract agent holarchy, in the sense of using them in other systems, makes the maintenance of the complex system easier and enables control application.

References [1] B. H. Banathy, P. M. Jenlink, ”Systems Inquiry and Its Application in Education”, In D. H. Jonassen (ed), Handbook of Research for Educational Communication and Technology, New York: MacMillan Library Reference, 1996. [2] Y. Bar-Yam , ”Dynamics of Complex Systems (Studies in Nonlinearity)”, Advanced Book Program, Westview Press, 2003. [3] V. Hilaire, A. Koukam, P. Gruer, Jean-Pierre Müller, ”Formal Specification and Prototyping of Multi-Agent Systems”, Lecture Notes in Computer Science 1972:114-227, 2001. [4] N. R. Jennings, K. Sycara, M. Wooldridge, ”A Roadmap of Agent Research and Development”, Autonomous Agents and Multi-Agent Systems, Kluwer Academic Publishers, Boston, 1, 7-38 ,1998. [5] A. Koestler, The Ghost in the Machine, Hutchinson & Co, 1967. [6] V. Marik, M. Pechoucek, P. Vrba and V. Hrdonka, FIPA Standards and Holonic Manufacturing, Agent-based Manufacturing: Advances in the Holonic Approach, pages 89-121. Springer Verlag, 2003. [7] G. Moise, Production Information Management System, Information & Knowledge Age, The Proceedings Of The Seventh International Conference Of Informatics In Economy, ASE Bucuresti, 2005. [8] Murray Gell-Mann, ”What is complexity?”, John Wiley and Sons, Inc.: Complexity, Vol. 1, no. 1,1995. [9] L. Padgham and M. Winikoff , ”Developing Intelligent Agent Systems: A Practical Guide”, RMIT University, Melbourne, AUSTRALIA, Published by John Wiley and Sons, 2004. [10] L. Padgham and M. Winikoff. ”Prometheus: A Methodology for Developing Intelligent Agents”.Proceedings of the Third International Workshop on Agent-Oriented Software Engineering, at AAMAS’02, http://www.cs.rmit.edu.au/agents/Papers/aamas02-aose-ws.pdf, 2002. [11] M. Wooldridge, N. R. Jennings, and D. Kinny, ”A Methodology for Agent-Oriented Analysis and Design”, Proceedings of the Third International Conference on Autonomous Agents (Agents’99), 1999. [12] http://www.cs.rmit.edu.au/agents/pdt/.

Gabriela Moise Petroleum-Gas University of Ploiesti Computer Science Department no. 39 Bd. Bucuresti, Ploiesti, Romania E-mail: [email protected]

Suggest Documents