Contingency Theory, Agent-Based Systems, and a Virtual Advisor (information science)

 

Introduction

In this article, we investigate the potential of using a synthesis of organizational research, traditional systems analysis techniques, and agent-based computing in the creation and teaching of a Contingency Theoretic Systems Design (CTSD) model. To facilitate understanding of the new design model, we briefly provide the necessary background of these diverse fields, describe the conceptualization used in the integration process, and give a non-technical overview of an example implementation in a very complex design environment. The example utilized in this article is a Smart Agent Resource for Advising (SARA), an intelligent multi-agent advising system for college students. To test all of the potential of our CTSD model, we created SARA utilizing a distributed instructional model in a multi-university, multi-disciplinary cooperative design process.

Just as a dynamic task environment forces an organization to compress its management structure and to outsource non-core activities in order to become flexible, a dynamic software development environment forces designers to create modular software. Until now, cooperative development paradigms were too complex to facilitate inter-organizational cooperative development efforts. With the increasing popularity of standards-based Web services, the development of pervasive computing technologies, and the advent of more powerful rapid application development languages and IDEs, this limitation has been removed. Our purpose in this research is twofold: first, to test the viability of using Contingency Theory (CT), a sub-discipline of Management Organizational Theory (OT), in an agent-based system; and second, to use these new technologies in creating a distributed instructional model that will allow students to interact with others in diverse educational environments. As an example implementation, we create a virtual advisor that will facilitate student advising in distributed environments.

In the following sections, we outline the background theories involved in the conceptualization of our design model. We start with the shifts in systems design techniques and how CT can be applied to them and to various Multi-Agent Systems (MAS) to allow Contingency Theoretic Systems Design (CTSD). Once the necessary background is in place, we briefly discuss our new eLearning approach to cooperative distributed education. Finally, the structure of the SARA is discussed.

background

Multi-Agent systems

Agents and communication protocols form the basic components of a multi-agent system. Agents exchange messages according to a protocol of expected messages delivered in a communication language in which the message content and format adhere to a shared standard. Individual agents make decisions, which may include contacting other agents for information, and perform processing to satisfy their goals

An agent is commonly defined as a program or collection of programs that lives for some purpose in a dynamic environment and can make decisions to perform actions to achieve its goals. In otherwords, agents are goal-based programs that must deal with changing access to resources, yet run continuously. Like the best administrative assistants, agents know and adapt to their master. Individual agents may be conceptualized as having beliefs, desires, and intentions that can communicate with other agents to satisfy their goals. Multi-agent systems are those in which multiple agents (usually) cooperate to perform some task. Agents may be independently developed and allow the decomposition of a complex task into a collection of interacting agents that together solve some problem. It is not necessary that an individual agent "understand" the overall system goals or structure.

Agent communication can be viewed at four distinct levels. The first level is the expected protocol for exchanging sequences of messages, like a script. For example, when negotiating, the parties expect bids to be offered, rejected, and counter-offered. The second level relates to the content or meaning of the messages. To enable inter-agent communication, an ontology is created. Examples of such concepts are things, events, and relationships. At the third level, a representation language defines the syntax for structuring the messages; The Knowledge Interchange Format (KIF) (Gensereth & Fikes, 1992) is one example. At the fourth level, an agent communication language (ACL) such as the Knowledge Query and Manipulation Language (KQML) or the Foundation for Intelligent Physical Agents (FIPA) ACL (Labrou, Finin, & Peng, 1999), defines message formats and message delivery. An example KQML message, in Sandia Lab's Java Expert System Shell (JESS) (Owen, 2004), that shows how an agent registers a service is shown below: (register :sender student :receiver advisor :reply-with msgl :language JESS :ontology SARA :content '(MajorCourses: Compliance Check Hours))

Just as human systems created to achieve complex goals are conceived of as organizations, multi-agent systems can be conceptualized as "organizations of agents". Individual components, whether human employees or software agents, need to be managed, guided toward a constructive goal, and coordinated toward the completion of the necessary individual tasks. In "empowered organizations", lower-level employees have the knowledge and authority to perform many tasks without the intervention of superiors. This conceptualization allows us to use well-established research from management organization theory (and Contingency Theory in particular) in creating guidelines for the design of agent-based systems.

ORGANIZATIONAL THEORY (OT)

While much of the background concerning OT is explained in the main chapter below, the following is a brief overview of the relevant research trends. OT examines an organization's structure, constituencies, processes, and operational results in an effort to understand the relationships involved in creating effective and efficient systems. A major division of OT, Contingency Theory (CT), postulates that no organization operates without constraints from environmental, personnel, technological, and informational influences (Andres & Zmud, 2001). This relationship is explained by the information processing theory (IPT) (Galbraith, 1973). IPT postulates that the more heterogeneous, unpredictable, and dependent upon other environmental resources a task is, the greater the information processing that the organization must be able to do in order to successfully accomplish it. As complexity and unpredictability increase, uncertainty increases due to incomplete information. As diversity of processes or outputs increases, inter-process coordination requirements and system complexity increase. As uncertainty increases, information-processing requirements increase. The basic premise of IPT is that the greater the complexity and uncertainty in the tasks in an organizational system, the greater the amount of information that the system must process (Galbraith, Downey, & Kates, 2001). A basic premise of our research is that this relationship is also true for information systems (Avgerou, 2001).

