A meta-modeling approach to specifying patterns

  • Authors:
  • Robert B. France;Dae-Kyoo Kim

  • Affiliations:
  • -;-

  • Venue:
  • A meta-modeling approach to specifying patterns
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

A major goal in software development is to produce quality products in less time and with less cost. Systematic reuse of software artifacts that encapsulate high-quality development experience can help achieve the goal. Design patterns are a common form of reusable design experience. Use of design patterns can help developers reduce development time. Prevalent design patterns are, however, described informally (e.g., [36]). This prevents systematic use of patterns. The research documented in this dissertation is aimed at developing a practical pattern specification technique that supports the systematic use of patterns during design modeling. To achieve this goal, the research developed a pattern specification language called the Role-Based Metamodeling Language (RBML). The RBML uses the Unified Modeling Language (UML) syntax to the extent possible, and specifies a pattern as a specialization of the UML metamodel. The RBML uses the UML as a syntactic base to make it easier for UML modelers to create, understand, and evolve pattern specifications, and to enable the use of UML modeling tools for creating and evolving pattern specifications. The research used the RBML to develop specifications for design patterns in the Design Patterns book [36] including Abstract Factory, Bridge, Decorator, Observer, State, Iterator, and Visitor. The research also used the RBML to define a large application domain pattern for checkin-checkout systems, and used the resulting specification to develop UML designs for a library system and a car rental system. The research also used the RBML to specify access control mechanisms as patterns including Role-Based Access Control (RBAC), Mandatory Access Control (MAC), and a Hybrid Access Control (HAC) that is a composition of RBAC and MAC. The RBML is currently used at NASA for modeling pervasive requirements as patterns. NASA also uses the RBML in the development of Weather CTAS System that is a weather forecasting system. To determine the potential of the RBML to support the development of tools that enable systematic use of patterns, the research developed a prototype tool called RBML-Pattern Instantiator (RBML-PI) that generates conforming UML models from RBML pattern specifications.