The more complex a system, the larger the number and variety of its related artifacts become. Large-scale industrial systems involve nowadays hundreds of developers working on hundreds of different but related artifacts representing parts of the whole system specification. In MDE (Model Driven Engineering), artifacts are considered to be models. There are models for requirements, analysis and design, tests, validation and verification, supervision, deployment, etc. The complete system specification is then a huge set of distributed models manipulated by developers during the whole system life cycle.
Despite this situation, a critical problem is that currently there is no strong support for collaborative development of complex systems following the MDE approach. Note that what we do talk about collaborative aspects and not cooperative ones. Collaborative work and cooperative work are sometimes two confusing concepts. Galaxy does not deal with social or human aspects of cooperative systems. It focuses on collaborative working environment. As raised by Douglas C. Schmidt, CASE (Computer-Aided Software Engineering) tools offer few support for concurrent engineering, so they are limited to programs written by a single person or by a team that serialized their access to files used by these tools. Therefore, organizations building complex systems have to define their own ‘ad-hoc’ solutions (quite often human based) to address this major problem. The result is a lack of competitiveness and reactivity.
The goal of the Galaxy project is to address the complexity of model collaborative work. It aims at defining an open and flexible architecture particularly designed to be scalable with regard of the size and dynamic of models and developers teams.