The Model Driven Engineering (MDE) paradigm aims to deal with increasing complexity in software development and maintenance. It focuses on using models to specify software systems and on automating model manipulations with tools. The goal of this thesis is to define and realize an open, distributed environment supporting MDE. This environment, called ModelBus, intends 1) to support collaborative model manipulations by multi-developers, and 2) to provide interoperability between heterogeneous tools involved in MDE projects. To achieve the first objective, ModelBus offers diff/merge mechanisms for models, and, for the second objective, ModelBus offers mechanisms for exchanging models and for invoking services among tools. The major problems addressed by ModelBus concern scalability regarding large specifications of complex systems. Given that a set of models describing a system is a large object graph (in the order of GBs), whose links represent relations among models (e.g. traceability, view relationships), the following problems can arise: 1) Memory insufficiency for manipulating the entire graph, and 2) link inconsistencies (dangling links) caused by concurrent model manipulations. To solve those problems, ModelBus partitions a system specification into models, and manages link consistency between those models.