You are on page 1of 9

JOURNAL OF INFORMATION AND COMMUNICATION TECHNOLOGIES, VOLUME 2, ISSUE 1, JANUARY 2012 1

An Agent Oriented Architecture to Supply Flexibility in ERP Systems


S. Sayari, H. Haghighi, A. Faraahi and M. M. Javanmard
AbstractCreating new processes and augmentation of current ones are important targets of ERP systems. These targetsare considered in order to have more effective and efficient processes and flexibility in the modification of enterprise processes. One of important advantages of ERP systems is equipting them with processes which are based on best practices. Such processes are adaptable according to the requirements of enterprise and in this way, flexibility of processes customization is guaranteed, and reverse engineering operations are also possible. On the other hand, inflexibility and lack of required intelligence to support process modification in run time make restrictions and lead to less dynamic flexibility in ERP systems. In this paper, a new agent oriented architecture is proposed which supplies flexibility of ERP systemsbased on some autonomous but cooperative agents. In this architecture, there is a great emphasis on some aspects of agents like learning, intelligence and mobility. Index Termsagent oriented approach, ERP, flexibility, intelligence, learning, software architecture.

1 INTRODUCTION

N the new millenium, an enterprise is evaluated and specified based on its attention and emphasis on business processes. In such enterprises, in order to response to changing requirements and apply customization and enterprise experience, fast operations are required. Enterprise Resource Planning (or ERP by abbreviation) supports such great architecture [1]. One of important factores that makes using ERP systems necessary is its modifiability or flexibility feature. The development environment is one of important parts of ERP systems. By using this environment, flexibility of the ERP packageis guaranteed, and reverse engineering operations are possible. In this way, ability tocustomization or development of functionality of ERP to respond requieremnts of enterprise issuppliable. On the other hand, equipting ERP systems with processes based on best experiences or best business processes is a significant differnce between ERP systms and other integrated systems. By using development environment, such processes are possible to be specialized and also replaced by current approach of the enterprise [2]. Although in traditional ERP systems, the development environemnt creates and modifies processes by accessing provided tools, dynamic modificatoin of processes and runing samples is less supported. Use of intelligent agent technology has many advantages for ERP systems. Providing flexibility of ERP sys

tems based on intelligent agents rather than components, provieds compliance of dynamic changes much better in environemt. Advantages of using agent technology to provide flexibility in ERP systems are reaction to changes, inter operations between heterogeneous systems and intelliegnt decision making. In this paper, a new architecture is proposedto supply flexibility in ERP systems. In this architecture, a set of autonomous but cooperative, intelligent agents is used. Based on intelligent agents, the proposed system has an ability to create a new process or modify current processes easily in response to received requests from authorized users. Also by use of reactiveness feature of agents, flexibility is achieved in response to the information ERP. The rest of this paper is organized as below. In section 2, we give a brief background of ERP systems and usage of intelligent agents in these systems. Section 3 describes our overal approach to design the targeted agent oriented architecture. Section 4 presents the suggested architecture, and section 5 investigates the applicability of our architecture using a simple case study. Finally, the last section is devoted to conclusions.

2 BACKGROUND

2.1 ERP systems A package of Enterprise Resource Planning software is a S. A. is with the Department of Computer Engineering and Information set of independent but integrated modules. Although Technology, University of Payamenoor, Tehran, Iran. these modules have been prepared to be implemented H. H. is with the Faculty of Electrical and Computer Engineering, Shahid (pre-desiegned and pre-engineered according to best Beheshti University, Tehran, Iran. practices), they are configurable and modifiable. By the A.F. is withthe Department of Computer Engineering and Information Technology, University of Payamenoor, Tehran, Iran. use of these modules, all key commercial and manageM. M. J. is with the Faculty of Electrical and Computer Engineering, Shament processes of the enterprise, either inside or outside hid Beheshti University, Tehran, Iran. the enterprise, are integrated according to procedural or process-based view. Such processes are considered in
2012 JICT www.jict.co.uk

