Sentez Tabanlı Yazılım Mimarisi Tasarım Yaklaşımının Essence Çerçevesiyle Modellenmesi

Yazılım mimarisi tasarımı, yazılım geliştirme sürecindeki çok önemli ve zor bir aşamadır. Paydaşların çelişen amaçlarını yönetmek ve ilgili gereksinimlerden mimari soyutlamalar türetmek önemlidir. Ayrıca mevcut çözüm alanı bilgisi üzerinde temellendirilmiş semantik açıdan zengin ara ürünler (artifact) üretmek dikkat edilmesi gereken bir husustur. Elde edilen mimari ara ürünler yazılım geliştirme sürecinin geri kalanına kılavuzluk eder ve planlamayı kolaylaştırır. Yakın dönemde yazılım geliştirme yöntemlerinin ve etkinliklerinin eşlenebileceği, yazılım mühendisliğine soyut ve genel bir bakış sunan Essence çerçevesi önerilmiştir. Bu çalışmada, sentez tabanlı yazılım mimarisi tasarımı etkinliklerinin Essence çerçevesiyle eşleştirilmesi hakkında bilgi verilmektedir. Böylece, yazılım mühendisliğinin soyut ve genel bir modeli kullanılarak yazılım mimarisi tasarım etkinliklerinin açıklanması amaçlanmıştır. Ayrıca, sentez tabanlı yazılım mimarisi tasarım etkinlikleri için durum tabanlı etkinlik izleme düzeneği önerilmiştir. Essence çerçevesi ve sentez tabanlı mimari tasarımı yaklaşımı hakkında elde edilen deneyim paylaşılmaktadır.

Modeling Synthesis-based Software Architecture Design Approach Using Essence Framework

Software architecture design is a pivotal yet a difficult phase in software development process. It is important to manage conflicting goals of the stakeholders and derive architectural abstractions from the relevant requirements. Moreover, it is significant to produce semantically rich artifacts based on the existing solution domain knowledge. Resulting architectural artifacts guides the rest of the software development process and facilitates planning. Recently the Essence framework has been proposed to provide an abstract and general view of software engineering on which software development methods and activities can be mapped. In this work, a mapping of the synthesis-based software architecture design activities to the Essence framework is presented. Bydoing so, these activities are explained using an abstract and general model of software engineering. Moreover, a state-based activity tracking mechanism for synthesis-based software architecture design activities is proposed. The lessons learnt about theEssence framework and the synthesis-based architecture design approach are reported.

___

[1]Tekinerdogan B. 2000. Synthesis-Based Software Architecture Design. Twente Üniversitesi, Bilgisayar Bilimleri Bölümü, Doktora Tezi, 226s, Twente.

[2]Evans E. 2003. Domain-Driven Design: Tackling Complexity in the Heart of Software, 1st edition, Addison-Wesley Professional.

[3]Object Management Group.2015.Essence -Kernel and Language for Software Engineering Methods, Version 1.1.

[4]Péraire C. 2013. A Step Forward in Software Engineering Education: Introducing the SEMAT Essence Framework, Keynote Address -LACREST 2013, Medellin.

[5]Elvesæter B, Benguria G, Ilieva. C.2013.A comparison of the Essence 1.0 and SPEM 2.0 specifications for software engineering methods.The Third Workshop on Process-Based Approaches for Model-Driven Engineering (PMDE 2013).

[6]Maher ML. 1990. Process Models for Design Synthesis, AI-Magazine, s.49-58.

[7]Tekinerdogan B, Aksit M.2006.Integrating the Concept of Synthesis in the Software Architecture Design Process, Transactions of the SDPS,Cilt 10(1), s.45-56.

[8]Giray G, Tüzün E, Tekinerdogan B, Macit Y. 2016. Systematic approach for mapping software development methods to the essence framework. The 5th International Workshop on Theory-Oriented Software Engineering (TOSE '16), 26-32.

[9]Tekinerdogan B, Aksit M. 1999. Deriving design aspects from conceptual models, Object-Oriented Technology, ECOOP '98 Workshop Reader, 410-414.

[10]Park JS, Mcmahon PE, Myburgh B.2016.Scrum Powered by Essence, ACM SIGSOFT Software Engineering Notes, Cilt 41, No 1, s.1-8.

[11]Object Management Group.2008.Software & Systems Process Engineering Meta-Model Specification, Version 2.

[12]Rumbaugh J, Blaha M, Premerlani W, Eddy F, Lorensen W. Object-Oriented Modeling and Design, Prentice-Hall, 1991.

[13]Booch G.1991.Object-Oriented Analysis and Design, with Applications, Redwood City, CA: The Benjamin/Cummins Publishing Company.

[14]Jacobson I, Booch G, Rumbaugh J.1999.The Unified Software Development Process, Addison-Wesley.

[15]Arrango G. 1994. Domain Analysis Methods. Schaeffer W, Prieto-Diaz R, Matsumoto M. ed. 1994.Software Engineering Reusability, Ellis Horwood, New York.

[16]Wartik S, Prieto-Díaz R. 1992. Criteria for Comparing Domain Analysis Approaches, International Journal of SoftwareEngineering and Knowledge Engineering, Cilt 2, No. 3, s. 403-431.

[17]Buschmann F, Meunier R, Rohnert H, Sommerlad P, Stal M. 1996. Pattern-Oriented Software Architecture: A System of Patterns, John Wiley & Sons.