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 |
---|---|
Автори: | , , |
Формат: | Стаття |
Мова: | English |
Опубліковано: |
Інститут програмних систем НАН України
2018
|
Теми: | |
Онлайн доступ: | https://pp.isofts.kiev.ua/index.php/ojs1/article/view/238 |
Теги: |
Додати тег
Немає тегів, Будьте першим, хто поставить тег для цього запису!
|
Назва журналу: | Problems in programming |
Завантажити файл: |
Репозитарії
Problems in programmingid |
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
|