different domains like official, financial, commercial, human resources, and production. These processes are based on data and used in order to make additional value and / or control and opitmize data flow and value chains. In this way, ability to plan and effective control of resourses of the enterprise and therefore strategic management of the enterpsie are feasible [1]. ERP systems are computer based softwares which are designed to process enterprise transactions, make integration feasible, plan in a real time, produce and response to customers [4]. ERP packages help enterprises to automate bussiness processes which are based on an integrated user interface, integrated data set and integrated code [5]. In many definitions of ERP systems there is a great emphasis on the point that an ERP package is a set of integrated, prepared to be implemented modules, which are pre-designed and pre-engineered. This feature shows that ERP systems are designed based on the best (current) processes or best practices that exist in different parts of industry. In other words, processes considered in ERP packages to support key procedures of enterprise are designed based on standard procedures. These procedures are proved the best alternatives by experience.

2.2 Processes management in ERP and supplying flexibility In comparison with traditional integrated information and application systems, one of main features of ERP systems is the replacement of functional or task-based view with procedural or process-based view. In other words, applicable functions in ERP systems are considered as an execution of a set of consequent or parallel activities which are predicted in making different processes. In ERP, a process is distributed in the enterprise and moved to yield an acceptable result. In other words, in ERP, system operations are viewed as processes, and decision making about current operations of systems by managers are reduced as much as possible. A significant differnce between ERP systems and other integrated systems are equipting them with business processes. These business processes are internationally based on best practices which can be customized by the enterprise if required. This effort which is called reverse engineering is possible by a development environment. The development environment is the most important part of an ERP software package based on which flexibility of the system is guaranteed, and reverse engineering is feasible. This part supplies the ability of customization and ability of functionality expansion which are conducted to supply particular requirements of the enterprise [2]. 2.3 Intelligent agents in ERP systems In recent years, the concept of agent has become increasingly important in both artificial intelligence and compuer science. The term of intelligent agent is used to denote a software-based computer system that enjoys the following properties: (a) autonomy (agents operate with-

out the direct intervention of humans); (b) social ability (agents communicate with other agents); (c) reactivity (agents perceive their environment and respond in a timely fashion to changes that occur in it); (d) pro-activity (agents do not simply act in response to their environment; they are also able to exhibit goal-directed behavior by taking the initiative) [3,6,7]. A generic agent has a set of goals (intentions), certain capabilities to perform actions, and some knowledge (or beliefs) about its environment. To achieve its goals, an agent needs to use its knowledge to reason about its environment (as well as behaviors of other agents), to generate plans and to execute these plans [8]. A multi-agent system consists of a group of agents, interacting with one another to collectively achieve their goals. By drawing on other agents knowledge and capabilities, agents can overcome their inherent bounds of intelligence [3,9]. On the other hand, traditional ERP systems have certain limitations such as replying on central control, lack of reactivity, sematics, resource management and interoperation. Intelligent agent technology is among the ones that can improve the ERP systems. Agent-based ERP approach can provide higly reusable component-based ERP architecture as well as negotiation ability and the capability to adapt to dynamic changes in the environment. The benefits of applying agent technology to ERP system include distributed system architecture, easy interaction, resource management, reactivity to changes, interoperation among heterogeneous systems, and intelligent decision making. In recent years, the integration of ERP and agent technology has attracted considerable interests in different researches. Min Wang et al. designed an automatic intelligent workflow monitoring system by the help of agent technology [3]. By using their system, flexible monitoring in workflow systems is achieved in an automatic and cooperative way. Also Haghighi et al. have proposed an agent oriented architecture to supply integration in ERP systems [10]. H. Al-zubi has constructed an electronically supply chain management based on multi-agent systems [11]. In their system, an approach has been proposed based on which, productability of supply chains by means of intelligent supply chains, reduction in time of cycle and loyality of customer has been achieved.

3 Our overal approach In this research, flexibility of ERP systems is considered with the view of creating a development environment in which feasibility of customization of work processes and localization of them are provided. According to the mentioned basis, the proposed agent oriented architecture has three phases, which include definition, recognition and process creation and modification operations. Definition: creation and modification of processes are initialized by the definition of them. Creation and modification of processes are constituted by received requests from users or by inspecting and searching in ERP systems and receiving reports in

response to imbalance conditions. Recognition and inspection: the next phase is recognition of processes and samples of those processes that must be modified. Creation and modification: in this phase, which is the ultimate phase, according to results achieved by previous two phases, a new version of the process is created and finally this definition is applied on running samples of that process.