Main Thrust of The Article Multi-Agent System Architectures using ctsd

Contingency-theoretic system development (CTSD) adapts CT and IPT to the development and maintenance of software systems (Burnell, Durrett, Priest et al., 2002; Durrett, Burnell, & Priest, 2001, 2003). A business can organize employees in a number of different ways, for example by function or by project, and reorganize as the business environment changes. Software systems can benefit from this flexibility as well. The CTSD design approach is focused on design for maintainability, a crucial requirement for complex, dynamic systems.

Agent-based architectures are a means for structuring software systems that adhere to Contingency Theoretic principles. Each agent is viewed as an employee that has specific capabilities, responsibilities, and knowledge within an organization. Agents, like employees, are grouped into departments, as needed, to best satisfy the goals of the organization. Agents can communicate peer-to-peer within and across departments, and manager agents resolve conflicts and make resource allocation decisions.

Tightly interrelated tasks are grouped into one or more agents. Each of these groupings is referred to as a "software team", and parallels a department of employees that perform roughly equivalent jobs. For example, a set of agents that each handle one type of course requirement (e.g., lab, art appreciation) may be grouped into a team, where communication can occur quickly between these agents and with a "managef' agent that can resolve conflicts, exceptions, and course-independent tasks. An example agent in our system is encoded using JESS rules to check that student preferences (e.g., for afternoon courses) and constraints (e.g., no more than 12 hours per semester) are satisfied. Another agent offers heuristic advice as an actual advisor might. For example, a student may be able to enroll in 17 hours of math and science courses, but this may be strongly advised against, depending on the student's GPA and perhaps other factors.

Each agent in a multi-agent architecture has specific tasks to perform and communications requirements. Once an ontology and agent communication language has been specified, agents can be designed independently and integrated into the system to progressively add capabilities. Using CTSD principles, tasks that are dynamic and shared are grouped into support agents to enhance maintainability of the system. The primary architectural decision is to separate knowledge based on two criteria: the degree of dynamicism and the degree of complexity. Dynamicism is exemplified by how frequently knowledge is expected to change over time, while complexity determines how abstract that knowledge is. A simple example describing the latter is the fact that "a student must be a junior with a GPA greater than 3.0 in all math and science courses". Dynamicism within the SARA domain was determined by advisor interviews, and analysis of degree requirements changes over time at three universities, both large and small and private and public.

Using the above CTSD conceptualizations in previous research (Burnell, Priest, & Durrett, 2002, 2003; Durrett, Burnell, & Priest, 2000), we have developed and tested the following CTSD guidelines for creating MAS:

1. Describe business activity and identify tasks: Allow management and developers to refine the overall purpose of the software being designed.

2. Determine task predictability: Since a basic premise of CT is that the control structure of a business process must match the environment in which it operates, we must identify the predictability of each task.

3. Assign tasks to employees: Once the level of predictability has been estimated for each task, the granularity of the employees being created can be determined and component designs finalized.

4. Group employees into teams As with human organizations, our employees can be grouped along any of several dimensions, including task, workflow, product, manager, or communication requirements, as required by the operating environment.

5. Identify communications needs: Once teams are determined, the communication requirements of individual employees, and of teams, can be determined.

6. Construct management groups: In software systems operating in a dynamic environment, management is required only when employees are unable to handle events

We show the application of these guidelines in a distributed instructional environment in a multi-university, multi-disciplinary cooperative design process.

Multi-Agent system Architectures using ctsd

Our example implementation of the above CTSD guidelines is SARA, an interactive tool intended to aid in the planning, scheduling, and advising process to complete a college student's degree. SARA, along with the instructional environment in which it was created, is described very briefly next; for more detailed information on SARA or our distributed instructional model please see any of the Burnell, Durrett, or Priest references in the reference section.

As described previously, CTSD is most effective in complex dynamic environments. To create this environment, SARA was designed in a collaborative education project among three major universities, the University of Texas at Arlington (UTA), Texas Christian University in Fort Worth (TCU), and Texas Tech University in Lubbock (TTU). Teams of students at UTA are in industrial engineering and software design courses. The TCU students are in computer science and have had coursework in artificial intelligence, and the TTU teams are in courses that study application servers and server-based JAVA databases. In creating SARA, responsibilities have been purposefully segregated to create the necessity of interdisciplinary cooperation. Current trends in industry are toward outsourcing in many major Fortune 500 companies (Fox, 2004). In order to do this effectively, the designer and the coders must communicate in an online forum and adapt to rapidly changing conditions. Therefore, we have attempted to emulate this CTSD type environment through our interdependent classes. Also, previous research has shown that a major hurdle to software development is the communication among the programmers, the users, the executives, and the domain experts. A major component of successful software development is overcoming this communication hurdle. We have attempted to emulate these trends in the design of SARA.

