Cost-effective development of large, integrated computer-based systems can be realized through systematic reuse of development experiences throughout the development process. In this paper we describe a technique for representing reusable modeling experiences. The technique allows developers to express domain-specific design patterns as a sub-language of the modeling language, the UML. Use of the sub-language to build applicationspecific UML models results in the reuse of the embedded design experiences. We use a notation called the (meta)Role-Based Modeling Language (RBML) to define UML sub-languages. A (meta-)Role Model is a specialization of the UML (Unified Modeling Language) meta-model, that is, it determines a sub-language of the UML. We show how RBML can be used to define domain-specific design patterns.
Dae-Kyoo Kim, Robert B. France, Sudipto Ghosh, Eun