[ieee 2012 3rd international conference on intelligent systems, modelling and simulation (isms) -...

6
Developing a Multi-Agent Architecture At the Computational Level to Transform Human-Oriented Solutions Into Computer-Based Artefacts Somkiat Kitjongthawonkul School of Business Australian Catholic University, St Patrick’s Campus Melbourne, Australia [email protected] Abstract—We have proposed elsewhere [1] that a framework for human-centred systems development can be conceptualised to encompass the four main components in its design, consisting of the activity-centred analysis component, problem solving ontology component, transformation ontology, and the multimedia interpretation component. This paper elaborates on the framework further at the computational level. At the computational level, the characteristics of software models such as object-oriented, agent, and intelligent technology are examined and their modelling strengths are integrated with the problem solving ontology and the multimedia interpretation. The outcome of this integrated reinforcement is a multi-agent architecture, which represents the transformation agent component of the framework (on the computational level). Some of the emerging characteristics of the architectural framework worth mentioning include human-centredness, task orientation, distributedness, reliability and flexibility of methods used to accomplish tasks. Keywords-component; Multi-agent architecture, Transformation agent, Object model, Agent model, Intelligent technology model, Multimedia intepretation model, Problem solving adapter model I. INTRODUCTION Computer-based systems development can be viewed as a process of modelling and transforming user’s tasks and perceptions into some form of script that is executable in a computing environment [2]. A number of modelling frameworks have been employed for such interests, see [3, 4], for example. Although these modelling frameworks are helpful and capable of modelling various complex systems, the effectiveness of applying these modelling frameworks is largely dependent on the experience of the system modeller who justifies the use of modelling techniques at different stages of the systems development process. Furthermore, their appropriateness for modelling modern intelligent systems that are based on the synergy between humans and computers are doubted. The motivations behind most of the existing modelling frameworks in software engineering are supported and influenced by technology. That is, they address the problem the system should solve from the computational end, rather than being based on the involvement of people and their tasks. In fact, in organisations, people solve problems in a task context rather than in a technology context. To this end, it is necessary to understand the way humans perform or accomplish their tasks; the things they do, the things they act on and the things they need to know [5]. The motivation of this interest comes from a number of perspectives, including a study done by [6] of major accidents in power plants, aircraft, and other complex systems. The study found that 60 to 80 percents of the accidents were blamed on operator error, mistaken or incorrect action by people who operate equipment or systems. Given the nature of human limitations, much of the blame might have gone to poor system modelling and a design that created a high likelihood of error. Human-centred systems development should not only be based on modelling human centredness on the human- computer interaction level, but also on a task level. Based on this idea, a conceptual framework has been proposed in [1]. This paper builds upon the conceptual foundations and components previously laid down in the framework, and elaborates on the architecture of the more concrete, computational level. This paper is organised as follows. Section II provides background information on the topic’s previous work. Section III proposes an integrated software model and discusses the methodology to develop the multi-agent architecture, which represents the transformation component used in the human-centred systems development framework. Section IV describes the results of proposed ideas and methodology. Section V discusses the characteristics of the developed multi-agent architecture. Section VI, which is the last section, concludes with a summary of the paper. II. BACKGROUND A systems development framework provides methods, techniques, tools, and guidelines for analysis of various aspects of business activities, design of information systems and implementation of computer-based artefacts. The past two decades have seen the emergence of a number of frameworks, architectures, and systems development methods. These frameworks approach the problem of building computer-based systems from different technical viewpoint and with different concerns. Examples of these well known systems development frameworks include, but not limited to, Information Systems Architecture (ISA) [7, 8], Information Engineering Methodology (IEM), which has been evolved into Enterprise Engineering for the rapid delivery of Enterprise Architecture [9], ARIS [10, 11], 2012 Third International Conference on Intelligent Systems Modelling and Simulation 978-0-7695-4668-1/12 $26.00 © 2012 IEEE DOI 10.1109/ISMS.2012.119 76

Upload: somkiat

Post on 25-Feb-2017

213 views

Category:

Documents


0 download

TRANSCRIPT

Developing a Multi-Agent Architecture At the Computational Level to Transform Human-Oriented Solutions Into Computer-Based Artefacts

Somkiat Kitjongthawonkul School of Business

Australian Catholic University, St Patrick’s Campus Melbourne, Australia

[email protected]

Abstract—We have proposed elsewhere [1] that a framework for human-centred systems development can be conceptualised to encompass the four main components in its design, consisting of the activity-centred analysis component, problem solving ontology component, transformation ontology, and the multimedia interpretation component. This paper elaborates on the framework further at the computational level. At the computational level, the characteristics of software models such as object-oriented, agent, and intelligent technology are examined and their modelling strengths are integrated with the problem solving ontology and the multimedia interpretation. The outcome of this integrated reinforcement is a multi-agent architecture, which represents the transformation agent component of the framework (on the computational level). Some of the emerging characteristics of the architectural framework worth mentioning include human-centredness, task orientation, distributedness, reliability and flexibility of methods used to accomplish tasks.

Keywords-component; Multi-agent architecture, Transformation agent, Object model, Agent model, Intelligent technology model, Multimedia intepretation model, Problem solving adapter model

I. INTRODUCTION

Computer-based systems development can be viewed as a process of modelling and transforming user’s tasks and perceptions into some form of script that is executable in a computing environment [2]. A number of modelling frameworks have been employed for such interests, see [3, 4], for example. Although these modelling frameworks are helpful and capable of modelling various complex systems, the effectiveness of applying these modelling frameworks is largely dependent on the experience of the system modeller who justifies the use of modelling techniques at different stages of the systems development process. Furthermore, their appropriateness for modelling modern intelligent systems that are based on the synergy between humans and computers are doubted. The motivations behind most of the existing modelling frameworks in software engineering are supported and influenced by technology. That is, they address the problem the system should solve from the computational end, rather than being based on the involvement of people and their tasks. In fact, in organisations, people solve problems in a task context rather than in a technology context. To this end, it is necessary to

understand the way humans perform or accomplish their tasks; the things they do, the things they act on and the things they need to know [5]. The motivation of this interest comes from a number of perspectives, including a study done by [6] of major accidents in power plants, aircraft, and other complex systems. The study found that 60 to 80 percents of the accidents were blamed on operator error, mistaken or incorrect action by people who operate equipment or systems. Given the nature of human limitations, much of the blame might have gone to poor system modelling and a design that created a high likelihood of error.

Human-centred systems development should not only be based on modelling human centredness on the human-computer interaction level, but also on a task level. Based on this idea, a conceptual framework has been proposed in [1]. This paper builds upon the conceptual foundations and components previously laid down in the framework, and elaborates on the architecture of the more concrete, computational level.

This paper is organised as follows. Section II provides background information on the topic’s previous work. Section III proposes an integrated software model and discusses the methodology to develop the multi-agent architecture, which represents the transformation component used in the human-centred systems development framework. Section IV describes the results of proposed ideas and methodology. Section V discusses the characteristics of the developed multi-agent architecture. Section VI, which is the last section, concludes with a summary of the paper.

II. BACKGROUND

A systems development framework provides methods, techniques, tools, and guidelines for analysis of various aspects of business activities, design of information systems and implementation of computer-based artefacts. The past two decades have seen the emergence of a number of frameworks, architectures, and systems development methods. These frameworks approach the problem of building computer-based systems from different technical viewpoint and with different concerns. Examples of these well known systems development frameworks include, but not limited to, Information Systems Architecture (ISA) [7, 8], Information Engineering Methodology (IEM), which has been evolved into Enterprise Engineering for the rapid delivery of Enterprise Architecture [9], ARIS [10, 11],

2012 Third International Conference on Intelligent Systems Modelling and Simulation

978-0-7695-4668-1/12 $26.00 © 2012 IEEE

DOI 10.1109/ISMS.2012.119

76

CommonKADS [12, 13]. Although these existing frameworks provide distinctive solutions to deliver systems for an organisation, most of them are technology driven. They have not seriously considered humans or stakeholders as an essential part of their development process. These approaches look primarily at user acceptance issues at the human-computer interface level.

In [1], a more comprehensive human-centred approach for systems development was described. The conceptual framework puts people in the front of systems development, modelling human-centredness not only at the interface level but also at the underlying system design or task level. The paper looked at various enabling theories from philosophy, cognitive science, psychology, and work-oriented design, with a view to address the human vs. technology mismatch in system development. It also takes into consideration human-centred criteria[14, 15] and pragmatic issues related to business computing [16] such as software engineering, e-commerce, human-computer interaction, and intelligent system on human-centredness.

Figure 1. A framework for human-centred system development

The conceptual framework, shown in Figure 1, is founded on four main components, consisting of a) activity-centred analysis – providing a means for identifying the physical, social and organisational reality on the external plane and the stakeholder goals, tasks and incentives on the internal plane; b) problem solving ontology – capturing human generalisations and persistent structures used for modelling complex system; c) transformation agent – transforming the systemised human-centred domain model developed through application of the problem solving ontology into a computer-based software artefact; and d) multimedia interpretation – establishing a link between humans and computers aiming to model the data content of the human-computer interaction tasks using various media artefacts. To have a comprehensive view of the human-centred systems development framework, in the next section, we will further elaborate on the framework on a computational level, which combines the intuitive strengths of modelling methods and intelligent technologies.

