Blackboard architecture to integrate components and agents in heterogeneous distributed eLearning systems: An application for learning to program
To build complete and complex eLearning systems, eLearning engineers are used to applying standards that facilitate sharing information as well as distributed service-oriented architectures that provide reuse and interoperability by means of component integration. These concepts lead us to a Component-based Development Process that will allow us to implement tools that give full support to the teaching/learning process, taking advantage of the synergy effect created by the integration of the different components. Thus, throughout this article we analyse the proposals from the most relevant consortia concerned with eLearning standards, showing their service oriented approaches and the middleware technologies which can be used to implement them. This analysis will demonstrate that the use of middleware technologies that use the definition of services interface can limit the reuse and interoperability requisites desired by the main standards consortia. Then, we will show a proposal which tries to solve this shortfall, using a blackboard-based architecture for integrating and communicating heterogeneous distributed components, as well as a user environment that also allows us to perform component integration. As an example, we will demonstrate how we have built an application for learning to program by applying our approach and following a Component-based Development Process to implement different components (services, agents, clients, etc.) that integrate it. Hence, we will argue that using blackboard architecture and a Component-based Development Process helps us to solve the identified shortcomings.
component-based development elearning standards eclipse tuple-spaces