Microsoft Repository provides a common place to persist information about objects and relationships between objects. In doing so, it provides a standard way to describe object-oriented information used by software tools:
A software tool is modeled in Repository through an information model. Each information model is stored in the Repository database as a Repository type library.
The Repository database is dynamic and extensible. Little of the actual structure is fixed; tables and columns of data are added as new models are defined, and as existing models are extended. This enables any software tool or set of software tools to be modeled by the Repository. It also enables a user to extend existing models.
For example, Visual Basic® provides an information model called the Microsoft Development Objects (MDO) Model. The MDO Model tracks Visual Basic projects in the Repository. The set of existing Visual Basic projects is represented in the Repository by the Contents collection.
The Repository is not limited to software tools developed using Visual Basic. Visual Basic is only one of many potential clients that can use the Repository to model a software system.