=Paper= {{Paper |id=Vol-3171/paper57 |storemode=property |title=Methods of Creating Service-oriented Software Systems |pdfUrl=https://ceur-ws.org/Vol-3171/paper57.pdf |volume=Vol-3171 |authors=Andrii Kozyriev,Svitlana Litvin |dblpUrl=https://dblp.org/rec/conf/colins/KozyrievL22 }} ==Methods of Creating Service-oriented Software Systems== https://ceur-ws.org/Vol-3171/paper57.pdf
Methods of Creating Service-oriented Software Systems
Andrii Kozyriev 1, Svitlana Litvin 1
1
    Kharkiv National University of Radioelectronics, Nauky ave. 14, Kharkiv, 61166, Ukraine


                 Abstract
                 The object of research is service-oriented architectures and ontological models.
                 The aim of the work is to create a formalism for describing the interaction of services and
                 algorithms for building web service interfaces for the implementation of an effective SOA-
                 system using a paradigm based on ontologies of data access.
                 The result is algorithms for automated construction of web service interfaces for SOA-
                 architecture, which allow to automatically build web-service interfaces.

                 Keywords1
                 Ontologies, service-oriented architectures, intellectual analysis, semantic analysis, data
                 access.

1. Introduction
    The growing popularity of technologies such as cloud computing, distributed systems, and
Semantic Web in recent years on the Internet shows the relevance of the task of organizing interaction
of Internet resources among themselves. Service-oriented architecture (SOA) provides such
interaction of software development.
    At present there are many systems for creation of web applications with SOA architecture: IBM,
Microsoft .NET, Oracle SOA Suite. The necessity of such systems is caused by problems of EAI
(Enterprise Application Integration) [1].
    EAI is an integration architecture that consists of a set of technologies and methods for integrating
systems and applications across corporate architectures to simplify and automate business processes.
    To implement the SOA system, it is necessary to create formalism for describing system processes
by ontology and effective algorithms or to improve existing OBDA (Ontology Based Data Access)
algorithms.
    To achieve the goal of work, the following tasks must be solved:
    1. Carry out analysis of basic types of cooperation structures of SOA-services;
    2. Develop algorithms of description and analysis of conceptual model of SOA-system, oriented
    on ontological approach, which allows to adequately describe interaction of web-services;
    3. Design algorithms of automated construction of interfaces of web-services for SOA-
    architecture, which allow to build interfaces of web-services based on ontology;
    4. Develop the software implementation of SOA-system, which uses received algorithms of
    automated construction of interfaces of interaction of web-services.




COLINS-2022: 6th International Conference on Computational Linguistics and Intelligent Systems, May 12–13, 2022, Gliwice, Poland.
EMAIL: andrii.kozyriev@nure.ua (A. Kozyriev); svitlana.litvin@nure.ua (S. Litvin).
ORCID:0000-0001-6383-5222 (A. Kozyriev); 0000-0002-7183-6345 (S. Litvin).
            ©️ 2022 Copyright for this paper by its authors.
            Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0).
            CEUR Workshop Proceedings (CEUR-WS.org)
2. Analysis of the problem resolution and substantiation
2.1. General concepts of SOA-systems
    With the growing popularity of technologies such as cloud computing, distributed systems, and
Semantic Web on the Internet, the task of organizing interaction of Internet resources among each
other is urgent. To provide such interaction allows service-oriented architecture (SOA) of software
development [3].
    The central concept of SOA architecture is service [3]. The name service is defined in the
dictionaries as performance of works (functions) for each other.
    The services are the central concept of SOA architecture because they implement the concept of
scale because of transparency and easy integration. Transparency is expressed through a description
of the service, which contains information necessary for interaction with the service, and describes it
in such terms as incoming data of services, source data of services and related information.
    The following are three main structures that characterize SOA systems in terms of internal
composition and interaction with computing environment [3]:
    •    Composite service – a parent service with a complex structure that covers one or more simple
    subsidiaries, which are approved by the outside world – this formation can be presented in the
    form of a hierarchical structure;
    •    Service cluster is a group of services distributed on the purpose and technology-related
    services, which interact to solve the task.
    SOA-architecture provides creation of application software systems, built by means of distributed
interaction services [4].

2.2.    Web services as modern tools of global networks
   When developing a system for Internet the main object of the SOA concept is a web-service – a
web-address program system that can be identified by a web-address, which is equipped with
standardized interfaces for interaction on standardized protocols [5].
   There are many implementations of SOA-architecture: Rest, RPC, DCOM, CORBA, SOAP.
Currently, most software solutions developed in accordance with service-oriented architecture often
use a complex of web services interacting with the protocol SOAP.




Figure 1: The SOAP protocol structure

   SOAP (Simple Object Access Protocol) is a protocol for exchanging structured information in a
distribution computing environment for the implementation of web services in computer networks.
The SOAP protocol is used to exchange XML messages and to call remote procedures (RPC). As a
result, the XML-RPC protocol is extended. SOAP interacts with all application layer protocols and is
most used over HTTP [5]. The SOAP [6] protocol structure is shown in Fig. 1.
   WSDL (Web Services Description Language) – this XML language specification is intended to
create documents that describe web services in detail and how they are accessed. Each WSDL
document contains the following basic information about web services:
   •    Types, sent and received by the XML message service;
   •    Messages sent by the web service;
   •    Binding – the way the message will be delivered.
   As shortcomings it is worth noting that application of SOAP increases volume of messages and
processing time, necessary time to build web-service based on SOAP or other tools [7].

2.3.    Analysis of semantic web technologies
    Semantic Web (semantics) is a promising industry in the field of Internet development [8]. The
main task of Semantic Web is to present information in a form suitable for machine processing. The
main tools of semantics web are semantics networks, universal resource identifiers (URIs) and
ontology [9].
    The following is a detailed summary of the major Semantic Web tools [10]. The Semantic Web
structure consists of many language descriptions approved by the W3C Consortium. This set, among
other things, contains URI, XML, RDF, RDF-S, OWL [11] (see Fig. 2).




Figure 2: Understand Semantic Web [11]

    URI is a universal resource identifier, usually used to reference an object using HTTP on the
Internet. Because the URI is globally unique, they allow you to identify the same objects in different
locations in the Semantic Web environment [10].
    XML is an extended markup language that does not carry semantics. The structure of the XML
document is defined by the XML Schema specification [12].
    RDF is a standard that describes the graphs in which arcs and nodes contain URI. The format of
the RDF-data description is a "subject-relation-object" triplet.
    The W3C Consortium created an XML schema for the RDF document description. The following
is an example of an RDF-document that describes part of the business processes of the Internet-shop
[10] (see Fig. 3).




Figure 3: example of RDF-document graph
    RDF graphs can be used for ontology [13], described by RDF-S and OWL.
    OWL (Web Ontology Language) is an ontology description language for Semantic Web
technology. OWL allows you to describe web documents and reality objects in the format of
descriptive logics. A URI is associated with each OWL ontology object.
    A new version of the OWL 2 web ontology language has been developed [27]. OWL 2 has a
similar structure and is compatible with OWL 1. These factors make it possible to integrate OWL 1
ontologies into OWL 2 ontologies, but not vice versa. At the same time, OWL 2 adds new
functionality and several new profiles. OWL 2 extends expressive power to the SROIQ descriptive
logic format. The emergence of this factor has led to the weakening of restrictions on OWL DL. The
following are the new features of OWL 2 compared to OWL 1 [28]:
    •   Advanced set of data types and ranges;
    •   Keys;
    •   More elaborate descriptions of annotations;
    •   Chain of properties;
    •   Outstanding properties;
    •   Asymmetric properties;
    •   Reflexive properties.

2.4. Knowledge bases and descriptive logic for description of conceptual
models
    Knowledge Base (KB) is a description that covers a specific subject area. Knowledge bases are
most often used for building intellectual systems [14].
    Intellectual system is a technical or software system that can solve tasks traditionally considered
creative, belonging to a specific subject area, knowledge about which is stored in memory of such
system [14].
    Ontology is the hierarchical way of representation in the knowledge base of the set of
understanding and their relations [16].
    Concepts or classes are abstract sets of objects. They contain copies or subclasses [17].
    Indices or instances are specific material or ideal objects.
    Classes and indices in ontology may contain attributes that are used to store information.
    Attributes define the relationship between ontology objects. In most cases, the ratio becomes the
attribute of the object with the value as another object.
    Ontology is divided into general and applied. General or basic ontologies contain universal
concepts for most subject areas. This type of ontology means the presence of a basic set of terms.
There is a practical implementation of technologies of unification of ontology, where general
ontology is used [18].
    Description logics (DL) [18] are used as a description of ontology. Descriptive logic was created
to expand semantics and frame structures by mechanisms of formal logic.
    In terms of DL knowledge of KB is divided into:
    •     TBox is a set of terms of a general kind called a term that can describe a subject area or
    conceptual data model, such as an entity-relationship (ER) model [19]. ER-data model is used for
    designing relational databases [19];
    •     ABox is a set of statements about the indicators of private kind.
    Completeness is a property of a finite model property [20]. The presence of the property of
completeness in descriptive logic means that for this logic it is easy to perform logical analysis based
on solved procedures. Computational complexity of logical analysis of descriptive logics is a
characteristic that determines the dependence of the required amount of memory and time to perform
the algorithm on the size of the input data.
    Computational complexity is one of the main problems in the development of descriptive logics.
The study of algorithm optimization begins with determining the class of computational complexity
of the problem that the algorithm must solve [27]. Understanding the principles of complexity
reduction in descriptive logics allows not only to choose the appropriate logic to describe ontologies,
but also to use this knowledge in designing a knowledge base [21].
   The task of building an SOA-system should be solved by applying the paradigm based on
ontologies of data access (OBDA – Ontology-Based Data Access). OBDA is access to data through a
high-level ontology interface [7].
   The implementation of the OBDA system should allow obtaining data from ABox stored in
databases. The efficiency of data access is achieved by displaying requests in a relational database
environment, which has effective means for processing requests and other benefits. TBox should be
used to provide the necessary semantic information at a higher conceptual level. The proposed
scheme allows reasoning on TBox and ABox independently of each other [24].

3. Description of theoretical research carried out
3.1. Description of SOA models
    As the basic theoretical concept, service-oriented architecture (SOA) is used, which is a paradigm
of software development by application of distributed weak-connected components [1]. When
developing a system for Internet the main object of the SOA concept is a web-service – a software
system that can be identified by a web address, equipped with standardized interfaces for interaction
on standardized protocols.
    To build an interface ISOA between two web services you need to have the following information
in the form of three values:
                                          𝐼𝑆𝑂𝐴 = < 𝐶𝑠 , 𝑄𝑠 , 𝑆𝑠 >
   where 𝐶𝑠 – parameter containing the address of the web client requesting the information (client
address), 𝑄𝑠 – many requested information resources (queried resources), 𝑆𝑠 – a parameter that
contains the address of the web service responding with the information (server address).

3.2.    Analysis of descriptive logic methods
    A set of characters (alphabet) is specified to formulate the syntax of any DL language. This set
creates expressions within a specific language. In addition, each language of descriptive logic
contains a set of symbols that allow you to build complex concepts and roles from atomic concepts
and roles [18].
    DL semantics is defined in terms of set theory on the basis that any concept is represented by a set
of denotations, and the role is a binary relation, i.e., a set of pairs [27].
    Interpretation 𝐼 in descriptive logic:
                                               𝐼 = < ∆, 𝐼 >,
    where ∆ – the domain of this interpretation, which is not an empty set, 𝐼 – an interpretive function
that compares any subset of any atomic concept of 𝐴, 𝐴𝐼 ⊆ ∆ and any atomic role of 𝑅 some subset
𝑅𝐼 ⊆ ∆ х ∆.
    If all ABox statements are feasible in interpretation 𝐼, then the ABox formalization of the model in
relation to the knowledge base looks like this. 𝐼 ⊨ 𝛼, where 𝐼 – this is a model 𝛼, 𝛼 – statements or
axioms. The model 𝐼 ⊨ 𝐾 knowledge base 𝐾 = < 𝑇, 𝐴 > there is an interpretation 𝐼, if 𝐼 ⊨ 𝑇 і 𝐼 ⊨
 𝐴. 𝐾, that contains 𝛼, recorded as follows:
    𝐾 ⊨ 𝛼, if all models 𝐾 are also models 𝛼. At the same time TBox 𝑇, which includes 𝛼, is written
as 𝑇 ⊨ 𝛼, if all models 𝑇 are models 𝛼.
    The extension of logic is a small change of the basic language of descriptive logic in order to
strengthen the logic's expression.
    Logic extensions are most often named by adding the base language of the first letter of the name
of the item you added. DL-Lite family name extensions are built using superstring and substring
symbols.
3.3.    Queries within the framework of OBDA architecture
    When building ontological model of SOA-system it is necessary to consider active work of SOA-
architecture with databases (DB) and possibility of using database for processing larger volumes of
data [1]. This system can be built using OBDA technology [15]. This approach uses the advantages of
DL to work with ontology with metadata queries to the database [1]. The basic principle of OBDA
systems operation is to transform (rewrite) the queries to the knowledge base into corresponding
requests of the database. Databases in OBDA technology are a structure of ABox of descriptive logic
[15].
    Among different types of requests, it is easier to work with conjunctive requests [26]. A
conjunctive query to the K-knowledge base is a conjunctive query whose atoms look like 𝐴(𝑧) or
𝑃(𝑧1 , 𝑧2 ), where 𝐴 and 𝑃 – accordingly, atomic concepts and atomic roles in 𝑧, 𝑧1 , 𝑧2 – constants or
variables.
    Let the request 𝑞 – conjunctive request or combination of conjunctive requests. Answer to 𝑞 to the
knowledge base 𝐾 there is a variety 𝑎𝑛𝑠(𝑞, 𝐾) tuples of constants included in 𝐾, for each model 𝑀𝑐
in 𝐾𝑐 . Usually 𝑎𝑛𝑠(𝑞, 𝐾), because the knowledge base 𝐾 finite and the number of constants included
in 𝐾, finished. The tuple may be empty if 𝑞 is a Boolean conjunctive request. In this case, the set
𝑎𝑛𝑠(𝑞, 𝐾) consists of a single empty tuple, if and only if the formula 𝑞 is valid in each model 𝐾.
    Values for the matching area are called input parameters with dependent conditions, if 𝑥 ∈ хС′,
𝑥 ∈ 𝑥𝑠′, where 𝑥 – some element of the query condition. In other cases, the values for compliance are
called input parameters without dependent conditions.
    Example for parameters without conditions. You need to build interfaces (Client 𝐶𝑠 , Data 𝑄𝑠 ,
Server 𝑆𝑠 ), where 𝐶𝑠 – website of some educational portal. In client 𝐶𝑠 from web-services 𝑆𝑠 data will
be sent as 𝑄𝑠 , Which contains information about phone numbers of institutions (Phone). Web services
𝑆𝑠 are educational sites of the city.
    𝑪𝒔 (𝒙𝟏 , 𝒙𝟐 ) ← 𝑬𝒅𝒖𝒄𝒂𝒕𝒊𝒐𝒏𝒑𝒐𝒓𝒕𝒂𝒍(𝒙𝟏 ), 𝑪𝒊𝒕𝒚(𝒙𝟐 );
    𝑸𝒔 (𝒙𝟑 ) ← 𝑷𝒉𝒐𝒏𝒆(𝒙𝟑 );
    𝑺𝒔 (𝒙𝟒 , 𝒙𝟓 ) ← 𝑬𝒅𝒖𝒄𝒂𝒕𝒊𝒐𝒏(𝒙𝟒 ), 𝑪𝒊𝒕𝒚𝒂𝒓𝒆𝒂(𝒙𝟓 ).
    The following is an example for parameters with dependent conditions. The server address request
and the client address request may contain the same condition items, such options are called
conditional options.
    We need to build interfaces (Client 𝐶𝑠 , Data 𝑄𝑠 , Server 𝑆𝑠 ), where all the sites of training portals
(Educationportal) of each city (Centralregion) of the Central region (Centralregion) will display data
on personnel (Personnel) from the web service 𝑆𝑠 . Web services 𝑆𝑠 , in turn, these are educational sites
of the city (City) specified in 𝐶𝑠 . Dependent conditions are denoted by the same variables of the query
condition elements, in this example such a variable – 𝑥3 .
    𝑪𝒔 (𝒙𝟏 , 𝒙𝟐 , 𝒙𝟑 ) ← 𝑬𝒅𝒖𝒄𝒂𝒕𝒊𝒐𝒏𝒑𝒐𝒓𝒕𝒂𝒍(𝒙𝟏 ), 𝑪𝒆𝒏𝒕𝒓𝒂𝒍𝒓𝒆𝒈𝒊𝒐𝒏(𝒙𝟐 ), 𝑪𝒊𝒕𝒚(𝒙𝟑 );
    𝑸𝒔 (𝒙𝟒 ) ← 𝑷𝒆𝒓𝒔𝒐𝒏𝒏𝒆𝒍(𝒙𝟒 );
    𝑺𝒔 (𝒙𝟓 , 𝒙𝟑 ) ← 𝑬𝒅𝒖𝒄𝒂𝒕𝒊𝒐𝒏(𝒙𝟓 ), 𝑪𝒊𝒕𝒚(𝒙𝟑 ).
    To interpret the response to a database query without accounting RBox. Let the request 𝑞 –
conjunctive query or combination of conjunctive queries, and knowledge base 𝐾𝑐 = 𝐾/𝑅𝐵𝑜𝑥, then
the answer to 𝑞 to 𝐾𝑐 there is a variety 𝑠𝑒𝑟𝑣𝑎𝑛𝑠(𝑞, 𝐾𝑐 ) tuples of constants included in 𝐾𝑐 .
    Absence RBox reduces the size TBox and ABox which partially solves the problem of query
growth when responding to an OBDA request.

4. Analysis of research results
4.1. Logical analysis of ontology of SOA-systems
   In order to create algorithms of logical analysis of ontological SOA- system it is necessary to
consider the basic algorithmic tasks connected with the chosen descriptive logic languages and
OBDA paradigm. Definition of these tasks [22].
   Invalidation of knowledge base – check of existence of hosts of one model in
                                     𝐾𝐵 = < 𝑇𝐵𝑜𝑥, 𝐴𝐵𝑜𝑥 >
    Concept or role class – check for existence 𝐵𝐼 ⊆ 𝐶 𝐼 In the arbitrary interpretation 𝐼 for a given
TBox, where 𝐶, 𝐵 are concepts or roles.
    Check of class instance – check for existence 𝑎𝐼 ∈ 𝐴𝐼 in the arbitrary model 𝐼 of the knowledge
base 𝐾, where a is a concept; a is an indicator. Check of the instance of a role is determined
accordingly.
    To avoid bad results of logical analysis algorithms, it is necessary to use explicit criteria for
choosing the language of descriptive logic to solve problems of a particular subject area.
Computational complexity and completeness of algorithms can serve as such criteria.
    In the presence of the completeness factor, the algorithm produces the result of its work after a
finite time.
    The computational complexity of the algorithm determines the dependence of the required amount
of memory and time to perform this algorithm on the size of the input data [23].
    Reducing the computational complexity of algorithms is usually achieved by limiting the
expressiveness of language. Also, the complexity can be reduced by inventing algorithms for a
specific subject area.
    In theoretical computer science, computational complexity of circuits is a subclass of
computational complexity theory, in which Boolean functions are classified depending on the size and
depth of Boolean schemes - mathematical models that calculate functions. 𝐴𝐶 0 – a class of problems
determined by a family of Boolean schemes of constant depth and polynomial size.
    This class can be generated by the determinate Turing machine at a time, which logarithmically
depends on the size of the input data [23].
    Interpretation of 𝑑𝑏 (𝐴) is a minimal model of ABox 𝐴. To do this, we consider a query to
relational databases, in other words, a query to 𝑑𝑏 (𝐴).
    Feasibility in the language of descriptive logic 𝐿 is reduced to the subtraction of first-order
predicates, if for each TBox 𝑇 expressed in 𝐿, there is a logical reducibility of the query 𝑞 in 𝑇. In
addition, for any non-empty ABox 𝐴 − < 𝑇, 𝐴 > must be feasible if and only if 𝑞 = "𝑓𝑎𝑙𝑠𝑒" in
𝑑𝑏 (𝐴).
    The interaction between positive and negative inclusions must be considered. To do this, a special
𝑇𝑏𝑜𝑥 is built, which closes the negative inclusions in relation to the set and positive inclusions:
    •    𝑐𝑎𝑛(𝐾) – model 𝐾 if and only if 𝐾 is feasible;
    •    𝐾 feasible if and only if 𝑑𝑏 (𝐴) is a model < 𝑐𝑙𝑛(𝑇), 𝐴 >;
    •    The interpretation of 𝑑𝑏 (𝐴) is a model of all statements in 𝑐𝑙𝑛 (𝑇) if and only if 𝐾 is
    feasible.
    Because the investment of concepts 𝐶 ⊑ 𝐷 the concept is an equivalent unrealizable concept
𝐶 ⊓ ¬ 𝐷 sufficient decision of other tasks to bring to the tasks of fulfillment [18].
    As a result of the tasks of inclusion and inspection of the instance to the task of checking the
incompatibility of the knowledge base the indicator of the computing difficulty for the task of
checking the incompatibility of the knowledge base extends to the tasks of including and checking the
instance class.
    Concepts or roles are placed in the Ptime class depending on the size of the TBox. The task of
checking the instance is in Logspace class depending on the size of ABox and in Ptime depending on
the size of the whole knowledge base.
    For algorithms to answer queries to the knowledge base 𝐾 of logic DL-LiteR, where 𝑄 – the
combination of conjunctive queries over 𝐾, 𝑞 is a conjunctive query, the following properties are true.
                                            𝑎𝑛𝑠(𝑄, 𝐾) = 𝑄𝑐𝑎𝑛(𝐾)
    For each final interpretation 𝐼𝑘 , there is such that for each 𝑞 before 𝐾𝑎𝑛𝑠(𝑞, 𝐾) = 𝑞𝑖𝑘.
                                      𝑎𝑛𝑠(𝑄, 𝐾) = 𝑎𝑛𝑠(𝑞𝑖, 𝐾 ); 𝑞𝑖 → 𝑞

4.2.    Development of a query transformation algorithm
    Convenience and simplicity of extension of SOA-system – with an increase in the number of
elements of a service-oriented system – it is not necessary to expand algorithms by new structures, it
is necessary only to expand ontology by necessary axioms and statements.
    It is necessary to develop algorithms for realization of correspondence because such algorithms
based on descriptive logic at this time do not exist. At the same time, structured algorithms, as shown
before, do not have the advantage of DL technologies.
    It is necessary to reduce the number of generated requests compared to other algorithms of logical
conclusion. Unlike standard algorithms of logical conclusion, there is a possibility to create a query
algorithm to a database optimized for SOA-task. This algorithm will differ from other algorithms by a
smaller size of the generated queries to the database.
    For ontological SOA-system specific algorithms CRUD based on descriptive logic is necessary.
Optimized algorithm of query transformation to knowledge base. Classic solution to the problem of
answering queries to the logic knowledge base DL-LiteR. It consists of the following items: the
request 𝑞 is processed and formed based on positive inclusions in the TBox. The received request to
ABox is transformed into the request 𝑄′ add data. Here 𝑄′ is a combination of addressed conjunctive
requests to 𝑑𝑏(𝐴).
    Let 𝑞𝑖 – request to calculate first-order predicates, 𝑎𝑖 – convoy constants, 𝐴 – ABox Dl-liteR, 𝑇 –
TBox DL-Lite R, 𝑄 – combining conjunctive queries. Answers to queries in descriptive logic Dl-lite
R, which is reduced to the expressions of subtraction of first-order predicates. This factor is valid
since for each 𝑄 and each 𝑇 there is a query 𝑞1 to 𝑇.
    The following is a modification of the 𝑔𝑟 function of the standard algorithm for overwriting logic
queries DL-LiteR Perfectref. Modification of the function is aimed at transforming queries to create
SOA-interaction interfaces, which is necessary to increase the speed of work and reduce the amount
of redundant information in comparison with classical algorithms for responding to queries of DL-
LiteR logic expressions.
    The maximum number of atoms in the body of the conjunctive query generated by the Rewwr
algorithm is equal to the length of the initial query 𝑞. The length of the request is less than or equal to
𝑛, where 𝑛 is the size of the request, 𝑛 is proportional to the number of atoms and the number of
components of the request.
    The number of terms found in conjunctive queries generated by the Rewwr algorithm is equal to
the number of variables and constants included in 𝑞, plus the symbol «_». So, the cardinality of such a
set is less or equal 𝑛 + 1, where 𝑛 – size of the query.
    The number of different atoms that can occur in conjunctive requests generated by the algorithm is
less or equal 𝑚(𝑛 + 1)2 , 𝑚 = 𝑚1 + 𝑚2, where 𝑚1 – number of concepts or roles in the request. At
the same time 𝑚2 – the number of concepts or roles in the TBox or, if there is no role information in
the request, in the TBox/RBox.
    The algorithm considers the queries it generated.
    The number of different conjunctive queries generated by the algorithm, of course. It follows that
the algorithm does not generate the request more than once. So, the Rewlr algorithm is always
finished.

5. Software implementation of the system of construction of web service
   Interfaces
5.1. Sirsystem architecture
    Based on formalism and algorithms, the intelligent SOA system Sir-system of web services, web
applications and websites has been developed. The Sirsystem program code is written in the Java 11
programming language. It was tested on CentOS, 16 GB RAM, AMD Ryzen 5 5600X. ABox data in
this implementation is stored in the MySQL database management system. SOAP and WSDL
standards are used to describe web service interfaces.
    The following minimum hardware configuration is required for the server machine:
    •    Intel Pentium G4500 or AMD Ryzen 3 1300 CPU;
    •    16 GB RAM;
    •    Disk memory size 100 GB or higher (with the increase of data in the database);
    •    Availability of an Internet connection with a speed of at least 100 Mbps.
    Server software set:
   •    Any Linux OS distro;
   •    Apache web server 2.4 or higher;
   •    PHP 7.4 or higher;
   •    MySQL Community Server 8.0 or higher;
   •    Java Runtime Environment 10.
   The Sirsystem provides a convenient interface between web-services based on SAMAO ontology
and viewing of existing web-services interfaces.
   The Sirsystem includes the following modules:
   •    Interaction module responsible for sending generated program code of web-services
   interfaces;
   •    Calculation module – module that includes algorithms of logical analysis and work with
   Sirsystem;
   •    Ontology, which includes TBox in OWL 2 QL and OWL 2 format, at the same time ontology
   includes ABox in database format in MySQL language;
   •    Interface of interaction of Sir-system with web-services: Sir-interface, which is determined by
   means of SOAP and HTTP protocols, as well as by means of OWL and XML languages;
   •    Cluster of web resources created by means of search of resources in the Internet;
   •    Web resource that is located on the Internet that has a personal URI. The following is an
   ontology developed for Sirsystem. SAMAO is an ontology of educational institutions, developed
   especially for the system of automatic construction of interfaces of interaction of web-services.
   The SAMAO ontology set (TBox) stores the installation data and its territorial location. A set of
   statements (ABox) of ontology SAMAO stores information about addresses of web-services of
   educational institutions and data provided by web-services.

5.2.    Use of object-oriented design
   If there is no relevant data to fill the code, the information from the web resources of the SOA
system Sirsystem is sent to the service personnel of the web resource, for example, the web site of the
educational institution, at the address from the Email field of the Tables of the web-interfaces for
manual entry.
   The program code is given, which demonstrates the way of implementation of algorithms, which
works with descriptive logic, by means of object-oriented programming languages. The following
shows the use of data types developed with the help of the PLO-approach, using the example of Dtref
algorithm implementation. The program code provided converts parameters with dependent variables
into parameters without dependent variables. In the term program code, the type of query elements.
The following is a snippet of the function code in the Java language. The code snippet forms a record
of binding variables in a special array.

int ii = 0;
int nope = 0;

Term[] clientBody = client.getBody();
Term[] serverBody = server.getBody();
Term[] currentTerm1 = new Term[clientBody.length];

// For each element of the request to the client
for (Term term : clientBody) {
    // For each item, i will supply the server
    for (Term value : serverBody) {
        // If the client and server elements are equal, write the element
in the array curterm1
        if (term.toString().equals(value.toString())) {
            currentTerm1[ii] = value.getVariableOrConstant();
            nope++;
            ii++;
          }
     }
}

Term[] currentTerm2 = new Term[ii];
System.arraycopy(currentTerm1, 0, currentTerm2, 0, ii);

if (nope != 0) {
    for (Term term : currentTerm2) {
        curterm += term.toString();
    }
}


6. Description of the possibility of using the results obtained
    Three Sir algorithms were used to test the system and algorithms: SIRR using Perfectref, SIRR
using Requiem and SIR1 algorithm offered in qualification work.
    The test data on which the algorithm was analyzed are composed of ontology created or adapted to
the language OWL 2 QL for testing algorithms of logical analysis.
    SAMAO is an ontology of educational institutions, developed especially for the system of
automatic creation of interfaces of interaction of web-services. SAMAO – marked with SM in Table
5.1.
    Input parameters of the algorithm SIR1(𝐶, 𝑄, 𝑆, 𝑇) and SIRR(𝐶, 𝑄, 𝑆, 𝑇) for test ontology were
chosen from the tests of ontology requests: 𝐶 = 𝑄2, 𝑄 = 𝑄4, 𝑆 = 𝑄3, 𝑇 = 𝑇𝐵𝑜𝑥 ontology.
    The input parameters of the SIR1(C, Q, S, T) algorithm for SAMAO ontology are shown below.
    Conditions-free settings:
    𝑪(𝒙𝟏 , 𝒙𝟐 ) ← 𝑬𝒅𝒖𝒄𝒂𝒕𝒊𝒐𝒏𝒑𝒐𝒓𝒕𝒂𝒍(𝒙𝟏 ),
    𝑸(𝒙𝟑 ) ← 𝑷𝒉𝒐𝒏𝒆(𝒙𝟑 ),
    𝑺(𝒙𝟒 , 𝒙𝟓 ) ← 𝑬𝒅𝒖𝒄𝒂𝒕𝒊𝒐𝒏(𝒙𝟒 ).
    Depending on the conditions:
    𝑪(𝒙𝟏 , 𝒙𝟐 , 𝒙𝟑 ) ← 𝑬𝒅𝒖𝒄𝒂𝒕𝒊𝒐𝒏𝒑𝒐𝒓𝒕𝒂𝒍(𝒙𝟏 ), 𝑪𝒆𝒏𝒕𝒓𝒂𝒍𝒓𝒆𝒈𝒊𝒐𝒏(𝒙𝟐 ), 𝑪𝒊𝒕𝒚(𝒙𝟑 ),
    𝑸(𝒙𝟒 ) ← 𝑷𝒉𝒐𝒏𝒆(𝒙𝟒 ),
    𝑺(𝒙𝟓 , 𝒙𝟑 ) ← 𝑬𝒅𝒖𝒄𝒂𝒕𝒊𝒐𝒏(𝒙𝟓 ), 𝑪𝒊𝒕𝒚(𝒙𝟑 ).
    When the algorithm works, new queries to the databases are created. Generated queries are stored
in text format. To calculate the memory that the results of the algorithm work, it is necessary to
calculate the number of generated queries. The number of generated requests was calculated
according to the formula identical to the formula for calculating the time of the algorithm, with a
difference in that instead of the function of time calculation 𝑡(𝑥), the function of calculating the
number of generated requests was used.
    Experiments were conducted on evaluating the operation of the Dtrew function in the Sir
algorithms, using various approaches to rewriting requests. Algorithms were evaluated on the
ontology of SAMAO. The results are given in Table 1.

Table 1
Operation of the Dtrew function in evaluating of the Sir algorithms
                                Number of generated requests             Execution time, ms
                              Number Number of Number               Time     Time SIRR      Time
        Type of input
                                  of        requests         of     Dtrew (Perfectref)      SIR1
         parameters
                                Dtrew       for SIRR      requests
                              requests (Perfectref) for SIR1
    Without conditions             -           75            68       -          19          14
 With dependent conditions         3          147           113       1          33          21
   At the same time, the SIR1 and SIRR algorithms were evaluated using popular query rewriting
algorithms.
   The algorithms were evaluated on the previously described test ontologies.
   The test results showed that the execution of Sir-algorithms requires a small amount of CPU time
and RAM.
   The developed software can be used as a basis for systems of automatic construction of interfaces
of interaction of web services. The ontology structure required for the system to work has OWL
markup of the Semantic Web standard. This indicator allows the system to move to a semantic
service-oriented architecture (SSOA) based on Semantic Web services.

7. Conclusion
    The SOA system is developed using a paradigm based on ontology of data access. To implement
the SOA system, an algorithm was created for describing the processes of the system with the help of
ontology, created effective algorithms, and improved existing OBDA algorithms for working with
SOA systems.
    The analysis of modern technologies for designing within the framework of SOA paradigm has
been carried out. Classification of similar technologies and approaches is presented. The language
description of interaction of elements of SOA-systems is considered. Revealed shortcomings of
existing approaches to designing interfaces of web-services and EAI-systems. The main types of
cooperation structures of SOA-services are analyzed. An overview of experimental implementations
of OBDA systems working with a family of DL-lite descriptive logic is presented. The existence of
such implementations confirms the practical application of descriptive logic and web-ontology
languages in order to provide ontological access to data.
    Developed algorithms for description and analysis of conceptual model of SOA-system, oriented
on ontological approach, which allows to describe interaction of web-services.
    Developed algorithms of automated construction of interfaces of web-services and CRUD-
algorithms for SOA-architecture, which provide an opportunity of automatic creation of interfaces of
web-services. Algorithms differ from the same speed of construction and the general model. The new
query transformation algorithm for the Sir-system differs from the more general algorithms of query
transformation by speed of work due to ignoring the non-important elements of input data. The
difference in speed between the received algorithm and analogues depends on the number of non-
important elements in ontology.
    The received effective design solutions of the program implementation of Sir-algorithms, using the
PLO approach.

8. References
[1] Hendler A. J. Handbook of Semantic Web Technologies. – Springer, 2019. – 479p.
[2] Semantic Web Technologies in Automotive Repair and Diagnostic // URL:
    http://www.w3.org/2001/ sw/sweo/public/UseCases/Renault/. 3
[3] RIF basic logic dialect // URL:http://www.w3.org/TR/2013/REC-rif-bld-20130205/.
[4] The Description Logic Handbook / F. Baader, D. Calvanese, D. Guinness, D. Nardi, P.
    Schneider. – CambridgeUniversity Press, 2017. – 574 p.
[5] Babenko A., Lempitsky V. Aggregating Deep Convolutional Features for Im- age Retrieval //
    Proceedings of the IEEE International Conference on Computer Vision. – 2018. P. 1269–1277.
[6] Shubin I. Development of conjunctive decomposition tools. CEUR Workshop Proceedings,
    2021, 2870, PP. 890–900.
[7] Shubin, I., Solonska, S., Snisar, S., Slavhorodskyi, V., Skovorodnikova, V. Efficiency Evaluation
    for Radar Signal Processing on the Basis of Spectral-Semantic Model. Proceedings - 15th
    International Conference on Advanced Trends in Radioelectronics, Telecommunications and
    Computer Engineering, TCSET 2020, 2020, PP. 171–174, 9088524
[8] Hinton G. A practical guide to training restricted Boltzmann machines // Momentum. – 2010. –
    № 9(1).
[9] Kim C., Li F. Multiple Hypothesis Tracking Revisited // Proceedings of the IEEE International
     Conference on Computer Vision. – 2019.
[10] Konev A., Chigorin A., Krivovyaz G., Velizhev A., Konushin A. Traffic signs recognition on
     images with training on synthetic data // Technical vision in computer systems. – 2019. P. 65-66.
[11] Russakovsky O., Deng J., Su H., Krause J., Satheesh S., Ma S., Huang Z., Kar- pathy A., Khosla
     A., Bernstein M., Berg A.C., Fei-Fei L. Imagenet large scale visual recognition challenge //
     IJCV. – 2015
[12] Makaruk, M., Nazarov, A., Shubin, I., Shanidze, N. Knowledge representation method for object
     recognition in nonlinear radar systems. CEUR Workshop Proceedingsthis link is disabled, 2021,
     2870, PP. 948–958
[13] Zhai M., Roshtkhari M., Mori G. Deep Learning of Appearance Models for Online Object
     Tracking // arxiv.org . 2019. – URL: https://arxiv.org/abs/1607.02568 .
[14] Zhang K., Liu Q. Robust Visual Tracking via Convolutional Networks // arxiv.org . 2019. –
     URL: https://arxiv.org/abs/1501.04505 .
[15] Zheng L., Bie Z. MARS: A Video Benchmark for Large-Scale Person Re- identification //
     Proc.European Conference on Computer Vision (ECCV).– 2016.
[16] Xiang Y., Alahi A. Learning to Track: Online Multi-Object Tracking by Deci- sion Making //
     Proceedings of the IEEE International Conference on Computer Vision. – 2015.
[17] Chetverikov G., Puzik O., Vechirska I. Multiple-valued structures of intellectual systems
     //Proceedings of the with Internations Computer Sciences and Information Technologies (CSIT).
     2016, 7589907. -pp. 204-207
[18] Yang M., Wu Y. A Hybrid Data Association Framework for Robust Online Multi-Object
     Tracking // arxiv.org 2017. – URL: https://arxiv.org/abs/1703.10764 .
[19] Simonyan K., Zisserman A. Very deep convolutional networks for large-scale image recognition
     // Proceedings of the Neural Information Processing Sys- tems conference, NIPS. – 2015.
[20] Szegedy C., Liu W., Jia Y. Going deeper with convolutions // CVPR. – 2015.
[21] Talukder K.H., Harada K. Haar Wavelet Based Approach for Image Compres- sion and Quality
     Assessment of Compressed Image // IAENG International Journal of Applied Mathematics. –
     2007. – 36(1).
[22] Viola P., Jones M. Robust Real-Time Face Detection // International Journal of Computer
     Vision. – 2014. – V. 57. – №2. – P.137–154.
[23] Welcome to the blog DeepL! URL: https://www.deepl.com/blog/20180215.html
[24] Shostak I., Matyushenko I., Romanenkov Yu., Danova M., Kuznetsova Yu. Computer Support
     for Decision-Making on Defining the Strategy of Green IT Development at the State Level. In
     book: Green-IT Engineering: Social, Business and Industrial Applications, Vol. 171. Berlin,
     Heidelberg: Springer International Publishing, 533–559 (2018), https://doi.org/10.1007/978-3-
     030-00253-4
[25] Shostak I., Kapitan R,. Volobuyeva L., Danova M., Ontological Approach to the Construction of
     Multi-Agent Systems for the Maintenance Supporting Processes of Production Equipment. In
     Proc.: IEEE International Scientific and Practical Conference «Problems of Infocommunications.
     Science and Technology» (PICS&T-2018). Ukraine, Kharkiv, October 9-12, 2018. P. 209 –
     214
[26] Kuker, К. Big Data: A Revolution That Will Transform How We Live, Work, and Think/К.
     Kuker, V.Stoinberg, 2018. – P. 236
[27] DuCharme B. Learning SPARQL // O’REILLY, 2018. 235p.
[28] Goma X.UML-real-time system design of parallel and distributed applications /DMC Press,
     2011. P. 704.