Design pattern evolutions in QVT
- 191 Downloads
- 6 Citations
Abstract
One of the main goals of design patterns is to design for change. Many design patterns leave some room for future changes and evolutions. The application of design patterns leads to adaptable software since the design pattern instances could be changed with minimal impact on other parts of the system. Such changes, called the evolution of a design pattern instance in this paper, typically involve the addition or removal of a group of model elements, such as classes, attributes, operations, and relationships. However, the possible evolutions of each design pattern are often not explicitly documented. Missing a part of the evolution process may result in inconsistent evolutions. In this paper, we present our approach to assist the evolution processes of design patterns by model transformation technology. We provide a formal foundation for our approach by defining the predicates that can be used to describe the properties of each design pattern, software system design, and design pattern evolutions. We also provide tool support to automate the evolution processes based on the Query, View, and Transformation standard. A case study of a large open-source software system is conducted to illustrate and evaluate our approach.
Keywords
Design pattern evolution Model transformation UML QVT Model-driven architectureReferences
- Alencar, P., Cowan, D., Dong, J., & Lucena, C. (1999). A pattern-based approach to structural design composition. In Proceedings of the IEEE 23rd annual international computer software & applications conference (pp. 160–165). Phoenix, USA, October 1999.Google Scholar
- Antoniol, G., Fiutem, R., & Cristoforetti, L. (1998). Design pattern recovery in object-oriented software. In Proceedings of the 6th IEEE International Workshop on Program Comprehension (IWPC) (pp. 153–160). Ischia, Italy, June 1998.Google Scholar
- Booch, G., Rumbaugh, J., & Jacobson, I. (1999). The unified modeling language user guide. Reading, MA: Addison-Wesley.Google Scholar
- Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., & Stal, M. (1996). Pattern oriented software architecture: A system of patterns. New York: John Wiley & Sons.Google Scholar
- Cinnéide, M. Ó., & Nixon, P. (1999). A methodology for the automated introduction of design patterns. In Proceedings of the IEEE international conference on software maintenance (ICSM) (pp. 463–472). Oxford, England, September 1999.Google Scholar
- Cinnéide, M. Ó., & Nixon, P. (2001). Automated software evolution towards design patterns. In Proceedings of the international workshop on the principles of software evolution (pp. 162–165). Vienna, Austria, September, 2001.Google Scholar
- Clocksin, W. F., & Mellish, C. S. (1987). Programming in Prolog. Berlin: Springer-Verlag.MATHGoogle Scholar
- D’Ambrogio, A. (2005). A model transformation framework for the automated building of performance model from UML models. In Proceeding of the 5th international workshop on software and performance (pp. 75–86). Palma, Illes Balears, Spain, July 2005.Google Scholar
- Dong, J., Lad, D. S., & Zhao, Y. (2007a). DP-miner: Design pattern discovery using matrix. In Proceedings of the fourteenth annual IEEE international conference on engineering of computer based systems (ECBS) (pp. 371–380). Arizona, USA, March 2007.Google Scholar
- Dong, J., Yang, S., & Huynh, D. T. (2005). Evolving design patterns based on model transformation. In Proceedings of the 9th IASTED international conference on software engineering and applications (SEA) (pp. 344–350). Phoenix, USA, November 2005.Google Scholar
- Dong, J., Yang, S., & Sun, Y. (2007b). A classification of design pattern evolutions. International Journal of Object Technology (JOT), 6(10), 95–109.Google Scholar
- Dong, J., Yang, S., Sun, Y., & Wong, W. E. (2006a). QVT based model transformation for design pattern evolutions. In Proceedings of the tenth IASTED international conference on internet and multimedia systems and applications (IMSA) (pp. 16–22). USA, Honolulu, Hawaii, USA, August 2006.Google Scholar
- Dong, J., Yang, S., & Zhang, K. (2006b). A model transformation approach for design pattern evolutions. In Proceedings of the annual IEEE international conference on engineering of computer based systems (ECBS) (pp. 80–89). Potsdam, Germany, March 2006.Google Scholar
- Dong, J., Yang, S., & Zhang, K. (2007c). Visualizing design patterns in their applications and compositions. IEEE Transaction on Software Engineering (TSE), 33(7), 433–453.CrossRefGoogle Scholar
- Dong, J., Zhao, Y., & Sun, Y. (2009). A matrix-based approach to recovering design patterns. IEEE Transactions on Systems, Man, and Cybernetics (TSMC), Part A, pp. 1271–1282, November 2009.Google Scholar
- Gamma, E., Helm, R., Johnson, R., & Vlissides, J. (1995). Design patterns: Elements of reusable object-oriented software. Reading, MA: Addison-Wesley.Google Scholar
- Gueheneuc, Y., Sahraoui, H., & Zaidi, F. (2004). Fingerprinting design patterns. In Proceedings of the 11th working conference on reverse engineering (WCRE) (pp. 172–181). Delft, Netherlands, November 2004.Google Scholar
- Judson, S. R., France, R. B., & Carver, D. L. (2003). Specifying model transformations at the meta-model level. In Proceedings of the workshop in software model engineering (WiSME@UML’2003), San Francisco, USA, October 2003.Google Scholar
- Kalnins, A., Barzdins, J., & Celms, E. (2004). Model transformation language MOLA. In Proceedings of the second European conference on model-driven architecture: Foundations and applications (MDAFA) (pp. 14–28). Linkoeping, Sweden, June 2004.Google Scholar
- Kalnins, A., Barzdins, J., & Celms, E. (2005). Model transformation language MOLA: Extended patterns. In Proceedings of the 6th international baltic conference DB@IS 2004 (Vol. 118, pp. 169–184). IOS Press, FAIA.Google Scholar
- Keienburg, F., & Rausch, A. (2001). Using XML/XMI for tool supported evolution of UML models. In Proceedings of international conference Hawaii international conference on system science (pp. 3–6). Maui, Hawaii, January 2001.Google Scholar
- Kim, D.-K., France, R., Ghosh, S., & Song, E. (2003). A role-based meta-modeling approach to specifying design patterns. In Proceedings of the 27th IEEE annual international computer software and applications conference (COMPSAC) (pp. 452–457). Dallas, USA, November 2003.Google Scholar
- Kim, D.-K., & Shen, W. (2007). An approach to evaluating structural pattern conformance of UML models. In Proceedings of ACM symposium on applied computing (SAC) (pp. 1404–1408). Seoul, Korea, March 2007.Google Scholar
- Kobayashi, T., & Saeki, M. (1999). Software development based on software pattern evolution. In Proceedings of the 6th Asia-Pacific software engineering conference (APSEC) (pp. 18–25). Takamatsu, Japan, December 1999.Google Scholar
- Kovse, J., & Härder, T. (2002). Generic XMI-based UML model transformations. In Proceedings of the international conference on object-oriented information systems (pp. 192–198). Montpellier: Springer-Verlag, 2002.Google Scholar
- Lengyel, L., Levendovszky, T., Mezei, G., Vajk, T., & Charaf, H. (2007). Practical uses of validated model transformation. In Proceedings of the international conference on computer as a tool (pp. 2200–2207). Warsaw, Poland, September 2007.Google Scholar
- Mazon, J.-N., & Trujillo, J. (2005). Applying MDA to the development of data warehouses. In Proceedings of the 8th ACM international workshop on data warehousing and OLAP (pp. 57–66). Bremen, Germany, November 2005.Google Scholar
- Muller, P.-A., Fleurey, F., Vojtisek, D., Drey, Z., Pollet, D., Fondement, F., et al. (2005). On executable meta-languages applied to model transformations. In Proceedings of INRIA workshop of model transformations in practice. Montego Bay, Jamaica, October 2005.Google Scholar
- Niere, J., Schafer, W., Wadsack, J. P., Wendehals, L., & Welsh, J. (2002). Towards pattern-based design recovery. In Proceedings of the 24th international conference on software engineering (ICSE) (pp. 338–348). Orlando, SUA, May 2002.Google Scholar
- Noda, N., & Kishi, T. (2001). Design pattern concerns for software evolution. In Proceedings of the 4th international workshop on principles of software evolution (pp. 158–161). Vienna, Austria, September 2001.Google Scholar
- Tsantalis, N., Chatzigeorgiou, A., Stephanides, G., & Halkidis, S. T. (2006). Design pattern detection using similarity scoring. IEEE transaction on software engineering, 32(11), 896–909.CrossRefGoogle Scholar
- Wang, X.-B., Wu, Q.-Y., Wang, H.-M., & Shi, D.-X. (2007). Research and implementation of design pattern-oriented model transformation. In Proceedings of the international multi-conference on computing in the global information technology (pp. 24–29). French Caribbean, March, 2007.Google Scholar
- Warmer, J. B., & Kleppe, A. G. (1998). The object constraint language: Precise modeling with UML. Reading, MA: Addison-Wesley.Google Scholar