Araştırma Makalesi
BibTex RIS Kaynak Göster

Özellik Modellerinin Otomatik Dönüşümü

Yıl 2021, Cilt: 01 Sayı: 01, 15 - 25, 17.07.2021

Öz

Özellik modelleri yazılım ürün hatları mühendisliği alanında değişkenlik yönetimi için kullanılan en popüler araçlardan biridir. Bir özellik modeli, bilhassa büyük bir sistem söz konusuysa, yüzlerce hatta binlerce özellik ve bu özellikler arasında çok sayıda kısıt içerebilmektedir. Bir özellik modelini oluşturmak ciddi bir alan bilgisi ve emek gerektirmekte, ancak tüm olasılıkları baştan öngörebilmek mümkün olmadığı için değişen koşullarla birlikte modellerin de evrimleşmesi kaçınılmaz olmaktadır. Büyük modellerin elle güncellenebilmesi hem çok iş gücü gerektiren hem de hataya açık bir iştir. Bu çalışmada, bahsedilen dönüşümlerin formel olarak tanımlanabilmesi ve otomatik olarak yerine getirilebilmesi için yeni bir dönüşüm dili önerilmektedir. Yeni bir özellik modeli dönüşüm dili olan Feather dilinin temel yapısı, içerdiği komutlar ve Feather’da yazılmış betiklerin otomatik olarak işlenmesini sağlayan yorumlayıcı yazılım sunulmaktadır.

Destekleyen Kurum

TÜBİTAK

Proje Numarası

215E188

