ABSTRACT
This paper describes an approach to evaluating the structural conformance of a UML class diagram to a design pattern. A design pattern is specified in an extension of the UML that defines the pattern as a family of models. A pattern specification consists of a set of pattern roles where a role specifies the properties of a pattern participant. The approach uses a divide-and-conquer method to evaluate pattern conformance. In the approach a pattern and the model being evaluated are decomposed into blocks. Then, the model blocks are evaluated for conformance to the role blocks in the pattern. When all individual role blocks are satisfied by the model blocks, the pattern as a whole is considered to evaluate the entire conformance of the model. A major benefit of this approach is the support for variations of pattern realizations through the notion of pattern roles. We illustrate the approach using the Visitor pattern and a price calculator, and demonstrate a prototype tool that supports the approach.
- G. Antoniol, R. Fiutem, and L. Cristoforetti. Design Pattern Recovery in Object-Oriented Software. In Proceedings of the 6th International Workshop on Program Comprehension, pages 153--160. IEEE Computer Society Press, 1998. Google ScholarDigital Library
- F. Bergenti and A. Poggi. Improving UML Design Using Automatic Design Pattern Detection. In Proceedings of the 12th International Conference on Software Engineering and Knowledge Engineering, (SEKE), pages 336--343, 2000.Google Scholar
- K. Brown. Design Reverse-Engineering and Automated Design Pattern Detection in SmallTalk. Master's thesis, Department of Computer Engineering, North Carolina State University, 1996.Google Scholar
- E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995. Google ScholarDigital Library
- R. K. Keller, R. Schauer, S. Robitaille, and P. Page. Pattern-Based Reverse Engineering of Design Components. In Proceedings of the 21st International Conference On Software Engineering, 1999. Google ScholarDigital Library
- D. Kim. A Meta-Modeling Approach to Specifying Patterns. PhD thesis, Colorado State University, Fort Collins, CO, 2004. Google ScholarDigital Library
- D. Kim. The Role-Based Metamodeling Language for Specifying Design Patterns. In Toufik Taibi, editor, Design Pattern Formalization Techniques. Idea Group Inc., 2006. To be published.Google Scholar
- D. Kim, R. France, S. Ghosh, and E. Song. A Role-Based Metamodeling Approach to Specifying Design Patterns. In Proceedings of the 27th IEEE Annual International Computer Software and Applications Conference, Dallas, Texas, 2003. Google ScholarDigital Library
- Ch. Kraemer and L. Prechelt. Design Recovery by Automated Search for Structural Design Patterns in Object-Oriented Software. In Proceedings of the 3rd Working Conference on Reverse Engineering, 1996. Google ScholarDigital Library
- A. Lauder and S. Kent. Precise Visual Specification of Design Patterns. In Proceedings of the 12th European Conference on Object-Oriented Programming, pages 114--136. Springer-Verlag, LNCS 1445, 1998. Google ScholarDigital Library
- Y. Mai and M. de Champlain. A Pattern Language to Visitors. In Proceedings of the 8th AnnualConference of Pattern Languages of Programs (PLoP), Monticello, Illinois, 2001.Google Scholar
- W. Shen and W. L. Low. Using Abstract Sstate Machines to Support UML Model Instantiation Checking. In Proceedings of The IASTED International Conference on Software Engineering, Innsbruck, Austria, 2005.Google Scholar
- F. Shull, W. Melo, and V. Basili. An inductive method for discovering design patterns from object-oriented software systems. Technical Report UMIACS-TR-96-10, University of Maryland, Computer Science, 1996.Google Scholar
- The Object Management Group (OMG). Unified Modeling Language. Version 1.5, OMG, http://www.omg.org, March 2003.Google Scholar
- J. Warmer and A. Kleppe. The Object Constraint Language Second Edition: Getting Your Models Ready for MDA. Addison Wesley, 2003. Google ScholarDigital Library
Index Terms
- An approach to evaluating structural pattern conformance of UML models
Recommendations
Assessing conformance of pattern-based design in UML
ACM-SE 46: Proceedings of the 46th Annual Southeast Regional Conference on XXA design pattern is a generic solution to a recurring problem in a given design context [1]. The use of design patterns has many known benefits to the design process. However, since it is the task of a human to instantiate patterns within designs, it is ...
Evaluating pattern conformance of UML models: a divide-and-conquer approach and case studies
A design pattern is realized in various forms depending on the context of the applications. There has been intensive research on detecting pattern instances in models and in implementations. However, little work addresses variations of pattern ...
Evaluating Conformance of UML Models to Design Patterns
ICECCS '05: Proceedings of the 10th IEEE International Conference on Engineering of Complex Computer SystemsIn this paper, we describe an approach to checking conformance of UML class diagrams to design patterns. The technique provides a set of checks that evaluate syntactic and semantic pattern conformance. Syntactic pattern conformance is concerned with ...
Comments