Browse > Article

An Approach to Support Software Architecture Transformation in Architecture-Based Software Development  

Choi Heeseok (한국전자통신연구원 임베디드S/W연구단)
Yeom Keunhyuk (부산대학교 컴퓨터공학과)
Abstract
Software architecture is increasingly being viewed as a key design in developing complex software systems, which largely affects the achievement of quality attributes. During the architecture-based software development, therefore, architectural transformation is needed to achieve quality attributes. Due to the variety of design alternatives and the poor predictability of the effects of the transformation, however, it is not easy to apply architectural transformation. Therefore, the method is needed to support architectural transformation through systematically analyzing the effects of applying various design alternatives to the architecture. This paper proposes an approach to support software architecture transformation. Based on architectural design decisions and the constraints on them included in the architecture, our approach defines a decision constraint graph representing the dependencies among architectural design decisions. Through using the decision constraint graph, architectural transformation can be systematically performed by understanding the effects of applying a transformation. While this work supports more understanding of applying architectural transformation, it also helps reconstruct a software architecture to improve the quality of the software.
Keywords
Software architecture; Software architecture transformation; Decision constraint graph;
Citations & Related Records
Times Cited By KSCI : 1  (Citation Analysis)
연도 인용수 순위
1 Schmidt, D., Stal, M., Rohnert, H., and Buschmann, F., Pattern-Oriented Software Architecture, Patterns for Concurrent and Networked Objects, John Wiley & Sons, 2000
2 Eriksson, H.E. and Penker, M., UML Toolkit, John Wiley & Sons, 1998
3 Gustafsson, J., et al., 'Architecture-Centric Software Evolution by Software Metrics and Design Patterns,' Proceedings of the 6th European Conference on Software Maintenance and Reengineering, March 2002, pp.58-70   DOI
4 Gamma, E., Helm, R., Johnson, R., and Vlissides, J., Design Patterns, Addison-Wesley, 1995
5 Buschmann, F., et al., Pattern-Oriented Software Architecture, A System of Patterns, John Wiley & Sons, 2000
6 Fahmy, H. and Holt, R.C., 'Using Graph Rewriting to Specify Software Architectural Transformations,' Proceedings of the 15th IEEE International Conference on Automated Software Engineering, September 2000, pp.187-196   DOI
7 Kruchten, P., The 4+1 View Model of Software Architecture, IEEE Software, Vol. 12, No. 6, November 1995, pp.42-50   DOI   ScienceOn
8 Perry, D.E. and Wolf, A.L., 'Foundations for The Study of Software Architecture,' ACM SIGSOFT Software Engineering Notes, Vol. 17, No. 4, October 1992, pp.40-52   DOI
9 Garlan, D. and Shaw, M., 'An Introduction to Software Architecture,' Advances in Software Engineering and Knowledge Engineering, Series on Software Engineering and Knowledge Engineering, Vol. 2, World Scientific Publishing Co., 1993, pp.1-39
10 Choi, H. and Yeom, K., 'An Approach to Effective Software Architecture Evaluation in Architecture-Based Software Development,' Journal of the Korea Information Science Society: Software and Application, Vol. 29, No. 5, June 2002, pp.295-310   과학기술학회마을
11 Choi, H. and Yeom, K., 'An Approach to Software Architecture Evaluation with the 4+1 View Model of Architecture,' Proceedings of the 9th Asia Pacific Software Engineering Conference, December 2002, pp.286-293   DOI
12 Ran, A. and Kuusela, J., 'Design Decision Trees,' Proceedings of the 8th International Workshop on Software Specification and Design, 1996, pp.172-175
13 Bass, L., Clements, P., and Kazman, R., Software Architecture in Practice, Addison-Wesley, 1998
14 Kazman, R. et al., 'The Architecture Tradeoff Analysis Method,' Proceedings of the 4th IEEE International Conference on Engineering of Complex Computer Systems, August 1998, pp.68-78   DOI
15 Bosch, J., Design and Use of Software Architecture, Addison-Wesley, 2000
16 Ambriola, V. and Kmiecik, A., 'Architectural Transformations,' Proceedings of the 14th IEEE International Conference on Software Engineering and Knowledge Engineering, July 2002, pp.275-278   DOI
17 Clements, P. and Northrop, L., 'Software Architecture: An Executive Overview,' CMU/SEI-96-TR-003, Carnegie Mellon University, February 1996
18 Krikhaar, R., et al., 'A Two-phase Process for Software Architecture Improvement,' Proceedings of the International Conference on Software Maintenance, August 1999, pp.371-380
19 Carriere, S.J., Woods, S., and Kazman, R., 'Software Architectural Transformation,' Proceedings of the 6th Working Conference on Reverse Engineering, October 1999, pp.13-23   DOI