Software engineering ontologies categorization

Software engineering is an own scientific and practice aria with an own structure, terminology, products, pro-cesses and resources. The software product is a knowledge-based product and it is the result of the knowledge-based actions. In this research, categorization of ontologies in software engine...

Повний опис

Збережено в:
Бібліографічні деталі
Дата:2018
Автори: Sydorov, N.A., Sydorova, N.N., Mendzebrovsky, I.B.
Формат: Стаття
Мова:English
Опубліковано: Інститут програмних систем НАН України 2018
Теми:
Онлайн доступ:https://pp.isofts.kiev.ua/index.php/ojs1/article/view/238
Теги: Додати тег
Немає тегів, Будьте першим, хто поставить тег для цього запису!
Назва журналу:Problems in programming
Завантажити файл: Pdf

Репозитарії

Problems in programming
id pp_isofts_kiev_ua-article-238
record_format ojs
resource_txt_mv ppisoftskievua/65/865dc3537d15aa47db0cd89679ba0d65.pdf
spelling pp_isofts_kiev_ua-article-2382024-04-28T11:34:16Z Software engineering ontologies categorization Классификация онтологий инженерии программного обеспечения Класифікація онтологій інженерії програмного забезпечення Sydorov, N.A. Sydorova, N.N. Mendzebrovsky, I.B. software engineering;programming; ontology; categorization; domain analysis; programming style UDC 502:004.45 (075.8) инженерия программного обеспечения; программирование; онтология; классификация; доменный анализ; стиль программирования УДК 502:004.45 (075.8) інженерія програмного забезпечення; програмування; онтологія; класіфікування; домений аналіз; стиль програмування УДК 502:004.45 (075.8) Software engineering is an own scientific and practice aria with an own structure, terminology, products, pro-cesses and resources. The software product is a knowledge-based product and it is the result of the knowledge-based actions. In this research, categorization of ontologies in software engineering are presented. The known criterion (process, domain, structure) are used for the categorization of ontologies but two criterion (process and domain) was modified. The process criterions is looked in the connection whit time period and the prede-velopment time added to time period. The domain criterions is making whit help of the representation of soft-ware engineering world in the form of domains. The ontologies are involved in representing knowledge of three types of the software engineering domains. In the first, the application domain, the focus is on under-standing the customer needs and what the software product must do. In the second, the implementation do-main, the focus is on understanding how the software product must behave and respond to the customer needs. In the third, the problem domain, the focus is on understanding the software engineering problems, which can be during software life cycle processes of the software product. Our research goal is to develop categorization of the software engineering ontologies on the base of adding known criterion. Ontological representation of software engineering knowledge; categorization; domain analysis; object-oriented programming; ontology-driven utilizing of programming styles. Categorization of the software engineering ontologies. The results of case study, using ontologies by categorization are presented. Had developed categorization of ontologies, it is possible exactly to define types of software engineering ontologies and its places into software processes. This is demonstrating on the examples of the case studies.Problems in programming 2018; 1: 55-64 Разработка программного обеспечения это отдельная наукоемкая, инженерная область с собственной структурой, терминологией, процессами и ресурсами. Программный продукт основан на знаниях и является результатом действий, основанных на знаниях. В этом исследовании представлена классификация онтологий инженерии программного обеспечения. Принцип классификации онто-логий основан на представлении инженерии программного обеспечения в виде доменов. Категории классификации – процесс, домен, структура. Онтологии участвуют в представлении знаний трех типов доменов. В первом, прикладном домене, основное внимание уделяется пониманию потребностей клиента и того, что должен выполнять программный продукт. Во втором, домене реализации, основное внимание уделяется пониманию того, как программный продукт должен вести себя и реагировать на потребности клиентов. В третьем, проблемном домене, основное внимание уделяется пониманию собственных проблем инженерии программного обеспечения, которые могут возникать при создании и со-провождении программного продукта. Цель исследования – разработать классификацию онтологий инженерии программного обеспечения для поддержки программных процессов. Методы: онтологическое представление знаний о программном обеспечении; доменный анализ; объектно-ориентированное программирование; онтологическое использование стилей программирования. Результаты: классификация онтологий инженерии программного обеспечения и подходов к разработке программного обеспечения. Представлены результаты двух практических реализаций – средств доменного анализа и проверки стиля программирования с использованием онтологий, показана связь с введенной классификацией. Обсуждение: применение классификации делает применение онтологий в инженерии программного обеспечения простым и понятным, что де-монстрируется на примерах реализации архитектуры инструментариев доменного анализа и средств для правил проверки правил стиля име-нования стандарта языка Java.Problems in programming 2018; 1: 55-64 Розробка програмного забезпечення – це окрема науково-практична сфера з власною структурою, термінологією, процесами та ресурсами. Програмний продукт є продуктом, основаним на знаннях, і це результат дій, заснованих на знаннях. В роботі представлено використання онтологій у інженерії програмного забезпечення. Принцип класифікування онтологій засновано на представленні світу інженерії програмного забезпечення у вигляді доменів. Онтології беруть участь у представленні знань трьох типів доменів. В першому, домені застосунків, основна увага приділяється розумінню потреб клієнта та того, що має виконувати програмний продукт. В другому, домені реалізації, основна увага приділяється розумінню того, як програмний продукт повинен вести себе і реагувати на потреби клієнтів. У третьому, проблемному домені, основна увага приділяється розумінню власних проблем розробки програмного забезпечення, які можуть виникнути при створенні та супроводженні програмного продукту. Мета дослідження – розробка класифікації онтологій інженерії програмного забезпечення для підтримки програмних процесів. Методи: онтологічне подання знань з програмного забезпечення; доменний аналіз; об’єктно-орієнтоване програмування; онтологічне використання стилів програмування. Результати: категоризація онтологій інженерії програмного забезпечення. Представлені результати практичних досліджень з використанням онтологій шляхом категоризації. Обговорення: застосування класифікації онтологій інженерії програмного забезпечення забезпечує, прозоре використання онтологій що демонструється на прикладах архітектури інструментаріїв доменного аналізу та засобів для контролю правил іменування стандарту Java.Problems in programming 2018; 1: 55-64 Інститут програмних систем НАН України 2018-10-09 Article Article application/pdf https://pp.isofts.kiev.ua/index.php/ojs1/article/view/238 10.15407/pp2018.01.055 PROBLEMS IN PROGRAMMING; No 1 (2018); 55-64 ПРОБЛЕМЫ ПРОГРАММИРОВАНИЯ; No 1 (2018); 55-64 ПРОБЛЕМИ ПРОГРАМУВАННЯ; No 1 (2018); 55-64 1727-4907 10.15407/pp2018.01 en https://pp.isofts.kiev.ua/index.php/ojs1/article/view/238/234 Copyright (c) 2018 PROBLEMS OF PROGRAMMING
institution Problems in programming
baseUrl_str https://pp.isofts.kiev.ua/index.php/ojs1/oai
datestamp_date 2024-04-28T11:34:16Z
collection OJS
language English
topic software engineering;programming
ontology
categorization
domain analysis
programming style
UDC 502:004.45 (075.8)
spellingShingle software engineering;programming
ontology
categorization
domain analysis
programming style
UDC 502:004.45 (075.8)
Sydorov, N.A.
Sydorova, N.N.
Mendzebrovsky, I.B.
Software engineering ontologies categorization
topic_facet software engineering;programming
ontology
categorization
domain analysis
programming style
UDC 502:004.45 (075.8)
инженерия программного обеспечения
программирование
онтология
классификация
доменный анализ
стиль программирования
УДК 502:004.45 (075.8)
інженерія програмного забезпечення
програмування
онтологія
класіфікування
домений аналіз
стиль програмування
УДК 502:004.45 (075.8)
format Article
author Sydorov, N.A.
Sydorova, N.N.
Mendzebrovsky, I.B.
author_facet Sydorov, N.A.
Sydorova, N.N.
Mendzebrovsky, I.B.
author_sort Sydorov, N.A.
title Software engineering ontologies categorization
title_short Software engineering ontologies categorization
title_full Software engineering ontologies categorization
title_fullStr Software engineering ontologies categorization
title_full_unstemmed Software engineering ontologies categorization
title_sort software engineering ontologies categorization
title_alt Классификация онтологий инженерии программного обеспечения
Класифікація онтологій інженерії програмного забезпечення
description Software engineering is an own scientific and practice aria with an own structure, terminology, products, pro-cesses and resources. The software product is a knowledge-based product and it is the result of the knowledge-based actions. In this research, categorization of ontologies in software engineering are presented. The known criterion (process, domain, structure) are used for the categorization of ontologies but two criterion (process and domain) was modified. The process criterions is looked in the connection whit time period and the prede-velopment time added to time period. The domain criterions is making whit help of the representation of soft-ware engineering world in the form of domains. The ontologies are involved in representing knowledge of three types of the software engineering domains. In the first, the application domain, the focus is on under-standing the customer needs and what the software product must do. In the second, the implementation do-main, the focus is on understanding how the software product must behave and respond to the customer needs. In the third, the problem domain, the focus is on understanding the software engineering problems, which can be during software life cycle processes of the software product. Our research goal is to develop categorization of the software engineering ontologies on the base of adding known criterion. Ontological representation of software engineering knowledge; categorization; domain analysis; object-oriented programming; ontology-driven utilizing of programming styles. Categorization of the software engineering ontologies. The results of case study, using ontologies by categorization are presented. Had developed categorization of ontologies, it is possible exactly to define types of software engineering ontologies and its places into software processes. This is demonstrating on the examples of the case studies.Problems in programming 2018; 1: 55-64
publisher Інститут програмних систем НАН України
publishDate 2018
url https://pp.isofts.kiev.ua/index.php/ojs1/article/view/238
work_keys_str_mv AT sydorovna softwareengineeringontologiescategorization
AT sydorovann softwareengineeringontologiescategorization
AT mendzebrovskyib softwareengineeringontologiescategorization
AT sydorovna klassifikaciâontologijinženeriiprogrammnogoobespečeniâ
AT sydorovann klassifikaciâontologijinženeriiprogrammnogoobespečeniâ
AT mendzebrovskyib klassifikaciâontologijinženeriiprogrammnogoobespečeniâ
AT sydorovna klasifíkacíâontologíjínženerííprogramnogozabezpečennâ
AT sydorovann klasifíkacíâontologíjínženerííprogramnogozabezpečennâ
AT mendzebrovskyib klasifíkacíâontologíjínženerííprogramnogozabezpečennâ
first_indexed 2024-09-25T04:02:52Z
last_indexed 2024-09-25T04:02:52Z
_version_ 1818527356570042368
fulltext Методи та засоби програмної інженерії © N.A. Sydorov, N.N., Sydorova, I.B. Mendzebrovsky, 2018 ISSN 1727-4907. Проблеми програмування. 2018. № 1 55 UDC 502:004.45 (075.8) N.A. Sydorov, N.N. Sydorova, I.B. Mendzebrovsky SOFTWARE ENGINEERING ONTOLOGIES CATEGORIZATION Software engineering is an own scientific and practice aria with an own structure, terminology, products, pro- cesses and resources. The software product is a knowledge-based product and it is the result of the knowledge- based actions. In this research, categorization of ontologies in software engineering are presented. The known criterion (process, domain, structure) are used for the categorization of ontologies but two criterion (process and domain) was modified. The process criterions is looked in the connection whit time period and the prede- velopment time added to time period. The domain criterions is making whit help of the representation of soft- ware engineering world in the form of domains. The ontologies are involved in representing knowledge of three types of the software engineering domains. In the first, the application domain, the focus is on under- standing the customer needs and what the software product must do. In the second, the implementation do- main, the focus is on understanding how the software product must behave and respond to the customer needs. In the third, the problem domain, the focus is on understanding the software engineering problems, which can be during software life cycle processes of the software product. Our research goal is to develop categorization of the software engineering ontologies on the base of adding known criterion. Ontological representation of software engineering knowledge; categorization; domain analysis; object-oriented programming; ontology- driven utilizing of programming styles. Categorization of the software engineering ontologies. The results of case study, using ontologies by categorization are presented. Had developed categorization of ontologies, it is possible exactly to define types of software engineering ontologies and its places into software processes. This is demonstrating on the examples of the case studies. Key words: software engineering, programming, ontology, categorization, domain analysis, programming style. 1. Introduction The software engineering is an own scientific and practice aria with an own struc- ture, terminology, products, processes and resources. The software product is a knowledge-based product and it is the result of the knowledge-based actions. Therefore, the knowledge is main component of software engineering, and representing, proceeding and using of differently knowledge play great role in software engineering. There are three types of domains in the software engineering – the application domain, the problem domain and the implementation domain. The knowledge from these domains are used in the software engineering during the software processes of the software product life cycle. Nowadays the ontologies are the best means for representa- tion and proceeding of the software engineer- ing knowledge. 2. Analysis of latest research and publications Ontology is a model of the world part, which is known in software engineering as a domain (Sidorov, 2007). Typically, the model is represented by a set of objects, properties that are associated with objects, relations be- tween objects and regulations that describe management. Nowadays ontologies are wide- ly used in software engineering for two rea- sons. Firstly, an ontology is a means of repre- senting the knowledge that is used both in the development and maintenance processes of the software, as well as in its utilizing (Ruiz et. al. 2006). Secondly, one can automate the utilizing of the knowledge in software by rep- resenting an ontology formally, with the help of languages or descriptive logic (Dentler 2011, Baader, Calvanese,&Guinness, 2003). In software engineering, the application of ontologies was first classified in 10 direc- tions, in "Software Engineering Body Knowledge". Understanding the role of ontol- ogies in the context of software engineering, development environments and technologies, as well as cases of specific application are given in (Ruiz et. al. 2006). The UML exten- sion and its application for graphic represen- tation of ontologies in software engineering are given in (Wongthongtham, et. al. 2009). Методи та засоби програмної інженерії 56 In view of only one type software engineering domain (the application domain) and two temporal dimensions (development time and run time (Guarino 1998)), the one categoriza- tion of ontologies in software engineering was developed and established on the utilizing of ontologies in software life cycle processes (Happel, Seedorf 2006). The logically catego- rization of software engineering ontologies presented on this results in (Dentler 2011, Baader, Calvanese,& Guinness, 2003). But the categorization is bulky and inaccurate as it uses only one type of the software engineer- ing domains and two temporal dimensions. In our research, two types of the software engi- neering domains (implementation domain, problem domain) are added, and additional the temporal dimension – pre-development time is introducing. 3. Purpose and objectives of the research In this research, the ontologies categorization in software engineering are presented. The first focus categorizing ontologies is making on the representation of software engineering world in the form of domains. The ontologies are involved in representing knowledge of three types of domains. Firstly, the application domain, the focus is on understanding the customer needs and what the software product must do. Secondly, the implementation domain, the focus is on understanding how the software product must behave and respond to the customer needs. Thirdly, the problem domain, the focus is on understanding the of software engineering problems, that can be during the software life cycle. The second focus categorizing ontologies is making on the software life cycle time periods. The software life cycle includes the three time periods – predevelopment, development and run. The research hypothesis is as the domain view can assistance in understanding the role of ontology in the software engineering. The research goal is to present utilizing ontologies in software engineering in whole and on the examples of the case studies of authors. 4. Categorization of ontologies The categorization of ontologies was introduced on the base of two categories (Happel, Seedorf 2006): a domain and soft- ware process time period. In our research also, its categories are using. But our cate- gorization is built on the connection terms time period, domain, and software process as in (Blum 1994): the essence of the soft- ware process is the progression from identi- fication of the need in some application domain to the creation of a software product in implementation domain that responds to that need. Thus, the software process in- volves two domains: the application do- main, where a task is to be solved, and the implementation domain, where software- based solution to that task is to be executed (application software is created). In our re- search, the third domain is using. It is called the problem domain, where the software engineering problems are to be solved. For example, the new method or (and) technol- ogy is (are) need for solving of tasks from application or (and) implementation do- mains. Considering the temporal dimension (Guarino 1998) and pre-development time dimension added, in our research, three the temporal dimensions are looking – pre- development time, development time, and run time. The main actions during pre- development time are actions of domain analysis (Prieto-Diaz 1990, Mendzebrov- skiy 2017). For the implementation domain and the application domain, these actions are fulfilled on the legacy software prod- ucts. To finish the categorization of ontolo- gies will use the structure dimension catego- ry (Guarino 1998), when the ontology can be used as part of software environment or part of software product (software arti- fact/information resource). In view of ap- proaches of using ontologies in the software engineering (Happel, Seedorf 2006) and processes of the software life cycle (Si- dorov, 2007), the following categorization of ontologies was proposed in this research (Fig. 1). Методи та засоби програмної інженерії 57 Software engineering ontologies Process Domain Structure Pre Develop ment Time Process es Ontolog ies Develop ment Time Process es Ontolog ies Run Time Process es Ontolog ies Applicat ion Domain Ontolog ies Implem entation Domain Ontolog ies Problem Domain Ontolog ies Environme nt Ontologies Software Ontologies Figure 1. The categorization of the software engineering ontologies The proposed categorization uses of three categories – the software process (it is in time periods), the software engineering do- main, and the software structure (Fig. 1). Thus, in that research, the software engineer- ing ontologies are divided on the software engineering processes ontologies (pre- development time processes ontologies, de- velopment time processes ontologies, run time processes ontologies), on the software engineering domain ontologies (application domain ontologies, implementation domain ontologies, problem domain ontologies), and software structure ontologies (environment ontologies, software product ontologies). The software engineering domains ontologies can be created during pre-development time, they are called pre-development time ontologies, consist of reusable components and they can be used into development-time and run time software engineering processes of the soft- ware life cycle. The software development approaches was described in (Happel, Seedorf 2006). In (Sydorov, Mendzebrov- sky&Sydorova 2017), the ontology-driven pre-development approach is introducing. Ontology-driven pre-development subsumes the usage of ontologies at pre-development time (during domain analysis) that describe the software engineering domains. 5. Case study In this part of the article will present the results of case study, using ontologies by introduced categorization. Into 4.1 section, the examples of pre-development time pro- cesses ontologies are presented. Into 4.2 sec- tion, the examples of run time processes on- tologies for developer and user are presented. Domain analysis ontologies. Software reuse can be improved by identifying objects and operations for a class of similar software products, i.e., for a certain domain. In the con- text of software engineering, domains are application, implementation and problem are- as. Examples of domains are airline reserva- tion (application domain), the airline reserva- tion software system (implementation do- main), and green software problems of the airline reservation software system (problem domain). The scope of a domain can be cho- sen arbitrarily, either broad, e.g., banking, or as narrow as simple text editing. Usually broad domains are built on top of several nar- row domains. Domain analysis is the activity that discovers and formally describes the commonalities and variability within a do- main (Sydorov, Mendzebroskiy&Malin 2009). The domain engineer captures and organizes this information in a set of domain models with the end of making it reusable when creating new software product. The output of domain analysis is a domain model: an explicit representation of knowledge about the domain. For the formal representations of the domain analysis results can be utilized ontologies. In case study domain model is a description of objects, properties and relations in domain and consists of the following (Bondarenko. et. al. 2009): domain language, competencies and skills repository, software Методи та засоби програмної інженерії 58 engineering education template. The main problem of domain analysis is creating the set of tools for automation utilizing of the con- crete domain analysis method (Mendzebrov- skiy 2017). The method of domain analysis is depending from domain characteristics and domain analysis goals. In (Mendzebrovskiy 2017) was proposed approach for automation creating domain analysis tools on the base of the MS Office platform. In context of ap- proach two methods was proposed. The first method is called “in small”, when the separate process of domain analysis is automated with help of MS Office tool, for example, MS Vi- sio is using for representing ontologies dia- grams whit the help of UML (Wongthongtham et. al. 2009). The second method is called “in large”, when the all pro- cesses of domain analysis are automated with help of all tools of the MS Office. Provision of domain analysis using the developed tools is considered on the example of educational application domain for the specialty "Soft- ware engineering". The competences of a specialist are considered as reusable compo- nents. The application domain includes, but is not limited to, existing knowledge recom- mendations in the field under consideration (Bondarenko. et. al. 2009, Sydorova 2012), existing education system, and the legislation. The result of domain analysis is a list of com- petencies and disciplines, as well as a reusa- ble template for the "Software engineering" education standard in Ukraine. Considering the activity of a specialist (bachelor) and the domain view in the context of software engi- neering, a general ontology is considered in three aspects (Fig. 2). The bachelor (domain expert) learns the task from an application domain and creates the pre-development time processes ontologies for software product. He (her), having studied the applica- tion domain and interacting with the custom- er, implements software processes that are aimed at the development of a software prod- uct in the implementation domain. The soft- ware product will be used in the application domain. If a bachelor has problems related to the implementation of software processes, he (her) solves them within the problem domain. A bachelor implements software processes, creating a software product for the application domain. That is why, he should have knowledge of the application domain (to be the application domain expert) (Fig. 3), and interacting with the subjects (customers) of the application domain. That he should have the appropriate communication knowledge and skills (Fig. 4). The pre-development time processes ontologies (Fig. 2, 3, 4) can be used during the development time or (and) the run time periods. :Software product :Task :Bachelor :Software processes 1.Learns 3. Develops 3.2 For creating 4. Is used for :Problem 2.Solves 3.1 Implements Figure 2. General ontology Методи та засоби програмної інженерії 59 Task Content Properties Application expert Software product Knows Uses Is used for decide Decides From Has Figure 3. Application domain ontology Х Provide for Include Consists of Provide for Knowledge of bachalor Skills of bachalor Implementation software processes means Implementation software project methods Professional communication & Develop and maintenance technology Develop and maintenance means and methods Application domain knowledge Group Dynamic Figure 4. Knowledge and skills of bachelor ontology Ontology-driven using of pro- gramming styles. Activities of a program- mer will be more effective, and the software will be more understandable when within the process of software development, the pro- gramming styles (standards) will be used, providing clarity of software texts. Pro- gramming stylistics problems arose in the period before the structured programming, but nowadays they remain relevant (Sidorov, Sidorova&Pirog 2017). The existing prob- lems of using the standards such as (Si- dorova 2015): opposition of development team to use standards; developers “forget- ting” to use standards; management thinking that the implementation of standards is too Методи та засоби програмної інженерії 60 expensive, are resolved by developing and using tools that automate the corresponding processes. In the paper (Sidorova 2015), new method of programming styles application based on the ontology has been proposed. To apply the style, a programmer should decide two tasks: study the description of the style; use and control the style during the coding. Thus, it requires two tools - one for studying the style and the other one to control the use of this style. Both tools are based on the presentation of the style. That is why the form of this presentation affects the efficien- cy of processes performed by a programmer and the efficiency of tools. It is proposed to use the ontology as a form of knowledge representation about programming style (Si- dorova Kramar 2014) (Fig. 5). Using appropriate tool (e.g. Protégé (Protégé), a formal representation of pro- gramming style – an ontology is developed. A programmer for coding uses ontology as information resource. Therefore, two tools are required – one for creating an ontology and assisting the programmer, the second one to control the implementation of style during the coding (Fig. 6). For these tools two categories ontologies are needed. The first, the run time processes ontology for ontology-enabled architecture is the result ontology-driven pre-development. The sec- ond, the run time processes ontology for on- tology-based architecture. Style artifacts (Documentation) Task requarements Style ontology Source code Лицо Coding Programmer Figure 5. Ontology of style in programming Style artifacts (Documentation) Protege Task requarements Reasoner Style ontology Source code Лицо Source code ontology Use Create Use Code Assist Figure 6. Ontology tools Методи та засоби програмної інженерії 61 The first tool, during predevelopment time processes in application domain creates the run time processes ontology template (reusable asset), which is defining, general programming standards properties. Style analyst using Protégé setup template on par- ticular programming standard. After then the programmer uses ontology like software product ontology – information resource (Fig. 1) in run time to study programming standard (ontology-enabled architecture (Happel, Seedorf 2006). Examples of tem- plate ontologies on the fig.7, fig. 8 are pre- sented. The second tool is a reasoner [3]. In terms of descriptive logic, the reasoner solves one major problem – verifies con- sistency of the ontology (Dentler 2011). This problem has certain features for the task of programming style implementation (Fig. 9) (Sidorov, Sidorova&Pirog 2017). Protege is used to create TBox, which includes terms describing programming style (Style Ontology, Fig. 7, 8, 9). The assertions about the source code – ABox (source code ontology, Fig. 9) are created according to the source code that is written by a programmer. Reasoner provides appropriate service based on TBox and ABox (Sidorov, Si- dorova&Pirog 2017). But it should be not only assertion about knowledge base consist- ence, i.e. compliance of ABox assertions re- garding TBox, but also indications of specific stylistic errors in the source code in case of inconsistency of the style knowledge base (Fig. 9). Thus, “regular” reasoner will not fully satisfy this service. Therefore, the im- plementation of corresponding Style Ontolo- gy Reasoner (SOReasoner) was implemented (Sidorov, Sidorova&Pirog 2017). Rules of style Semantic rulesSyntax rules Is aIs a Pragmatic rules Is a Figure 7. Style rules ontology ` Programming Style Programming style rulesRules of variables Rules of statements File organization rules Rules of classes included Comment rules Rules of moduleRules of subroutine Rules of methods Figure 8. Programming style rules ontology Методи та засоби програмної інженерії 62 Style Knowledge Base Style ontology Source code ontology TBox ABox Style artifacts (Documentation) Source cod Ontology Reasoner Consistency Inconsistency (Style errors in source cod) Figure 9. Model of style knowledge Base As far as the ABox assertions for the operation of SOReasoner are not generated to TBox, the style ontology should be imple- mented in a format for SOReasoner. This format is recorded in a pattern on OWL, which is used for creating style ontology (Fig. 6). As far as the ABox assertions for the operation of SOReasoner are not generated to TBox, the style ontology should be im- plemented in a format for SOReasoner. This format is recorded in an ontology pattern on OWL, which is used for creating style ontol- ogy. Means for the creation of OWL tem- plate (OWLParser) and ABox (SourceCode- Parser) are united in Style Ontology Reason- er (SOReasoner) that is the ontology-based architecture (Happel, Seedorf 2006). Conclusion In this research, categorization of the software engineering ontologies for support- ing software life cycle processes is proposed. The categorization scheme is presented. Im- plementation details of categorization are giv- en on the examples case studies of domain analysis and naming styles for the Java con- vention. References 1. Baader F.D., Calvanese, D., Guinness Mc. The Description Logic Handbook: Theory, implementation, and applications. Cambridge University Press. 2003. 320 р. 2. Blum B. A taxonomy of Software Develop- ment Methods. Communication of the ACM. 1994. Vol. 37, N 11. P. 82–94. 3. Bondarenko M., Sydorov M., Morozova T., Mendzebrovskiy I. Model of a graduate of Bachelor’s degree “Software engineering”. Higher education, 2009. N 4. P. 50–61. 4. Guarino N. Formal ontology in information systems. Proceedings of FOIS’98, Trento, Ita- ly, Amsterdam, IOS Press. 1998, P. 3–15. Методи та засоби програмної інженерії 63 5. Happel H., Seedorf S. Applications of ontolo- gies in software engineering, Proceedings of 2nd International Workshop on Semantic Web Enabled Software Engineering (SWESE 2006), Athens, GA, U.S.A. 2006. P. 1–14. 6. Dentler K., Cornet R., Teije A., Keizer N. 2011, Comparison of Reasoners for large Ontologies in the OWL 2 EL Profile. Available from: http://www.semantic-web- journal.net/ sites/default/files/swj120_2.pdf. – Title from the screen. 7. Mendzebrovskiy I. Domain analysis tool, Materials of the International Conference “Software Engineering 2017”. Kyiv. 2017. P. 30. 8. Prieto-Diaz R. Domain analysis: Introduction, ACM SIGSOFT, Software engineering notes. 1990. Vol. 15, N 2. P. 47–54. 9. Protégé, Available from: http://protege.stanford.edu. Назва з екрана (Protégé, Режим доступу: http://protege.stanford.edu. Назва з екрана). 10. Ruiz F., Hilera J., Calero C., Ruiz F., Piat- tini M. Сhapter 2. Using Ontologies in Soft- ware Engineering and Technology. Ontolo- gies for Software Engineering and Software Technology, Berlin, Heidelberg, Springer, 2006. P. 62–102. 11. Sidorov M. Software engineering, NAU, Ky- iv, 2007. P. 135. 12. Sidorov N. Software stylistics, Proc. of the National Aviation University, 2005. N 2. P. 98–103. Available from: 10.18372/2306- 1472.24.1152. 13. Sidorov N., Sidorova N., Pirog A. Ontology- driven tool for utilizing programming styles, Proc. of the National Aviation University, 2017. N 2, P. 98–103. Available from: 10.18372/2306-1472.24.1152. 14. Sidorova N. Ontology-driven method using programming styles. Software engineering. 2015. N 2. P. 19–29. 15. Sydorov M., Mendzebroskiy I., Malin I. Do- main analysis – way of proving development of branch educational standards. Knowledge- based technologies, NAU, Kyiv. 2009. B. 4, N 4. P. 59–63. 16. Sydorov N., Mendzebrovsky I., Sydorova N. Ontologies in software engineering. Kyiv. 2017. т. 198, P. 68–71.) 17. Sydorova N. Formation of preparedness of software engineering bachelors for profes- sional communication, Proceedings of the Na- tional Aviation University. 2012. N 3. P. 94–100. 18. Sidorova N., Kramar Y. Ontology of pro- gramming style, Proc. the sixth world longest “Aviation in the XXI-st Century, 2014. Vol. 1. P.1.13.28 – 1.13.36. 19. Wongthongtham P., Chang E., Dillon T., Sommerville I. Development of a Software Engineering Ontology for Multi-site Software Development, IEEE Transactions on knowledge and data engineering. 2009. Vol. 21 (8). P. 1205–1217. Література 1. Baader F.D., Calvanese, D., Guinness Mc. The Description Logic Handbook: Theory, implementation, and applications. Cambridge University Press. 2003. 320 р. 2. Blum B. A taxonomy of Software Develop- ment Methods. Communication of the ACM. 1994. Vol. 37, N 11. P. 82–94. 3. Бондаренко М., Сидоров М., Морозова Т., Мендзебровський І. Модель випускника бакалаврату «Програмна інженерія», Ви- ща школа. 2009. № 4. C. 50–61. 4. Guarino N. Formal ontology in information systems. Proceedings of FOIS’98, Trento, Italy, Amsterdam, IOS Press. 1998, P. 3–15. 5. Happel H., Seedorf S. Applications of on- tologies in software engineering, Proceed- ings of 2nd International Workshop on Se- mantic Web Enabled Software Engineering (SWESE 2006), Athens, GA, U.S.A. 2006. P. 1–14. 6. Dentler K., Cornet R., Teije A., Keizer N. 2011, Comparison of Reasoners for large Ontologies in the OWL 2 EL Profile. Available from: http://www.semantic-web- journal.net/ sites/default/files/swj120_2.pdf. – Title from the screen. 7. Мендзебровський І. Domain analysis tool. Матеріали Міжнародної конференції «Інженерія програмного забезпечення 2017», Kиїв, 2017, C. 30. 8. Prieto-Diaz R. Domain analysis: Introduction, ACM SIGSOFT, Software engineering notes. 1990. Vol. 15, N 2. P. 47–54. 9. Protégé, Available from: http://protege.stanford.edu. – Назва з екрана (Protégé, Режим доступу: http://protege.stanford.edu. – Назва з екрана). http://www.semantic-web-journal.net/sites/default/files/swj120_2.pdf http://www.semantic-web-journal.net/sites/default/files/swj120_2.pdf http://protege.stanford.edu/ http://protege.stanford.edu/ http://dx.doi.org/10.18372/2306-1472.24.1152 http://dx.doi.org/10.18372/2306-1472.24.1152 http://dx.doi.org/10.18372/2306-1472.24.1152 http://www.semantic-web-journal.net/sites/default/files/swj120_2.pdf http://www.semantic-web-journal.net/sites/default/files/swj120_2.pdf http://protege.stanford.edu/ http://protege.stanford.edu/ Методи та засоби програмної інженерії 64 10. Ruiz F., Hilera J., Calero C., Ruiz F., Piat- tini M. Сhapter 2. Using Ontologies in Soft- ware Engineering and Technology. Ontolo- gies for Software Engineering and Software Technology, Berlin, Heidelberg, Springer, 2006. P. 62–102. 11. Sidorov M. Software engineering, NAU, Ky- iv, 2007. P. 135. 12. Sidorov N. Software stylistics, Proc. of the National Aviation University, 2005. N 2. P. 98–103. Available from: 10.18372/2306- 1472.24.1152. 13. Sidorov N., Sidorova N., Pirog A. Ontology- driven tool for utilizing programming styles, Proc. of the National Aviation University, 2017. N 2. P. 98–103. Available from: 10.18372/2306-1472.24.1152. 14. Sidorova N. Ontology-driven method using programming styles. Software engineering. 2015. N 2. P. 19–29. 15. Сидоров М.О., Мендзебровський І.Б., Малін І.В. Доменний аналіз – шлях доказової побудови галузевих освітніх стандартів, Наукоємні технології, НАУ, Київ, 2009. Т. 4, № 4. C. 59–63. 16. Сидоров М., Мендзебровський І., Сидо- рова Н. Наукові записки НаУКМА, Т. 198, Комп’ютерні науки, Київ. 2017. С. 68–71. 17. Сидорова Н.М. Формування готовності бакалаврів з інженерії програмного забез- печення до професійної комунікації, Вісник НАУ. 2012. № 3. C. 94–100. 18. Sidorova N., Kramar Y. Ontology of pro- gramming style, Proc. the sixth world longest “Aviation in the XXI-st Century, 2014. Vol. 1. P.1.13.28 – 1.13.36. 19. Wongthongtham P., Chang E., Dillon T., Sommerville I. Development of a Software Engineering Ontology for Multi-site Software Development, IEEE Transactions on knowledge and data engineering. 2009. Vol. 21 (8). P. 1205–1217. Data received 11.02.2018 About authors: Sidorov Nikolay, Doctor of Engineering Sciences. Professor. Publications: 130. Ukrainian: 118, Foreign: 12 http://orcid.org/0000-0002-3794-780X, Sidorova Nika, Postgraduate student Department of Software Engineering. National Aviation University, Kyiv, Ukraine. Publications: 14. Ukrainian: 14. http://orcid.org/0000-0002-2989-3637, Menzebrovski Igor, Postgraduate student Department of Software Engineering. National Aviation University, Kyiv, Ukraine. Publications: 10. Ukrainian: 9, Foreign: 1. http://orcid.org/0000-0001-9473-6876. Location: E-mail: nikolay.sidorov@livenau.net, sna@nau.edu.ua Tel.: 067 798 0361, 2343600. Department of Software Engineering. National Aviation University, Kyiv, Ukraine. E-mail: nika.sidorova@gmail.com, igor.menzebrovski@iteraconsulting.com http://dx.doi.org/10.18372/2306-1472.24.1152 http://dx.doi.org/10.18372/2306-1472.24.1152 http://dx.doi.org/10.18372/2306-1472.24.1152 https://orcid.org/0000-0002-2989-3637 mailto:nikolay.sidorov@livenau.net mailto:sna@nau.edu.ua mailto:nika.sidorova@gmail.com mailto:igor.menzebrovski@iteraconsulting.com