Real-Time Reflexion Modelling in architecture reconciliation: A multi case study

被引:18
作者
Buckley, Jim [1 ]
Ali, Nour [2 ]
English, Michael [1 ]
Rosik, Jacek [1 ]
Herold, Sebastian [1 ]
机构
[1] Univ Limerick, Irish Software Engn Res Ctr Lero, Limerick, Ireland
[2] Univ Brighton, Sch Comp Engn & Math, Brighton BN2 4AT, E Sussex, England
基金
爱尔兰科学基金会;
关键词
Reflexion Modelling; Software architecture; Architecture consistency; Architecture conformance; SOFTWARE ARCHITECTURE; COMPLIANCE CHECKING; COMPONENT RECOVERY; SOURCE CODE; DESIGN; FEATURES; PRODUCT; EROSION; TOOL;
D O I
10.1016/j.infsof.2015.01.011
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Context: Reflexion Modelling is considered one of the more successful approaches to architecture reconciliation. Empirical studies strongly suggest that professional developers involved in real-life industrial projects find the information provided by variants of this approach useful and insightful, but the degree to which it resolves architecture conformance issues is still unclear. Objective: This paper aims to assess the level of architecture conformance achieved by professional architects using Reflexion Modelling, and to determine how the approach could be extended to improve its suitability for this task. Method: An in vivo, multi-case-study protocol was adopted across five software systems, from four different financial services organizations. Think-aloud, video-tape and interview data from professional architects involved in Reflexion Modelling sessions were analysed qualitatively. Results: This study showed that (at least) four months after the Reflexion Modelling sessions less than 50% of the architectural violations identified were removed. The majority of participants who did remove violations favoured changes to the architectural model rather than to the code. Participants seemed to work off two specific architectural templates, and interactively explored their architectural model to focus in on the causes of violations, and to assess the ramifications of potential code changes. They expressed a desire for dependency analysis beyond static-source-code analysis and scalable visualizations. Conclusion: The findings support several interesting usage-in-practice traits, previously hinted at in the literature. These include (1) the iterative analysis of systems through Reflexion models, as a precursor to possible code change or as a focusing mechanism to identify the location of architecture conformance issues, (2) the extension of the approach with respect to dependency analysis of software systems and architectural modelling templates, (3) improved visualization support and (4) the insight that identification of architectural violations in itself does not lead to their removal in the majority of instances. (C) 2015 Elsevier B.V. All rights reserved.
引用
收藏
页码:107 / 123
页数:17
相关论文
共 80 条
[1]  
Ali N., 2012, 8 INT ACM SIGSOFT C, P23
[2]  
Anders Ericsson K., 1993, PROTOCOL ANAL
[3]  
[Anonymous], 2000, Generative programming, DOI DOI 10.1126/science.1110411
[4]  
Babbage C., 1864, Passages from the Life of a Philosopher
[5]  
Bischofberger W, 2004, LECT NOTES COMPUT SC, V3047, P1
[6]  
Blackwell AF, 2001, LECT NOTES ARTIF INT, V2117, P325
[7]   Encapsulating targeted component abstractions using software Reflexion Modelling [J].
Buckley, Jim ;
LeGear, Andrew P. ;
Exton, Chris ;
Cadogan, Ross ;
Johnston, Trevor ;
Looby, Bill ;
Koschke, Rainer .
JOURNAL OF SOFTWARE MAINTENANCE AND EVOLUTION-RESEARCH AND PRACTICE, 2008, 20 (02) :107-134
[8]  
Buckley J, 2013, PROCEEDINGS OF THE 35TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2013), P1291, DOI 10.1109/ICSE.2013.6606700
[9]  
Burke Joseph, 2012, THESIS U LIMERICK
[10]  
Cheesman J., 2000, UML COMPONENTS SIMPL