After decomposition, some of these sub-activities can be assigned to different agents. These agents are a set of entities which can solve problems and are able to cooperate with each other to supply flexibility. Based on this analysis, in the proposed architecture, intelligent agents can be classifiied to different categories. This classification is shown in the class diagram given by figure 2. Note that these agents are extracted according to the main features of intelligent agents.

3.1 A solution to flexibility One of important issues in enterprise resource planning systems is flexibility. This feature makes customization possible and provides a situation where extension of functionality of ERP package is considered to supply particular requirements of the enterprise. On the other hand, one of the main restrictions of ERP systems is inflexibility and lack of necessary intelligence to support modification of processes in run time. The proposed architecture in this research presents two alternatives in order to support flexibility: Customized flexibility: in this approach, flexibility is considered according to the requests received from users. Reactive flexibility: in this approach, flexibility is obtained based on information received from ERP system itself. 3.2 Intelligent agents to support flexibility In multi-agent systems, cooperation between agents is a significant issue and distribution of work in system is one of main target of this cooperation. As we said earlier, creation and modification of processes consist of some sub-activities like looking for imbalance conditions in ERP system, analysis and inspection of requests and reports, tracking versions, and compliance of samples with new definition. The following diagram is the applicable diagram related to the explained activities:
Effectuate Definition

Suggested architecture

Diagnostic

result
Definition/Modification

request create\modification process Display report


Analyze User Search

In this architecture, relations between agents are carried out on an internet platform. Moreover, flexibility can be achieved in two approaches: 1. In the first approach, users send their requests by means of user interface. User interface sends requests to the coordinator agent. This agent classifies requests and if requests are related to the modification of process(es), after collecting information of process(es) and their sample(s), this agent sends two kinds of information to the definition agent: process information and information related to the modification of process. In addition, this agent sends information about samples to the compliance agent. When a request is a creation request, the coordinator agent sends the request to the definition agent directly. After modeling new process or modifying a model of the current process (according to the information received from the coordinator agent) and correcting extisting errors by the definition agent, the ultimate model is sent to the version tracker agent. The version tracker agent creates all information related to the new version and broadcasts it to the compliance and information agents. Based on the information received about samples, the compliance agent changes samples in a way that samples have compliance with new definition. 2. In the second approach, the intelligent notifier agent inspects the ERP system in some time intervals and after creating a report about balance or imbalance condition of the system, sends this report to the analyzer agent. After analyzing and recognition of processes and samples to be modified and how to modify them, the analysis agent sends its analysis results to the coordinator agent in the form of some structured rules; rest of activity is the same as the first approach. In Figure 3, a general scheme of the proposed architecture is shown

Track version

new version balance or balance constitution

effetuated instances

Compliance

ERP System

Fig.1. Use Case diagram to supply flexibility

Fig. 2. A class diagram for the proposed architecture

Fig. 3. The proposed agent oriented architecture

According to the rules defined in this agent, the intelligent notifier agent is able to query an ERP system and other related systems in appropriate time intervals. Responses of these queries, which are indicators of losing some aspects of balance, are sent to the analyzer agent. In order to search nonlocal information by means of network, this agent has stimulus feature. This agent can change the time intervals of application of queries by monitoring results. This ability is an aspect of learning in intelligent agents: if in several applications of a query, the result set is empty, or in other words, system is stable, then it indicates that the considered time interval is less than usual and must be increased. Vice versa, if the result of several applications of a query is not empty, then the time interval of application of the query must be decreased.

In continue for each agent, its functions and way of interaction with other agents are explained separately.

4.1 User Interface agent This agent is indeed a communication bridge between users and the system. This agent reacts to the requests made by users and provides required reports to them. This agent has some predefined designs in its database, which can be shown to users. Therefore, a customized design for creation and modification of processes is distributed to the coordinator agent to collect and model data. The user interface agent has capability of learning and creating new designs according to the users requirements. 4.2 Intelligent Notifier agent

4.3 Analyzer agent The role of this agent is to analyze data and reason about instructions and reports received from the intelliegentnotifier agent. After examining reports, this agent recognizes process(es) and sample(s) to be modified andmakes decisions about the places of modification and exact approach of modification based on optimized cost. Then, the achieved results are sent to the coordinator agent in the form of set of rules and defined instructions which are part of its knwoledge. Results achieved from the analyzer agent can be in one of the different following forms: Modification operation: {ADD |MODIFY |DELETE|MOVE} {PROCESS <processname> | TASK <taskname> |BLOCK <blkname> |CONDITION AT <activityname> |

WRD <wrdname> | USERAT <activityname> |ROLE AT <activityname> | <blkname>} Places to make the modification:

