Issue No.05 - September/October (2010 vol.27)
pp: 82-89
Ricardo Terra , Federal University of Minas Gerais, Brazil
Leonardo Passos , Federal University of the Jequitinhonha and Mucuri Valleys, Brazil
Renato Diniz , Squadra Technology, Brazil
Nabor Mendonça , University of Fortaleza, Brazil
In this article, the authors compare and illustrate the use of three static architecture-conformance techniques: dependency-structure matrices, source code query languages, and reflexion models. To highlight the similarities and differences between these three techniques, they describe how to apply some of the techniques' available supporting tools to specify and check architectural constraints for a simple personal information management system.
architecture conformance, architectural erosion, software reflexion models, dependency-structure matrices, source code query languages
Ricardo Terra, Leonardo Passos, Renato Diniz, Nabor Mendonça, "Static Architecture-Conformance Checking: An Illustrative Overview", IEEE Software, vol.27, no. 5, pp. 82-89, September/October 2010, doi:10.1109/MS.2009.117
1. D.E. Perry and A.L. Wolf, "Foundations for the Study of Software Architecture," Software Eng. Notes, vol. 17, no. 4, 1992, pp. 40–52.
2. J. Knodel and D. Popescu, "A Comparison of Static Architecture Compliance Checking Approaches," Proc. 6th Working IEEE/IFIP Conf. Software Architecture (WICSA), IEEE, 2007, p. 12.
3. P. Kruchten, "The 4 + 1 View Model of Architecture," IEEE Software, vol. 12, no. 6, 1995, pp. 42–50.
4. N. Sangal et al., "Using Dependency Models to Manage Complex Software Architecture," Proc. 20th Conf. Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), ACM Press, 2005, pp. 167–176.
5. M. Verbaere, M.W. Godfrey, and T. Girba, "Query Technologies and Applications for Program Comprehension," Proc. 16th IEEE Int'l Conf. Program Comprehension (ICPC), IEEE CS Press, 2008, pp. 285–288.
6. G.C. Murphy, D. Notkin, and K.J. Sullivan, "Software Reflexion Models: Bridging the Gap between Source and High-Level Models," Proc. 3rd Symp. Foundations of Software Eng. (FSE), ACM Press, 1995, pp. 18–28.
7. K.J. Sullivan et al., "The Structure and Value of Modularity in Software Design," Proc. 9th Int'l Symp. Foundations of Software Eng. (FSE), ACM Press, 2001, pp. 99–108.
8. R. Terra and M.T. Valente, "A Dependency Constraint Language to Manage Object-Oriented Software Architectures," Software: Practice and Experience, vol. 32, no. 12, 2009, pp. 1073–1094.
9. J. Knodel, D. Muthig, and D. Rost, "Constructive Architecture Compliance Checking—An Experiment on Support by Live Feedback," Proc. 24th IEEE Int'l Conf. Software Maintenance (ICSM), IEEE CS Press, 2008, pp. 287–296.
10. J. Rosik et al., "An Industrial Case Study of Architecture Conformance," Proc. 2nd Int'l Symp. Empirical Software Eng. and Measurement (ESEM), IEEE CS Press, 2008, pp. 80–89.