Mehmet Halit Seyfullah OĞUZTÜZÜN
(Orta Doğu Teknik Üniversitesi, Mühendislik Fakültesi, Bilgisayar Mühendisliği Bölümü, Ankara, Türkiye)
Proje Grubu: TÜBİTAK EEEAG ProjeSayfa Sayısı: 81Proje No: 125E188Proje Bitiş Tarihi: 01.10.2018Türkçe

0 0
Dinamik Ürün Hatlarında Otonom Evrim
Bir dinamik yazılım ürün hattı (DYÜH), bir degiskenlik modelinin güdümünde, dinamik olarak yeniden-yapılandırılabilir bir sistemdir. Bir DYÜH, yasam döngüsü boyunca degisen gereksinimlere karsılık verebilmek için evrilmek durumundadır. Degiskenlik modeli bu evrim sürecinin bir parçasıdır. Çalısmamızda degiskenlik modellemesi için özellik modellerini benimsedik. Özellik modelinin evrilmesi bir üst-model ile temsil edilmis ve buradan FEMEL adını verdigimiz özel amaçlı dile ulasılmıstır. FEMEL özellik modelinin evriminde rol alan model dönüsümlerini belirtmeyi saglayan bir dildir. Bir FEMEL betiginde yer alan komutların belirttigi dönüsümleri icra eden bir yorumlayıcı gelistirilmistir. Dilin ve yorumlayıcının etkinligi iki gerçekçi örnek ile sınanmıstır. Bunlardan biri dinamik ortamda çalısan bir sistem, digeri 1200?den fazla özelligi olan bir sistemdir. Özellik modeli üzerindeki degisiklikler, sentaktik bakımdan düzgün biçimlendirilmis, ancak semantik bakımından kabul edilemez olabilir (bos model gibi). Dolayısıyla, özellik modellerinin semantik geçerliligini denetlemek ve global kısıtlar gibi diger özelliklerini irdelemek için, analiz islemleri gereklidir. Verilen özellik modelini istenen analiz islemiyle birlikte kısıt mantık programlaması temelli bir ara koda çeviren ve oradan hedeflenen kısıt çözücüye girdi üreten bir derleyici gelistirilmistir. Ayrıca, RMM adını verdigimiz, bilgisayar sistemlerinin uzaktan izlenmesini saglayan gerçekçi bir DYÜH tasarlanmıs ve gerçeklestirilmistir. RMM yapısı içinde, özellik modeline uyarlanmıs bir dinamik kısıt saglama algoritması yer almaktadır. Bu algoritma, sistem simdiki konfigürasyondan yeni konfigürasyona geçerken olusabilecek sarsıntıyı en aza indirgemektedir. RMM ilerideki DYÜH çalısmaları için üzerinde yeni fikirlerin denenebilecegi bir ortam saglayacaktır.
  • Aho, A., Lam, M.S., Sethi, R. ve Ullman, J.D. Compilers: Principles, Techniques, and Tools (ikincibaskı). 2007. Boston: Pearson/Addison-Wesley.
  • Akehurst, D. H., Bordbar, B., Evans, M. J., Howells, W. G. J., ve McDonald-Maier, K. D. 2006. “SiTra: simple transformations in Java”, MoDELS 2006 Conference Proceedings, 351–364.
  • Allilaire, F., Bézivin, J., Jouault, F. ve Kurtev, I. 2008. “ATL: A model transformation tool”, Science of Computer Programming, 72 (1-2), 31–39.
  • Alves, V., Borba, P., Gheyi, R., Kulesza, U.,Lucena, C., ve Massoni, T. 2006. “Refactoring product lines”,GPCE‘06 Conference Proceedings,201–210.
  • Arendt, T., Biermann, E., Jurack, S., Krause, C. ve Taentzer, G. 2010. “Henshin: advanced concepts and tools for in-place EMF model transformations”,MoDELS2010 Conference Proceedings, 121–135.
  • Asikainen, T., Mannisto, T. ve Soininen, T. 2007. “Kumbang: a domain ontology for modelling variability in software product families”, Advanced Engineering Informatics, 21 (1), 23–40.
  • Aßmann, U., Heidenreich, F., veSeidl, C. 2012. “Co-evolution of models and feature mapping in software product lines”, SPLC'12Conference Proceedings, 76–85.
  • Atlee, J. M., Becker, M., Berger, T., Czarnecki, K., Nair, D., Rublack, R., veWąsowski, A. 2013. “A survey of variability modeling in industrial practice”, VaMoS’13 Workshop Proceedings.
  • Babar, M. A. ve Chen, L. 2011. “A systematic review of evaluation of variability management approaches in software product lines”, Information and Software Technology, 53 (4), 344–362.
  • Kahani, N., Bagherzadeh, M., Dingel, J., Kordy, J. R., ve Varro, D. 2018. “Survey and classification of model transformation tools”, Software & Systems Modeling, (online) 1– 37.
  • Balasubramanian, D., Karsai, G., Narayanan, A., vevanBuskirk, C. 2006. “The graph rewriting and transformation language: GReAT”, GraBaTs 2006 Workshop Proceedings. Barais, O.,Fleurey, F., veJézéquel, J. M. 2009.“Model driven language engineering with Kermeta”,GTTSE 2009 Conference Proceedings, 201–221.
  • Baresi, L. ve Quinton, C. 2015. “Dynamically evolving the structural variability of dynamic software product lines”, ProcSEAMS’15 Conference Proceedings, 57–63.
  • Barzdins, J., Celms, E., veKalnins, A. 2004. “Model transformation language MOLA”, MDAFA 2003 Conference Proceedings, 62–76.
  • Bast, W., Kleppe, A., ve Warmer, J. 2003. MDA explained, the model-driven architecture: practice and promise. Boston: Addison-Wesley.
  • Batory, D., Kastner, C., veThüm, T. 2009. “Reasoning about edits to feature models”, ICSE'09 Conference Proceedings, 254–264.
  • Bednasch, T., Czarnecki, K.,Eisenecker, U., veUnger, P. 2002.“Generative programming for embedded software: an industrial experience report”,GPCE 2002 Conference Proceedings, 156–172.
  • Bencomo, N., Blair, G. S., Grace, P., ve Sawyer, P. 2008. “Dynamically adaptive systems are product lines too: Using model-driven techniques to capture dynamic variability of adaptive systems”, SPLC (2) Conference Proceedings, 23–32.
  • Berger, T., Czarnecki, K., Lotufo, R., She, S., ve Wąsowski, A. 2010.“Evolution of the Linux kernel variability model”, SPLC 2010Conference Proceedings, 136–150.
  • Böckle, G., Linden, F., ve Pohl, K. 2005. Software product line engineering: foundations, principles, and techniques. Berlin-Heidelberg: Springer-Verlag.
  • Borba, P., Gheyi, R., ve Teixeira, L. 2012. “A theory of software product line refinement”, Theoretical Computer Science,455, 2–30.
  • Bosch, J., Capilla, R., Hinchey, M., Ruiz-Cortés, A., ve Trinidad, P. 2014. “An overview of dynamic software product line architectures and techniques: observations from research and industry”, Journal of Systems and Software, 91, 3–23.
  • Botterweck, G., Dhungana, D.,Kowalewski, S.,Pleuss, A., ve Polzer, A. 2012. “Modeldriven support for product line evolution on feature level”, Journal of Systems and Software, 85 (10), 2261–2274.
  • Boucher, Q., Classen, A., ve Heymans, P. 2011. “A text-based approach to feature modelling: Syntax and semantics of TVL”, Science of Computer Programming, 76 (12), 1130–1143.
  • Bürdek, J., Kehrer, T., Kelter, U., Lochau, M., Reuling, D., veSchürr, A. 2016.“Reasoning about product-line evolution using complex feature model differences”, Automated Software Engineering, 23 (4), 687–733.
  • Cacho, N., Dantas, F., Figueiredo, E., Garcia, A., Kulesza, U., Monteiro, M., …, ve Sant'Anna, C. 2008. “Evolving software product lines with aspects”, ICSE’08 Conference Proceedings, 261–270.
  • Capilla, R., Bosch, J. ve Kyo-Chul, K. 2013. “Variability Modeling”. Systems and Software Variability Management. Editörler: Rafael, C., Bosch, J. ve Kyo-Chul, K.. Berlin: Springer.
  • Cetina, C., Fons, J., Giner, P., ve Pelechano, V. 2009. “Autonomic computing through reuse of variability models at runtime: The case of smart homes”, Computer, 42 (10), 37– 43.
  • Choco Team. “Choco: An Open-Source Java Library for Constraint Programming”. http://www.choco-solver.org/, Son erişim tarihi: 1 Şubat 2019.
  • Cicchetti, A., Di Ruscio, D., Eramo, R., ve Pierantonio, A. 2010. “JTL: a bidirectional and change propagating transformation language”, SLE 2010 Conference Proceedings,183– 202.
  • Clements, P. ve Northrop, L. 2001. Software Product Lines: Practices and Patterns. Boston: Addison-Wesley.
  • Cohen, S., Hess, J., Kang, K., Novak, W., ve Peterson, S. 1990. "Feature-oriented domain analyses (FODA) feasibility study". Carnegie Mellon University Software Engineering Institute Technical Report CMU/SEI-90-TR- 21.https://apps.dtic.mil/dtic/tr/fulltext/u2/a235785.pdf, Son erişim tarihi: 1 Şubat 2019.
  • Colm Networks. “Ragel State Machine Compiler”. http://www.colm.net/opensource/ ragel/, Son erişim tarihi: 1 Şubat 2019.
  • Csertan, G., Huszerl, G., Majzik, I., Pap, Z., Pataricza, A., ve Varro, D. 2002.“VIATRA - visual automated transformations for formal verification and validation of UML models”,ASE 2002 Conference Proceedings, 267–270.
  • Czarnecki, K., Eisenecker, U., veHelsen, S. 2005.“Formalizing cardinality-based feature models and their specialization”, Software Process: Improvement and Practice, 10 (1), 7–29.
  • Demirtaş, G. 2018. Multi-Target Implementation of a Domain Specific Language for Extended Feature Models (Yüksek Lisans Tezi, Bilgisayar Mühendisliği Bölümü). Ankara:ODTÜ.
  • Diaz, D. “The GNU Prolog”. http://www.gprolog.org/, Son erişim tarihi: 1 Şubat 2019. Entekhabi, S. 2018. Dynamic Constraint Satisfaction Algorithm for Reconfiguration of Feature Models (Yüksek Lisans Tezi, Bilgisayar Mühendisliği Bölümü). Ankara:ODTÜ.
  • Entekhabi, S., Karataş, A.S. and Oğuztüzün, H. 2018. “Dynamic constraint satisfaction algorithm for online feature model reconfiguration”. 6th International Conference on Control Engineering & Information Technology (CEIT), İstanbul. (basılacak).
  • Entekhabi, S., Karataş, A.S. ve Oğuztüzün, H. 2017. “An incremental constraint satisfaction algorithm for dynamic reconfiguration”. 3rd Workshop on Dependability, İzmir.
  • Gecode Team. “Gecode: Generic Constraint Development Environment”. http://www.gecode.org, Son erişim tarihi: 1 Şubat 2019.
  • Gomaa, H. ve Webber, D. L. 2004.“Modeling variability in software product lines with the variation point model”, Science of Computer Programming, 53 (3), 305–331.
  • Hallsteinsen, S., Hinchey, M., Park, S. Y., veSchmid, K. 2008. “Dynamic software product lines”, Computer, 41 (4), 93–95.
  • Hinchey, M., Park, S., veSchmid, L. 2012. “Building dynamic software product lines”, Computer, 45 (10), 22–26.
  • Holdschick, H. 2012. “Challenges in the evolution of model-based software product lines in the automotive domain”, FOSD'12 Conference Proceedings,70–73.
  • Jarzabek, S., Xing, Z., ve Xue, Y. 2010.“Understanding feature evolution in a family of product variants”, WCRE Conference Proceedings, 109–118.
  • Kang, K., Kim, K., Kim, S., ve Lee, J. 1998. “FORM: A feature-oriented reuse method with domain-specific reference architectures”, Annals of Software Engineering, 5 (1), 143.
  • IEEE Software 19(4), 58-68. Karataş, A. S., Doğru, A., ve Oğuztüzün, H. 2013. “From extended feature models to constraint logic programming”, Science of Computer Programming, 78 (12), 2295–2312.
  • Karataş, A.S. ve Oğuztüzün, H. 2016. “Attribute-based variability in feature models”. Requirements Engineering, 21(2), 185-208.
  • Karataş, A.S. ve Oğuztüzün, H. 2016. “Özellik modelleri ve temsil ettikleri ürün tipleri arasındaki ilişkilerin çözümlenmesi”. 10. Ulusal Yazılım Mühendisliği Sempozyumu (UYMS) Bildiriler Kitabı, Çanakkale, 185-196.
  • Karataş, A.S., Oğuztüzün, H. ve Doğru, A. 2010. “Global constraints on feature models”, Proceedings of Principles and Practice of Constraint Programming, St Andrews, İngiltere, 537-551.
  • Kolahdouz-Rahimi, S. ve Lano, K. 2010. “Specification and verification of model transformations using UML-RSDS”, IFM Conference Proceedings, 199–214.
  • Kolovos, D. S., Paige, R. F., ve Polack, F. A. C. 2008. “The Epsilon transformation language”, ICMT 2008 Conference Proceedings,46–60.
  • Lawley, M. ve Steel, J. 2005. “Practical declarative model transformation with Tefkat”, MoDELS 2005 Conference Proceedings, 139–150.
  • Mauro, J., Nieke, M., Seidl, C. ve Yu, I.C. 2016. “Context aware reconfiguration in software product lines”. Proceedings of the Tenth International Workshop on Variability Modelling of Software-intensive Systems, 41–48.
  • Mens, T. ve Van Gorp, P. 2006. “A taxonomy of model transformation”, Electronic Notes in Theoretical Computer Science, 152, 125–142.
  • Nabdel, L., Karataş, A.S., Oğuztüzün, H. ve Doğru, A., 2011. “FMML: A Feature Model Markup Language”. Proceedings of Symposium on Computer Languages, Implementations, and Tools (SCLIT), Halkidiki, Yunanistan. 841-844.
  • Parr, T. 2007. The Definitive ANTLR Reference: Building Domain-Specific Languages. Rayleigh: Pragmatic Bookshelf.
  • Peng, X., Yu, Y., ve Zhao, W. 2011. “Analyzing evolution of variability in a software product line: From contexts and requirements to features”, Information and Software Technology, 53 (7), 707–721.
  • Sanchez, L. E., Moisan, S. ve Rigault, J.-P. 2013. “Metrics on feature models to optimize configuration adaptation at run time”. Proceedings of 1st International Workshop on Combining Modelling and Search-Based Software Engineering, 39–44.
  • Sannella, M. 1994. “SkyBlue: a multi-way local propagation constraint solver for user interface construction”. Proceedings of the 7th annual ACM Symposium on User Interface Software and Technology, 137–146.
  • Sharp, D. C. 2000. “Component based product line development of avionics software”, SPLC Proceedings, 353–369.
  • SICS. “SICStus Prolog: Leading Prolog Technology”. https://sicstus.sics.se/, Son erişim tarihi: 1 Şubat 2019.
  • SQLite Project. “The LEMON Parser Generator”. http://www.hwaci.com/sw/lemon/, Son erişim tarihi: 1 Şubat 2019.
  • van der Linden, F., Schmid, K. ve Rommes, E. 2010. Software Product Lines in Action. Berlin: Springer-Verlag.
  • Verfaillie, G. ve Schiex, T. 1994. “Solution reuse in dynamic constraint satisfaction problems”, AAAI Proceedings, 307–312.
  • Yalçın, G. ve Oğuztüzün, H. 2017. “Adaptive framework for remote monitoring and management of computer systems”. Proceedings of World Electro Mobility Conference (WELMO), İzmir, 25-30.

TÜBİTAK ULAKBİM Ulusal Akademik Ağ ve Bilgi Merkezi Cahit Arf Bilgi Merkezi © 2019 Tüm Hakları Saklıdır.