Article Preview
TopIntroduction
Nowadays, new technologies and platforms are emerging and changing constantly, which implies voluminous efforts in developing complex systems. This situation generates different problems related to portability, reusability, adaptability, integration and interoperability. So, the design and development of complex applications such as learning management system must always take into account of these criteria through the use of new techniques and approaches of software engineering like the model driven engineering, the generative engineering and the component engineering. This work presents a new programming approach (Dehbi et al., 2012a) to generate a virtual learning environment through the establishment of LMSGENERATOR: a factory of software components and learning management system representing the criteria of adaptability to different category of uses.
LMSGENERATOR objectives fit perfectly to the new problem of design and fast and easy generation of learning management system. Based on new approaches in software engineering, it allows the business model expressed under a detailed UML Class diagram and elements of the business model repository (Dehbi et al., 2012c), to generate business components, and then it proceeds by assembling these components to generate a complete platform for distance learning. The originality and innovation of our approach can be summarized in the following six key points that will be described further.
- •
From models that are flexible, adaptable, scalable and interoperable, we can generate a flexible, scalable and interoperable business component. It will be assembled to generate complete solutions.
- •
The criteria of adaptability also cover runtime environments. By using a extensible technological model repository, we can generate an executable platform on specific runtime environments.
- •
Accept as input business models expressed in UML and profits with transformation rules of model driven engineering to generate a component model regardless of the technology, expressed in XML document format with a description language component benefiting from many developments made around XML. Thus, the cost and development time applications can be greatly reduced. Our innovation proposes UML model transformations and then XML documents treatment using a programming methodology based on generative engineering.
- •
Propose a multi-programming approach (Dehbi et al., 2012a) that merges the model-driven engineering, generative engineering and component engineering. This compilation of method and technique makes our approach more appropriate to the evolving needs of the domain and technology towards more classical and general approaches.
- •
Owning modular software architecture (Dehbi et al., 2012b) (with independent components) are scalable to ensure a good evolution of our generator. Our choices were confirmed by the ease of adding new software components to the LMSGENERATOR software architecture.
- •
Self-use tool to develop it; so the proposed techniques are tested directly. For example, all description languages specific to LMSGENERATOR were developed thanks to the tool. Each environment produces reuses LMSGENERATOR components.
This work completes the works (Dehbi et al., 2012d; Dehbi et al., 2013) and intents to show gateways established in LMSGENERATOR between different types of technologies (model, component, language, transformation, generation, XML), and how the adequacy of these technologies has helped to build open and scalable system. The innovation of our system comes primarily from the pooling of these various techniques. It is in this sense that there is no comparable system available to LMSGENERATOR even if each such element is found as isolated in many other researches done.