Collaborative Software Engineering on Large-scale models: Requirements and Experience in ModelBus
Résumé
This work presents an approach for realizing Model-Driven software engineering in the distributed and multi-developers context. It particularly focuses on the scalability problems in a complex software project involving a large set of inter-connected models: (1) how to manipulate large data volume with limited computing resources, and (2) how to maintain consistency of inter-model links in a large model set, facing to concurrent model updates. As a solution, we propose the scalable copy-modify-merge mechanism, which allows each developer to copy only a model subset from the entire model set, to manipulate this subset locally, and to merge it back to the repository. This mechanism ensures the global consistency of the model set, particularly against dangling links. Our approach is generic: it is applicable to all model types (UML and Domain-Specific Models). Also, it offers interoperability with existing, heterogeneous CASE tools. Its prototype implementation in the ModelBus environment is now available on the Eclipse project "MDDi".