<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Development of the information system for navigation in modern university campus</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Liudmyla E. Gryzun</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Oleksandr V. Shcherbakov</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Bogdan O. Bida</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Simon Kuznets Kharkiv National University of Economics</institution>
          ,
          <addr-line>9-a Nauky Ave., 61166, Kharkiv</addr-line>
          ,
          <country country="UA">Ukraine</country>
        </aff>
      </contrib-group>
      <fpage>108</fpage>
      <lpage>126</lpage>
      <abstract>
        <p>According to the aims, the paper highlights algorithmic, interface and technological solutions for the development of the information system for navigation in university campus. In the process of searching for algorithmic and interface solutions, the peculiarities of the scientific and applied problem of indoor navigation were analyzed, as well as the capabilities of selected analogues of navigation systems implementing similar functions of this subject domain were evaluated. It was concluded that the analyzed analogues, despite their significant functionality, have the set of limitations. The specification of functional and non-functional requirements for the university navigation system was carried out, its architecture was defined as a set of interconnected modules, for the implementation of which appropriate interface and algorithmic solutions were elaborated and covered. The main stages of design and development of the university navigation system in the context of the elaborated solutions are highlighted. The functionality of the implemented system is characterized. It was established that during the design it was possible to overcome the main limitations inherent in similar systems implementing indoor navigation. The results of the system implementation in the educational practice of a national university are highlighted. Feedback from users received during the approbation testified the feasibility of developing and using the information system for navigation in university campus. The prospects for further work are formulated.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;indoor navigation</kwd>
        <kwd>information system for navigation</kwd>
        <kwd>university campus</kwd>
        <kwd>web technologies</kwd>
        <kwd>problem of the shortest path search</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>An efective solution to the scientific and applied problem of navigation and orientation in
closed spaces is gaining more and more relevance today. Most of the known technological
solutions to this problem are aimed at providing informational support for users of diferent
statuses in navigating in buildings with a complex, multi-level and branched structure and
topology (ofice and cultural premises, commercial centers, cultural objects, parking lots, etc.).</p>
      <p>Nowadays, easy, quick and reliable navigation in the university campus and its premises
requires special attention, because the buildings and spots of a modern university usually have
a complex structure with a large number of stores, studies, ofices and locations of various
purposes. Modern universities are important educational, scientific and cultural hubs that
are daily attended by a large number of people on diferent purposes. Applicants, students,
participants of competitions and tournaments, new tutoring staf and visitors who are unfamiliar
with the location of its buildings and their topology have a need for convenient navigation in the
premises of the university, which makes urgent the design and development of the appropriate
information system for navigation.</p>
      <p>
        According to Idrees et al. [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], Savchuk and Pasichnyk [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], information and navigation system is
an electronic system that provides navigation solving the problem of determining the location of
the user, laying a route from one point to another, and also supplementing the above functionality
with certain useful information to facilitate users’ orientation.
      </p>
      <p>A fairly wide range of information and communication technologies are used to build systems
that use information about the user’s location inside the premises. In the context of orientation
in the university premises, the involvement of web technologies for solving navigation tasks
has definite advantages, as web applications do not require pre-installed software (other than
browsers, which are usually available in every modern device), do not need to be installed on
the device, and enable to use browser cache and PWA technology to provide work ofline.</p>
      <p>
        The analysis of scientific and applied sources testifies that there are various technological
approaches to solving the problems of orientation [
        <xref ref-type="bibr" rid="ref1 ref2 ref3">3, 1, 2</xref>
        ]. In the context of our research, the
focus should be on the analysis of applications providing indoor navigation. Such applications
cannot use the capabilities of GPS navigation (like the systems such as Google Maps, 2Gis,
OpenStreetMaps, etc.), due to the fact that navigation takes place on a small scale and usually
indoor. Therefore, the involvement of GPS navigation technologies will lead to significant errors.
Thus, most navigation systems for premises use indoor navigation.
      </p>
      <p>
        According to the definition, indoor navigation means detecting objects (devices or people) and
orientation inside the building using radio waves, acoustic signals, wireless networks (Wi-Fi),
infrared sensors, magnetic field, Bluetooth technology or other means [
        <xref ref-type="bibr" rid="ref3 ref4">3, 4</xref>
        ].
      </p>
      <p>
        However, the challenge of such navigation is that each building where it is necessary to
orient, must have special devices configured to work with the navigation system. According
to recent studies, it makes the development of such a system expensive and long-term. It is
also pointed out that it causes certain dificulties to its testing, maintenance and expansion
opportunities [
        <xref ref-type="bibr" rid="ref3 ref4 ref5 ref6">3, 4, 5, 6</xref>
        ].
      </p>
      <p>
        In addition, researchers note that indoor navigation technologies based on the processing of
visual images, as well as QR codes, are underused and unjustifiably forgotten, although they
require less investments and have significant prospects for their using for the development of
mobile and web applications [
        <xref ref-type="bibr" rid="ref1 ref6">1, 6</xref>
        ].
      </p>
      <p>Thus, the analysis of the functionality of existing systems for indoor navigation testify their
shortcomings and limitations (highlighted below) which cause the necessity of searching new
eficient approaches to the design of information system for indoor navigation.</p>
      <p>The aim of the paper is to elaborate and cover algorithmic, interface and technological
solutions for the development of the information system for navigation in university campus.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Theoretical framework</title>
      <p>Theoretical background of the work is made by the analysis of the (1) the applications which