III. PROPOSED INTEGRATED MODEL AND METHODOLOGY

Given the human-centred design motivations, we have firstly selected technological artefacts based on their intuitive modelling strengths rather than their technological motivations [16]. To this end, the characteristics of the three software models, consisting of the object model, agent model, and intelligent technology model, are examined with the aim to exploit their associative modelling strengths. We then merge these software models with the problem solving ontology and the multimedia interpretation.

Figure 2 shows the association of the selected software models with the multimedia interpretation model, and the problem solving adapter model.

Information�processing�phasesTasks

Task�constraintsKnowledge�engineering�

strategyActions /Methods

Hybrid�configurationObjectsClasses

EncapsulationComposability

Message�passingInheritance

PolymorphismReusability

PerceptsGoals /Tasks

Actions /MethodsEnvironment

ReactiveLearning� &� Adaptation

CollaborationAutonomy

Fuzzy�logicExpert�systems

Genetic�algorithmsFusion�systems

Transformation�systemsCombination�systems

Intelligent�Technology�Model

Problem�Solving�Adapter�Model

Agent�ModelObject�Model

Psychological�variablesPsychological�scalesData�characteristics

Media�artefacts &�characteristicsMedia�expression

Ornamentation

Multimedia�Interpretation�Model

Figure 2. Integration of object, agent, intelligent technology, multimedia interpreation, and problem solving ontology

