One of the greatest challenges in the field of software engineering is to design and implement reusable, adaptable and scalable software systems. Current learning technology systems do not provide more of these features, nor the necessary functionality to manage different kinds of learning experiences. In this paper, we present a proposal for a flexible infrastructure that enables the provision of technological support for the realization of heterogeneous learning experiences. We use the IMS Learning Design specification to provide a common underlying framework, and support the description of generic learning processes.
Resource management, Collaborative systems, Interoperability, Distributed Objects.
Currently, most learning systems and tools are designed to be used as standalone, focused to solve particular problems and situations. As consequence, the interoperability is poor between systems that follow different kinds of learning approaches. This is partly due to the weakness of their technological openness and to their lack of clear standardized interfaces such as promoted by some standardization bodies (see IEEE 1484 or IMS proposals).
The situation seems similar to the oposition existing between the Computer Supported Co-operative Work (CSCW) approach versus the Workflow Management approach for supporting the collective human activities inside the organizations. The reconciliation of these two approaches is actually a hot issue in the CSCW and Workflow research domains .
We mainly focus our attention on the general infrastructure providing a general framework for the design of future learning systems. The purpose of our work is to provide a general infrastructure that enables the utilization of Information and Communication Technologies (ICT) to support general learning activities and processes, independently of the pedagogical approach.
Our general assumption is that we need a common theoretical framework for designing learning systems so different pedagodical approaches could be integrated. Through consistent use of this model, the focus will be placed in learning itself, not in the mechanisms used to support or enable it. This framework will be used to describe, or design, the learning processes and activities that have to be carried out during learning sessions (for example: a course) in a formal way.
The second part of the picture constitutes our contribution. We provide the software infrastructure devoted to support and enable the learning experiences according to formal learning designs.
The common framework is provided by the IMS Learning Design  meta-language. This model supports the description of any design of a teaching-learning process in a formal way. The core concept of the IMS Learning Design specification is that, regardless of pedagogical approach, a person gets a role in the teaching-learning process (typically a learner or a staff role), and works towards certain outcomes by performing more or less structured learning and/or support activities within an environment. The environment consists of the appropriate learning objects and services to be used during the performance of the activities.
The learning designs which can be described by this language might involve a single user or multiple users; the learning and instructional designers and providers might take a behaviorist, cognitivist, constructivist or some other approach; they might require learners to work separately or collaboratively, but these can all be captured in terms of a Method that governs the running of the Learning Design.
This language does not prescribe the delivery media. The same learning design could be performed in different ways. For example, a collaborative learning activity may be performed in a traditional classroom, or at distance through the web using appropriate communication or collaboration tools. In this way we separate the educational and technical features.
A infrastructure supporting learning designs has to address two main issues: (i) the execution of learning designs that feature their own dynamics, and (ii) the integration of selected heterogeneous resources and services to provide the prescribed environments.
We use a workflow management technology approach  to support the execution of learning designs. A learning design is basically a workflow definition, that is, a set of activities to be executed in some order, involving multiple collaborating entities in a distributed environment to accomplish a given task. In this way, workflow systems manage many of the issues involved in our problem.
But current workflow technology does not provide the necessary functionality to manage our learning designs in a general way. In each course, activities to be attained by a learner will depend on the learning design, the resources availability to provide the environment, and the process state. But, a learner will be usually enrolled in several courses, and therefore dependencies among them could be considered and managed. Moreover, different learners may be enrolled in different courses, with their corresponding constrains and dependencies. The utilization of a centralized workflow engine would be impractical.
In our propose, c.f. figure 1, each course is controlled by a particular workflow management system. The dependencies between different courses will be managed by appropriate personal agents, that will offer a central vision of the different courses in which a learner is enrolled. The personal agent provides functionalities like : (i) calendars, enabling the learner to make appointments; (ii) pending activities that require urgent realization; and (iii) messages of the system or other users. Each course will propose the realization of a certain activity to the learner according to the state and the availability of resources and participants.
We try to offer a general solution supporting the management of learning designs following different kinds of approaches. The learning approaches supported by a learning system would depend finally on the resources and services available. In order to provide an open and flexible solution, the infrastructure enables the introduction of new resources and services. A resource is modeled as an object including attributes such as name, type, capabilities and status. The status consists of two attributes: state and load. The state tells whether the resource is available. The load gives hint of possible waiting time needed to perform the assigned activities.
In this way we have a typical resource management problem , where resources, but also learners, act as shared resources that are required for the realization of the different activities by the workflow engines that control the different courses. The consideration of learners as shared resources is the main difference between our problem and the general workflow problem of business processes.
Users interact with the system via a web-based user interface. The activities applicable for the specific roles are presented based on their structure or availability. When she/he chooses a certain activity the system will provide access to the required resources and services, configuring them accordingly to the specifications of the learning design. It will also provide the required contact with the other persons involved in the same activity if they are connected. From here the users will start their personalized learning path, performing the selected activities. The interaction is captured by the system and the personal dossier updated.
We are considering the introduction of our infrastructure in a mobile environment. In this way we create a new feature for a resource: location. The location indicates where the resource is located. In order to propose the realization of activities to an actor her/his location is obtained.
Our solution is based in two key technologies. On the one side, workflow management technology support the execution of single courses. On the other side, resource management technology facilitates the coordination among different courses. The combination of these two technologies supports the activities of users involved in different courses in a practical way. The use of a centralized workflow engine would be impractical from a scalability standpoint.
The utilization of the IMS Learning Design specification enables pedagogical diversity to be supported through the implementation of a single engine, rather than either having to implement multiple engines for each pedagogical approach. In this way, a system that can process IMS learning designs may be used to provide any kind of technological support.
We consider our infrastructure as an academic center in conventional learning. Teachers plan their lectures, they prescribe the number of theoretical and practical sessions, a calendar of examinations, material requirements, etc., and the center has to organize the timetables, prepare the classes, provide the appropriate lab equipment, etc. The academic center has to provide and manage the resources required in the teacher learning design. Note that with our solution we can manage both physical and software resources, therefore the infrastructure also supports mixed mode delivery (blended learning), enabling traditional approaches such as face-to-face teaching, the use of books and journals, lab work and field trips to be also specified as learning activities and combined with ICT supported learning.