Yıl: 2023 Cilt: 25 Sayı: 73 Sayfa Aralığı: 217 - 238 Metin Dili: Türkçe DOI: 10.21205/deufmd.2023257318 İndeks Tarihi: 26-01-2023

Yazılım Ürün Hatlarında Tam Üründen Özellik Eksiltme Yoluyla Farklı Ürün Yapılandırmalarını Otomatik Üretme Yöntemi

Öz:
Yazılım ürün hattı (YÜH) karmaşık, büyük ölçekli ve ürün yapılandırması bakımından zengin yazılım sistemleri geliştirmek için gelelecek vadeden bir yaklaşımdır. Yazılım ürün hattındaki sayısı çok fazla olabilen ürün yapılandırmalarına ait modellerin otomatik elde edilmesi zaman ve maliyet kısıtları açısından oldukça önemlidir. Bu çalışmada, ürün modellerini daha üretken ve etkili şekilde elde edebilmek için, tam ürün modelinden, özellik eksiltme yoluyla farklı ürün yapılandırmalarına ait modelleri otomatik olarak elde etmeyi sağlayan bir yaklaşım önerdik. Önerilen yaklaşımı İçecek Otomatı YÜH, Banka Hesabı YÜH ve Öğrenci Yoklama Sistemi YÜH isimli üç farklı vaka çalışması üzerinde denedik. Özellik-bağımlılık ağacı ve dinamik kenar eşleme algoritması bu çalışmada önerilen özgün kavramlardır.
Anahtar Kelime:

A Method to Automatically Generate Different Product Configurations by Deducting Features from the Full Product in Software Product Lines

Öz:
The software product line (SPL) is a promising approach to developing software systems that are complex, large-scale, and rich in product configuration. The automatic acquisition of product configurations’ models, which may be too many in the software product line, is very important in terms of time and cost constraints. In this study, we propose an approach that automatically extracts models of different product configurations from the full product model by feature deduction to obtain product models more productively and effectively. We validated the proposed approach on three different case studies: Soda Vending Machine SPL, Bank Account SPL, and Student Attendance System SPL. The two novelties of this study are the feature-dependency tree and the dynamic edge mapping algorithm.
Anahtar Kelime:

