Розробка підходу до застосування стилю в інженерії програмного забезпечення
DOI:
https://doi.org/10.15587/1729-4061.2019.175665Ключові слова:
інженерія програмного забезпечення, шаблон стиля, онтологія, дескриптивна логіка, стиль програмуванняАнотація
Розроблено підхід керованого онтологією застосування стилів в інженерії програмного забезпечення. Сутність підходу полягає у використанні онтології не тільки для представлення стилів, но також для контролю застосування стилів під час створення і супроводження програмного забезпечення. При цьому, для представлення стилю створюється відповідна онтологія та засоби підтримки розробника, а для контролю застосування стилю в робочих продуктах фаз життєвого циклу програмного забезпечення створюються засоби (ризонери) на основі онтологічної бази знань. За представленням у дескриптивній логікі база знань містить дві складові – термінологічну (TBox) та фактичну (ABox). Перша складова створюється заздалегідь, шляхом виконання доменного аналізу. Друга складова створюється під час аналізу представлення відповідного робочого продукту.
З метою типізації, в контексті підходу, що розроблено, створено шаблони стилю онтології ядра інженерії програмного забезпечення, шляхом аналізу поняття стилю в різних доменах. Сформульовані основні характеристики стилю як доменне незалежного поняття, які представлено в шаблонах. При цьому, для обрання кількості шаблонів, що необхідні для представлення стилю, застосовано паттерн Work Product Pattern Application з Unified Foundational Ontology. Паттерн описує дії, що можуть існувати відносно стилю робочого продукту (Work product).
Розглянуто приклад реалізації підходу, шляхом дослідження запропонованого методу, керованого онтологією застосування стилю програмування в інженерії програмного забезпечення та архітектури засобу, що його реалізує. З застосуванням Protege показано побудову онтології стиля програмування і асистування програмісту. Розроблено і реалізовано архітектуру засобу контролю застосування стилю в робочому продукті фази конструювання – тексті програми. Основу архітектури складає база знань про відповідний стиль. Термінологічна складова бази знань містить інформацію відносно мов і стилю програмування і створюється заздалегідь розробником онтології. Фактична складова створюється ризонером для кожного представлення робочого продукту – тексту програми.
Засоби, що створено в контексті запропонованого підходу, автоматизують процеси, які мають місце під час застосування стилів в робочих продуктах фаз життєвого циклу програмного забезпеченняПосилання
- Sidorov, N. (2006). Software stylistic. Problems of programming, 2-3, 245–254.
- Sidorova, N. (2015). Programming style ontologies and automated reasoning – systematic mapping study. Software Engineering, 3, 38–44.
- Boehm, B. (2007). Software Engineering. John Wiley & Sons, 832.
- Hazzan, O., Dubinsky, Y. (2009). Agile Software Engineering. Springer. doi: https://doi.org/10.1007/978-1-84800-198-5
- Behera, C. K., Bhaskari, D. L. (2015). Different Obfuscation Techniques for Code Protection. Procedia Computer Science, 70, 757–763. doi: https://doi.org/10.1016/j.procs.2015.10.114
- Weinberg, G. (1971). The Psychology of Computer Programming. Van Nostrand Reinhold, 276.
- Raijlich, V., Wilde, N., Buckellew, M., Page, H. (2001). Software cultures and evolution. Computer, 34 (9), 24–28. doi: https://doi.org/10.1109/2.947084
- Holovatyi, M. (2014). Multiculturalism as a means of nations and countries interethnic unity achieving. Economic Annals-XXI, 11-12, 15–18.
- Calero, C., Ruiz, F., Piattini, M. (Eds.) (2006). Ontologies for Software Engineering and Software Technology. Berlin, 343. doi: https://doi.org/10.1007/3-540-34518-3
- Pahl, C., Giesecke, S., Hasselbring, W. (2009). Ontology-based modelling of architectural styles. Information and Software Technology, 51 (12), 1739–1749. doi: https://doi.org/10.1016/j.infsof.2009.06.001
- Abuhassan, I., AlMashaykhi, A. (2012). Domain Ontology for Programming Languages. Journal of Computations & Modelling, 2 (4), 75–91.
- Sydorov, N. A., Sydorova, N. N., Mendzebryovsky, I. B. (2018). Software engineering ontologies categorization. Problems in Programming, 1, 55–64. doi: https://doi.org/10.15407/pp2018.01.055
- Suárez-Figueroa, M. C., Gómez-Pérez, A., Motta, E., Gangemi, A. (Eds.) (2012). Ontology Engineering in a Networked World. Berlin, 446. doi: https://doi.org/10.1007/978-3-642-24794-1
- Ghosh, M. E., Naja, H., Abdulrab, H., Khalil, M. (2016). Towards a Middle-out Approach for Building Legal Domain Reference Ontology. International Journal of Knowledge Engineering, 2 (3), 109–114. doi: https://doi.org/10.18178/ijke.2016.2.3.063
- Clark, P., Thompson, J., Porter, B. (2000). Knowledge patterns. KR, 591–600.
- Guizzardi, G., Wagner, G., Almeida, J. P. A., Guizzardi, R. S. S. (2015). Towards ontological foundations for conceptual modeling: The unified foundational ontology (UFO) story. Applied Ontology, 10 (3-4), 259–271. doi: https://doi.org/10.3233/ao-150157
- Skjæveland, M., Forssell, H., Klüwer, J., Lupp, D. (2017) Pattern-Based Ontology Design and Instantiation with Reasonable Ontology Templates. Workshop on Ontology Design and Patterns (WODP2017), 15.
- Department of Defense (2011). Data modelling guide (DMG) for an enterprise logical data model (ELDM). Version 2.3, USA, 184.
- Calvanese, D. (2003). Description logic for conceptual data modelling in UML. ESSLLI, 23.
- Sidorova, N. (2015). Ontology-Drived Method Using Programming Styles. Software Engineering, 2 (22), 19–28.
- Sidorova, N. (2015). Ontology-Driven Programming Style Assistant. Software Engineering, 2 (24), 10–19.
- Sidorov, N., Sidorova, N., Pirog, A. (2017). Ontology-driven tool for utilizing programming styles. Proceedings of the National Aviation University, 71 (2), 84–92. doi: https://doi.org/10.18372/2306-1472.71.11751
- Basili, V., Caldiera, G. (1994). Goal Question Metric Paradigm. Maryland, 60.
- Sidorov, N., Chomenko, V., Sidorov, E. (2008). Reengineering of the Legacy Software: the air simulator case study. Proceedings of the third world Congress "Aviation in the XXI–ST century, Safety in a aviation and space technology", 2, 33.88.–33.96.
##submission.downloads##
Опубліковано
Як цитувати
Номер
Розділ
Ліцензія
Авторське право (c) 2019 Nikolay Sydorov, Nika Sydorova, Evgeny Sydorov, Olha Cholyshkina, Ilona Batsurovska
Ця робота ліцензується відповідно до Creative Commons Attribution 4.0 International License.
Закріплення та умови передачі авторських прав (ідентифікація авторства) здійснюється у Ліцензійному договорі. Зокрема, автори залишають за собою право на авторство свого рукопису та передають журналу право першої публікації цієї роботи на умовах ліцензії Creative Commons CC BY. При цьому вони мають право укладати самостійно додаткові угоди, що стосуються неексклюзивного поширення роботи у тому вигляді, в якому вона була опублікована цим журналом, але за умови збереження посилання на першу публікацію статті в цьому журналі.
Ліцензійний договір – це документ, в якому автор гарантує, що володіє усіма авторськими правами на твір (рукопис, статтю, тощо).
Автори, підписуючи Ліцензійний договір з ПП «ТЕХНОЛОГІЧНИЙ ЦЕНТР», мають усі права на подальше використання свого твору за умови посилання на наше видання, в якому твір опублікований. Відповідно до умов Ліцензійного договору, Видавець ПП «ТЕХНОЛОГІЧНИЙ ЦЕНТР» не забирає ваші авторські права та отримує від авторів дозвіл на використання та розповсюдження публікації через світові наукові ресурси (власні електронні ресурси, наукометричні бази даних, репозитарії, бібліотеки тощо).
За відсутності підписаного Ліцензійного договору або за відсутністю вказаних в цьому договорі ідентифікаторів, що дають змогу ідентифікувати особу автора, редакція не має права працювати з рукописом.
Важливо пам’ятати, що існує і інший тип угоди між авторами та видавцями – коли авторські права передаються від авторів до видавця. В такому разі автори втрачають права власності на свій твір та не можуть його використовувати в будь-який спосіб.