Design of SARA

SARA gives students the resources and knowledge to trouble-shoot issues with their current degree plan. A profile of student preferences and a transcript of completed courses allow the system to generate customized degree plans. Students can also manually customize degree plans and create schedules course-by-course that are checked for requirements compliance. Errors in plans and schedules are explained so that the student can make corrections. Advisors can review degree plans on the system and send comments back to the students, without their having to physically meet. Thus, some of the most time consuming tasks in advising are eliminated (Priest, Burnell, & Durrett, 2002).

The current prototype of SARA that is depicted in the following diagrams and text is the work of several semesters work at all 3 universities. As a result of these cooperative efforts, a basic system prototype (shown in Figure 1) has been developed, initial system databases have been designed and implemented (shown in Figure 2), and smart user interfaces that utilize MAS (shown in Figure 3) were created. The user interfaces were designed primarily by the TCU teams, the basic CTSD-based analysis and thus overall system requirements were created by the UTA students, and the backend database design and application server support were provided by the TTU students.

Figure 1. Prototype architecture

Prototype architecture

The architecture depicted previously (in Figure 1) follows the CTSD guidelines discussed. Given the dynamic, complex environment in which the system will operate, we have segregated tasks into individual software teams and empowered the constituent agents with as much decision making ability as possible. Exceptional situations are handled by "manager agents" and by other exception handlers.

The prototype SARA database module depicted next (in Figure 2) was created to provide the flexibility required by the MAS system architecture. Initial implementations are on MySQL, and migration to IBM DB2 to provide for more system automation is planned.

The MAS-based user interfaces (one example of which is depicted in Figure 3) were created using data from TCU's course schedule. They allow students to do most of the routine work in degree planning, freeing up advising time for more meaningful discussions. Once proposed plans are created, they can be evaluated and approved off-line.

future trends

Our future plans include broadening the scope of the proj ectjust described using an open source software development model. Our intent is to research the potential in open source design models for relieving some of the coordination issues inherent in a resource limited project such as ours. We hope that this new model will relieve some of the faculty coordination required and still allow (or force) students to cooperate with each other even though in different disciplines and locations.

conclusion

In the project just described, we have developed a multi-agent system for college advising using the contingency-theoretic system development (CTSD) process. Multi-disciplinary teams of students at three universities were employed to create the system. Once the ontology and agent communication language are defined, individual agents are constructed incrementally. The resulting system is a hierarchy of intelligent agents that together provide support for course scheduling and degree planning and that are adaptable to changing environments. The CTSD process applied to the creation of intelligent multi-agent systems results in maintainable systems operating in complex, dynamic domains. As such domains become increasingly automated, training and support tools for distributed CTSD will be needed. We have created an approach for such training that has been successfully applied to SARA and other projects over the last three years. Support tools will need to be created that capture not only the system design, but provide knowledge-based analysis of designs based on the principles we have defined.

Figure 2. SARA database entity diagram

SARA database entity diagram

Figure 3. Custom degree planner interface

Custom degree planner interface

KEY TERMS

Contingency Theoretic Software Development (CTSD): A new model for MAS design using tenets from CT and IPT. The CTSD design approach is focused on design for maintainability, a crucial requirement for complex, dynamic systems.

Contingency Theory (CT): A research branch of organizational theory that suggests that an organization's structure reflects its adaptation to the environment in which it operates. Hierarchical organizations operate best in stable, simple environments while flat, team-based organizations are better adapted to dynamic, complex task environments.

E-Learning: Any form of education or training that utilizes online media and remote connectivity for all or part of its curricula. This model includes both purely online courses and those in brick-and-mortar universities facilitated by email, the Internet, newsgroups, or chat.

Information Processing Theory (IPT): An explanation for the organization structure-environment relationship suggested by CT. IPT suggests that the information processing requirements dictated through interactions with the environment force certain structures in order to be efficient and effective.

Multi-Agent Systems (MAS): Multi-agent systems are those in which multiple agents (usually) cooperate to perform some task.

Ontology: An ontology is a well-defined set of concepts that are ordered in some manner to create an agreed-upon vocabulary for exchanging information.

Smart Agent: A program or collection of programs that lives for some purpose in a dynamic environment and can make decisions to perform actions to achieve its goals. Individual agents may be conceptualized as having beliefs, desires, and intentions that can communicate with other agents to satisfy their goals.

Software Team: Groups of agents which have tasks that are tightly interrelated; these teams roughly parallel a department of employees.