Yazılım Mimarisi Bakış Açılarındaki Tutarlılık Kontrolü İçin Sistematik Bir Yöntem

Literatürde, tasarım amaçlarına ulaşmayı sağlayan ve kodla yazılım mimarisi arasındaki uyumsuzlukları bulmaya yarayan bir takım çalışmalar öne sürülmüştür. Mimari bakış açıları ve kod arasındaki uyum nasıl olmalıysa, aynı şekilde her bir bakış açısı da kendi içinde ve diğer bakış açılarıyla uyumlu olmalıdır. Ancak, varolan mimari uygunluğu yöntemleri öncelik olarak kod ile mimari arasındaki uyuma odaklanmış ve bakış açılarının kendi arasındaki uyumsuzluklarını dikkate almamıştır. Bu makalede, yazılım mimarisibakış açılarının kendi aralarındaki tutarsızlığını ele alan sistematik bir yöntem sunmaktayız. Bu amaç doğrultusunda, metamodelleri tanımlanan mimari bakış açılarını uygulamaya sokan ArchViewChecker adında bir araç geliştirdik ve örnek bir çalışma üzerinde aracımızı değerlendirdik.

A Systematic Approach for the Consistency Checking of Software Architecture Views

Several approaches have been proposed to detect the inconsistencies between the software architecture and the code to ensure that the original design goals are maintained. Similar to the consistency with the code it is important that an architecture view is consistent within itself and with other related architecture views. Unfortunately, the existing architecture conformance analysis approaches have primarily focused on checking the inconsistencies between the architecture and code, and did not explicitly consider the consistency within and among views. In this paper, we provide a systematic architecture conformance analysis approach that explicitly focuses on conformance analysis within and among architecture views. To this end, we define the meta-models of architecture viewpoints, present the conformance analysis approach, and provide the tool ArchViewChecker with a case study.

___

[1]Tekinerdoğan, B. 2014. Software Architecture in Volume I. Computer Science Handbook, 2nd Edition, , CRC Press-Taylor and Francis Group, 3816s.

[2]Clements, P., Bachmann, F., Bass, L., Garlan, D., Ivers, J., Little, R., Merson, P., Nord, R., Stafford, J. 2010. Documenting Software Architectures: Views and Beyond. 2nd edition. Addison-Wesley, 592s.

[3]Murphy, G., Notkin, D., Sullivan, K. 2001. Software reflexion models: Bridging the gap between design and implementation, IEEE Transactions on Software Engineering, Cilt. 14, No. 4, s. 364-380.

[4]Adersberger, J., Philippsen, M. 2011. ReflexML: UML-Based Architecture-to-Code Traceability and Consistency Checking. 5th European Conference on Software Architecture (ECSA 2011), 344-359.

[5]Michel, M.M., Galal-Edeen, G.H. 2009. Detecting inconsistencies between software architecture views. International Conference on Computer Engineering and Systems, 429-434.

[6]Introducing JSON. http://json.org/ (Erişim Tarihi: 01.12.2015).

[7]IntelliJ IDEA, The Most Intelligent Java. https://www.jetbrains.com/idea/ (Erişim Tarihi: 01.12.2015).

[8]ArchViewChecker.jar. https://goo.gl/m01yi4 (Erişim Tarihi: 01.12.2015).

[9]Ekşi, G.E. 2015. Model Güdümlü Yazılım Mimarisi Bakış Açılarında Uygunluk Kontrolü. Bilkent Üniversitesi, Mühendislik ve Fen Bilimleri Enstitüsü, Yüksek Lisans Tezi, ss 38-53, Ankara.

[10]Lytra, I., Zdun, U. 2014. Inconsistency Management between Architectural Decisions and Designs Using Constraints and Model Fixes. Australian Software Engineering Conference, 230-249.

[11]Architectural Design Decision Support Framework (ADvISE). https://swa.univie.ac.at/Architectural_Design_Decision_Support_Frame work_(ADvISE) (Erişim Tarihi: 01.12.2015).

[12]Tekinerdoğan, B., Hofmann, C., Akşit, M. 2007. Modeling Traceability of Concerns for Synchronizing Architectural Views, Journal of Object Technology, Cilt. 6, No. 7, Özel Konu: İlgi Odaklı Modelleme, s. 7-25.

[13]Bakker, J., Tekinerdogan, B., Aksit, M.2005. Characterization of Early Aspect Approaches, in: Early Aspects: Aspect-Oriented Requirements Engineering and Architecture Design Workshop. The InternationalConferenceon Aspect-Oriented Software Development, 14 Mart, Chicago.

[14]Chitchyan, R., Rashid,A., Sawyer, P., Bakker, J., Alarcon, M.P., Garcia, A., Tekinerdogan, B., Clarke, S., Jackson, A. 2005. Early Aspects at ICSE 2007: Workshop on Aspect-Oriented Requirements Engineering and Architecture Design. International Conference on Software Engineering (ICSE Companion), 127-128.

[15]Tekinerdoğan, B., Çilden, E., Erdoğan, O.O., Akdağ, O. 2014. Architecture Conformance Analysis Approach within the Context of Multiple Product Line Engineering. Australasian Software Engineering Conference (ASWEC), 7-11 Nisan,25-28.