Various features of object-orientation including inheritance, composability and other non-hierarchical relationships between various concepts facilitate structuring representations of the problem domain class, agent class and problem solving class. This allows development of generic data structures and methods, a multiple inheritance structure and formation of heterogeneous objects

The integration of these software models allows us to encapsulate the strengths of object-oriented and agent artefacts while making the best use of various intelligent technologies for modelling different data and tasks in a complex system.

The notion of agents used here is derived from the agent and agent architectures of [17]. As agent is based upon a task/goal abstraction in which an agent engages in the problem domain. Thus, it is used for mapping the task context of problem solving adapters to represent the structure of the problem solving agents in terms of PAGE description [17]. This is in contrast to object-orientation 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 the application domain. The features of agent-orientation help us to capture goal/task-based orientation, which is dynamic by nature. In addition, the properties of the agent such as learning and adaptation are especially important for describing the human

77

behaviour aspect which is task or goal driven in an appropriate way. The intelligent technology model, which consists of expert systems, fuzzy logic, neural networks, genetic algorithms, along with their intelligent hybrid configurations, helps to capture various intelligent technologies used for modelling different data and tasks.

The multimedia interpretation model is used to identify and analyse the psychological scales and represent dimensions used by direct stakeholders for gathering and providing information to a computer-based artefact as well as psychological apparatuses mapped in the computer-based artefact clear to the users, various media artefacts such as graphics, text, video, and audio can be used to model the data perceptually so that the user’s cognitive load may be reduced. The mapping process can be achieved through data content analysis and media selection.

