Characterization of Social Systems Engineering Social Systems

Society View

This view is concerned with the structure of the agent society that implements the target system. In General Concepts we have already defined the term "structure", "society" and "social system". Now, I will provide a characterization scheme for agent societies that allows the software developer to describe an existing society or to specify the requirements for the society of the target system. Furthermore, we will also discuss a micro process model for the construction of an agent society according to a given characterization.

Characterization of Social Systems

In the field of multiagent systems, the definitions for agent societies and social systems are much simpler then those in sociology as they were given in General Concepts, but this does not necessarily help the system designer to develop the right view on the agent society. In the early days of multiagent technology, the agent society is defined as the (static or dynamic) assignment of roles to agents. 10 years later, not very much has changed: "... a specification and assignment of roles and responsibilities to participants in a cooperative planning and/or problem-solving endeavor...". Because of this shortcoming in multiagent research, I will try to give a conceptual framework that allows the designer to characterize or model the agent society according to a unified terminology.

In this scheme, an agent society can be classified along four dimensions: type, structure, consistency and temporal context

The type of the society can be either open, semi-open or closed. In an open society, agents can freely enter or leave the society. The entry criteria can be defined by the system designer or they can be defined by the agents themselves. A semi-open society is quite similar except for the fact that any agents can join the society but no agent ever leaves the society again. In a closed society, on the other hand, the members of the society are fixed and no fluctuation either into or out of the society takes place. The structure of the agent society determines how the agents relate to each other mainly in terms of communication channels. In a flat society, the interaction between agents is unlimited, i.e. each agent can interact with any other agent. While this structure provides a maximum degree of flexibility, it also implies a high degree of overhead. For example, in an agent society that uses some sort of explicit communication, a flat society structure requires n(n-1) communication channels.

A hierarchical society is not as flexible as a flat society because the interaction channels between the agents are limited. Usually, some agents have special organizational roles and are responsible to filter and/or limit interactions. An example for a hierarchical society could be a team in the RoboCup domain: within each sub-structure (defense line, middle field, offense line), the agents can freely communicate with any other agent of that sub-structure. Each sub-structure also has an agent with the organizational role of a "local captain" that is responsible for the communication with the team captain who in turn manages the communication with the coach. The goalie can communicate with the captain as well as the player of defense line directly. Instead of 132 connections in the case of a flat society, the resulting structure has only 14 connections and thus less overhead. The drawback of this solution is, however, that in the worst case, messages from an individual player to the coach and vice versa must be forwarded through three intermediate agents. The consistency of a society refers to the agent classes within the society and differentiates between homogeneous and heterogeneous societies. In a homogeneous society, all agents have the same external properties such as the underlying architecture or the set of behaviors that they have at their disposal. Even more important is the fact that the agents all have the same knowledge representation which enables the agents to freely exchange messages without complex and error prone translation mechanisms. In a heterogeneous agent society, the agents can have different architectures, behaviors and knowledge representation. Especially the latter makes the interoperation between agents with different architectures difficult. The temporal context of an agent society, finally, defines how the structure of the agent society develops during its lifetime. In a static society, the structure is fixed from the beginning and does not change during the operation of the system. In a dynamic, the structure and the interconnections between the agents can change either because of a pre-defined dynamic behavior specified by the system designer or due to a self-adaption process of society in order to achieve a higher performance. Self-adapting agent societies are a promising technology in various application fields and especially holonic approaches become increasingly interesting.

top

Engineering Social Systems

I will now give a prescriptive process model on how to develop the optimal social structure for the target system. First, however, we must clarify what the term "optimal" means in this respect as no single organizational design is optimal for all purposes. The optimality of a social system depends on the tasks to be performed, the agent capabilities, the characteristics of the environment, external constraints (e.g. legal, political) and the goal of the optimization process.

The first four aspects in the above list are dealt with in other views within the MASSIVE method leaving the goal aspects to be handled in this view. The goal of the optimization process is usually to improve the performance of the society with respect to efficiency, effectiveness, accuracy or minimal cost. The performance measure of an agent society depends on its structure and the behavior as well as on the requirements that imposed by the environment and quantified in the attributes described above. Thus, the optimal society structure is expressed in terms of some of the characterization developed in the previous section e.g. by specifying maximal communication bandwidth, channel capacity, number of available channels, quality of services or message costs.

The social structure is then constructed according to the following six step process:

  1. Identify In the first step, the goals of the optimization process are identified according to the above characterization.
  2. Quantify The goals that have been identified in the prior step are now quantified in order to enable the decision on whether the optimization has led to satisfactory results or not.
  3. Construct Now, the a social structure is set up that is believed to satisfy the goals at the required quality level.
  4. Implement The social structure that was developed in the previous step is implemented.
  5. Evaluate The structure is evaluated with respect to the quality requirements.
  6. Iterate If the social structure fulfills the quality requirements, the process is aborted. If the results are below the previously defined quality standard, the process is iterated from step 3.

Although this process model describes a very general way for obtaining the optimal society structure, it does not describe the actual means the designer has in order to impose a particular structure onto the system. This aspect is not covered in this section as this is subject of a research field named Computational Organizational Theory to which we direct the reader for the solution of a particular problem.

In order to reduce the communication overhead, a technique called clustering can be used to reduce the amount of communication in the system. The idea of a clustering algorithm is to partition the agent society into several groups that share particular features. The higher the relation between the individuals in a cluster and the higher the differences between the clusters are, the better is the clustering. However, to find an optimal clustering is an NP-complete problem and thus only feasible in small societies.

top