Belge Türü: Makale Makale Türü: Araştırma Makalesi Erişim Türü: Erişime Açık
  • [1] K. Pohl, G. Böckle, F. Linden. 2005. Software Product Line Engineering: Foundations, Principles, and Techniques. Springer, 467s.
  • [2] J. Whithey. 1996. Investment Analysis of Software Assets for Product Lines. Software Engineering Institute, Carnegie Mellon University,Pittsburgh, Pennsylvania. Teknik Rapor CMU/SEI-96-TR-010
  • [3] K. C. Kang, S. G. Cohen, J. A. Hess, W. E. Novak, A. S. Peterson. 1990. Feature-Oriented Domain Analysis (FODA) Feasibility Study. Software Engineering Institute Carnegie-Mellon University Pittsburgh Pennsylvania. Teknik Rapor CMU/SEI- 90-TR-021
  • [4] L. Machado, J. Pereira, L. Garcia, E. Figueiredo.2014. SPLConfig: Product Configuration in Software Product Line. Brazilian Conference on Software (CBSoft), Tools Session, 1- 8.
  • [5] K. Czarnecki,U. Eisenecker. 2000. Generative Programming: Methods, Tools, and Applications. ACM Press/ Addison-Wesley Publishing Co, 864s.
  • [6] Siegmund, N., Ruckel, N., Siegmund, J. 2020. Dimensions of software configuration: on the configuration context in modern software development. ESEC/FSE 2020: Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, Kasım 2020, Sacramento, California, United States, 338-349.
  • [7] Benavides, D., Trinidad, P., Ruiz-Cortés, A. 2005. Automated Reasoning on Feature Models. Advanced Information Systems Engineering, 13- 17 Haziran, Porto, Portekiz, 491–503.
  • [8] Lochau, M., Mennicke, S., Baller, H., Ribbeck, L. 2016. Incremental model checking of delta- oriented software product lines, Journal of Logical and Algebraic Methods in Programming, Cilt 85, s. 245–267. DOI: 10.1016/j.jlamp.2015.09.004.
  • [9] Devroey, X. ed. 2012. A Vision for Behavioural Model-Driven Validation of Software Product Lines. Leveraging Applications of Formal Methods, Verification and Validation. Technologies for Mastering Change (ISoLA 2012), 15-18 Ekim Girit, Yunanistan, 208-222.
  • [10] Gronniger, H., Krahn, H., Pinkernell, C., Rumpe, B. 2008. Modeling Variants of Automotive Systems using Views. Tagungsband Modellierungs- Workshop MBEFF: Modellbasierte Entwicklung von eingebetteten, Mart 2008, Frankfurt, Berlin, Almanya.
  • [11] Cichos, H., Oster, S., Lochau, M., Schürr, A. 2006. Model-Based Coverage-Driven Test Suite Generation for Software Product Lines. Model Driven Engineering Languages and Systems, 1-6 Ekim, Cenova, İtalya, 425–439.
  • [12] Weißleder, S., Lackner, H. 2013. Top-Down and Bottom-Up Approach for Model-Based Testing of Product Lines, Electronic Proceedings in Theoretical Computer Science, Cilt. 111. DOI: 10.4204/EPTCS.111.7.
  • [13] Reuys, A., Kamsties, E., Pohl, K., Reis, S. 2005. Model-Based System Testing of Software Product Families. Advanced Information Systems Engineering, 13-17 Haziran, Porto, Portekiz, 519– 534.
  • [14] Olimpiew, E. M. 2008. Model-Based Testing for Software Product Lines. George Mason University, Doktora Tezi, 276s, Fairfax, Virginia, ABD.
  • [15] Kishi, T., Noda, N. 2006. Formal verification and software product lines. Communications of the ACM, Cilt. 49, no. 12, 73–77. DOI: 10.1145/1183236.1183270.
  • [16] Gruler, A., Leucker, M., Scheidemann, K. 2008. Modeling and Model Checking Software Product Lines. Formal Methods for Open Object-Based Distributed Systems, 14-16 Haziran, Bolonya, İtalya, 113–131.
  • [17] Classen, A. 2011. Modelling and Model Checking Variability-Intensive Systems. University of Namur, Doktora Tezi, Namur, Belçika.
  • [18] Classen, A., Heymans, P., Schobbens, P.-Y., Legay, A. 2011. Symbolic model checking of software product lines. International Conference on Software Engineering, 21-28 Mayıs, Waikiki, Honolulu, HI, ABD, 321–330.
  • [19] Bragança, A., Azevedo, I., Bettencourt, N., Morais, C. ,Teixeira, D., Caetano, D. 2021. Towards supporting SPL engineering in low-code platforms using a DSL approach. 20th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences, 17-22 Ekim, Şikago, ABD, 16–28.
  • [20] Horcas, J.-M., Cortiñas, A., Fuentes, L., Luaces, M. R. 2022. Combining multiple granularity variability in a software product line approach for web engineering. Information and Software Technology, Cilt. 148. DOI: 10.1016/j.infsof.2022.106910.
  • [21] Belli, F. 2001. Finite state testing and analysis of graphical user interfaces. International Symposium on Software Reliability Engineering, 27-30 Kasım, Hong Kong, 34–43.
  • [22] Belli, F., Budnik, C. J. 2004. Minimal Spanning Set for Coverage Testing of Interactive Systems. Theoretical Aspects of Computing, 20-24 Ekim, Guiyang, China, 220–234.
  • [23] Tuglular, T., Beyazit, M., Ozturk, D. 2019. Featured Event Sequence Graphs for Model-Based Incremental Testing of Software Product Lines. IEEE 43rd Annual Computer Software and Applications Conference (COMPSAC), 15-19 Temmuz, Milwaukee, Wisconsin, ABD, 2019.
  • [24] Thüm, T., Kästner, C., Benduhn, F., Meinicke, J., Saake, G., Leich, T. 2014. FeatureIDE: An extensible framework for feature-oriented software development. Science of Computer Programming, Cilt. 79, s. 70–85, DOI: 10.1016/j.scico.2012.06.002.
  • [25] Anonim, Product Line Engineering Concepts: Features, Feature Models, and Feature Profiles. https://www.productlineengineering.com/conce pts/features.html (Erişim Tarihi: 02.12.2022).
  • [26] esg4aspl. 2021. SPL-FESG-Examples İçecek Otomatı YÜH. https://github.com/esg4aspl/SPL- FESG- Examples/blob/f0ae974761009b1c40c08242921 f96fde9dfe9d7/SodaVendingMachineSPL.md (Erişim Tarihi: 14.12.2022).
  • [27] Tuğlular, T., Beyazıt, M., Öztürk, D. 2019. Yazılım Ürün Hatları için Özellik Yönelimli Test Modellerinin Yönetimi. 13. Ulusal Yazılım Mühendisliği Sempozyumu, 23-25 Eylül, İzmir.
  • [28] esg4aspl. 2020. FESG-Engine Kaynak Kodları. https://github.com/esg4aspl/fesg-engine (Erişim Tarihi: 14.12.2022).
  • [29] Classen, A., Cordy, M., Schobbens, P.-Y., Heymans, P., Legay, A., Raskin, J.-F. 2013. Featured Transition Systems: Foundations for Verifying Variability- Intensive Systems and Their Application to LTL Model Checking. IEEE Transactions on Software Engineering, Cilt. 39, no. 8, s. 1069–1089.DOI: 10.1109/TSE.2012.86.
  • [30] Thüm, T., Schaefer, I., Apel, S., Hentschel, M. 2012. Family-based deductive verification of software product lines. ACM SIGPLAN Notices, Cilt. 48, no. 3, s. 11–20. DOI: 10.1145/2480361.2371404.
  • [31] Thüm, T., Meinicke, J. 2013. SPL2go Banka Hesabı YÜH. http://spl2go.cs.ovgu.de/projects/54 (Erişim Tarihi: 14.12.2022).
  • [32] esg4aspl. 2022. esg-generation-by-feature- deduction Banka Hesabı YÜH. https://github.com/esg4aspl/esg-generation-by- feature- deduction/blob/b11cdffebde69b0fc9fdb597f83cf af4115211c9/BankAccountSPL.md (Erişim Tarihi: 14.12.2022).
  • [33] esg4aspl. 2021. SPL-FESG-Examples Banka Hesabı YÜH. https://github.com/esg4aspl/SPL-FESG- Examples/blob/master/BankAccountSPL.md (Erişim Tarihi: 14.12.2022).
  • [34] esg4aspl. 2022. esg-generation-by-feature- deduction Banka Hesabı YÜH-Özellikler https://github.com/esg4aspl/esg-generation-by- feature- deduction/blob/b11cdffebde69b0fc9fdb597f83cf af4115211c9/BankAccountSPL/FeatureData.pdf (Erişim Tarihi: 14.12.2022).
  • [35] esg4aspl. 2022. esg-generation-by-feature- deduction Banka Hesabı YÜH-Tam Ürünler https://github.com/esg4aspl/esg-generation-by- feature- deduction/blob/b11cdffebde69b0fc9fdb597f83cf af4115211c9/BankAccountSPL/FullProductData. pdf (Erişim Tarihi: 14.12.2022).
  • [36] SPLOT - Software Product Line Online Tools. http://www.splot-research.org/ (Erişim Tarihi: 14.12.2022).
  • [37] esg4aspl. 2021. SPL-FESG-Examples Öğrenci Yoklama Sistemi YÜH. https://github.com/esg4aspl/SPL-FESG- Examples/blob/c895b0ea3d4669a13a4484c8a5 0757ce2a618b79/StudentAttendanceSystem.md (Erişim Tarihi: 14.12.2022).
  • [38] esg4aspl. 2022. esg-generation-by-feature- deduction Öğrenci Yoklama Sistemi YÜH- Özellikler. https://github.com/esg4aspl/esg- generation-by-feature- deduction/blob/b11cdffebde69b0fc9fdb597f83cf af4115211c9/StudentAttendanceSystemSPL/Fea tureData.pdf (Erişim Tarihi: 14.12.2022).
  • [39] esg4aspl. 2022. esg-generation-by-feature- deduction Öğrenci Yoklama Sistemi YÜH-Tam Ürünler. https://github.com/esg4aspl/esg- generation-by-feature- deduction/blob/b11cdffebde69b0fc9fdb597f83cf af4115211c9/StudentAttendanceSystemSPL/Full ProductData.pdf (Erişim Tarihi: 14.12.2022).
  • [40] esg4aspl. 2022. esg-generation-by-feature- deduction Öğrenci Yoklama Sistemi YÜH. https://github.com/esg4aspl/esg-generation-by- feature- deduction/blob/b11cdffebde69b0fc9fdb597f83cf af4115211c9/StudentAttendanceSystemSPL.md (Erişim Tarihi: 14.12.2022).
  • [41] esg4aspl. 2022. esg-generation-by-feature- deduction Öğrenci Yoklama Sistemi YÜH-Tekli Özellik Eksiltme. https://github.com/esg4aspl/esg-generation-by- feature- deduction/blob/b11cdffebde69b0fc9fdb597f83cf af4115211c9/StudentAttendanceSystemSPL/One FeatureDeduction.pdf (Erişim Tarihi: 14.12.2022).
  • [42] esg4aspl. 2022. esg-generation-by-feature- deduction Banka Hesabı YÜH-Özellik Kümesi Eksiltme. https://github.com/esg4aspl/esg- generation-by-feature- deduction/blob/b11cdffebde69b0fc9fdb597f83cf af4115211c9/BankAccountSPL/FeatureSetDeduc tion.pdf (Erişim Tarihi: 14.12.2022).
  • [43] esg4aspl. 2022. esg-generation-by-feature- deduction Öğrenci Yoklama Sistemi YÜH-Özellik Kümesi Eksiltme. https://github.com/esg4aspl/esg-generation-by- feature- deduction/blob/b11cdffebde69b0fc9fdb597f83cf af4115211c9/StudentAttendanceSystemSPL/Fea tureSetDeduction.pdf (Erişim Tarihi: 14.12.2022).