The problem solving adapter model is used as a frame of integration of object and agent models to enable effective realization of task context in which humans solve problems. The role played of the problem solving adapter is then providing agents the intelligent strategies and 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, and tasks associated with each phase and intelligent methods used to accomplish the tasks in each different phase.

IV. RESULTS

The outcome of integration in the preceding section is a five-layer agent building block architecture, which we refer to as a Multi-agent Architecture (shown in Figure 3). This multi-agent architecture can facilitate modelling modern intelligent systems on computational level where the synergy between humans and computers are demanded. These five-layers consist of object layer, software agent layer, intelligent agent layer, intelligent hybrid agent layer, and the problem solving agent layer.

Software�Agent�Layer

Intelligent�Agent�Layer

Problem�Solving�Agent�Layer

Object�Layer

Distributed�Comm&

Processing�Agent

MediaAgent

Expert�SystemAgent

Fuzzy�Logic�Agent

Genetic�Algorithm�Agent

Neural�Network�Agent

Intelligent�Hybrid�Agent�Layer

Transfor�mation�Agent

Combina�tion�Agent

Fusion�Agent

Prepro�cessing�Phase�Agent

Decomp�sition�Phase�Agent

Control�Phase�Agent

Decision�Phase�Agent

Postpro�cessing�Agent

Figure 3. Five-layer building block of transformation component

The role of the object layer is primarily to define the data architecture or structure of the problem in the context of the work activity. All agents in Figure 3 are defined based on the generic agent definition shown in Table I. Some characteristics of the intelligent hybrid agent, software agent, intelligent agent, hybrid agent and problem solving agent

layers which appeared in Figure 3 are defined in the next section.

TABLE I. TRANSFORMATION AGENT DEFINITION

Name:Parent�agent:Goals:Tasks:Task�constraints:Precondition:Postcondition:Communication�with:Communication�constructs:Represented�features:Internal�tools:Internal�state:Action:

A. Software Agent Layer The software agent layer consists of the generic

distributed process agent, communication software agent, and media agent. The goal of the communication agent is to facilitate distributed communication between problem solving agents in a hierarchical as well as a lateral basis. The media agent is associated with the agents in the other four layers for generation, display, layout and coordination of various media artefacts. The external tools used by a media agent can involve use of graphic objects, audio objects and text objects. The actions can involve learning and reasoning for generation, display, layout and coordination of various media artefacts.

B. Intelligent Agent Layer The intelligent agent layer consists of the generic expert

system agent, generic supervised/unsupervised neural network agent, generic fuzzy logic agent, and generic genetic algorithm agent.

1) Expert System Agent: The primary goal of an expert system agent is to enable the problem solving agent to do high level reasoning such as problem formulation and context validation. Thus, the expert system agent provides an environment for a problem solving agent to build application dependent expert or knowledge based system agents.

2) Neural Network Agent: There are two types of neural network agent, namely supervised and unsupervised neural network agents. The percepts of the supervised neural network agent involve both input and output symbols or patterns, whereas the percepts of the unsupervised neural network agent involve only the input patterns. The supervised neural network agent may engage in classification, whereas the unsupervised neural network agent may engage in clustering. The actions associated with the supervised neural network are applicable to multilayer perceptron using a backpropagation algorithm and other supervised learning algorithms. Similarly, the actions associated with the unsupervised neural network are applicable in neural network architectures such as Kohonen nets [18] and ART [19]. Table II shows the agent definition of a neural network agent.

78

TABLE II. NEURAL NETWORK AGENT DEFINITION

•Name:•Neural Network

•Goals:•create NN model of the domain

•Tasks:•perform backpropagation to learn weights•test convergence with test data

•Tasks Constraints•computing resources

•Precondition:•Training data available (continuous/discrete)•Initial network structure available•Training data normalized•convergence criteria

•Post Condition:•Converges on global minimum

•Represented features:•Training data•Training/ Test set error•convergence criteria