Kaynakça

  • D. H. Akehurst, B. Bordbar, M. J. Evans, W. G. J. Howells, and K. D. McDonald-Maier, “SiTra: simple transformations in Java”, in Proc. MoDELS 2006, Genova, Italy, 2006, pp. 351–364.
  • T. Arendt, E. Biermann, S. Jurack, C. Krause, and G. Taentzer, “Henshin: advanced concepts and tools for in-place EMF model transformations”, in Proc. MoDELS 2010, Oslo, Norway, 2010, pp. 121–135.
  • L. Baresi and C. Quinton, “Dynamically evolving the structural variability of dynamic software product lines”, in Proc. SEAMS ‘15, Florence, Italy, 2015, pp. 57–63.
  • P. Borba, L. Teixeira, and R. Gheyi, “A theory of software product line refinement”, Theor Comput Sci, vol. 455, pp. 2–30, Oct. 2012, 10.1016/j.tcs.2012.01.031.
  • J. Bürdek, T. Kehrer, M. Lochau, D. Reuling, U. Kelter, and A. Schürr, “Reasoning about product-line evolution using complex feature model differences”, Autom Softw Eng, vol. 23, no. 4, pp. 687–733, Dec. 2016, 10.1007/s10515-015-0185-3.
  • R. Capilla, J. Bosch, P. Trinidad, A, Ruiz-Cortés, and M. Hinchey, “An overview of dynamic software product line architectures and techniques: observations from research and industry”, J Syst Softw, vol. 91, pp. 3–23, May 2014, 10.1016/j.jss.2013.12.038.
  • L. Chen and M. A. Babar, “A systematic review of evaluation of variability management approaches in software product lines”, Inform Software Tech, vol. 53, no. 4, pp. 344–362, Apr. 2011, 10.1016/j.infsof.2010.12.006.
  • P. Clements and L. Northrop, Software product lines: practices and patterns, Boston, MA, USA: Addison-Wesley, 2001.
  • G. Csertan, G. Huszerl, I. Majzik, Z. Pap, A. Pataricza, and D. Varro, “VIATRA - visual automated transformations for formal verification and validation of UML models”, in Proc. ASE 2002, Edinburgh, Scotland, UK, 2002, pp. 267–270.
  • K. Czarnecki, S. Helsen, and U. Eisenecker, “Formalizing cardinality-based feature models and their specialization”, Softw Process Improve Pract, vol. 10, no. 1, pp. 7–29, Mar. 2005, 10.1002/spip.213.
  • J. M. Jézéquel, O. Barais, and F. Fleurey, “Model driven language engineering with Kermeta”, in Proc. GTTSE 2009, Braga, Portugal, 2009, pp. 201–221.
  • F. Jouault, F. Allilaire, J. Bézivin, and I. Kurtev, “ATL: A model transformation tool”, Sci Comput Program, vol. 72, no. 1–2, pp. 31–39, Jun. 2008, 10.1016/j.scico.2007.08.002.
  • K. Kang, S. Cohen, J. Hess, W. Novak, ve S. Peterson, “Feature-Oriented Domain Analyses (FODA) Feasibility Study”, Technical Report CMU/SEI-90-TR-21, Software Eng. Inst., Carnegie Mellon Univ., Pittsburgh, 1990.
  • A. S. Karataş, H. Oğuztüzün, and Ali Doğru, “From extended feature models to constraint logic programming”, Sci Comput Program, vol. 78, no. 12, pp. 2295–2312, Dec. 2013, 10.1016/j.scico.2012.06.004.
  • A. Kleppe, J. Warmer, and W. Bast, MDA explained, the model-driven architecture: practice and promise, Boston, MA, USA: Addison-Wesley, 2003.
  • D. S. Kolovos, R. F. Paige, and F. A. C. Polack, “The Epsilon transformation language”, in Proc. ICMT 2008, Zürich, Switzerland, 2008, pp. 46–60.
  • K. Lano and S. Kolahdouz-Rahimi, “Specification and verification of model transformations using UML-RSDS”, in Proc. IFM 2010, Nancy, France, 2010, pp. 199–214.
  • M. Lawley and J. Steel, “Practical declarative model transformation with Tefkat”, in Proc. MoDELS 2005, Montego Bay, Jamaica, 2005, pp. 139–150.
  • R. Lotufo, S. She, T. Berger, K. Czarnecki, and A. Wąsowski, “Evolution of the Linux kernel variability model”, in Proc. SPLC 2010, Jeju Island, South Korea, 2010, pp. 136–150.
  • T. Mens and P. Van Gorp, “A taxonomy of model transformation”, Electron Notes Theor Comput Sci, vol. 152 pp. 125–142, Mar. 2006, 10.1016/j.entcs.2005.10.021.
  • T. J. Parr and R. W. Quong, “ANTLR: A predicated‐LL(k) parser generator”, Software Pract Exper, vol. 25, no. 7, pp. 789–810, Jul. 1995, 10.1002/spe.4380250705.
  • X. Peng, Y. Yu, and W. Zhao, “Analyzing evolution of variability in a software product line: From contexts and requirements to features”, Inform Software Tech, vol. 53, no. 7, pp. 707–721, Jul. 2011, 10.1016/j.infsof.2011.01.001.
  • A. Pleuss, G. Botterweck, D. Dhungana, A. Polzer, and S. Kowalewski, “Model-driven support for product line evolution on feature level”, J Syst Softw, vol. 85, no. 10, pp. 2261–2274, Oct. 2012, 10.1016/j.jss.2011.08.008.
  • K. Pohl, G. Böckle, and F. Linden, Software product line engineering: foundations, principles, and techniques, Berlin-Heidelberg, Germany: Springer-Verlag, 2005.
  • C. Seidl, F. Heidenreich, and U. Aßmann, “Co-evolution of models and feature mapping in software product lines”, in Proc. SPLC '12, Salvador, Brazil, 2012, pp. 76–85.
  • D. C. Sharp, “Component based product line development of avionics software”, in Proc. SPLC-1, Denver, CO, USA, 2000, pp. 353–369.
  • SICStus prolog, https://sicstus.sics.se/, son erişim Mayıs 2021.
  • M. Simos et al. “Software Technology for Adaptable Reliable Systems (STARS) Organization Domain Modeling (ODM) Guidebook Version 2.0”, STARS-VC-A025/001/00, Manassas, VA, Lockheed Martin Tactical Defense Systems, 1996.
  • Supplementary material, https://github.com/askaratas/Feather, son erişim Mayıs 2021.
  • T. Thüm, D. Batory, and C. Kastner, “Reasoning about edits to feature models”, in Proc. ICSE '09, Vancouver, Canada, 2009, pp. 254–264.

Automated Transformation of Feature Models

Yıl 2021, Cilt: 01 Sayı: 01, 15 - 25, 17.07.2021

Öz

Feature models are amongst the most popular methods for variability management in software product lines. A feature model, especially if a large system is under consideration, can contain hundreds or even thousands of features and many cross-tree constraints among these features. It requires significant effort and domain expertism to build a feature model, however, since it is not possible to foresee every possibility in advance, it becomes inevitable for the feature models to evolve. Evolving a large feature model manually requires too much effort and is an error prone task. This study proposes a transformation language to enable formal representation and automated realization of transformations to evolve a feature model. This article presents the foundations of Feather, a novel feature model transformation language, declarations and commands included in the language, and the interpreter software that enables execution of Feather scripts.

