• Article
  • | |
  • Metrics
  • |
  • Reference [47]
  • |
  • Related
  • |
  • Cited by
  • | |
  • Comments
    Abstract:

    This paper proposes a graph transformation based description language of model refactoring (GraTDeLMoR) to formalize model refactorings. It designs basic elements of the language according to the features of model refactorings, and proposes approaches to describe model refactorings with these basic elements. It also proposes steps of the application of refactorings formalized with the proposed language, and provides corresponding CASE support. The paper discusses the descriptive ability of the description language with some typical examples, and results suggest that the proposed language is expressive in formalizing model refactorings.

    Reference
    [1] Opdyke WF. Refactoring object-oriented frameworks [Ph.D. Thesis]. University of Illinois at Urbana-Champaign, 1992.
    [2] Fowler M, Beck K, Brant J, Opdyke W, Roberts D. Refactoring: Improving the Design of Existing Code. Addison Wesley Professional, 1999.
    [3] Pipka JU. Refactoring in a “test first”-world. In: Marchesi M, Succi G, eds. Proc. of the 3rd Int’l Conf. on eXtreme Programming and Flexible Processes in Software Engineering. 2002. 178?181.
    [4] van Deursen A, Moonen L. The video store revisited—Thoughts on refactorings and testing. In: Marchesi M, Succi G, eds. Proc. of the 3rd Int’l Conf. on eXtreme Programming and Flexible Processes in Software Engineering (XP2002). 2002. 71?76.
    [5] Mens T, Touwe T. A survey of software refactoring. IEEE Trans. on Software Engineering, 2004,30(2):126?139.
    [6] Object Management Group. UML 2.0 Infrastructure Specification. OMG Adopted Specification ptc/03-09-15, 2003.
    [7] Object Management Group. UML2 Superstructure Final Adopted Specification. 2003.
    [8] Object Management Group. MDA Guide Version 1.0.1. OMG/03-06-01, 2003.
    [9] Astels D. Refactoring with UML. In: Proc. of the 3rd Int’l Conf. eXtreme Programming and Flexible Processes in Software Engineering. 2002. 67?70.
    [10] Sunye G, Pollet D, Traon YL, Jezequel JM. Refactoring UML models. In: Proc. of the 4th Int’l Conf. on the Unified Modeling Language. 2001. 134?148.
    [11] Correa A, Werner C. Applying refactoring techniques to UML/OCL models. In: Proc. of the 7th Int’l Conf. on the Unified Modeling Language (UML 2004). 2004. 173?187.
    [12] Object Management Group. UML 2.0 OCL specification. Technical Report, ptc/03-10-14, 2003.
    [13] Tichelaar S. Modeling object-oriented software for reverse engineering and refactoring [Ph.D. Thesis]. University of Bern, 2001.
    [14] Mens T, van Eetvelde N, Demeyer S, Janssens D. Formalizing refactorings with graph transformations. Journal of Software Maintenance and Evolution: Research and Practice, 2005,17(4):247?276.
    [15] Roberts D, Brant J, Johnson R. A refactoring tool for smalltalk. Theory and Practice of Object Systems, 1997,3(4):253?263.
    [16] Boger M, Sturm T, Fragemann P. Refactoring browser for UML. In: Proc. of the 3rd Int’l Conf. on eXtreme Programming and Flexible Processes in Software Engineering. 2002. 77?81.
    [17] Lambers L, Ehrig H, Orejas F. Conflict detection for graph transformation with negative application conditions. In: Corradini A, Ehrig H, Montanari U, Ribeiro L, Rozenberg G, eds. Proc. of the Graph Transformations, the 3rd Int’l Conf. (ICGT 2006). LNCS 4178, 2006. 61?76.
    [18] Fowler M, Beck K, Brant J, Opdyke W, Roberts D. Refactoring: Improving the Design of Existing Code. Addison Wesley Professional, 1999.
    [19] Object Management Group. UML 2.0 OCL specification. Technical Report, ptc/03-10-14, 2003.
    [20] Liu H, Ma ZY, Shao WZ. Description and proof of property preservation of model transformations. Journal of Software, 2007,18(10):2369?2379 (in Chinese with English abstract). http://www.jos.org.cn/1000-9825/18/2369.htm
    [21] Liu H, Li G, Ma ZY, Shao WZ. Scheduling of conflicting refactorings to promote quality improvement. In: Proc. of the 22nd IEEE/ACM Int’l Conf. on Automated Software Engineering. 2007. 489?492.
    [22] http://refactoring.com/catalog/index.html
    [23] Liu H. Graph transformation based model refactoring [Ph.D. Thesis]. Beijing: Peking University, 2008 (in Chinese with English abstract).
    [24] http://tfs.cs.tu-berlin.de/agg/
    [25] http://tfs.cs.tu-berlin.de/agg/AGG-ShortManual/node36.html
    [26] Mens T, Taentzer G, Runge O. Detecting structural refactoring conflicts using critical pair analysis. Electronic Notes in Theoretical Computer Science, 2005,127(3):113?128.
    [27] Ehrig H, Engels G, Kreowski HJ, Rozenberg G. Handbook of Graph Grammars and Computing by Graph Transformation, Vol.1. Singapore: World Scientific Publishing Co., Inc., 1997.
    [28] Ermel C, Rudolf M, Taentzer G. The AGG approach: Language and environment. In: Ehrig H, Engels G, Kreowski HJ, Rozenberg G, eds. Handbook of Graph Grammars and Computing by Graph Transformation, Vol.2: Applications, Languages, and Tools. River Edge: World Scientific Publishing Co., Inc., 1999.
    [29] Nickel U, Niere J, Zündorf A. The FUJABA environment. In: Proc. of the 22nd Int’l Conf. on Software Engineering. 2000. 742?745.
    [30] Schürr A, Winter AJ, Zündorf A. The PROGRES approach: Language and environment. In: Ehrig H, Engels G, Kreowski HJ, Rozenberg G, eds. Handbook of Graph Grammars and Computing by Graph Transformation, Vol.2: Applications, Languages, and Tools. World Scientific, 1999. 487?550.
    [31] Bottoni P, Presicce FP, Taentzer G. Specifying integrated refactoring with distributed graph transformations. In: Proc. of the Applications of Graph Transformations with Industrial Relevance. 2003. 227?242.
    [32] van Eetvelde N, Janssens D. Extending graph transformation for refactoring. In: Proc. of the 2nd Int’l Conf. on Graph Transformation ICGT 2004. LNCS 3256, 2004. 399?415.
    [33] Grunske L, Geiger L, Lawley M. A graphical specification of model transformations with triple graph grammars. In: Hartman A, Kreische D, eds. Proc. of the Eurupean Conf. on Model Driven Architecture—Foundations and Applications (ECMAD-FA 2005). LNCS 3748, 2005. 284?298. .
    [34] Drewes F, Hoffmann B, Plump D. Hierarchical graph transformation. Journal of Computer and System Sciences, 2002,(64): 249?283.
    [35] Agrawal A, Karsai G, Kalmar Z, Neema S, Shi F, Vizhanyo A. The design of a language for model transformations. Journal of Software and System Modeling, 2006,5(3):261?288.
    [36] Object Management Group. MOF QVT final adopted specification. OMG Adopted Specification ptc/05-11-01, 2005.
    [37] Baar T. OCL and graph-transformations—A symbiotic alliance to alleviate the frame problem. In: Proc. of the Workshop on Tool Support for OCL on ACM/IEEE the 8th Int’l Conf. on Model Driven Engineering Languages and Systems. LNCS 3844, 2006. 20?31.
    [38] Porres I. Model refactorings as rule-based update transformations. Technical Report, TUCS Technical Report No.525, Turku Centre for Computer Science, 2003.
    [39] Porres I. Model refactorings as rule-based update transformations. In: Proc. of the UML 2003—The Unified Modeling Language, Modeling Language and Applications. 2003. 159?174.
    [40] van Rossum G. Python reference manual. Release 2.5.2, 2008. http://docs.python.org/ref/ref.html
    [41] Porres I. A toolkit for manipulating UML models. Technical Report, TUCS Technical Report No.441, TUCS Turku Centre for Computer Science, 2002.
    [42] Whittle J. Transformations and software modeling languages: Automating transformations. In: Jezequel JM, Hussmann H, Cook S, eds. Proc. of the UML 2002—The Unified Modeling Language, Model Engineering, Languages, Concepts, and Tools, the 5th Int’l Conf. LNCS 2460, Dresden: Springer-Verlag, 2002. 227?242.
    [43] Lambers L, Ehrig H, Orejas F. Efficient detection of conflicts in graph-based model transformation. Electronic Notes in Theoretical Computer Science, 2006,152(2):97?109.
    [44] Liu H, Shao WZ, Zhang L, Ma ZY. Detecting overlapping use cases. IET Software (Formerly IEE Proc.—Software), 2007,1(1): 29?36.
    [45] Liu, H, Ma ZY, Zhang L, Shao WZ. Detecting duplications in sequence diagrams based on suffix trees. In: Proc. of the XIII Asia Pacific Software Engineering Conf. Los Alamitos: IEEE Computer Society, 2006. 269?276. 附中文参考文献:
    [20] 刘辉,麻志毅,邵维忠.模型转换中的特性保持的描述与验证.软件学报,2007,18(10):2369?2379. http://www.jos.org.cn/1000-9825/ 18/2369.htm
    [23] 刘辉.基于图转换的模型重构技术研究[博士学位论文].北京:北京大学,2008.
    Related
    Cited by
Get Citation

刘辉,麻志毅,邵维忠.一种基于图转换的模型重构描述语言.软件学报,2009,20(8):2087-2101

Copy
Share
Article Metrics
  • Abstract:5712
  • PDF: 7398
  • HTML: 0
  • Cited by: 0
History
  • Received:April 02,2008
  • Revised:October 07,2008
You are the first2035233Visitors
Copyright: Institute of Software, Chinese Academy of Sciences Beijing ICP No. 05046678-4
Address:4# South Fourth Street, Zhong Guan Cun, Beijing 100190,Postal Code:100190
Phone:010-62562563 Fax:010-62562533 Email:jos@iscas.ac.cn
Technical Support:Beijing Qinyun Technology Development Co., Ltd.

Beijing Public Network Security No. 11040202500063