•Psychological Scale: Ratio•Representing Dimension (Perceptual): Shape (graph, plot)

•External tools•simulated data files

•Internal tools•Sensitivity algorithms•Backpropagation•Parallel distributed learning

•Actions•Feed weights parameters to network•return model parameters•return training set error

3) Fuzzy Logic Agent: The actions in the fuzzy logic agent represent the problem independent part of fuzzy logic to a large extent. The problem dependent part is represented by the percepts such as fuzzy membership functions, linguistic symbols, and the structure of the fuzzy antecedent and consequent. The action Fuzzy Inferencing can represent min-max operation, compositional inference, and other forms of fuzzy inference. The Defuzzify Data can employ most commonly used centre of gravity method or methods for defuzzifying data.

4) Genetic Algorithm Agent: The genetic algorithm agent is used for optimisation of fuzzy rules, learning data sets, neural network structure, etc. The action Create Gene Type is used for representing the percepts as a bit, integer, floating point, or as a case chromosome. The actions Initialise Population, Select Parents, Reproduce, Evaluate Offspring, and Replace Parents represent the genetic algorithm agent optimisation life cycle. The Select Parents action selects parents who can possibly produce a filter offspring. The Reproduce action involves crossover and mutation operators to produce the new offspring. The Evaluate Offspring action evaluates an offspring based on a given fitness function percept. Finally, Replace Parents replaces certain parents with the new or filter offspring.

C. Intelligent Hybrid Agent Layer The intelligent hybrid agent layer makes use of

intelligent features and methods provided by the intelligent agent layer (e.g. those of the expert system agent, fuzzy logic agent, and genetic algorithm agent). The intelligent features and methods can be utilised based on the fusion, transformation, and combination of configurations. The concepts of fusion, transformation, and combination have been used in different situations or tasks, and by applying top-down and/or bottom up knowledge engineering strategy. All of these hybrid configurations have a number of advantages in that a hybrid arrangement is able to successfully accomplish tasks in various situations.

The fact of the matter is that the fusion, transformation, and combination configurations have been motivated by and developed for different problem solving tasks/situations. Thus, it is the role of the intelligent hybrid agent layer to select each of these hybrid configurations that suits

problem/situations faced by the agents in the problem solving agent layer. The selection is based on a manner to maximise the quality as well as the range of tasks that can be covered by the hybrid configurations. The three classes of hybrid agents consisting of fusion, combination, and transformation are represented in Figure 3. An agent definition of a fuzzy-neural fusion is shown in Table III.

TABLE III. FUZZY-NEURAL FUSION AGENT DEFINITION

•Name: •Fuzzy Neural Network Agent

•Adapter Agent: •HVCM Decision Agent

•Goals: •create optimized control action 2

•Tasks: •create Fuzzy NN Model of control system •perform fuzzy decent to learn Fuzzy Rules •test convergence with test data •extract rules

•Tasks Constraints: •Normalized Training data available •optimized Fuzzy Model not known

•Precondition: •control data/parameters available •Training data normalized •convergence criteria is known

•Post Condition: •Converges on global minimum •optimized fuzzy rule base

•Communicates with: •Decomposition Agent •Distributed Shared Data Agent

•Communication constructs: •Receive control data from decomposition agent •inform of network parametersto user •receive feedback data from environment

•preceptual features: •Training / test set error shapes •Convergence graphs

•Linguistic/nonlinguistic percepts •Control input parameters (location, velocity) •Control Output

•External tools •simulated data files •Intelligent NN Agent

•Internal tools •sensitivity algorithms •Fuzzy Decent Algorithm •Fuzzy Logic

•Actions •Feed control input to network •return control parameters •return training set error

D. Problem Solving Agent Layer Finally, the outer layer called the problem solving agent

layer consists of five generic agents, namely preprocessing, decomposition, control, decision, and postprocessing, respectively. These agents communicate with each other by means of sending and receiving messages using appropriate communication constructs such as request, inform, order, etc. The definition of these agents is derived from the problem solving adapter definitions, which was described in detail and can be found in [20].