Proje Numarası

215E188

Kaynakça

  • D. H. Akehurst, B. Bordbar, M. J. Evans, W. G. J. Howells, and K. D. McDonald-Maier, “SiTra: simple transformations in Java”, in Proc. MoDELS 2006, Genova, Italy, 2006, pp. 351–364.
  • T. Arendt, E. Biermann, S. Jurack, C. Krause, and G. Taentzer, “Henshin: advanced concepts and tools for in-place EMF model transformations”, in Proc. MoDELS 2010, Oslo, Norway, 2010, pp. 121–135.
  • L. Baresi and C. Quinton, “Dynamically evolving the structural variability of dynamic software product lines”, in Proc. SEAMS ‘15, Florence, Italy, 2015, pp. 57–63.
  • P. Borba, L. Teixeira, and R. Gheyi, “A theory of software product line refinement”, Theor Comput Sci, vol. 455, pp. 2–30, Oct. 2012, 10.1016/j.tcs.2012.01.031.
  • J. Bürdek, T. Kehrer, M. Lochau, D. Reuling, U. Kelter, and A. Schürr, “Reasoning about product-line evolution using complex feature model differences”, Autom Softw Eng, vol. 23, no. 4, pp. 687–733, Dec. 2016, 10.1007/s10515-015-0185-3.
  • R. Capilla, J. Bosch, P. Trinidad, A, Ruiz-Cortés, and M. Hinchey, “An overview of dynamic software product line architectures and techniques: observations from research and industry”, J Syst Softw, vol. 91, pp. 3–23, May 2014, 10.1016/j.jss.2013.12.038.
  • L. Chen and M. A. Babar, “A systematic review of evaluation of variability management approaches in software product lines”, Inform Software Tech, vol. 53, no. 4, pp. 344–362, Apr. 2011, 10.1016/j.infsof.2010.12.006.
  • P. Clements and L. Northrop, Software product lines: practices and patterns, Boston, MA, USA: Addison-Wesley, 2001.
  • G. Csertan, G. Huszerl, I. Majzik, Z. Pap, A. Pataricza, and D. Varro, “VIATRA - visual automated transformations for formal verification and validation of UML models”, in Proc. ASE 2002, Edinburgh, Scotland, UK, 2002, pp. 267–270.
  • K. Czarnecki, S. Helsen, and U. Eisenecker, “Formalizing cardinality-based feature models and their specialization”, Softw Process Improve Pract, vol. 10, no. 1, pp. 7–29, Mar. 2005, 10.1002/spip.213.
  • J. M. Jézéquel, O. Barais, and F. Fleurey, “Model driven language engineering with Kermeta”, in Proc. GTTSE 2009, Braga, Portugal, 2009, pp. 201–221.
  • F. Jouault, F. Allilaire, J. Bézivin, and I. Kurtev, “ATL: A model transformation tool”, Sci Comput Program, vol. 72, no. 1–2, pp. 31–39, Jun. 2008, 10.1016/j.scico.2007.08.002.
  • K. Kang, S. Cohen, J. Hess, W. Novak, ve S. Peterson, “Feature-Oriented Domain Analyses (FODA) Feasibility Study”, Technical Report CMU/SEI-90-TR-21, Software Eng. Inst., Carnegie Mellon Univ., Pittsburgh, 1990.
  • A. S. Karataş, H. Oğuztüzün, and Ali Doğru, “From extended feature models to constraint logic programming”, Sci Comput Program, vol. 78, no. 12, pp. 2295–2312, Dec. 2013, 10.1016/j.scico.2012.06.004.
  • A. Kleppe, J. Warmer, and W. Bast, MDA explained, the model-driven architecture: practice and promise, Boston, MA, USA: Addison-Wesley, 2003.
  • D. S. Kolovos, R. F. Paige, and F. A. C. Polack, “The Epsilon transformation language”, in Proc. ICMT 2008, Zürich, Switzerland, 2008, pp. 46–60.
  • K. Lano and S. Kolahdouz-Rahimi, “Specification and verification of model transformations using UML-RSDS”, in Proc. IFM 2010, Nancy, France, 2010, pp. 199–214.
  • M. Lawley and J. Steel, “Practical declarative model transformation with Tefkat”, in Proc. MoDELS 2005, Montego Bay, Jamaica, 2005, pp. 139–150.
  • R. Lotufo, S. She, T. Berger, K. Czarnecki, and A. Wąsowski, “Evolution of the Linux kernel variability model”, in Proc. SPLC 2010, Jeju Island, South Korea, 2010, pp. 136–150.
  • T. Mens and P. Van Gorp, “A taxonomy of model transformation”, Electron Notes Theor Comput Sci, vol. 152 pp. 125–142, Mar. 2006, 10.1016/j.entcs.2005.10.021.
  • T. J. Parr and R. W. Quong, “ANTLR: A predicated‐LL(k) parser generator”, Software Pract Exper, vol. 25, no. 7, pp. 789–810, Jul. 1995, 10.1002/spe.4380250705.
  • X. Peng, Y. Yu, and W. Zhao, “Analyzing evolution of variability in a software product line: From contexts and requirements to features”, Inform Software Tech, vol. 53, no. 7, pp. 707–721, Jul. 2011, 10.1016/j.infsof.2011.01.001.
  • A. Pleuss, G. Botterweck, D. Dhungana, A. Polzer, and S. Kowalewski, “Model-driven support for product line evolution on feature level”, J Syst Softw, vol. 85, no. 10, pp. 2261–2274, Oct. 2012, 10.1016/j.jss.2011.08.008.
  • K. Pohl, G. Böckle, and F. Linden, Software product line engineering: foundations, principles, and techniques, Berlin-Heidelberg, Germany: Springer-Verlag, 2005.
  • C. Seidl, F. Heidenreich, and U. Aßmann, “Co-evolution of models and feature mapping in software product lines”, in Proc. SPLC '12, Salvador, Brazil, 2012, pp. 76–85.
  • D. C. Sharp, “Component based product line development of avionics software”, in Proc. SPLC-1, Denver, CO, USA, 2000, pp. 353–369.
  • SICStus prolog, https://sicstus.sics.se/, son erişim Mayıs 2021.
  • M. Simos et al. “Software Technology for Adaptable Reliable Systems (STARS) Organization Domain Modeling (ODM) Guidebook Version 2.0”, STARS-VC-A025/001/00, Manassas, VA, Lockheed Martin Tactical Defense Systems, 1996.
  • Supplementary material, https://github.com/askaratas/Feather, son erişim Mayıs 2021.
  • T. Thüm, D. Batory, and C. Kastner, “Reasoning about edits to feature models”, in Proc. ICSE '09, Vancouver, Canada, 2009, pp. 254–264.
