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 Microsoft Repository through an information model. Each information model is stored in the Repository database as a Repository type library.
A 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 Repository. It also enables a user to extend existing models.
For example, Microsoft 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.
Microsoft Repository is not limited to software tools developed using Visual Basic. Visual Basic is only one of many potential clients that can use Repository to model a software system.