Pattern-based design evolution using graph transformation

被引:27
作者
Zhao, Chunying [1 ]
Kong, Jun
Dong, Jing
Zhang, Kang
机构
[1] Univ Texas, Richardson, TX 75083 USA
[2] N Dakota State Univ, Fargo, ND 58105 USA
关键词
design pattern; graph transformation; graph grammar; visual language; software evolution;
D O I
10.1016/j.jvlc.2007.07.004
中图分类号
TP31 [计算机软件];
学科分类号
081202 [计算机软件与理论]; 0835 [软件工程];
摘要
In recent years, design patterns gain more interest in software engineering communities for both software development and maintenance. As a template to solve a certain recurring problem, a design pattern documents successful experiences of software experts and gradually becomes the design guidelines of software development. Applying design patterns correctly can improve the efficiency of software design in terms of reusability and enhance maintainability during reverse engineering. Software can be evolved when developers modify their initial designs as requirements change. For instance, a developer may add/delete a set of design elements, such as classes and methods. Modifications on software artifacts can introduce conflicts and inconsistencies in the previously applied design patterns, which are difficult to find and time-consuming to correct. This paper presents a graph-transformation approach to pattern level design validation and evolution. Based on a well founded formalism, we validate a given design by a graph grammar parser and automatically evolve the design at pattern level using a graph-transformation system. Rules for potential pattern evolutions are predefined. The graph-transformation approach preserves the integrity and consistency of design patterns in the system when designs change. A prototype system is built and a case study on the Strategy pattern demonstrates the feasibility of pattern-based design validation and evolution using graph transformation techniques. Published by Elsevier Ltd.
引用
收藏
页码:378 / 398
页数:21
相关论文
共 26 条
[1]
Object-oriented design patterns recovery [J].
Antoniol, G ;
Casazza, G ;
Di Penta, M ;
Fiutem, R .
JOURNAL OF SYSTEMS AND SOFTWARE, 2001, 59 (02) :181-196
[2]
ARTHUR LJ, 1993, IMPROVING SOFTWARE Q
[3]
Ates K, 2006, PROC INT C TOOLS ART, P232
[4]
Bardohl M., 1999, Handbook of graph grammars and computing by graph transformation, V2, P105
[5]
CINNEIDE MO, 2001, P 4 INT WORKSH PRINC, P162
[6]
CIRACI S, 2006, P WORKSH ARCH CENTR
[7]
Design pattern recovery by visual language parsing [J].
Costagliola, G ;
De Lucia, A ;
Deufemia, V ;
Gravino, C ;
Risi, M .
NINTH EUROPEAN CONFERENCE ON SOFTWARE MAINTENANCE AND REENGINEERING, PROCEEDINGS, 2005, :102-111
[8]
Dong F, 2006, 13TH ANNUAL IEEE INTERNATIONAL SYMPOSIUM AND WORKSHOP ON ENGINEERING OF COMPUTER BASED SYSTEMS, PROCEEDINGS, P80
[9]
Dong J, 2006, IASTED INT CONF INTE, P16
[10]
Engelfriet J., 1997, Handbook of Graph Grammars and Computing by Graph Transformation, V1, P1