V. DISCUSSIONS

In order to get an overall picture of the multi-agent architecture, it is useful to look at its emerging behaviour. The emergent behaviour of the framework is defined by outlining its architectural characteristics. The architectural characteristics define the significance of the multi-agent architecture in terms of its emergent design characteristics. Some of the emergent design characteristics are outlined in this section.

A. Human-Centredness The human-centred system development at the

conceptual and computational levels has been grounded in the three human-centred criteria outlined in [1, 14-16]. These criteria have been built into the four components, namely, activity centred analysis, problem solving ontology, transformation agent and multimedia interpretation components. These four components have been used to define the internal and external plane of a system, respectively. The external plane captures the physical, social and organisational reality, whereas the internal plane

79

captures the subjective reality related to stakeholder incentives, organisational culture and other aspects.

B. Task Orientation The solutions to real world problems are determined by

engineers, designers, accountants, sales managers, etc. in a task context [21-23] rather than a technological context. Various intelligent technologies like knowledge based systems, fuzzy logic, neural networks and their hybrid configurations (e.g. fusion, transformation and combination), propose a technology-based solution to real world problems. The problem solving ontology component of the framework is a task-oriented system in which technological artefacts are considered as primitives for accomplishing various tasks. The use of one or more technological primitives is contingent upon satisfaction of task constraints. The task orientation enables the framework to match a given task to one or more technologies among a suite of technologies rather than match a given technology to tasks in a work activity.

C. Flexibility Most complex real world problems require satisfaction of

a number of task constraints ranging from incomplete and noisy information, learning, and fast response time to explanation and validation as one technology is not enough to provide a satisfactory solution. A technology-based solution constrains a problem solver to force-fit a particular software design onto a task or problem. The five problem solving adapters and their agent definitions allow the problem solver to use multiple domain models in terms of multiple hybrid agent layers. The intelligent agent layer provides flexibility of intelligent techniques and their hybrid configurations that can be employed to satisfy various task constraints. That is, the user can follow the five problem solving adapters in different sequences or even use five or fewer phases in a decision making sequence.

D. Versatility and Forms of Knowledge Technologies such as expert systems and fuzzy logic rely

heavily on the availability of domain knowledge. In a number of real world problems (e.g. data mining) explicit domain knowledge is not available or may involve a long and cumbersome knowledge acquisition process. The framework is versatile in that it can model solutions in the presence or absence of domain knowledge.

Real world problems involve use of multiple forms of knowledge (e.g. continuous, discrete, symbolic and fuzzy). Unlike a number of intelligent technologies, associative systems are not limited to one or two forms of knowledge but can model any real world problem with continuous, discrete, or fuzzy knowledge because of the multiplicity of techniques used by them.

E. Learning and Adaptation The ability to learn new tasks and adapt to novel

solutions are essential properties of the framework. The multi-agent architecture involves task-based learning in which a problem solver employs multiplicity of learning

techniques (e.g. supervised, self-organised, evolutionary, their variations and hybrid configuration) to match the needs of various learning tasks.

VI. CONCLUSIONS

Reported here is the work done on constructing the computational level of the human-centred systems development framework. Prior to embarking upon development issues, the characteristics of software models such as object-oriented, agent, and intelligent technology have been examined and outlined. These software models are integrated with the problem solving ontology and the multimedia interpretation components, based on their intuitive modelling strengths. The integration results in a computational architecture which we referred to as multi-agent architecture, and in fact, represents the computational level definition of the transformation agent component of the human-centred systems development framework.

The multi-agent architecture consists of five layers, namely, the object layer, software layer, intelligent agent layer, intelligent hybrid agent layer, and problem solving agent layer. The role of the object layer is to capture the problem domain objects and define their structural relationships. The software agent layer facilitates communication between problem solving agents as well as providing them with media-related services such as display and layout. The intelligent agent layer consists of the expert system agent, neural network agent, fuzzy logic agent, and genetic algorithm agent. The intelligent hybrid agent layer utilises the intelligent methods of the intelligent agent layer to provide more powerful problem solving strategies for the agents in the problem solving agent layer. The problem solving agent layer consists of preprocessing, decomposition, control, decision, and postprocessing phase agents respectively. These problem solving agents employ services of the agents in the other three agent layers to accomplish tasks.

