Abstract: The evolution of Web technologies has made e-Learning a popular common way to teach and learn both in school and non-school settings. This paper provides an education-oriented approach for building personalized e-Learning environments that focuses on putting the learners’ needs in the centre of the development process. The proposed agent-based adaptive architecture extends Moodle platform in order to support instructional decisions and adaptive behaviour. The paper describes the characteristics, functions, and interactions of the agents which take part in each module of the adaptive architecture, as well as an intelligent agent for instructional decisions making. The aim of this agent is to collect information generated by the rest of agents and to provide the best personalised support for the final users, tutors and students, taking into account their attitudes towards the learning environment.

The concept of intelligent agent is one of the most important concepts that have emerged in the field of computers since 1990. The technology that is based on agents is of particular importance in terms of human-computer interaction. One primary characteristic that differentiate agents from an ordinary program, is that the agent must be autonomous [1]. Several definitions of agents include this characteristic:

“Most often, when people use the term ‘agent’ they refer to an entity that functions continuously and autonomously in an environment in which other processes take place and other agents exist.” [2];

“A hardware or (more usually) a software-based computer system that enjoys the following properties: autonomy – agents operate without the direct intervention of humans or others, and have some kind of control over their actions and internal state; social ability – agents interact with other agents (and possibly humans) via some kind of agent-communication language; reactivity: agents perceive their environment and respond in a timely fashion to changes that occur in it; pro-activeness: agents do not simply act in response to their environment, they are able to exhibit goal-directed behaviour by taking initiative” [3];

“An agent is an encapsulated computer system that is situated in some environment and that is capable of flexible, autonomous action in that environment in order to meet its design objectives” [4];

“An autonomous agent is a system situated within and a part of an environment that senses that environment and acts on it, in pursuit of its own agenda and so as to effect what it senses in the future” [5].

All definitions add some other characteristics, among which interaction with the environment is mentioned by most specialists.

Currently, there are many research works aimed at foundation, standardization and unification of different methodologies, tools, methods and techniques of agent-based software engineering, offering complete and effective theories for the development of such systems.

Most researchers view agents mainly as entities acting collectively alongside other agents, therefore the multi-agent system (MAS) paradigm is used. MAS is a collection of autonomous entities called agents, which interact with each other and with their environment in a cooperative or competitive way in order to achieve individual and group goals [6]. According to Wooldridge [7], the major advantages of MAS are: decentralized control, robustness, simple extensibility, expertise and common resources.

The multi-agent models an interactive system through a collection of specialized agents that produce and react to stimuli existing in the system. In a multi-agent system, each agent theoretically, operates independently of the existence of other agents. For complete specification of a multi-agent system is necessary to define the knowledge and the internal behavior of agents and their interaction with others agents that coexist within a multi-agent system.

“A Multi-Agent System (MAS) contains an environment, objects and agents (the agents being the only ones to act), relations between all the entities, a set of operations that can be performed by the entities and the changes of the universe in time and due to these actions” [8].

It is extremely difficult to give the definition of an intelligent agent; a comprehensive definition was given by J. Ferber [7] which considers that an intelligent agent is a physical or virtual entity that is capable of acting upon itself and its environment, which has a partial representation of this environment, which, in a multi-agent environment, can communicate with other agents and whose behavior is the result of his observations, his knowledge and his interactions with other agents.

A definition that underlines the aspect of making a program to be considered as an intelligent agent is given by Hayes-Roth. According to this “Intelligent agents continuously perform three functions: perception of dynamic conditions in the environment; action to affect conditions in the environment; and reasoning to interpret perceptions, solve problems, draw erences, and determine actions” [9].

The main problem faced by an intelligent agent is to decide which actions should be carried out in order to successfully fulfil the goals. The complexity of decision making process is affected by the properties of the environment. The agent receives stimuli from the environment and produces actions that affect the environment. Interaction is typically continuous.

Features as interactivity, autonomy, pro-activity and learning make agents to be an interesting approach in implementing e-Learning environments and provides flexibility for future extensions.

An e-Learning system should provide the requested information within a reasonable time, being sometimes difficult to achieve it by conventional search methods. The time consuming operations, as to search for information about a particular topic, can be left to competent agents. Intelligent agents for e-Learning are autonomous software tools correlated to other software applications and databases running in a computer environment. The main function of an intelligent agent for e-Learning is to help the user to interact with an application that presents a learning area.

The Intelligent Training Systems (ITS) are computer-based educational systems aimed at providing learning programs to each student in a flexible manner and to provide learners adaptive instruction and feedback. A number of successful evaluation of ITS sites [10] have demonstrated that such systems can be effective for improving learning by increasing motivation and performance of students, comparing with traditional methods.