realize similar functions of the subject domain and (2) approaches to solving the mathematical
problem of the shortest path search.</p>
      <p>To analyze the possibilities of the applications which realize similar functions of the subject
domain, there were selected several services that provide orientation in the premises using indoor
navigation and implement the following general functions: visualization of the building/floor
layout, virtual movement on the floor (viewing parts of the room), providing the user with
visual information to simplify perception of the layout and intuitive navigation.</p>
      <p>In the progress of the analysis, we focused on the evaluation of the analogues of indoor
navigation systems, according to the following criteria: (1) route building functionality; (2) adaptability
of the interface; (3) convenience and ergonomics of the interface; (4) quality of visualization of
graphic content; (5) design aesthetics; (6) price; (7) technological possibilities for use in devices
of various types; (8) possibilities of functionality extension and refining.</p>
      <p>
        According to the said criteria and based on the resources [
        <xref ref-type="bibr" rid="ref10 ref11 ref7 ref8 ref9">7, 8, 9, 10, 11</xref>
        ], there were discussed
the following applications:
• AAU Map (software for navigation in buildings and area of Aalborg University (Denmark));
• Mapsindoors (extension of the MapsPeople platform built on Google Maps technology
which ensures the transition from external to internal navigation and its rapid
implementation);
• AnyPlace (a free open indoor navigation service that provides location determination
using smartphones);
• Situm Mapping Tool (indoor navigation application that accompanies visitors in a specific
building to find their way in real time mode);
• BSB Navigator (a smartphone application that navigates through the library on
Ludwigstrasse in Munich and uses beacon technology based on smartphone Bluetooth).
      </p>
      <p>The analysis carried out according to the specified criteria proved that despite the significant
functionality of these indoor navigation services, they have the following set of drawbacks and
limitations. Most of the analyzed analogues are able to provide navigation inside a specific
building, but they are not suitable for use in other premises. At the same time, they do not have
a suficiently developed functionality of extension and refinement. They do not provide users
with language localization. They are either web services or mobile applications.</p>
      <p>These limitations cause the search for appropriate algorithmic, interface, and technological
approaches to design of the information system for university navigation. It is also relevant to
take them into account when determining the functional and non-functional requirements for
the said system.</p>
      <p>Apart from this, it is essential to discuss approaches to solving the mathematical problem of
the shortest path search, which is going to be solved by the module of navigation system as one
of its functions.</p>
      <p>The mathematical formulation of the problem can be presented as follows. Let the graph is
given:</p>
      <p>Here  is a set of vertices,  is a set of edges with given values  on each edge (, ). In
terms of our subject area, the vertices of the graph are the various locations of the room and the
QR code labels; the edges of the graph are the physical connections between the vertices that
allow to get to them. It is necessary to find the shortest path between the selected vertices. This
means that it is necessary to find such a path  between the vertices 1 and 2  (1, 2, ..., ),
that</p>
      <p>∑︁  → min,
=1</p>
      <p>
        This problem in the scientific sources is also called “The Shortest Path Problem” (SPP)
[
        <xref ref-type="bibr" rid="ref12 ref13 ref14">12, 13, 14</xref>
        ].
      </p>
      <p>There are several diferent but related problems in which it is necessary to find out the
shortest paths in a graph:
1) find out the shortest path from s to t (one selected pair of vertices);
2) find out the shortest path from s to all vertices;
3) search for all pairs of vertices of the shortest paths.</p>
      <p>In addition, it is also distinguished the tasks of finding the shortest paths depending on the
type of graphs that are received as input data.</p>
      <p>
        To solve the specific practical problem of finding the shortest path for indoor navigation,
an appropriate analysis was conducted to select an adequate search algorithm among such
well-known algorithms as Dijkstra, Bellman-Ford, Floyd-Warshall, Johnson’s and others [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ].
The main selection criteria for this problem are the properties of the graph, as well as the
execution time of the algorithm. As a result, the two most popular algorithms were chosen: the
Dijkstra algorithm and the Floyd-Warshall algorithm.
      </p>
      <p>When selecting between them, the following characteristics were taken into account. The
biggest diference between the algorithms is that Floyd’s algorithm finds the shortest path
between all vertices, while Dijkstra’s algorithm finds the shortest path between a single vertex
and all other vertices. At the same time, the costs for Dijkstra’s algorithm are much higher
than for Floyd’s algorithm. If Dijkstra’s algorithm is run n times, on  diferent vertices, the
theoretical time complexity is ( * 2) = (3). In other words, when using Dijkstra’s
algorithm to find paths from each vertex to any other vertex, we get the same eficiency and
result as using Floyd’s algorithm. Of course, a specific problem can be solved by repeatedly
applying Dijkstra’s algorithm with successive selection of each vertex of the graph as an initial
vertex. However, Floyd’s algorithm is more eficient than multiple iterations of Dijkstra’s
algorithm. At the same time, Floyd’s algorithm is much simpler to implement. In this regard,
the choice was made in favor of the Floyd-Warshall algorithm.</p>
      <p>
        Let us characterize its characteristics and features. Although this algorithm has the name of