We are currently in the process of applying this multi-agent architecture framework to develop real-world applications in various areas such as medical diagnostic and treatment support systems, and intelligent order monitoring systems. Further details on this matter will be included in future papers as well as a new direction for continuing research.

REFERENCES

[1] S. Kitjongthawonkul, "Information Systems Development: A human-centred approach," in IADIS International Conference Information Systems 2008, Algarve, Portugal, 2008, pp. 106-114.

[2] Y. Wand, et al., "Theorical foundations for conceptual modelling in information systems development," Decision Support Systems, vol. 15, pp. 285-304, 1995.

[3] D. Avison and G. Fitzgerald, Information Systems Development: methodologies, techniques and tools, 3rd. ed.: McGraw-Hill, 2003.

[4] J. Fortune and G. Peters, Information Systems: achieving success by avoiding failure: John Wiley & Sons, Ltd, 2005.

[5] A. Dix, et al., Human-Computer Interaction: Prentice Hall International (UK) Limited, 2003.

[6] C. Perrow, Normal accidents: living with high-risk technologies. NY: Basic Books, 1984.

80

[7] C. O’Rourke, et al., "Enterprise Architecture Using the Zachman Framework," ed. MA: Course Technology, 2003.

[8] J. A. Zachman, "A framework for information systems architecture," IBM Systems Journal, vol. 26, pp. 276-292, 1987.

[9] C. Finkelstein, Enterprise Architecture for Integration: Rapid Delivery Methods and Technologies: Artech House, 2006.

[10] A.-W. Scheer, "Proceedings of the JSPE/IFIP TC5/WG5.3 Workshop on the Design of Information Infrastructure Systems for Manufacturing," 1993, pp. 85-99.

[11] A.-W. Scheer, Architecture of Integrated Information Systems: Foundation of Enterprise Modelling. Berlin, Germany: Springer-Verlag, 1992.

[12] G. Schreiber, et al., "CommonKADS: A Comprehensive Methodology for KBS Development," IEEE Expert, pp. 28-37, 1994.

[13] G. Schreiber, et al., Knowledge Engineering and Management: The CommonKADS Methodology: The MIT Press, 1999.

[14] J. Flanagan and T. S. Huang, "Special Issue on Human-computer Multimodal Interface," Proceedings of the IEEE, vol. 91, 2003.

[15] J. Flanagan, et al. (1997, 15 July 1997). Human-Centered Systems: Information, Interactivity, and Intelligence. Available: http://www.ifp.uiuc.edu/nsfhcs/

[16] S. Kitjongthawonkul, "Pragmatic Considerations and a Human-centred approach," in IADIS International Conference Information Systems 2010, Porto, Portugal, 2010, pp. 223-230.

[17] S. Russell and P. Norvig, Artificial Intelligence: A modern approach, 3rd. ed. New Jersey: Prentice-Hall, Inc., 2009.

[18] T. Kohonen, Self Organisation and Associative Memory: Springer-Verlag, 1990.

[19] G. A. Carpenter and S. Grossberg, "The ART of Adaptive Pattern Recoginition by Self-Organizing Neural Network," IEEE Computer, vol. 21, pp. 77-88, 1988.

[20] J. Ko and S. Kitjongthawonkul, "Task-Based Ontology of Problem Solving Adapters for Developing Intelligent Systems," International Journal of Fuzzy Logic and Intelligent Systems, vol. 4, pp. 353-360, December 2004 2004.

[21] B. Chandrasekaran, et al., "Task-Structure Analysis for Knowledge Modeling," Communications of the ACM, vol. 35, pp. 124-136, 1992.

[22] B. Chandrasekaran, et al. (1999, 10 November 2007). Ontology of Tasks and Methods. Available: http://www.cse.ohio-state.edu/~chandra/

[23] J. e. a. Preece, Human-Computer Interaction. Massachusetts: Addision-Wesley, 1997.

81