Рисунок 10 - Фрагмент онтологии требований в инструментарии Protйgй [52]
Работа [53] посвящена обсуждению вопросов повторного использования знаний и организации системы поддержки принятия решений при управлении взаимодействующими бизнес-процессами в проектно-ориентированных организациях. Интересным здесь представляется разработка онтологии прецедентов проблемных ситуаций (рисунок 11) и онтологической модели управления взаимодействующими процессами в ИТ-проектах.
Рисунок 11 - Фрагмент онтологии прецедентов проблемных ситуаций [53]
Нетрадиционный подход к разработке методов и средств семантического моделирования и проектирования представлен в работе [54]. Здесь каждая единица gB-системы (good Base) представляет собой стандартную Excel-книгу, а каждая родовидовая разновидность онтологических моделей имеет свой Excel-шаблон. При этом ядро gB-системы образует объектноориентированная СУБД на таблично-реляционном остове Excel, а программный интерфейс СУБД является составной частью онтологии решателей задач.
Вопросам онтологического моделирования процессов создания ПО и прикладных исследований в данной области посвящены работы [55-57], выполненные в Украине.
Так, например, в работе [56] представлен онтологический подход к моделированию процессов использования стилей программирования (рисунок 12). В частности, рассматривается представление стандартов на стили программирования в форме онтологии и применение решателя на основе дескриптивной логики в качестве ассистента программиста. По сути, здесь предлагается собственно онтология стилей программирования (рисунок 13) и инструмент для поддержки управляемого этой онтологией применения стилей, реализованный на языке Java (рисунок 14).
Рисунок 12 - Система онтологических моделей стилей программирования [56]
Рисунок 13 - Концептуализация онтологии стилей программирования [56]
В работе [57] ставится и решается практически важная задача семантического анализа спецификаций (на примере требований к медицинскому ПО). Обсуждается реализация интеллектуального агента (ИА), оценивающего входную информацию для формирования таких спецификаций. В разработанной системе использована онтология требований для медицинской информационно-аналитической системы учёта терапевтических и диагностических мероприятий, предоставляемых раненым во время перевозки. Экспериментально показано, что именно ИА обеспечивает повышение уровня достаточности входной информации для определения качества ПО на 24%.
Рисунок 14 - Схема машины вывода и фрагмент онтологии стилей программирования [56]
В заключение автор хотел бы отметить, что основным направлением его собственных дальнейших исследований и разработок является применение методов и средств OBSE-ODSE для автоматизации проектирования систем извлечения информации из ЕЯ- текстов. Теоретические аспекты работ в этом направлении представлены в [58], а первые результаты - в [59].
Заключение
В работе представлен аналитический обзор подходов, моделей, методов проектирования ПО прикладных систем под управлением онтологий.
На основе проведённого анализа можно сформулировать следующие утверждения:
- современная постановка задачи автоматизации проектирования систем ПО предполагает наличие адекватных моделей всего ЖЦ, включая технологии разработки и реализации, модели архитектуры систем и их программных компонент, а также модели генерации ПО и модели ПрО, в которых предполагается функционирование соответствующих систем;
- общим трендом настоящего времени является создание и использование методов и средств онтологического моделирования как самих процессов проектирования, так и спецификаций разрабатываемых систем;
- основное внимание в современных исследованиях уделяется созданию онтологических моделей процессов проектирования ПО.
Можно отметить следующие особенности и перспективы развития данного научно-технического направления.
Теоретические основы онтологического моделирования процессов проектирования ПО находятся на том уровне, когда центр тяжести исследований и разработок будет смещаться от моделей сборки ПО прикладных систем из крупных функциональных блоков в модели генерации самих блоков из согласованной системы онтологических паттернов их внутренних спецификаций.
Тренд в области OBSE-ODSE связан с использованием методов и средств машинного обучения для генерации онтологических моделей проектирования ПО. Для выхода этого тренда на плато продуктивности потребуется ещё много фундаментальных исследований.
Перспективными кандидатами на использование методов и средств проектирования ПО под управлением онтологий являются прикладные интеллектуальные системы, где основными компонентами можно считать базы знаний и машины вывода, которые, в свою очередь, могут строиться на основе онтологических моделей.
Список источников
1. Липаев, В.В. Проектирование и производство сложных заказных программных продуктов / В.В. Липаев. - М.: СИНТЕГ, 2011. - 408 с.
2. Bhuvaneswari, T. A Survey on Software Development Life Cycle Models / T. Bhuvaneswari, S. Prabaharan // International Journal of Computer Science and Mobile Computing. - 2013. - Vol. 2, Issue 5. - P.262-267.
3. Half, R. Basic SDLC Methodologies: Which One is Best? / R. Half. https://www.roberthalf.com/blog/salaries-and-skills/6-basic-sdlc-methodologies-which-one-is-best.
4. Winston, W.R Managing the Development of Large Software Systems / W.R Winston // Proceedings, IEEE WESCON. - 1970. - P.1-9.
5. Boehm, B. A Spiral Model of Software Development and Enhancement / B. Boehm // ACM SIGSOFT Software Engineering Notes. - 1986. - 11(4). - P.14-24.
6. Beck, K. Extreme Programming Explained: Embrace Change / K. Beck - Addison-Wesley. 1999. - 237 p.
7. Beck, K. Manifesto for Agile Software Development / K. Beck, M. Beedle, A. van Bennekum, A. Cockburn, W. Cunningham, M. Fowler, J. Grenning, J. Highsmith, A. Hunt, R. Jeffries, J. Kern, B. Marick, R.C. Martin,
8. S. Mellor, K. Schwaber, J. Sutherland, D. Thomas // Agile Alliance. - 2001. https://agilemanifesto.org/.
9. Jacobson, S. The Rational Objectory Process - A UML-based Software Engineering Process / S. Jacobson // Rational Software Scandinavia AB, 2014. - 17 p.
10. Henderson-Sellers, B. An ontology for ISO software engineering standards: 1) Creating the infrastructure / B. Henderson-Sellers, C. Gonzalez-Perez, T. McBride, G. Low. // Computer Standards & Interfaces. - 2014. - 31, 36(3). - P. 563-576.
11. ISO/IEC/IEEE 12207:2017 Systems and software engineering - Software life cycle processes. - https://www.iso.org/standard/63712.html.
12. Asikainen, T. A domain ontology for modelling variability in software product families / T. Asikainen, T. Mдnnistц, T. Soininen // Adv. Eng. Inform. - 2007. - 21. - P.23-40.
13. Strmecki, D. An Overview on the use of Ontologies in Software Engineering / D. Strmecki, I. Magdalenic, D. Kermek // Journal of Computer Science. - 2016. - 12 (12). - P.597-610.
14. Ringert, J.O. Multiplatform generative development of component and connector systems using model and code libraries / J.O. Ringert, B. Rumpe, A. Wortmann // Proc. of the 1st International Workshop on Model-Driven Engineering for Component-Based Systems, CBS' 14 (Valencia, Spain, 2014). - P.26-35.
15. Magdalenic, I. Autogenerator: Generation and execution of programming code on demand / I. Magdalenic, D. Radosevic, T. Orehovacki // Expert Syst. Applic. - 2013. - 40. - P.2845-2857.
16. Lilis, Y. Staged model-driven generators: Shifting responsibility for code emission to embedded metaprograms / Y. Lilis, A. Savidis, Y. Valsamakis // Proc. of the 2nd International Conference on Model-Driven Engineering and Software Development (Jan. 7-9, 2014). - IEEE Xplore Press, 2014. - P. 509-521.
17. Rodrigues da Silva, A. Model-driven engineering: A survey supported by the unified conceptual model / A. Rodrigues da Silva // Comput. Lang. Syst. Struct. - 2015. - 43. - P. 139-155.
18. Hesse, W. Ontologies in the Software Engineering process / W. Hesse // Proc. of the 2nd GI-Workshop on Enterprise Application Integration, EAI-05 (Marburg, Germany, June 30 / July 1st, 2005). - https://pdfs.semanticscholar.org/7812/c8ac3e35a78d35c1df93f09108c69884e7f1.pdf.
19. Dillon, T.S. Ontology-based Software Engineering - Software Engineering 2.0 / T.S. Dillon, E. Chang, P. Wongthongtham // Proc. 19th Australian Conference on Software Engineering. - 2008. - P.13-23.
20. Henderson-Sellers, B. Bridging metamodels and ontologies in software engineering / B. Henderson-Sellers // Journal of Systems and Software. - 2011. - 84(2). - P.301-313.
21. Isotani, S. Ontology Driven Software Engineering: A Review of Challenges and Opportunities / S. Isotani, I.I. Bittencourt, E.F. Barbosa, D. Dermeval, R.O.A. Paiva // IEEE Latin America Transactions. - 2015. - Vol. 13, No. 3. - P.863-869.
22. Bhatia, M.P.S. Ontologies for Software Engineering: Past, Present and Future / M.P.S. Bhatia, A. Kumar, R. Beniwal // Indian Journal of Science and Technology. - 2016. - 9(9). - P.8-17.
23. Боргест, Н.М. Границы онтологии проектирования / Н.М. Боргест // Онтологии проектирования. - 2017. - Т. 7, №1(23). - С.7-33. - DOI: 10.18287/2223-9537-2017-7-1-7-33.
24. Fadel, F.G. A generic enterprise resource ontology / F.G. Fadel, M.S. Fox, M. Gruninger // Proc. of 3rd IEEE Workshop on Enabling Technologies: Infrastructure for Collaborative Enterprises, WET ICE'94 (April 1994, Morgantown, West Virginia), 1994. - P.117-128.
25. Uschold, M. The Enterprise Ontology / M. Uschold, M. King, S. Moralee, Y. Zorgios // The Knowledge Engineer Review. - 1998. - 13(1). - P.31-89.
26. Mendes, O. Software engineering ontology: A development methodology / O. Mendes, A. Abran // Metrics News. 2005. - 9. - P.68-76.
27. Happel, H. Applications of ontologies in software engineering / H. Happel, S. Seedorf // Proc. of the 2nd International Workshop on Semantic Web Enabled Software Engineering, ESE' 06. - 2006. - P.1-14.
28. Bossche, M. V. Ontology Driven Software Engineering for Real Life Applications / M.V. Bossche, P. Ross,
29. MacLarty, B. van Nuffelen, N. Pelov // Proc. 3rd International Workshop on Semantic Web Enabled Software Engineering, SWESE 2007 (Innsbruck, Austria, 2007). - https://www.odaseontologies.com/wp-content/uploads/2016/03/Ontology-Driven-Software-Engineering-for-Real-Life-Applications-OK.pdf.
30. Nianfang, X. Software components description based on ontology / X. Nianfang, Y. Xiaohui, L. Xinke // Proc. of the 2nd International Conference on Computer Modeling and Simulation (Jan. 22-24, 2010). - IEEE XPlore Press; 2010. - P.423-426.
31. Liao, L. Software Process Ontology and Its Application / L. Liao, Y. Qu, H.K.N. Leung // Studies on the Semantic Web. Vol. 17: Semantic Web Enabled Software Engineering. - IOS Press, 2014. - P.207-217.
32. Pileggi, S.F. Ontology in Software Engineering / S.F. Pileggi, A. Lopez-Lorca, G. Beydoun // Proc. Australasian Conference on Information Systems 2018 (Sydney, Australia, 2018). - http://www.acis2018.org/wp-content/uploads/2018/11/ACIS2018_paper_200.pdf.
33. Jabar, M.A. General Domain Ontology in Enterprise Software Development Process / M.A. Jabar, M.S. Khalefa // International Journal of Engineering and Advanced Technology. - 2019. - Vol. 8, Is. 3S. - P.398-402.
34. Happel, H.J. KOntoR: An Ontology-enabled Approach to Software Reuse / H.J. Happel, A. Korthaus, S. Seedorf, P. Tomczyk // Proc. SEKE 2006: the 18th International Conference on Software Engineering & Knowledge Engineering (July 5-7, 2006, California, USA, 2006). - P.349-354.
35. Chaves, A.P. OntoDiSENv1: an Ontology to Support Global Software Development / A.P. Chaves, I. Steinmacher // CLEIej 2011. - Vol.14, No.2. - http://www.scielo.edu.uy/scielo.php?script=sci_arttext&pid=S0717-50002011000200002.
36. Wьrsch, M. SEON: A pyramid of ontologies for software evolution and its applications / M. Wьrsch, G. Ghezzi, M. Hert, G. Reif, H. Gall // Computing. - 2012. - 94(11). - P.857-885.
37. AЯmann, U. Ontology-Guided Software Engineering in the MOST Workbench / U. AЯmann, S. Zivkovic, K. Miksa, K. Siegemund, A. Bartho, T. Rahmani, E. Thomas, J.Z. Pan // In: Ontology-Driven Software Development. - Springer Berlin Heidelberg, 2013. - P.293-318.
38. Bhatia, M.P.S. An ontology based framework for automatic detection and updation of requirement specifications / M.P.S. Bhatia, R. Beniwal, A. Kumar // International Conference on Contemporary Computing and Informatics, IC3I (2014 Nov 27). - IEEE, 2014 - P.238-242.
39. Olszewska, J.I. ODYSSEY: Software Development Life Cycle Ontology / J.I. Olszewska, I.K. Allison // Proc. International Joint Conference on Knowledge Discovery, Knowledge Engineering and Knowledge Management (Seville, Spain 18 Sep 2018-20 Sep 2018). - P.303-311.
40. Rochaa, R. DKDOnto: An Ontology to Support Software Development with Distributed Teams / R. Rochaa, A. Araujoa, D. Cordeiroa, A. Ximenesa, J. Teixeiraa, G. Silvaa, D. da Silvaa, D. Espinharaa, R. Fernandesa,
41. J. Ambrosiob, M. Duartec, R. Azevedo // Proc. 22nd International Conference on Knowledge-Based and Intelligent Information & Engineering Systems. - Procedia Computer Science 126, 2018. - P.373-382.
42. Alobaid, A. Automating ontology engineering support activities with OnToology / A. Alobaid, D. Garijo, M. Poveda-Villalon, I. Santana-Perez, A. Fernandez-Izquierdo, O. Corcho // Journal of Web Semantics 57, 100472, 2019. - https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3260516.
43. Alsanad, A.A. Domain Ontology for Software Requirements Change Management in Global Software Development Environment / A.A. Alsanad, A. Chikh, A Mirzaa // IEEE Access. - 2019. - Vol. 7. - P.349-353.
44. Calero, C. Ontologies for Software Engineering and Software Technology. 1st Ed. / C. Calero, F. Ruiz, M. Piattini. Springer, 2006. - 340 p.
45. Anquetil, N. Software Maintenance seen as a Knowledge Management Issue / N. Anquetil, K.M. de Oliveira, D. Kleiber, M.G. de Sousa // Inf. Softw. Technol. - 2007. - 49(5). - P.515-529.
46. Fairley, R.E. A Post-Mortem Analysis of the Software Engineering Programs at Wang Institute of Graduate Studies / R.E. Fairley // Issues in Software Engineering Education. Eds.: Fairley R., Freeman P. -Springer, New York, 1989. - 97 p.
47. ISO/IEC 14764:2006 Software Engineering - Software Life Cycle Processes - Maintenance. - https://www.iso.org/standard/39064.html.
48. Leppanen, M. A context-based enterprise ontology / M. Leppanen // Proc. of the 10th international conference on Business information systems, BIS'07. - Springer-Verlag Berlin, Heidelberg, 2007. - P. 273-286.
49. Project MOST Marrying Ontology and Software Technology. 2011. https://cordis.europa.eu/project/rcn/85351/factsheet/en.
50. Tudorache, T. WebProtйgй: A Collaborative Ontology Editor and Knowledge Acquisition Tool for the Web / T. Tudorache, C. Nyulas, N.F.Noy, M.A. Musen // Semantic Web Journal. - 2013. - Vol. 4, No 1. - P.89-99.
51. Musen, M.A. The protйgй project: a look back and a look forward / M.A. Musen // Newsletter AI Matters. - 2015. - Vol. 1, Issue 4. - P.4-12.
52. Шалфеева, Е.А. Возможности использования онтологий при разработке и сопровождении программных систем / Е.А. Шалфеева // Владивосток: ИАПУ ДВО РАН, 2011. - 16 c.
53. Лаврищева, Е.М. Подход к формальному представлению онтологии жизненного цикла программных систем / Е.М. Лаврищева // Весник КГУ. Серия физ.-мат. наук. - 2013. - № 4. - С. 140-149.
54. Стенников, В.А. Применение онтологий при реализации концепции модельно-управляемой разработки программного обеспечения для проектирования теплоснабжающих систем / В.А. Стенников, Е.А. Барахтенко, Д.В. Соколов // Онтология проектирования. - 2014. - 4(14). - C.54-68.
55. Пустовалова, Н.В. Построение согласованной модели требований для процесса программной инженерии / Н.В. Пустовалова, Т.В. Авдеенко // Труды СПИИРАН. - 2016. - Выпуск 44. - С.31-49.
56. Бармина, О.В. Интеллектуальная система управления взаимодействием бизнес-процессов в проектноориентированных организациях / О.В. Бармина, Н.О. Никулина // Онтология проектирования. - 2017. - Т. 7, №1(23). - С.48-65. - DOI: 10.18287/2223-9537-2017-7-1-48-65.
57. Смирнов, С.В. Опыт создания средств семантического моделирования и проектирования на массовой программной платформе // Open Semantic Technologies for Intelligent Systems, OSTIS-2015: Материалы V меж- дународ. науч.-тех. конф. (19-21 февраля 2015 г. Минск, Беларусь) / Отв. ред.: В.В. Голенков. - Минск: БГУИР, 2015. - С.413-416.
58. Тарасов, А.Ф. Онтологический подход к построению логических моделей программных систем / А.Ф. Тарасов, О.А. Лябик // Вісник Донбаської державної машинобудівної академії. - 2006. - №1Е(6). - С.50-54.
59. Sidorov, N. Ontology driven tool for utilizing programming styles / N. Sidorov, N. Sidorova, A. Pirog // Proc/ of the National Aviation University. - 2017. - 2(71). - P.84-92.
60. Hovorushchenko, T. Method of Activity of Ontology-Based Intelligent Agent for Evaluating the Initial Stages of the Software Lifecycle / T. Hovorushchenko, O. Pavlova // Advances in Intelligent Systems and Computing. - 2019. - Vol. 836. - P.169-178.
61. Efimenko, I.V. Identification of Promising High-Tech Solutions in Big Text Data with Semantic Technologies: Energy, Pharma, and Many Others (Chapter 16. Advanced Methods) / I.V. Efimenko, V.F. Khoroshevsky // In: Innovation Discovery. Network Analysis of Research and Invention Activity for Technology Management. / Eds: T. Daim, A. Pilkington. 443 p. - 2018. - P.429-467.