Switchgear, LT Panels, MCCB's, Capacitors. Problem Description and Stakeholder Tasks. The motivation for order monitoring is based on the coordination ...
Modeling Information Systems Using Objects, Agents, and Task-Based Problem Solving Adapters Somkiat Kitjongthawonkul Rajiv Khosla School of Computer Science and Computer Engineering LaTrobe University Melbourne, Victoria 3083, Australia {somkiat, khosla} @latcs1.cs.latrobe.edu.au Abstract In this paper, an integrated architecture of objects, agents, and problem solving adapters to model information systems is presented. The approach employs task-based problem solving adapters as a means for mapping stakeholder tasks and for integrating software artifacts like objects and agents in an information system. The integrated approach is applicable for developing database systems, management information systems and intelligent information systems. In this paper, we describe application of this approach in the sales and marketing function. Keywords Problem Solving Adapters, Agent Model, Object-Oriented Model, Information Systems Modeling
INTRODUCTION Object-oriented approach and agent-oriented approach are two emerging paradigms moving towards solving real world problems. As each paradigm emphasizes a different angle to tackle the real world problems, using only one paradigm alone is not sufficient to address modeling complex problems. Attempts to integrate the object-oriented paradigm with other paradigms have been examined (Turker et al., 1996, Abbas and O'Hare, 1997). Mostly, the discussions are centered around languages or coding basis. Very few attempt the integration on conceptual or task level. This becomes important when one deals with real world problems of sufficient complexity. We approach integration from a problem solving perspective based on a set of task-based problem solving adapters, which facilitate mapping of stakeholder tasks into a computer based software artifact while maintain strengths of object-oriented and agent-oriented paradigms. In this paper, we apply the problem solving adapters, object-oriented and agent-oriented paradigms to develop an Order Monitoring System in the sales and marketing function. The remainder of this paper is organized as follows: In section 2, we briefly discuss objectoriented paradigm and agent-oriented paradigm respectively. This is followed, in section 3, by outlining a set of generic problem solving adapters used. Section 4 describes the integration of the two paradigms with the problem solving adapters. Section 5 presents an application example using the integrated approach. Section 6 discusses some of the features of our approach . Section 7 concludes with summary and future work.
Proc. 10th Australasian Conference on Information Systems, 1999
474
TWO SOFTWARE MODELING PARADIGMS This section discusses the two emerging software modeling paradigm namely, object-oriented approach and agent-oriented approach. Both approaches are currently playing a significant role in developing a modern information system. Object-Oriented Approach As the name implies, the object-oriented approach is central around the notion of object. An object is a distinguishable entity that contains both data and operations on that data. The object data and operations on that data are not independent of each other, and are parts of the same object. The underlying philosophy of this paradigm is based on applying a consistent set of concepts for managing real world complexity. Although there is no general agreement about this set of concepts, the most often referred by most object-oriented methods are: identity, classification, inheritance, and polymorphism (Dillon and Tan, 1993, Rumbaugh et al., 1991, Coad and Yourdon, 1990). A wide range of advantages provided by object-oriented approach include (Khoshafian and Abnous, 1995), for example, modeling the intuitive structure of real world; constructing reusable software components and easily extensible libraries of software modules; easily modifying and extending implementations of components without having to recode everything from scratch. Although object-orientation is an outstanding approach for software development, yet as professional software development has gained experience in this paradigm, it seems obvious that the principles of object-orientation are limited to a certain degree in developing complex systems which are based on the synergy between human and computers. The techniques and modeling mechanisms provided by the object orientation are not fully adequate for supporting human centered modeling process because: •
They focus on structural problem-directed approaches which represent views of situations in terms of object configurations, property values and associations. Thus, user’s perspective or context related issues (which are defined using the user’s task perspective or task context) are not explicitly or thoroughly considered. In fact, task is one of the most critical aspects of an organization (Abbas and O'Hare, 1997).
•
In practice, it is quite often this paradigm conflicts with the way people describe their work or responsibilities. According to (Glass, 1996, Kawalek, 1995), people describe their work through activities, tasks and goals rather than objects.
To recapitulate, the principles of object-orientation rely on representing objects and their physical characteristics. Thus, the strength of this paradigm lies in structural modeling of data and objects in real world, and exploiting its object-oriented programming characteristics like reusability, polymorphism, etc. Agent-Oriented Approach The agent-oriented approach is a fairly new paradigm. Thus, it is no wonder why the definition of agent has been interpreted differently in the literature. Yet, in general, agent is known as an entity authorized to act on another’s behalf (Collins, 1991). Interpreted in this sense, agent can be both human or computer software being capable of relating percepts to perform actions in order to achieve a set of tasks or goals assigned to it in a largely dynamic environment.
475
Agent-oriented approach promotes a societal view of computation. An agent possesses knowledge and methods and the ability to engage in complex communication with other agents, including human agents, in order to obtain information or request their help in accomplishing its goals and tasks. Like objects, agents interact with each other via message passing. However, each message is also defined in terms of mental activities. An agent may engage another (or itself) with messaging activities from a predefined class of messages protocol (Parks, 1998). The class of message protocol is mainly borrowed from the speechact theory (Winograd and Flores, 1986, Searle, 1969) such as: informing, requesting, offering, accepting, rejecting, competing, and assisting. As a software program an agent maps percepts to actions and in the process exhibits the following characteristics (Nwana and Ndumu, 1997, Wooldridge and Jennings, 1994, Khosla and Dillon, 1997): Autonomy - being able to perform tasks on its own without the need for human guidelines; Social ability - being able to interact with others; Reactivity - being able to sense and respond to its environment; Pro-activeness - being able to exhibit goal-directed behavior by taking the initiative; Collaboration - being able to work in a co-operative manner with other agents in open and time-constrained multi-agent environments; Learning and adapting - being able to increase its performance and to adjust to environmental change. Taking into account that the aforementioned features promised by agent-orientation, it seems to have many strengths but also some weaknesses, for example: •
Agent-oriented approach focuses primarily on tasks (sometimes referred to as activities or goals). It encourages too much attention to be paid on the detailed functions and too little to the main structure of the business problem domain or the structure of the data/components used for accomplishing a task.
•
As being rather a premature method, the agent-oriented analysis and design methods are not fully developed.
It is rather obvious that the principles of agent-orientation rely on representing mental states to model agent interaction. Thus this paradigm is an appropriate medium to support goal/task-based modeling.
GENERIC PROBLEM SOVLING ADAPTERS In the previous section, we sought to highlight some principles of both object and agent paradigm that could be usefully incorporated into the design of a generic object-agent integrated model. This section outlines a set of task-based problem solving adapters for identifying/mapping user/stakeholder tasks. PHASE
(SOME) TASKS
INTELLIGENT METHODS (optional)
HYBRID CONFIGURATION
Preprocessing phase
Eliminates noise which is peculiar to problem under study, input conditioning
Symbolic Methods, Fuzzy Methods
Transformation
Decomposition phase
Analyzes and decomposes the problem domain into set of abstract concepts/classes
Symbolic Methods Neural Network Methods
Combination
Control phase
Operates within each abstract class and performs input validation and problem formulation, determination of decision level classes, and resolving conflicting outcomes of decision level classes
Symbolic/Fuzzy Methods, Neural Network Methods, Fuzzy-Neural Network Methods, Genetic Algorithm Methods
Fusion, Transformation
Decision phase
Determines/predicts specific classifications with each decision-level class and provides desired outcomes to problem solver
Neural Network Methods, Numerical Methods Mathematical Algorithms, Fuzzy-Neural Network Methods, Genetic Algorithm Methods
Fusion, Transformation
Postprocessing phase
Validates decision, explains and presents decisions made in the decision phase
Symbolic/Fuzzy Methods, Neural Network Methods, Genetic Algorithm Methods
Fusion, Transformation
Table 1
Summary of generic problem solving adapters
476
Table 1 outlines some of the content of the generic problem solving adapters. Among other motivations, the content shown in Table 1 has been based on experience of developing software systems for complex real world problems like image processing, sales management, diagnosis and others. More information on the adapters can be found in (Khosla and Kitjongthawonkul, 1998, Khosla and Dillon, 1997). The adapters are described in terms of the information processing phases (namely, preprocessing phase, decomposition phase, control phase, decision phase, and postprocessing phase), tasks to be accomplished in each phase, intelligent methods used for accomplishing the tasks in different phases and hybrid configuration of the intelligent methods, as shown in Table 1. The intelligent methods are selected based on top down and/or bottom up knowledge engineering strategies. The intelligent methods reflect integration of artificial and computational intelligent levels of problem solving. This involves symbolic, fuzzy, neural network, and genetic algorithm methods. The architecture incorporates fusion, transformation and combination methods as a mean to maximize both the quality of solution and range of tasks to be handled. In situations where the nature of the problem is rather structured and/or semi-structured orientation, the intelligent methods and hybrid arrangement may not necessary. In contrast, however, these intelligent features are required if the problems are unstructured.
INTEGRATED ARCHITECTURE As shown in Figure 1, the integrated architecture comprises of three components namely Object-Oriented Model (OOM), Agent Model (AM), and Problem Solving Adapters (PSA) (Khosla and Kitjongthawonkul, 1998). Some characteristics of the integrated architecture are: Problem Solving Adapters
Agent Model
Percepts Goals/Tasks Actions/Methods Environment Reactive Learning & Adaptation Collaboration Autonomy
Information processing phases Tasks Task constraints Knowledge engineering strategy Actions/Methods Hybrid configuration
Objects Classes Encapsulation Composability Message passing Inheritance Polymorphism Reusability
Object-Oriented Model
Figure 1
•
An integrated architecture
Various features of the OOM including inheritance, composability and other nonhierarchical relationships between various concepts provide attractive features for capturing relationships between objects and agents. This allows development of generic data structure and methods, a multiple inheritance structure and formation of heterogeneous of objects. In addition, the OOM provides mechanism to help realize the concept of abstraction taken up both in AM and PSA. The AM used here is derived from the agent and agent architectures of (Russell and Norvig, 1995). AOM is based upon task/goal abstraction in which an agent needs to perform in the system. This is in contrast to OOM, which is an entity that represents some data items in the system together with the operations that can be performed on the data item during system activity. An agent facilitates task-based communication and defines the nature of communication between different agents, which can be intricate, and complex (e.g. negotiation) depending upon
477
the application domain. The features of agent-oriented model help us to capture goal/taskbased orientation which is dynamic by nature. In addition, the properties of agent like learning and adaptation are especially important for capturing human behavior aspect in an appropriate way. •
Apart from the agent and object features outlined, characteristics related to problem solving like information processing phase and their characteristics/constraints are also taken into account as complementary features of the integrated architecture. The PSA is used in conjunction with object and agent model to enable effective realization of problem solving process of human information processing system. The role played of the PSA is then on providing agents the intelligent strategies methods for achieving or satisfying agents’ tasks/goals under given constraints such as fast response time, reliability and temporal reasoning. This is done by executing a sequence of actions through the five information processing phases, tasks associated with each phase and intelligent methods used to accomplish the tasks in each different phase.
ILLUSTRATION: AN ORDER MONITORING SYSTEM To understand how the integrated architecture can be realized it is helpful to proceed on the basis of a realistic example. We have applied the integrated approach to develop an Order Monitoring System (OMS) in a manufacturing company. The company under study has a network of branches and manufacturing divisions to market and supply electrical requirements of various type of industrial customer e.g. original equipment manufacturer, contractors, consultants, and small private industrial customers. The main products include a wide range of Luminaries, Motors, Alternators, Transformers, HT Switchgear, LT Panels, MCCB’s, Capacitors. Problem Description and Stakeholder Tasks The motivation for order monitoring is based on the coordination problems between marketing engineers and manufacturing and consequential delay in shipment and loss of future orders from customers. For purpose of monitor, a marketing engineer keeps track a different stages of an order like indent preparation, costing, reservation, production status etc. However, prior to monitoring these stages, every order is also checked for technical and commercial validity. The OMS is designed to better monitor and identifying the bottlenecks in manufacturing and delivery of customer orders. The stakeholders in the OMS are the marketing engineers and the marketing manager. In this section, we identify the tasks undertaken by the marketing engineer. These tasks are then mapped to the problem solving agents of the integrated architecture. We also outline the object structure used by various problem solving agents. Mapping Stakeholder Tasks to Problem Solving Agents of OMS First of all, we need to understand the marketing engineer’s tasks in the context of order processing. The reasons are two fold. First, it helps to bring into focus aspects required to deal with the complexity in a domain. This is an important aspect of any complex software development process. In addition, such analysis enhances the intelligibility of a computer system and facilitates more useful interaction between the user and the system. By using agent analysis incorporates with the five information phase of the PSA, the tasks under taken by marketing engineer relating to order processing can be captured through the five different but related agents namely, Preprocessing agent, Decomposition agent, Control agent, Decision agent, and Postprocessing agent, as shown in Figure 3.
478
OrderPreprocessingAgent Preprocessing Phase
OrderDecompositionAgent Decomposition Phase
IndentPreparationAgent
CostingAgent
ReservationAgent
ProductTrackingAgent
IndentPreparationControlAgent Control Phase
SwitchGearDecisionAgent
MotorDecisionAgent
Figure 2
CapacitorDecisionAgent
TransformerDecisionAgent
LightingDecisionAgent
Decision Phase
Problem solving agents and information processing phase
Order Preprocessing Agent The goal of preprocessing agent is to improve data quality in OMS. Quite often the customers do not provide the company’s exact product number when placing an order; instead, they describe the ordered product in terms of technical specifications, or, in the case of telephone orders, by means of a verbal description. Under this circumstance, the Order Preprocessing Agent must perform two relevant tasks namely input conditioning and noise filtering. The input conditioning task in the context of this application is to check if orders are clear technically and commercially when received. This can be done, for example, by paging those orders through the product entities. The noise filtering involves filtering out those orders that do not match the business rules criteria. For example, the orders need to be checked against the customer’s credit limit prior to acceptance. Order Processing Decomposition Agent The goal of the decomposition agent is to restrict input context and reducing complexity. In case of OMS, indent preparation, costing, reservation, and production tracking are identified as different stages or abstract concepts for monitoring orders. These are represented in the decomposition phases as the four agents. Another and goal of the decomposition phase is to facilitate scalability of the software application. For example, we can add more stages (e.g. after sales service) in order monitoring in this phase. The order processing decomposition agent involves globally decomposing order processing function into different abstract agents including Indent Preparation Agent, Costing Agent, Reservation Agent, and Product Tracking Agent as shown in Figure 2. The Indent Preparation Agent is responsible for preparing and filling technical specification of products ordered by customers. This technical document will be used in the manufacturing division of the company to produce the products as required. The Costing Agent checks item price, quantities and determines the cost involved to fit the order. The Reservation Agent checks whether the corresponding quantities are available in inventory and the quantities necessary to fill the customer order are reserved. The Product Tracking Agent monitors the production status of the customer order. The effect of any delays in production on actual customer orders
479
can be tracked at all times and across all levels of production on the basis of the requirements derivation and requirements coverage relationships geared toward the customer order item. It should be noted that the steps involved in order processing are depending whether the standard or one-off production is involved, these steps are of different significance. In this paper, the concern is on the standard production. Therefore, the tasks like Drawing Approval & Arranging Inspection have been out of discussion as they are in part of the one-off production process. In the remaining parts of this section, the discussion is outlined for the Indent Preparation Agent. Indent Preparation Control Agent The control agent disaggregates a class into its constituent parts or locally specializing into its subclasses. In this light, the Indent Preparation Control Agent exercises the control function by determining the decision categories of the indent preparation into different agent classes, as shown in Figure 2. Implicitly, this kind of function serves to reduce the complexity of tasks into a more manageable way that can be seen that we move from relative heterogeneity to relative homogeneity. These decision agents are determined based on the marketing engineer’s behavior in response to indent preparation tasks. It should be noted that if the conflict happen to occur among classes, the Control agent necessitate to exercise conflict resolution. Indent Preparation Decision & Postprocessing Agent As shown in Figure 2, the five different decision agent classes namely Switchgear Decision Agent, Motor Decision Agent, Capacitor Decision Agent, Transformer Decision Agent, and Lighting Decision Agent are those classes inference on which is of importance to the user, in a way that a specific decision can be made. These decision agents are responsible for preparing technical details of items or products. For example, the action performed by Switchgear Decision Agent may involve preparing indent form, matching order with switchgear product specification. The progress of preparation is reported back to the indent control agent directly. Normally, these decision agents perform their tasks individually. Nevertheless, there may be a situation that some of them need to communicate each other. For example, motor indent agent may check with capacitor indent agent to find the specification that match with the motor type and capacity. Each aspect of indent preparation is validated by the postprocessing agent and the conclusion report will be produced. Problem Solving Agent Structure The problem solving agents are represented in terms of their percepts, actions, goals, and environment, also known as PAGE (Russell and Norvig, 1995). The action represents the behavior of the problem solving agent after any given sequence of percepts or sensors. The goals represent the tasks in different phases of PSA. The environment represents the software environment in which the problem solving agents operate. Some of the problem solving agent have been shown in Figure 3. OMS Object Structure The agent structure captured using PAGE description reveals the association of agents and OMS domain in a more specific mean regarding the tasks assigned and the resources required for satisfying agent’s goals. For example, in Figure 3, actions performed by the indent preparation agent involves identifying article, checking order type, etc. These sort of actions
480
establish a clear relationships between tasks of the indent preparation agent and services offered by linked to this agent in OMS object structure. These objects are Customer, Order, Product technical document, and Indent form, Product catalog as shown in Figure 4.
Name: Parent agent: Communication with: Communication constructs:
Indent Preparation Agent
Name:
Motor Indent Agent
Parent agent:
Decision agent
Capacitor indent agent, Motor indent agent, Transformer indent agent, Order object
Communication with:
Indent control agent
Inform (capacitor related indent information)
Communication constructs:
Control agent
Inform: Progress report on preparing motor indent to control agent
Monitor the preparation of capacitor, motor, transformer indents Monitor changes in the indents Coordinate the information with indents
Goals:
Prepare technical details of motor
Actions:
Prepare indent forms, Match order with product specification
Actions:
Identify article, Check order type, Check indents
Percepts:
Order forms, Product catalogs,
Percepts:
Customer orders, Product technical documents
Environment:
Dynamic, Semi-structured problems
Environment:
Dynamic, Semi-structured problems
Goals:
Figure 3
PAGE decription of indent preparation agent and motor indent agent
Customer custCode status typeOfBusiness dateSetUp name alphaCode address phone creditLimit
Order number date time status
OrderLineItem qty
Figure 4
Product number description price
IndentForm number date
(Some) Object strcuture used by indent preparation agent
DISCUSSION Approach to developing of information systems can broadly be taken from two perspectives, namely, technology-based perspective and human-centered perspective. Technology-based perspective lacks a good sense of modeling intuitiveness as the techniques come from the computer world that encourage way of thinking that works for computer systems and applying the same way of thinking to develop software artifacts (Jacobson et al., 1995, Zhang and Norman, 1994). Human-centered perspective emphasizes on the way of modeling complex software systems that are based on the synergy between human and the machine (Perrow, 1984, Norman, 1993). An important aspect of human- centeredness is the task context in which human solve problems. This task context is captured in a generic form using problem solving adapters. The software artifacts like objects and agents are used as technological primitives by the problem solving adapters to model software adapters. The selection of these software artifacts is based on their intuitive modeling strengths rather than their technological motivation. Besides building application, with our approach also satisfies number of management challenging in software development e.g. scalability, maintainability,
481
reusability. Also, the integrated architecture approach makes provision for incorporation associated number of characteristics like learning and adaptation, collaboration, etc. into the software artifacts useful for the evolvablility of the application.
CONCLUSION In this paper, we have demonstrated that our approach can be effectively applied to develop an order monitoring system in sales and marketing function. The features of objectorientation such as inheritance and other non-hierarchical relationships between concepts allow development of generic data structure and methods and formation of heterogeneous of objects. Through the integration, goal/task-orientation of stakeholder can be realized through the five problem solving agents. Also, these problem solving agents exploit the features provided by object-orientation to help generalize concept of abstraction. Our further work involves improving the current prototype to reach a more robust operation. Also, as order process is considered to be part of sales process, we are considering to widen its monitoring capability to encompass other order related aspects such as enquiry, conversion of inquiry into order, and after sales service.
REFERENCE Abbas, S. and O'Hare, G. (1997) "Incorporating Organizational Design Principles and Experiences into the Design and Implementation of Multi Agent Systems" In Kirn, S. and O'Hare, G. (eds) Cooperative Knowledge Processing: The key technology for intelligent organizations, Springer-Verlag London Limited, Great Britain, pp. 173-195 Coad, P. and Yourdon, E. (1990) Object-Oriented Analysis, Yourdon Press, Prentice-Hall, Englewood Cliffs, NJ. Coad, P. and Yourdon, E. (1991) Object-Oriented Design, Yourdon Press, Prentice-Hall, Englewood Cliffs, NJ. Collins (1991) Collins English Dictionary, HaporCollins Publishers, Sydney, Australia. Dillon, T. and Tan, P. L. (1993) Object-Oriented Conceptual Modeling, Prentice Hall of Australia Pty. Ltd. Glass, R. L. (1996) Object-Orientation Claims: Naturalness, Seamlessness Seem Doubtful, Journal of Systems Software, 33, 1-2 Jacobson, I., Ericson, M. and Jacobson, A. (1995) The Object Advantage: Business process reengineering with object technology, Addison-Wesley Publishing Company. Kawalek, P. (1995) An introduction to a process engineering approach and a case study illustration if its utility, In Re-engineering the Enterprise; Proceedings of the IFIP TC5/WG5.7 Working Conference, Galway. Khoshafian, S. and Abnous, R. (1995) Object Orientation: concepts, analysis & design, languages, databases, graphical user interfaces, standards, John Wiley & Sons, Inc. Khosla, R. and Dillon, T. (1993) Application of Object-Oriented Technology in a Terminal Power Station, In Technology of Object-Oriented Languages and Systems Tools 12, Melbourne, Australia. Khosla, R. and Dillon, T. (1997) Engineering Intelligent Hybrid Multi-Agent Systems, Kluwer Academic Publishers, Norwell, MA 02061, USA. Khosla, R. and Kitjongthawonkul, S. (1998) A Human-Centered Integrated Framework of Agents and Objects for Modeling Data, Information and Knowledge in an Enterprise, In ACIS'98, Sydney, Australia.
482
Norman, D. A. (1993) Things that makes us smart, Reading, MA: Addison-Wesley. Nwana, H. S. and Ndumu, D. T. (1997) "An Introduction to Agent Technology" In Nwana, H. S. and Azarmi, N. (eds) Software Agents and Soft Computing: Towards enhancing machine intelligence; concepts and applications, Spinger- Verlag, pp. 3-26 Parks, D. (1998) Agent-Oriented Programming: A Practical Evaluation, http://http.cs.berkeley.edu/~davidp/cs263/oop.html. Perrow, C. (1984) Normal accidents: living with high-risk technologies, NY: Basic Books. Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F. and Lorensen, W. (1991) Object-Oriented Modeling and Design, Prentice-Hall International, Inc. Russell, S. and Norvig, P. (1995) Artificial Intelligence: A modern approach, Prentice-Hall, Inc., New Jersey. Searle, J. (1969) Speech Acts, Cambridge University Press, Cambridge, UK. Turker, C., Conrad, S. and Saake, G. (1996) Dynamically Changing Behavior: An agentoriented view to modeling intelligent information systems, In Proceedings of the 9th International Symposium on Methodologies for Intelligent Systems, Zakopane, Poland. Winograd, T. and Flores, F. (1986) Understanding Computers and Cognition: A New Foundation for Design, Addison-Wesley, Readings. Wooldridge, M. and Jennings, N. R. (1994) Agent Theories, Architectures, and Languages: A Survey, In ECAI-94 Workshop on Agent Theories, Architectures, and Languages, Amsterdam, The Netherlands. Zhang, J. And Norman, D. A. (1994) Representations in distributed cognitive tasks, Cognitive Science, 18 (1), 87-112.
COPYRIGHT Somkiat Kitjongthawonkul, Rajiv Khosla 1999. The authors assign to ACIS and educational and non-profit institutions a non-exclusive licence to use this document for personal use and in courses of instruction provided that the article is used in full and this copyright statement is reproduced. The authors also grant a non-exclusive licence to ACIS to publish this document in full in the Conference Papers and Proceedings. Those documents may be published on the World Wide Web, CD-ROM, in printed form, and on mirror sites on the World Wide Web. Any other usage is prohibited without the express permission of the authors.
483