Floyd-Warshall, and its appearance in the information space dates back to the early 1960s, it
essentially includes the works of previously published work by Roy [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] and is closely related
to the Kleene’s algorithm, published in 1956 [16, p. 37-40], for converting a deterministic finite
automaton into a regular expression. The modern formulation of the algorithm as three nested
for-loops was first described by Ingerman [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] in 1962. The Floyd-Warshall algorithm [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] is an
example of dynamic programming, and was published in its currently recognized form by Floyd
[
        <xref ref-type="bibr" rid="ref18">18</xref>
        ] in 1962. This allows to apply it to solve many problems (optimal routing; search for the
shortest paths in graphs; transitive closure of graphs; calculation of similarity between graphs
and others).
      </p>
      <p>As mentioned above, the Floyd-Warshall algorithm is based on the use of the dynamic
programming method, which is an alternative to solving the problem by the brute force method
or greedy algorithms. In a general interpretation, this method consists of the following stages:
1. Splitting the task into smaller subtasks.
2. Finding the optimal solution of subproblems by recursive method.
3. Use of the obtained solution for problems to construct a solution to the original problem.</p>
      <p>
        The step-by-step implementation of the Floyd-Warshall algorithm based on the dynamic
programming method is shown in figure 1 [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ].
      </p>
      <p>Characterizing this algorithmic solution, it is essential to point out that to find out the shortest
paths between all vertices of the graph, it is not used brute force (which in fact is an enumeration
of all possibilities that will lead to a significant time of the algorithm’s operation and takes up
more memory), but bottom-up dynamic programming. Therefore, all subproblems that will
later be needed to solve the original problem are solved in advance, and then their solutions are
used.</p>
      <p>The presented theoretical framework is used below for elaboration of proper solutions at
diferent stages of the navigation system design.</p>
    </sec>
    <sec id="sec-3">
      <title>3. Results and discussion</title>
      <p>In the progress of solving algorithmic, interface and technological tasks, the specification of the
requirements for the whole information system was carried out by building use case diagram,
minding that the system user is a university campus visitor who has the system installed on
their smartphone as a web application or a web link to it. There were defined the following
intended options for using the system by the user:
• reading of user instructions;
• viewing settings (including changing language localization);
• determining user’s location;
• selection of the initial spot (the point that corresponds to the coordinates of location of
the physical QR code relative to the building scheme);
• selection of the final spot (any location in the university premises marked on the
interactive map of the campus for which the user wants to find out a route);
• receiving the built route between the initial and final spots;
• obtaining an animated visualization of the built route;
• use of a QR code scanner;
• viewing of the current floor plan;
• changing the scale of the interactive map;
• changing the current floor in the map.</p>
      <p>The analysis of the use cases enabled to provide detailed specification of the functional
requirements for the system being developed. In particular, the set system for navigation has to
supply for a user:
• language localization settings;
• selection of existing locations on the interactive map;
• determining the location of the user;
• finding the optimal route from the start spot to the final spot;
• visualization of the obtained route;
• review of the current floor plan;
• free change of floors on the interactive map of university premises;
• changing the scale of the interactive map;
• providing prompts on types of locations;
• adaptability of the interface to diferent sizes of devices and their graphic settings.</p>
      <p>Based on the defined functional requirements, the technological approaches to the design and
development of the navigation system were substantiated. In addition, it was taken into account
the need to minimize the limitations inherent in the existing analogues of navigation systems
emphasized above (lack of the possibility of extension the functionality of the system, absence
of adaptation to navigation in diferent premises and language localization; strict dependence
on the platform of operation).</p>
      <p>
        Thus, it was substantiated the involvement of a combination of technologies:
1) Angular as a platform for the development of complex single-page applications, which
uses the TypeScript dialect of the JavaScript language to describe interface components
using the principles of object-oriented programming [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ];
2) SVG.js library which applies the HTML and JavaScript facilities for dynamic generation,
processing and animation of vector documents, which is helpful in creating an interactive
map [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ];
3) reactive programming based on RxJs library [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ].
      </p>
      <p>Then, the specification of non-functional requirements for navigation system was provided,
which were followed in the progress of development of algorithmic and interface solutions.</p>
      <p>Based on the determined functional and non-functional requirements, the general architecture
of the system was built as a set of interconnected modules: graphic module, module of detecting
user’s location, shortest path search module, module of the searched rout visualization.</p>
      <p>In the context of interface solutions implemented in the navigation system, a key place in
the architecture is taken by its graphic module that plays the role of an intermediary between
the user and the entire logic of the application including data processing and execution of
complicated algorithms of detecting the user’s location and visualization of built optimal route
from the start spot to the final spot. Its role is to provide the user with a convenient and intuitively
clear interface for interaction with the functionality of the system, as well as visualization of
the interactive map and navigation information (names of specific locations, additional marks,
etc.). However, analyzing the place of the graphic module in the architecture of the navigation
system, it should be emphasized that it provides not only the appearance of the application
together with the means of interaction with the user, but also the logic of interaction of the
data related to the visual part of the system (map scale factor, position relative to the screen,
selected user setting, etc.).</p>
      <p>In general, the graphic module can be characterized as a set of interface elements and program
code that allows the user to interact with the system, influence its state, and also obtain certain
information. In addition, the graphic module implements the visualization of the premises
map and the user’s route for his navigation. A core component of the graphic module is the
interactive map of the current floor for which the said module provides the ability to change
the position of the screen regarding the map as well as its scale using the touchpad of the user’s
device.</p>
      <p>When designing the graphic module, its connections with other modules of the system and