Toplam 30 adet kaynakça vardır.

Ayrıntılar

Birincil Dil Türkçe
Konular Yazılım Mühendisliği
Bölüm Araştırma Makaleleri
Yazarlar

Ahmet Serkan Karataş 0000-0003-2480-8437

Proje Numarası 215E188
Yayımlanma Tarihi 17 Temmuz 2021
Yayımlandığı Sayı Yıl 2021 Cilt: 01 Sayı: 01

Kaynak Göster

IEEE A. S. Karataş, “Özellik Modellerinin Otomatik Dönüşümü”, Researcher, c. 01, sy. 01, ss. 15–25, 2021.
  • Yayın hayatına 2013 yılında başlamış olan "Researcher: Social Sciences Studies" (RSSS) dergisi, 2020 Ağustos ayı itibariyle "Researcher" ismiyle Ankara Bilim Üniversitesi bünyesinde faaliyetlerini sürdürmektedir.
  • 2021 yılı ve sonrasında Mühendislik ve Fen Bilimleri alanlarında katkıda bulunmayı hedefleyen özgün araştırma makalelerinin yayımlandığı uluslararası indeksli, ulusal hakemli, bilimsel ve elektronik bir dergidir.
  • Dergi özel sayılar dışında yılda iki kez yayımlanmaktadır. Amaçları doğrultusunda dergimizin yayın odağında; Endüstri Mühendisliği, Yazılım Mühendisliği, Bilgisayar Mühendisliği ve Elektrik Elektronik Mühendisliği alanları bulunmaktadır.
  • Dergide yayımlanmak üzere gönderilen aday makaleler Türkçe ve İngilizce dillerinde yazılabilir. Dergiye gönderilen makalelerin daha önce başka bir dergide yayımlanmamış veya yayımlanmak üzere başka bir dergiye gönderilmemiş olması gerekmektedir.