Unified Modeling Language (UML)
The Unified Modeling Language™ (UML™) helps you specify, visualize, and document models of software systems. Using any one of the large number of UML-based tools on the market, you can analyze your future application's requirements and design a solution that meets them.
The flexibility of UML lets you model distributed applications that use just about any middleware on the market. Built upon the MOF meta-model which defines class and operation as fundamental concepts, works with object-oriented languages and environments such as C++, Java, and C#.
Also see the Common Warehouse Meta-Model (CWM).
Organization: Object Management Group
More information: UML page on the OMG website
More on the general topic: Common Warehouse Metamodel (CWM)