features of data exchange between them were considered. Therefore, the main task was the
realization of data management responsible for the interface and state of the interactive map
(scale factor, position of the map regarding the screen, current floor, etc.), which would ensure
the correct functioning of the entire system and its further extension. Accordingly, the following
approach was implemented for development of the graphic module of the university navigation
system:
• implementation of interface control components in the form of a template, styles and
controller, html, css and ts files for each component;
• implementation of an adaptive user interface as a grouping of all control elements with
additional display logic;
• organization of the business logic of the interface in the form of services that store data
and means of their processing, using reactive programming based on RxJs library;
• the organization of utilitarian classes and methods that enable to remove repetitive parts
of processing that are not directly related to the logic of the whole graphic module.</p>
      <p>In accordance with the ofered approach and the above-defined functional requirements for
the system, the development of graphic module was implemented as an element of the general
architecture of the university navigation system which is responsible for the interface, and
generation and processing of interactive map data.</p>
      <p>Mockups and prototypes of the system interface were created, along with the design of
premises schemes for each floor. Mockups were designed for maximum ergonomic use. On this
purpose, the screen was divided into three interactive zones which can adapt to ease of use and
accessibility according to the screen size of the user’s device, scale, etc. These zones are upper
area, right and left ones.</p>
      <p>The upper zone is the search zone, where there are interface elements for establishment
of the start and final spots for the searching rout. One of the most important functions of
navigation system is to determine the user’s location and destination spot to enable finding
the optimal route or indoor orientation. It is crucial that the system does not track the user’s
location in real time which is not user’s physical location, but close initial spot with a physical
QR code. Therefore, there is a need for the user to independently choose the start and final
spots for searching and visualizing the route (or only the destination spot without rout). On this
purpose, the system interface provides the upper area of the screen, which contains two forms
for searching. Each form consists of the poper control elements including (1) an input box where
the user can input the name of a start location where the physical QR code is; (2) a drop-down
list of hints based on the text entered by the user; (3) search buttons with a magnifying glass
icon, which sets the entered point as the start or final spot for the current one, if such exists,
and starts the route search algorithm if both points are defined (figure 2).</p>
      <p>Control elements of graphic module for changing the position on the map, its scale, etc. are
placed in the left area of the screen in order not to interfere with the user’s view of the map,
to ensure an ergonomic arrangement without accidentally pressing on unnecessary elements
with the user’s finger when holding a mobile device. This zone of the screen contains map scale
controls, map centering button, arrows for changing the floors and the number of the current
lfoor (figure 3).</p>
      <p>Graphic module also enables additional functions that are not mandatory and refer to the
general control elements of the navigation system. Such control elements are placed into the
right zone of the screen and include reference getting button (marked with letter “I”), settings
button with a gear icon that opens a window with selection of the interface language localization,
a button with a scanner icon that allows to open a QR code scanner and determine the point to
which a successfully scanned code corresponds.</p>
      <p>The color palette of the system interface was chosen based on the general physical conditions
of its using (in well-lit university premises), so the image on the screen should be quite bright
and contrasty. The main color of the interface light blue, white, and hues of gray with smooth
and light gradients. Soft shapes of the interface elements and various icons are used to simplify
user perception.</p>
      <p>The interface solutions implemented by the graphic module of the university navigation
system also include the interactive map generation by digitizing floor layout of university
premises using the vector image editor Adobe Illustrator. The results of the digitization of
the floors layout generated by the graphic module of the system are used for interactive maps
building. Thanks to the application of vector graphics, a map was obtained for each floor in the
form of a document with its own syntax and rules, which describes the corresponding graphic
elements of the image using attributes and formulas. This provides dynamic interaction with
such a document using program code, which will allow further adaptation of the input data of
the graphic module to extend the capabilities of the system for its application to navigation in
diferent premises. In addition, the use of digitized maps prepared by means of vector graphics
gives an advantage over raster analogues in terms of loading speed and image quality.</p>
      <p>
        The interface solutions used in the development of the graphic module ensure the adaptability
and flexibility of the whole navigation system, thanks to which it can be used both on computers
(laptops) and on mobile devices with the user interface displayed correctly on the device screen.
Adaptive design was obtained by taking into account the geometric dimensions of the device,
as well as the density of virtual pixels with respect to physical ones, according to [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ]. Possible
browser and device display scale settings were also regarded.
      </p>
      <p>As a result, the system interface is adapted correctly for diferent devices (figure 4): on
relatively large screen sizes, the application has a fairly convenient interface with intuitive
division of the screen zones, preserving the same properties on the screens of a mobile device.
On mobile devices with small screen sizes, low pixel density or in portrait mode, the indentation
from the edges of the screen and between the control elements, as well as the orientation of
the map scale controls are changed to provide enough space for the upper zone elements, map
center buttons, and floor switcher buttons to be displayed.</p>
      <p>One of the important interface facilities of the system for navigation in a modern university
is its implemented language localization, which allows you to select the language (Ukrainian or
English) for all of the interface elements and user reference.</p>
      <p>Thus, the interface solutions implemented by the graphic module of the navigation system
(1) enable interaction with all subsystems (modules); (2) allow to visualize an interactive map of
the premises with the user’s route built by the proper module of the system; (3) provide the
user with a flexible and adaptive interface.</p>
      <p>The algorithmic solutions for the system design were shaping in the lines of data storing and
algorithms realization for user’s optimal rout finding. At the stage of design of the database
structure, conceptual infological design, logical and physical database design was carried out.
They are characterized below, as data structure has a paramount significance and allows to
determine basic classes and objects for the system program realization, as well as to opt for
proper search algorithms.</p>
      <p>It is important to point out that the whole logic of the university navigation system does
