Organizations through Roles and Agents - CiteSeerX

4 downloads 59178 Views 205KB Size Report
email: [email protected]. Abstract .... This categorizes tasks to auto- mated, semi-automated and non-automated according to the degree they can be automated.
Organizations through Roles and Agents Nikolaos Skarmeas

Department of Computing Imperial College of Science, Technology and Medicine 180 Queen's Gate London, SW7 2BZ email: [email protected] Abstract The aim of Oce Information Systems is to automate aspects of the oce work. In order for such a system to be ecient, it has to be aware of the organizational structure of the environment it operates in. Moving towards this direction, a framework for organizational modeling based on Roles is presented. As a case study we have used a real environment, the Department of Computing, Imperial College. Furthermore, the Role Consistency Problem is analyzed and a solution is proposed by introducing the notion of the Skill-Server. Finally, a Multi-Agent Architecture is proposed where the model constructed is used.

Le but des Oce Information Systems est d'automatiser certains aspects du travail bureaucratique. A n qu'un tel systeme soit ecace il doit ^etre au courant de la structure de l'organisation environnante. En prenant cette direction, un cadre pour une modellisation des organisations basee sur les "R^oles" est presente . Comme etude de cas nous avous utilise un exemple reel, celui du departement d'informatique de l'Imperial College. Plus que cela le probleme de "Consistence entre les r^oles" est analyse et une solution est proposee en introduisant la notion de "Serveur de Competences". En n, une structure multi-agent est proposee pour implementation, la ou le modele est utilise.

1

1 Introduction Oce Automation is an active research area that is concerned with the development of systems (Oce Information Systems) which automate aspects of the oce work. Our aim is to create an Oce Information System that will provide a framework for automating oce tasks and be aware of the organizational structure of the oce. The awareness will make it an integral part of the whole environment, will create a system that is exible in any changes in the organizational structure, and capable to support more complex organizational activities ([2], [3]). This view is even more apparent in the CSCW area where collaborative work is supported and organization interfaces are developed ([16], [12], [14], [17], [13], [15], [8], [19]). From our perspective we view oces as organizations and model them using roles. Hence, several structural patterns can be applied on the roles, corresponding to the actual organizational patterns. The individuals in the organization are assigned roles. We have developed a Multi-Agent architecture whose purpose is to support the role activities. We further allow a dynamic manipulation of those roles. The re-allocation of roles causes a problem which we have named the Role Consistency Problem. We have overcome this problem with the use of a Skill Server. For the implementation of the system we have used IC-Prolog II and April, two software platforms that support Multi-Agent programming. In the rest of this introduction some background concepts are introduced. Then, in the next section, the proposed model based on Roles is presented. The third section concentrates on the dynamic behaviour of organizations, and how this is caprtured in the proposed model. Finally, the last section focuses on a multi-agent architecture whose purpose is the implementation of the ideas already mentioned. Throughout this paper, several examples are represented graphically. The graphical notation is an informal one, and its purpose is to make the examples clearer and easier to understand.