{AFTER {<activityname> | <blkname>} | BEFORE {<activityname> | <blkname>} | IN {<activityname> | <blkname>} Modification domains, which consist of processes and samples to be modified. Sample selection can be done based on the run phase or object indexes: DOMAIN [ALL|NONE] <processmane>[WHICH OBJ_REF <comparison_op>objref | BEFORE { <activityname> | <blkname> } STARTS |AFTER { <activityname> | <blkname> } COMMITS | AT { <activityname> | <blkname> } EXECUTING ] For example, suppose that in the good order process, good orders are initially sent by customers, then customers account is checked if it has enough credit according to the goods requested and also inventory is checked if it has enough goods to be sold. During conducting samples of the considered process, if a warning is created by the intelligent notifier agent that states Object X is less than the standard value, then the analyzer agent analyzes that warning according to the optimized cost and concludes that it is better to check inventory first and then check the customers account. In addition, for similar requests, this agent has capability of using results of previous analysises. This agent has ability of recognition of similar requests. This issue is related to agents learning ability. 4.4 Coordinator agent The coordinator agent figures out requests received from the user interface agent and results obtained from the analyzer agent and classifies them to two different creation and modification categories. In response to results which lead to modification, information related to processes are collected from the information agent. In addition to this information, instructions related to modification are sent to the definition agent and information related to samples, which are obatined from the information agent is sent to the compliance agent. Requests related to creation of processes are sent directly to the definition agent. Indeed, this agent is responsible to the coordination between the user interface agent, analyzer agent, information agent, definition agent and compliance agent. In addition to reasoning, sociability and reactivenss are its important features. 4.5 Definition agent This agent gets the process logic and models it according to the definition of the process. There are several process modeling languages. This agent is able to learn all of them. This agent has ability of selection of tools and appropriate structures. This agent is able to modify the definition of a process according to the received instructions from other agents. In addition, this agent has ability of recognition and correction of errors and has capability of considering set of modeling time constraints in order to prevent errors in run time. After recognition of any kind of errors, according to the modification rules and algorithms which constitute its knowledge, it corrects recog-

nized errors. This feature of agent indicates fault tolerance feature of agents. Errors can be structural or semantical. Misuse of modeling structures can lead to semantical errors. In order to verify grammatical errors, there is not any need to know information about critical operations of tasks and processing entities. As an example, a conditional node with an output is a grammatical error, which means that conditional node has no substitution for selection. Semantical errors are resulted according to inaccurate modeling of business processes and/or according to entering to errornous situations caused by some particular compisitoin of performing tasks. In order to semantical verification, information related to interior structure of tasks is required. For instance, a conditional node selects one of values based on output flows, which have been supplied by the previous task. Suppose that a conditional node exists with two output flows with values V1 and V2. The structure is semantically correct until the previous node has led to values V1 and V2. If results are anything else, then because of semantical error in modeling, a sample workflow reaches a deadlock. Five kinds of probable samatical errors which are recognizable in workflows and stored in database as rules are: Misuse, e.g., existence of an object synchronized with an input flow Deadlock, e.g., synchronization of two inconsistent paths Live lock, e.g., a loop without any output flows Unwanted repetitive execution, e.g., integrateion of two simultaneous paths Activeend, e.g., simultaneous paths which lead to more than one ultimate task. Finally, we should note that to obtain required information about proceses and modling them, the definition agent gets help from information agent.

4.6 Version tracker agent Since a process model can be modified during time, there is a need to keep track of modifications and new versions of the workflow. This task is done by the version tracker agent. These versions of the process model show evolution of workflow model during time. In fact, this agent enables the system to publish and control all changes created in the process model of the ERP software package. One of the intelligent features of this agent is its ability to recognize any malfunctions from current versions, which may be caused by incompatibility of sites or application interfaces or etc. Some of main responsibilities of this agent are controlling processes (while they are being changed, experimented or published), observation and recording detailed information of date, person, and time duration needed for applying modifications and recognition of any malfunctions of current versions. 4.7 Information agent This agent has responsibility of storing, keeping, updating, retrieval and providing required information.

Since this agent reacts in response to other agents requests, it is a reactive and social agent. The aim of the existence of such agent is processing queries on databases, obtaining requested information from other agents and sending the result set (if it is not empty) to them. In order to search non-local databases and storages and retrieval of information, this agent has mobility feature. Since information retrieval is done based on its internal knowledge, this agent can be considered as an autonomous agent. Recognition of valid data from invalid data and also possible lost data are considered as an intelligence feature of this agent. In addition, for recurring requests of special data, the result set is stored in its cache so that in further requests, the result set is responded without referring to the databases. In this way, efficiency is increased noticeably.

Fig. 4. Structure of the analyzer agent

4.8 Compliance agent Classification of samples and compliance of them with new definition, based on execution phase of samples, are responsibilities of this agent. This agent reactively initials its work by receiving recognized samples from the information agent and processes definitions from the version tracker agent. Then, this agent intelligently and reactively selects one of the following rules to apply modifications: Samples whose execution phase is not reached to the modification region are directly made compatible with the new definition. If the first activity of the modification region is executing, that activity wont be considered, and execution of samples will be initialized with the new definition. If the execution of a sample is in the modification region and/or has passed this region, the execution of the sample will be suspended, and activities will be put back to the beginning of the modification region. After executions of them, new definition follows [13, 14]. Based on the interaction with other agents, this agent is a social agent. 4.9 Structure of agents Based on the internal model of agents, the behaviour of an agent consists of a database, equipments, facilities and communications with scope of outer programs. Generally, an agent has three main parts which are database, operational facilities and outer interface. To operate internal and external operations, knowledge is needed which consists of knowledge about particular activities, information of resource status, information about other agents and etc. Operational facilities execute different methods and provide ability to cooperate with other agents. Indeed, operational facilities constitute the central control and operational part of an agent. The rule engine is one of the most important operational facilities which provides tools to reason about newly facts in the world of agent, and by using this reasoning, decision about the next operation of the agent is made. Outer interface provides a communication channel with other agents. An example of the structure of agents is shown in figure 4.

Case study

In this section, in order to show the practicability of the proposed architecture, an example of modification of the good order process in a medium size enterprise is stated. The procedure of execution of good ordering is shown in figure 5:

Fig. 5. Procedure of execution of good order process

5.1 Flexibility of ordering Assume that the enterprise decides to change the good order process in a way that the giving receipt phase is changed to be before transportation phase. This modification changes the definition of the process. According to the proposed architecture, this modification can be carried out with following explanation: The system developer or system manager sends her request by means of the user interface agent. The user interface agent sends this request to the coordinator agent. A part of the received request from user interface

agent can be like below: MOVE TASK Billing (Parameter1,Parameter2,) BEFORE TASK Shipping (Parameter1,Parameter2,) DOMAIN ALL OrderProcessing TEMPORARLY; After inspecting request received from the information agent, the coordinator agent receives information related to the good order process and sends this information and modification information to the definition agent. Consequently, after receiving required information about good order process, the definition agent describes a new definition in the form of a new model. Figure 6 represents a model of good order process after applying modifications in the definition agent. The definition agent has capability of recognition and correction of errors during modeling. After preparing the ultimate version, the version tracker agent is initiliazied to work. This agent makes a new version of good order process and sends information related to the modification to the information agent to be stored.

After storing a new version, the compliance agent receives the ultimate version and applies modifications to samples which need to be modified. Suppose that there are three running samples of the good order process which execution phases of each of them are shown in figure 8. In this example, the modification region is between two tasks 2 and 3. The exection phase of the first sample is not reached to the modification region. Thus, it is consistent with the new definition. In the second sample, an activity from the modification region is running. Hence, this activity is going to be useless and the execution of the sample is going to be consistent with the new definition. In the third sample, the execution of the sample has passed the modification region. Therefore, its execution is going to be suspended and activities are put back to the start point of the modification region. After modification, execution of them are carried out according to the new definition.

5.2 Reactive flexibility After inspecting inside the ERP system, the intelligent notifier agent recognizes that the amount of object x is less than the standard value and sends a report related to this fact to the analyzer agent. After inspecting the report, the analyzer agent recognizes that until system returns to the balanced situation, the good order process for samples which consist object x must be modified temporarily. Based on the report received and optimized cost mechanism, the analyzer agent decides that in the good order process, the quantity of goods in the inventory should be first checked and then customers credit should be checked. Results obtained are converted to the form of structural rules that are part of agents knowledge. MOVE TASK Inventory check BEFORE TASK Credit check DOMAIN ALL OrderProcessing TEMPORARLY; In order to inspection, the analyzer agent sends made rules to the coordinator agent. The coordinator agent classifies rules and receives information required about the good order process (consists of process definition) from information agent and sends this information and modification information to the definition agent. In addition, information obtained about samples affected by object x is sent to the compliance agent. By using received information from the coordinator agent, the definition agent applies modifications on the definition of the good order process. The definition of the process after modification is shown in figure 7. The ultimate model with the modification information is considered as a new version by the version tracker agent. Table 1 shows two versions of good order process which can be in the classification table simultaneously.

CONCLUSIONS

One of the main advantages of ERP systems is its flexibility feature. The main target of this paper has been to suppy flexibility in ERP systems by proposing an agentoriented architecture. Flexibility is considerd as a localization view, specialization of processes, and modification of processes pertaining to system balance and imbalance conditions. Agents can create or modify processes according to the authorized users requests. With reactiveness feature of agents, modification of processes is done by searching those cases, which indicate an aspect of imbalance in the ERP system. By using sociable agents, supplying flexibility as a complex activity is obtained in an integrated and cooperative approach.

REFERENCES
[1] S. V. Grabski and S. A. Leech: Complementary Controls and ERP Implementation Success, International Journal of Accounting Information Systems, Vol. 8, 2007. *2+ H. Haghighi, H. S. Shahhosseini, M. Mobasheri, Enterprise Resource Planning Software: Development, Evaluation, Selection, and Implementation(In Persian), Nashre Nikpey, 2010. *3+ M. Wang, H. Wang, D. Xu, The Design of Intelligent Workflow Monitoring with Agent Technology , Knowledge-Based Systems 18, 2005. *4+ D. OLEARY, Enterprise Resource Planning Systems, Life Cycle Electronic Commerce, and Risk, Cambridge University Press, 2000. [5] Y. Musaji,Integrated Auditing of ERP Systems, John Wiley & Sons, Inc., New York, 2002. [6] B. Henderson-Sellers and P. Giorgini, Agent-Oriented Methodologies, Idea Group Publishing, 2005. [7] B. Lea, M. C. Gupta, and W. Yu, A Prototype Multi-Agent ERP System: An Integrated Architecture and a Conceptual Framework, Technovation, Vol. 25, pp. 433-441, 2005. [8] A. Munteanue, Collaborative Systems and Mulltiagent Systems, Annals. Computer Science Series. 4th Tome 1st Fasc, 2006.

[9] J Jakiea and B Pomianek, Agent Orientation as a Toolbox for Oganizational Modelling and Performance Improvement, Intelligent Information and Engineering Systems, No:13, 2007. [10] H.Haghighi, S. Ghorbani, M. Mohebati, and M. M. Javanmard, An Agent Oriented Architecture to Supply Integration in ERP Systems, World Academy of Science, Eng. and Technology, 2011.

[11] H. Al-zubi, Applying Electronic Supply Chain Management Using Multi-Agent System: A Managerial Perspective, International Arab Journal of e-Technology, Vol. 1, No. 3, 2010. [12] S. Park, J. KIM, and S. Lee, Agent-Oriented Software Modeling with UML Approach, IEICE TRANS. INF. & SYST. , Vol. E83-D, No. 8, August 2000.
*13+ P. Koksal, I. Cingil, and A. Dogac, A Component-Based Workflow System with Dynamic Modifications, NGITS, 1999. [14] W. Sadiq and M. E. Orlowska, Architectural Considerations in Systems Supporting Dynamic Workflow Modification, Proceedings of the Workshop on Software Architectures for Business Process Management at CAiSE*99, The 11th Conference on Advanced Information Systems Engineering, Heidelberg, Germany. 1999.

Fig. 6. The process after modification by the definition agent

Fig. 7. The process after applying modifications

TABLE 1 Two versions of goods ordering process

Fig. 8. Three different samples of the good order process

You might also like