not require regular and dynamic creation, updating or deletion of data. However, it needs for
the storage certain static data that describe the necessary information for the operation of the
navigation system (to determine the path, indicate spots, etc.). The use of full-fledged DBMS
and a server that requires a regular Internet connection is impractical due to the fact that the
system must fully work ofline in PWA mode.</p>
      <p>
        In this regard, it was decided to use a local file with serialized data in JSON format. The
text data exchange format JSON is built on two universal data structures [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]: a collection of
name-value pairs and ordered list of values which in most languages is implemented as an array,
list or sequence, vector, and so on. This format was also chosen because it is a fairly compact
and valid description of the essence of the JavaScript language, which makes it easy to read such
a file that is convenient for human perception. This solution allows to store all the necessary
data for the operation of search algorithms locally on the server hosting the system. When the
browser accesses the application address, this data will be automatically downloaded in parallel
with the web application itself, and when using a PWA, such data will be fully stored on the
user’s device. In addition, the flexible and hierarchical nature of the database document enables
to be developed in accordance to the extension of the navigation system.
      </p>
      <p>Input and output information for the navigation system is represented by documents provided
for processing and received as a result, respectively. Input information is data on user location
(start spot) and/or final (destination) spot; output information is visualized location of the start
spot and/or built route to the final (destination) spot.</p>
      <p>When designing the logical data model, it was taken into account that the data are not
updated by users, are neither to be regular requested nor to be parallelly requested, and they
are stored on the application server itself, so the weight of the data directly afects the speed of
initial application loading. Therefore, the data should be stored in a compact format that will be
easily processed by the navigation system. It was also taken into account that when dividing
the main entity of points by categories, in the case of corridors and stairs (physically existing in
the university premises), there will be connections between entities of the same category (each
point of the corridor has connections with other points of the corridor, each point of the stairs
has connections with other stairs points).</p>
      <p>For a more specific consideration of the data structure in the form of entities and relationships
between them, in accordance with the method of their preservation, a physical data model
was designed, shown in figure 5. At the next stage, the general structure of the system class
hierarchy and their semantics was modeled using the UML class diagram, minding the following
basic principles of the university navigation system architecture: (1) all business logic of the
system, including that related to user interface components, is located in services; (2) utilitarian
classes and methods are created to avoid duplication of code that does not generally relate to the
business logic of services; (3) all data of a non-primitive type must have interfaces describing
them.</p>
      <p>In the context of the elaboration of algorithmic solutions in the design of the navigation
system, the implementation of the shortest path search module as a component of the integrated
architecture of the entire system, whose input data is the location (start spot) and the destination
(final spot), is of significant importance.</p>
      <p>For the software development of the shortest path search module by the Floyd-Warshall
algorithm, an appropriate data structure was created that reproduces the graph on which the
search is performed and which can be easily expanded when new vertices and edges are added.
On this purpose, the Graph class, its methods and necessary properties were built, which allows
adding new vertices, removing and editing them. The common structure of the Graph class is
presented in figure 6.</p>
      <p>After creating a graph and executing the Floyd-Warshall algorithm (function floydWarshall.ts),
a third-party program, code, or service can request the shortest route between the specified
vertices of the graph by passing two arguments, “from” and “to”, which are the names of the
start and end points search accordingly.</p>
      <p>The necessary vertices and their indices are obtained from the Graph class. Next, the presence
of a route in the matrix, obtained thanks to the implementation of the Floyd-Warshall algorithm,
is checked. If the route exists, it is checked whether the next vertex is the end vertex of the
route (then the recursion should stop). If the matrix still has vertices, the recursion continues.
During recursion, the proper array is filled with the optimal route. If the route in the matrix
does not exist, an empty array is returned, that is, the route between the specified vertices was
not found.</p>
      <p>In figures below there are selected examples of the results of searching for the shortest route.
The result of the search and display of the optimal path from the initial location to the searched
location, which are on the same floor, is shown in figure 7. The dashed line shows the found
optimal path from one vertex (university dining room) to another vertex (computer laboratory).</p>
      <p>It is realized the possibility to search and visualize routes between two university locations
on diferent floors. In figure 8a and figure 8b the dashed line visualizes the optimal route from
the start location (the men’s toilet, which is located on the basement floor) to the stairs to the
second floor (figure 8a) and from the stairs to the final location (lecture room 222 located on the
second floor of the main building of the university) (figure 8b).</p>
      <p>Implementation of both the interface and algorithmic solutions highlighted above is facilitated
by the module of detecting user’s location, which works as an intermediary between the core
modules of the navigation system in accordance with its architecture.</p>
      <p>According to the use case diagram, with the help of the system, a user can determine his
location in two ways: choose it from a list of available ones or get it contextually in the university
premises by scanning the QR code from the label placed near certain locations.</p>
      <p>In order to choose a location from the list, the user has to get access to the navigation system
(as a web-application) in one of the ways and find the field “Start spot” on its main screen. After
clicking on this field, the user will be able to select a location by performing a search by name
in this field or by finding the required item with the desired location in the drop-down list.
Determining the location by selecting from a list is used in cases when the user wants to plan
his movements in advance and is outside the campus; or the user knows exactly his location
and does not need additional help in positioning. This method is implemented through user
interaction with the graphical interface of the application.</p>
      <p>In order to determine the location using the QR code from the label, it is also necessary