1.1 Role Theory Concepts Role Theory is concerned with the study of Roles. According to [9] a Role is de ned as `those behaviors, characteristic of one or more persons in a context'. Roles are behavioral and performed by persons, they are limited by some contextual speci cation and consist of those behavior that characteristic of a set of persons and a context. Another important concept is that of the Social Position. Social positions are related to the notion of identity. According to [9] identity is a symbol that is used to designate one or more human beings. To assign an identity to someone means only that we have given him

a label. Social position can be considered as an identity that ful lls certain characteristics. In summary, position is an identity used to designate two or more persons who presumably share one or more overt characteristics. Social positions are di erent from roles, since they are not always behaviorally de ned and some roles are not simply associated to positions.

1.2 IC-Prolog II One of the platforms that have been used during the prototyping of the framework is ICPROLOG II ([5], [4]). It provides the user with the following features: Prolog environment ([11], [10]), Logic and Objects (L&O) environment ([7]), Parlog ([11]) environment, multithreaded execution ([4]) and nally communication primitives based on pipes and mailboxes. The Prolog, L&O, Parlog are integrated under a common framework. We can execute Prolog commands from the Parlog environment and vice versa. This can be done with two special primitives the prolog/1 and parlog/1 respectively. Moreover, it supports concurrent execution of several Prolog threads. Those threads can communicate with each other and with Parlog threads through the use of pipes if they are in the same machine or mailboxes if they are in di erent machines. The implementation of mailboxes is based on the TCP/IP communication protocol. IC-Prolog II has been used, because it provides convenient mechanisms for database handling (Prolog), for communication (Mailboxes), concurrency (Multiple-Threads and Parlog) and mechanisms for object handling (L&O).

1.3 April & Dialox April is a symbolic language and has been designed with emphasis on the development of Multi-Agent Systems. Its main characteristics is that it is process oriented, supports pattern matching and communication. Processes can fork other processes which are executed concurrently, and they can communicate through message passing. Pattern matching is a quite convenient mechanism for list manipulation and message pattern matching. Dialox is a server that supports window based interfaces [18]. It has been implemented on top of Motif X-windows based on the GUI toolkit. It runs as an independent processes and an interface to the april language has been provided. Furthermore, the two software platforms (IC-Prolog II and April) can be combined. April processes can communicate with Prolog threads and vice versa.

2 The Role Model In this section the main role concepts we have used are described. It is a more elaborated version of the work appeared in [22], [21]. In that work a quite simple role model was presented. The examples that have been used, in this paper, are case studies from the organizational structure of the Department of Computing, Imperial College.

2.1 Tasks In a typical organizational environment we have a collection of tasks that have to be executed by the oce workers. Those tasks can be quite complex and consist of several simpler ones. In order to describe this, the tasks are categorized as Complex Tasks or Simple Tasks. Simple Tasks are procedures that cannot be analyzed or decomposed into other tasks. Complex Tasks are tasks that consist of a collection of other complex or simple tasks. Those tasks could be executed either sequentially or concurrently according to the nature of the procedure. Furthermore, some tasks cannot be executed locally but are contained in the capabilities of another individual who is responsible of executing those. This imposes an additional categorization between local and remote tasks. Moreover, there is an additional categorization of tasks that is out of the scope of this report. This categorizes tasks to automated, semi-automated and non-automated according to the degree they can be automated (([6], [1], [20]).

2.2 Elementary Roles, Roles and Social Positions Elementary Roles consist of a collection of complex tasks. Elementary Roles correspond to elementary behaviors in the organization we would like to model. This is also the main reason we have distinguished tasks from elementary roles. Tasks describe behaviors that do not correspond to organizational goals but accomplish part of those, whereas elementary roles designate organizational goals. The goals described by elementary roles are quite simple, however. For more complex organizational goals the notion of Role is introduced. Roles accomplish two or more distinct functions or organizational goals. Therefore, they may contain other roles and/or elementary roles. Based on this categorization we can have an hierarchy of roles. Roles form a tree, where the leaves represent elementary roles and the rest of the nodes represent roles. On the top

level of the hierarchy, we have the social positions. The notion of social position is de ned as `an identity used for designating two or more persons who presumably share one more overt characteristics' ([9]). As a concept is di erent from roles since it refers to persons whereas roles refer to behaviors. However, sometimes we can assume (especially in social structures) that they both refer to the same thing (structural positions). Hence, for our purposes and without loss of generality we can view social positions as roles that contain other simpler roles. However, in the case we would emphasize the fact that we are talking about social positions we will explicitly use this term. In the following gure (Figure 1) we can see a graphical representation of a part of the role tree of the Admission Secretary. The root of the tree is the social position of Admission Secretary, and the lower level nodes are roles and elementary roles. Admissions Secretary

Admissions

Statistical Data

MSc. Conv