APA ÖZTÜRK KAYA D, Tuglular T (2023). Yazılım Ürün Hatlarında Tam Üründen Özellik Eksiltme Yoluyla Farklı Ürün Yapılandırmalarını Otomatik Üretme Yöntemi. , 217 - 238. 10.21205/deufmd.2023257318
Chicago ÖZTÜRK KAYA Dilek,Tuglular Tugkan Yazılım Ürün Hatlarında Tam Üründen Özellik Eksiltme Yoluyla Farklı Ürün Yapılandırmalarını Otomatik Üretme Yöntemi. (2023): 217 - 238. 10.21205/deufmd.2023257318
MLA ÖZTÜRK KAYA Dilek,Tuglular Tugkan Yazılım Ürün Hatlarında Tam Üründen Özellik Eksiltme Yoluyla Farklı Ürün Yapılandırmalarını Otomatik Üretme Yöntemi. , 2023, ss.217 - 238. 10.21205/deufmd.2023257318
AMA ÖZTÜRK KAYA D,Tuglular T Yazılım Ürün Hatlarında Tam Üründen Özellik Eksiltme Yoluyla Farklı Ürün Yapılandırmalarını Otomatik Üretme Yöntemi. . 2023; 217 - 238. 10.21205/deufmd.2023257318
Vancouver ÖZTÜRK KAYA D,Tuglular T Yazılım Ürün Hatlarında Tam Üründen Özellik Eksiltme Yoluyla Farklı Ürün Yapılandırmalarını Otomatik Üretme Yöntemi. . 2023; 217 - 238. 10.21205/deufmd.2023257318
IEEE ÖZTÜRK KAYA D,Tuglular T "Yazılım Ürün Hatlarında Tam Üründen Özellik Eksiltme Yoluyla Farklı Ürün Yapılandırmalarını Otomatik Üretme Yöntemi." , ss.217 - 238, 2023. 10.21205/deufmd.2023257318
ISNAD ÖZTÜRK KAYA, Dilek - Tuglular, Tugkan. "Yazılım Ürün Hatlarında Tam Üründen Özellik Eksiltme Yoluyla Farklı Ürün Yapılandırmalarını Otomatik Üretme Yöntemi". (2023), 217-238. https://doi.org/10.21205/deufmd.2023257318
APA ÖZTÜRK KAYA D, Tuglular T (2023). Yazılım Ürün Hatlarında Tam Üründen Özellik Eksiltme Yoluyla Farklı Ürün Yapılandırmalarını Otomatik Üretme Yöntemi. Dokuz Eylül Üniversitesi Mühendislik Fakültesi Fen ve Mühendislik Dergisi, 25(73), 217 - 238. 10.21205/deufmd.2023257318
Chicago ÖZTÜRK KAYA Dilek,Tuglular Tugkan Yazılım Ürün Hatlarında Tam Üründen Özellik Eksiltme Yoluyla Farklı Ürün Yapılandırmalarını Otomatik Üretme Yöntemi. Dokuz Eylül Üniversitesi Mühendislik Fakültesi Fen ve Mühendislik Dergisi 25, no.73 (2023): 217 - 238. 10.21205/deufmd.2023257318
MLA ÖZTÜRK KAYA Dilek,Tuglular Tugkan Yazılım Ürün Hatlarında Tam Üründen Özellik Eksiltme Yoluyla Farklı Ürün Yapılandırmalarını Otomatik Üretme Yöntemi. Dokuz Eylül Üniversitesi Mühendislik Fakültesi Fen ve Mühendislik Dergisi, vol.25, no.73, 2023, ss.217 - 238. 10.21205/deufmd.2023257318
AMA ÖZTÜRK KAYA D,Tuglular T Yazılım Ürün Hatlarında Tam Üründen Özellik Eksiltme Yoluyla Farklı Ürün Yapılandırmalarını Otomatik Üretme Yöntemi. Dokuz Eylül Üniversitesi Mühendislik Fakültesi Fen ve Mühendislik Dergisi. 2023; 25(73): 217 - 238. 10.21205/deufmd.2023257318
Vancouver ÖZTÜRK KAYA D,Tuglular T Yazılım Ürün Hatlarında Tam Üründen Özellik Eksiltme Yoluyla Farklı Ürün Yapılandırmalarını Otomatik Üretme Yöntemi. Dokuz Eylül Üniversitesi Mühendislik Fakültesi Fen ve Mühendislik Dergisi. 2023; 25(73): 217 - 238. 10.21205/deufmd.2023257318
IEEE ÖZTÜRK KAYA D,Tuglular T "Yazılım Ürün Hatlarında Tam Üründen Özellik Eksiltme Yoluyla Farklı Ürün Yapılandırmalarını Otomatik Üretme Yöntemi." Dokuz Eylül Üniversitesi Mühendislik Fakültesi Fen ve Mühendislik Dergisi, 25, ss.217 - 238, 2023. 10.21205/deufmd.2023257318
ISNAD ÖZTÜRK KAYA, Dilek - Tuglular, Tugkan. "Yazılım Ürün Hatlarında Tam Üründen Özellik Eksiltme Yoluyla Farklı Ürün Yapılandırmalarını Otomatik Üretme Yöntemi". Dokuz Eylül Üniversitesi Mühendislik Fakültesi Fen ve Mühendislik Dergisi 25/73 (2023), 217-238. https://doi.org/10.21205/deufmd.2023257318