to access the application in one of the ways and press the corresponding button on the main
screen. After clicking on this button, the QR code scanner window will open. At this stage,
the navigation system may send a request for permission to access the camera of the user’s
electronic device, if it has not been given before. After obtaining permission, the user will see
the image from the camera of his device in the scanner window and will have to point it at the
QR code from the label. The scanner will decode the code and process the data. Positioning
takes place relative to the label with the QR code, so, the user’s location is considered to be the
physical location of the label itself.</p>
      <p>
        Positioning by scanning the QR code is used in cases when the user is in university campus,
but does not know his exact location and needs help in determining it. The expediency of
using this method is explained by the fact that among the existing positioning methods (global
positioning system, positioning relative to radio or Bluetooth tags), location determination by
QR codes of labels has the highest accuracy in combination with the simplest implementation
and the lowest cost of implementation [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ].
      </p>
      <p>
        Determining the location is implemented through the processing of data received from the QR
code. Each label contains a link to the application with a specific code of the saved point. Thus,
a third-party user who does not have the link can gain access to the application by scanning
the code with any scanner that is often supplied with electronic devices with operating systems
[
        <xref ref-type="bibr" rid="ref1 ref14">1, 14</xref>
        ]. If the QR code is scanned in the application itself, the stored point code will be obtained
from its content and the search will be performed among the stored point objects.
      </p>
      <p>The result of positioning the user with the help of this system module in any of these ways is
a point object found in the storage and stored, containing the coordinates by which the location
is visualized on the floor plan of the room and which will be used later as the start spot of the
route by other modules of the system for navigation in university campus.</p>
      <p>To ensure the operation of the module for determining the user’s location as a part of the
navigation system, it is necessary to store certain information on the user’s electronic device,
namely a detailed plan of the buildings and a description of the university premises. It should
contain the coordinates of points of corridors, stairs, labels and locations, as well as concise
data about them and their location with respect to each other. Each stored point object will
contain a unique code, coordinates on the building’s floor plan, floor number, and the point
code of the nearest corridor or staircase with which the object is associated.</p>
      <p>All saved objects will be divided into several specified categories. Space point objects and QR
code labels will have a unique name that can be used by the user to search when selecting a
location from the list. All data that will be used in the positioning process must be available
at any time for continuous and error-free operation of the module. In order to download
the application, the detailed building plan and description of the premises must be stored in
some form on the web server and ready to be transmitted over an Internet connection. Once
downloaded, all data will be stored in the internal memory of the user’s device for use in the
positioning process. Thus, for the operation of the module for determining the location of the
user, it is necessary to apply the set of all data elements. The module for determining the user’s
location as a component of the architecture of the navigation system interacts with the graphic
module of the system (which provides input data for the module’s operation) and the shortest
path search module (for which the location module provides input data). So, the module under
consideration has a rather complex and specific object-oriented structure.</p>
      <p>Characterizing the functionality of the developed information system for navigation in
university campus, designed based on the presented technological, interface and algorithmic
solutions, it should be emphasized a number of its implemented capabilities. The said system
which has both mobile and web versions provides a user with the following basic functions:
• Free viewing of the scheme of the university premises on the interactive map.
• Free change of the current floor of the room.
• Free change of map scale.
• Finding the shortest route from the start spot corresponding to the physically located QR
code to any accessible university location.
• Visual prompts about the location of all available locations.
• Change the floor by clicking on the stairs icon, if the path goes through them.
• Scanning of QR codes directly by means of the system.
• Centering the map.
• Localization of the user interface in three languages (Ukrainian, Russian, English).
• Viewing the instructions for the system using and additional information.</p>
      <p>The developed navigation system provides a number of additional functions. In particular,
the system implements the possibility for users to share a link to an application with an already
built route from the nearest point with a QR code to the point of the desired location. This can
be useful when organizing mass events, because it provides quick and reliable orientation of a
large number of university visitors at the same time.</p>
      <p>It is also possible to scan QR codes with third-party software to move to the navigation
system. In addition to the location of the QR code itself, a QR code can also include any final
spot or an entire route, which significantly expands the areas of use of QR codes for navigation
systems users. The developed system can be also installed on a mobile device and used ofline if
necessary.</p>
      <p>Due to the use of vector graphics for the generation and processing of interactive maps of
premises, as well as due to the elaborated technological approaches, the developed navigation
system has suficient functionality for extension and refinement, and it is also suitable for
adaptation to use in other premises as well.</p>
      <p>Thus, thanks to the proposed algorithmic, interface and technological solutions, during the
design it was possible to overcome the main limitations inherent in similar systems implementing
indoor navigation.</p>
      <p>Developed information system for navigation in modern university in its test version has been
