An agent-oriented approach to change propagation in software maintenance

被引:17
作者
Dam, Hoa Khanh [3 ]
Winikoff, Michael [1 ,2 ]
机构
[1] Univ Otago, Dunedin, New Zealand
[2] RMIT Univ, Melbourne, Vic, Australia
[3] Univ Wollongong, Wollongong, NSW, Australia
关键词
Agent-oriented software engineering; Software maintenance and evolution; Change propagation; MODEL; INCONSISTENCIES; CONSISTENCY; SUPPORT;
D O I
10.1007/s10458-010-9163-0
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Software maintenance and evolution is a lengthy and expensive phase in the life cycle of a software system. In this paper we focus on the change propagation problem: given a primary change that is made in order to meet a new or changed requirement, what additional, secondary, changes are needed? We propose a novel, agent-oriented, approach that works by repairing violations of desired consistency rules in a design model. Such consistency constraints are specified using the Object Constraint Language (OCL) and the Unified Modelling Language (UML) metamodel, which form the key inputs to our change propagation framework. The underlying change propagation mechanism of our framework is based on the well-known Belief-Desire-Intention (BDI) agent architecture. Our approach represents change options for repairing inconsistencies using event-triggered plans, as is done in BDI agent platforms. This naturally reflects the cascading nature of change propagation, where each change (primary or secondary) can require further changes to be made. We also propose a new method for generating repair plans from OCL consistency constraints. Furthermore, a given inconsistency will typically have a number of repair plans that could be used to restore consistency, and we propose a mechanism for semi-automatically selecting between alternative repair plans. This mechanism, which is based on a notion of cost, takes into account cascades (where fixing the violation of a constraint breaks another constraint), and synergies between constraints (where fixing the violation of a constraint also fixes another violated constraint). Finally, we report on an evaluation of the approach, covering effectiveness, efficiency and scalability.
引用
收藏
页码:384 / 452
页数:69
相关论文
共 76 条
[1]  
[Anonymous], 2004, Developing Intelligent Agent Systems: A practical guide
[2]  
[Anonymous], 2005, SOFTWARE EVOLUTION U
[3]  
[Anonymous], OBJ CONSTR LANG OCL
[4]  
[Anonymous], 2003, MDA Explained, the Model Driven Architecture: Practice and Promise
[5]  
Arnold Robert S., 1996, SOFTWARE CHANGE IMPA
[6]   Model-driven development:: A metamodeling foundation [J].
Atkinson, C ;
Kühne, T .
IEEE SOFTWARE, 2003, 20 (05) :36-+
[7]  
BENNETT KH, 2000, FUTURE SOFTWARE ENG, P73
[8]  
Bergenti F, 2004, MU S ART SOC SIM ORG, P19
[9]  
Blythe J., 1999, AI Magazine, V20, P37
[10]  
BODEVEIX JP, 2002, UML 2002 MODEL ENG C, P75