Composing aspect models with graph transformations
Proceedings of the 2006 international workshop on Early aspects at ICSE
An approach to evaluating structural pattern conformance of UML models
Proceedings of the 2007 ACM symposium on Applied computing
An approach to precisely specifying the problem domain of design patterns
Journal of Visual Languages and Computing
Evaluating pattern conformance of UML models: a divide-and-conquer approach and case studies
Software Quality Control
Describing access control models as design patterns using roles
Proceedings of the 2006 conference on Pattern languages of programs
Assessing conformance of pattern-based design in UML
Proceedings of the 46th Annual Southeast Regional Conference on XX
Formal specification of the variants and behavioural features of design patterns
Journal of Systems and Software
A multiple case study of design pattern decay, grime, and rot in evolving software systems
Software Quality Control
Hi-index | 0.00 |
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.