implemented into the educational practice of the Simon Kuznets Kharkiv National University of
Economics. In particular, QR code labels were placed in the relevant locations of the university
premises, which enables university visitors to access the system with their smartphones and
use the functionality described above (figure 9).</p>
      <p>In the progress of the system implementation, feedback from the system users (university
visitors of diferent categories) was collected and analyzed. Users were asked to fill in a
survey form evaluating the quality of implementation of both functional and non-functional
requirements for the system on a five-point scale. In general, there was received positive
feedback regarding the interface quality, the speed of loading the interactive map and the
convenience of work with it, the clarity of the visualization of the user’s initial location and the
destination spot, as well as the correctness of the route proposed by the system. A positive user
experience was pointed out by the user-tested ability to share a link to an application with a
ready-built route as well as language localization facility. Among the wishes for improving the
operation of the system, it was suggested to improve the quality of the animated visualization of
the built route between locations on diferent floors. Feedback from users received in the process
of the system implementation testifies the feasibility of its developing for eficient navigation in
the university campus. The users’ wishes will be taken into account during the extension and
improvement of the navigation university system, which is related to the prospects of our work.</p>
    </sec>
    <sec id="sec-4">
      <title>4. Conclusions</title>
      <p>According to the aims, the paper highlights algorithmic, interface and technological solutions
for the development of the information system for navigation in university campus.</p>
      <p>In the process of searching for algorithmic and interface solutions, the peculiarities of the
scientific and applied problem of indoor navigation were analyzed, as well as the capabilities
of selected analogues of navigation systems implementing similar functions of this subject
domain were evaluated. It was concluded that the analyzed analogues, despite their significant
functionality, have the following limitations. They are able to provide navigation inside a specific
building, but they are not suitable for use in other premises. At the same time, they do not have
a suficiently developed functionality of extension and refinement. The said applications do not
provide users with language localization.</p>
      <p>The specification of functional and non-functional requirements for the university navigation
system was carried out, its architecture was defined as a set of interconnected modules, for the
implementation of which appropriate interface and algorithmic solutions were elaborated and
covered. The main stages of design and development of the university navigation system in the
context of the elaborated solutions are highlighted.</p>
      <p>The functionality of the implemented system is characterized. It was established that
during the design it was possible to overcome the main limitations inherent in similar systems
implementing indoor navigation.</p>
      <p>The results of the system implementation in the educational practice of the Simon Kuznets
Kharkiv National University of Economics. Feedback from users received during the
approbation testifies the feasibility of developing and using the information system for navigation in
university campus.</p>
      <p>The prospects for further work are outlined. It is planned to generalize the results of the
users’ survey, and elaborate the ways of the system improvement and their estimation.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>A.</given-names>
            <surname>Idrees</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Iqbal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Ishfaq</surname>
          </string-name>
          ,
          <article-title>An eficient indoor navigation technique to find optimal route for blinds using QR codes</article-title>
          ,
          <source>in: 2015 IEEE 10th Conference on Industrial Electronics and Applications (ICIEA)</source>
          ,
          <year>2015</year>
          , pp.
          <fpage>690</fpage>
          -
          <lpage>695</lpage>
          . doi:
          <volume>10</volume>
          .1109/ICIEA.
          <year>2015</year>
          .
          <volume>7334197</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>V.</given-names>
            <surname>Savchuk</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Pasichnyk</surname>
          </string-name>
          ,
          <article-title>Intelectual system “Mobile inforamation assistant of a tourist”: functional and technological features</article-title>
          ., Visnyk Nats.
          <article-title>Un-tu “Lvivska politechnika” 832: Information systems and networks (</article-title>
          <year>2015</year>
          )
          <fpage>225</fpage>
          -
          <lpage>241</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>A.</given-names>
            <surname>Basiri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E. S.</given-names>
            <surname>Lohan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Moore</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Winstanley</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Peltola</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Hill</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Amirian</surname>
          </string-name>
          , P. Figueiredo e Silva,
          <article-title>Indoor location based services challenges, requirements and usability of current solutions</article-title>
          ,
          <source>Computer Science Review</source>
          <volume>24</volume>
          (
          <year>2017</year>
          )
          <fpage>1</fpage>
          -
          <lpage>12</lpage>
          . doi:
          <volume>10</volume>
          .1016/j.cosrev.
          <year>2017</year>
          .
          <volume>03</volume>
          . 002.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>A.</given-names>
            <surname>Brunello</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Montanari</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Saccomanno</surname>
          </string-name>
          ,
          <article-title>A Framework for Indoor Positioning Including Building Topology</article-title>
          ,
          <source>IEEE Access 10</source>
          (
          <year>2022</year>
          )
          <fpage>114959</fpage>
          -
          <lpage>114974</lpage>
          . doi:
          <volume>10</volume>
          .1109/ACCESS.
          <year>2022</year>
          .
          <volume>3218301</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>J.</given-names>
            <surname>Kunhoth</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Karkar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Al-Maadeed</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Al-Ali</surname>
          </string-name>
          ,
          <article-title>Indoor positioning and wayfinding systems: a survey</article-title>
          ,
          <source>Human-centric Computing and Information Sciences</source>
          <volume>10</volume>
          (
          <year>2020</year>
          )
          <article-title>18</article-title>
          . doi:
          <volume>10</volume>
          .1186/s13673-020-00222-0.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>Z.</given-names>
            <surname>Shao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. A.</given-names>
            <surname>Cheema</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Taniar</surname>
          </string-name>
          , Trip Planning Queries in Indoor Venues,
          <source>The Computer Journal</source>
          <volume>61</volume>
          (
          <year>2017</year>
          )
          <fpage>409</fpage>
          -
          <lpage>426</lpage>
          . doi:
          <volume>10</volume>
          .1093/computer_journal/bxx107.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7] MapsIndoors, AAU Maps,
          <year>2023</year>
          . URL: https://clients.mapsindoors.com/aau/venues.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8] dmslucy,
          <source>Anyplace Indoor Service</source>
          ,
          <year>2020</year>
          . URL: https://play.google.com/store/apps/details? id=com.dmsl.
          <source>anyplace&amp;hl=en&amp;gl=US.</source>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>Bayerische</given-names>
            <surname>Staatsbibliothek</surname>
          </string-name>
          ,
          <source>BSB Navigator</source>
          ,
          <year>2023</year>
          . URL: https://www.bsb-muenchen.de/ en/search-and-service/apps/bsb-navigator/.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Situm</surname>
            <given-names>Technologies</given-names>
          </string-name>
          ,
          <source>Indoor Navigation and Indoor Wayfinding</source>
          ,
          <year>2024</year>
          . URL: https://situm. com/en/indoor-navigation/.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>M. M. Atia</surname>
            , S. Liu,
            <given-names>H.</given-names>
          </string-name>
          <string-name>
            <surname>Nematallah</surname>
          </string-name>
          , T. B.
          <string-name>
            <surname>Karamat</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Noureldin</surname>
          </string-name>
          ,
          <article-title>Integrated indoor navigation system for ground vehicles with automatic 3-d alignment and position initialization</article-title>
          ,
          <source>IEEE Transactions on Vehicular Technology</source>
          <volume>64</volume>
          (
          <year>2015</year>
          )
          <fpage>1279</fpage>
          -
          <lpage>1292</lpage>
          . doi:
          <volume>10</volume>
          .1109/TVT.
          <year>2015</year>
          .
          <volume>2397004</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>E.</given-names>
            <surname>Aleshko</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Yakymenko</surname>
          </string-name>
          , L. Polishchuk,
          <article-title>Algorytmy ta structury danyh</article-title>
          . Student book, Kropyvn.,
          <year>2019</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>Ramadiani</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Bukhori</surname>
            , Azainil,
            <given-names>N.</given-names>
          </string-name>
          <string-name>
            <surname>Dengen</surname>
          </string-name>
          ,
          <article-title>Floyd-Warshall algorithm to determine the shortest path based on Android</article-title>
          ,
          <source>IOP Conference Series: Earth and Environmental Science</source>
          <volume>144</volume>
          (
          <year>2018</year>
          )
          <article-title>012019</article-title>
          . doi:
          <volume>10</volume>
          .1088/
          <fpage>1755</fpage>
          -1315/144/1/012019.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Liveli</surname>
          </string-name>
          , Technology,
          <year>2023</year>
          . URL: https://www.liveli.com.au/Our-Technology.
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>B.</given-names>
            <surname>Roy</surname>
          </string-name>
          , Transitivité et connexité, C. R.
          <source>Acad. Sci. Paris</source>
          <volume>249</volume>
          (
          <year>1959</year>
          )
          <fpage>216</fpage>
          -
          <lpage>218</lpage>
          . URL: https: //gallica.bnf.fr/ark:/12148/bpt6k3201c/f222.image.
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>S. C.</given-names>
            <surname>Kleene</surname>
          </string-name>
          ,
          <article-title>Representation of Events in Nerve Nets and Finite Automate</article-title>
          , in: C. E. Shannon, J.
          <source>McCarthy (Eds.)</source>
          ,
          <source>Automata Studies</source>
          , volume
          <volume>34</volume>
          <source>of Annals of Mathematics Studies</source>
          , Princeton Univ. Press,
          <year>1956</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>44</lpage>
          . URL: http://www.dlsi.ua.es/~mlf/nnafmc/ papers/kleene56representation.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>P. Z.</given-names>
            <surname>Ingerman</surname>
          </string-name>
          , Algorithm 141:
          <string-name>
            <surname>Path</surname>
            <given-names>Matrix</given-names>
          </string-name>
          ,
          <source>Commun. ACM</source>
          <volume>5</volume>
          (
          <year>1962</year>
          )
          <article-title>556</article-title>
          . doi:
          <volume>10</volume>
          .1145/ 368996.369016.
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>R. W.</given-names>
            <surname>Floyd</surname>
          </string-name>
          , Algorithm 97:
          <string-name>
            <surname>Shortest</surname>
            <given-names>Path</given-names>
          </string-name>
          ,
          <source>Commun. ACM</source>
          <volume>5</volume>
          (
          <year>1962</year>
          )
          <article-title>345</article-title>
          . doi:
          <volume>10</volume>
          .1145/ 367766.368168.
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Fine</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Moiseev</surname>
          </string-name>
          , Angular and TypeScript. Sitebuilding for professionals,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>W.</given-names>
            <surname>Fierens</surname>
          </string-name>
          ,
          <source>SVG.js v3.1</source>
          ,
          <year>2021</year>
          . URL: https://svgjs.dev/docs/3.1/.
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>B.</given-names>
            <surname>Troncone</surname>
          </string-name>
          , Introduction - Learn
          <string-name>
            <surname>RxJS</surname>
          </string-name>
          ,
          <year>2023</year>
          . URL: https://www.learnrxjs.io/.
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <article-title>Pikseli realnye i virtualnye (“Anatomiia svetodiodnogo ekrana”</article-title>
          ,
          <source>chast 11)</source>
          ,
          <year>2015</year>
          . URL: https://www.sea.com.ua/ua/led-ekrany/news/ pikseli
          <article-title>-realnye-i-virtualnye-anatomia-svetodiodnogo-</article-title>
          <string-name>
            <surname>ekrana-</surname>
          </string-name>
          cast-
          <volume>11</volume>
          /.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>