<!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>
      <journal-title-group>
        <journal-title>V.: Algebraic
Matching of Vulnerabilities in a Low-Level Code. The ISC International Journal of Infor</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Platform for Modeling of Algebraic Behavior: Experience and Conclusions</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Kherson State University</institution>
          ,
          <addr-line>Universytets'ka St. 27, 73000, Kherson</addr-line>
          ,
          <country country="UA">Ukraine</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>V.M.Glushkov Institute of Cybernetics of the NAS of Ukraine</institution>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2010</year>
      </pub-date>
      <volume>1</volume>
      <issue>1</issue>
      <fpage>0000</fpage>
      <lpage>0003</lpage>
      <abstract>
        <p>In the article the platform for modeling of algebraic behavior is considered. It is intent for formalization of the systems, especially distributed, their modelling and analysis of the properties. Platform is used for the formal verification, model-based testing and security issues detection. Behavior algebra specifications are used as the modeling language. The number of projects is considered in the paper implemented on platform in cybersecurity, blockchain solutions and legal requirements processing.</p>
      </abstract>
      <kwd-group>
        <kwd>insertion modeling</kwd>
        <kwd>formal verification</kwd>
        <kwd>algebraic behavior</kwd>
        <kwd>symbolic modeling</kwd>
        <kwd>formalization</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>The current stage of development of the software systems industry is characterized by
a significant complication of the process of their development. Today are widely used
cyber-physical systems, blockchain technologies, and, in particular, smart contracts,
Distributed ledger technology (DLT), etc.</p>
      <p>
        Cyber-Physical Systems (CPS) are used in space research, transport management,
in the energy sector, in production management, in the military sphere, in medicine, in
the construction of modern infrastructure, for contactless control of consumer
electronics, etc. Typically, CPS are the systems with critical application area. Therefore,
when designing such systems, increased demands are placed on their reliability and
safety [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>
        Distributed ledger technology is information storage technology, the key features
of which are the sharing and synchronization of digital data according to the
consensus algorithm, the geographical distribution of equivalent copies at different points
around the world, the absence of a central administrator [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Accordingly, like as any
new technology, blockchain has its own vulnerabilities. Thus, all algorithms that are
used require the careful analysis and verification, namely, the checking the stability of
the system against various attacks, such as Double spending attacks, Grinding attacks,
Copyright © 2020 for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0).
      </p>
      <p>Transaction denial attacks, Desynchronization attacks, 51% attacks, Selfish-mining,
etc.</p>
      <p>At the same time, the existing methods of quality control of the developed systems
are characterized by incompleteness, high complexity and insufficient reliability. This
situation inevitably entails an increase in the number of errors in the development of
systems.</p>
      <p>As a rule, an analysis of the compliance of a system with the requirements that are
imposed on it is carried out either by means of its visual analysis or by a testing
method. However, if any of the properties of the system can be formally expressed, for
example, in the form of a formula of mathematical logic, then the analysis of this
property can be carried out by verification methods.</p>
      <p>As a rule, verification is used to analyze the first requirement to the system - its
correctness. Note, that this requirement is the main one.</p>
      <p>In the first section of this article, a brief description of the current state of
theoretical studies in the field of verification and short overview of developed systems for
model verification is given. In second section of this article our approach to
verification and model testing is presented. The third section of this article describes the Main
capabilities and functionality of the platform. In the fourth section a short description
of few examples of implemented models is given.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Related Works</title>
      <p>The problems of modeling and verification of software systems occupy a central
position in research on the mathematical theory of programming. This is primarily due to
the high relevance of creating a theoretical foundation for the development of reliable
software.</p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref3 ref4">3-4</xref>
        ], the current state of theoretical studies in the field of CPS and their
applications in practice is described. The prospects and significance of this direction are
justified by the development of roadmaps for the development of this field of research
in the USA [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] and in Europe [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
      </p>
      <p>
        Since 1970, more than 25 research projects on the use of information technology in
legal activity have been developed. The problem of using information technology to
legal regulation is not new to the EU, so there are legal policy modeling systems in
the EU: EUROMOD, SYSIFF and POLIMOD. In Finland and the Netherlands,
JURIX was created by the organization of researchers in the field of law and
informatics, who are engaged in computer analysis of legal texts and documents. Thus,
article [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] is focused on the method that was developed to model the legislation. The
basis for modeling the regulatory framework is UML/OCL. Article [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] presents
experience in the analysis of Luxembourg regulatory framework. The idea is also to use a
UML approach to model procedural rules. Generally, the model is based on the
Domain-Specific Modeling (DSM) approach.
      </p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], is also used by UML Activity Diagrams for legal rule formation. After that
when models are generated, the resulting model is automatically translated into a
model with using OCL expressions. The resulting OCL legal model can be used for
automatic analysis by OCL solvers [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
      </p>
      <p>
        Over the past five years found a place the Semantic Web technology and using of
ontologies theory in jurisprudence. Thus, tools based on the Semantic Web and
ontology theory are generally intended not only to optimize the search for legal
information, but also as a tool for clustering, classifying and managing legal
knowledge [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
      </p>
      <p>
        The paper [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] discusses the approach to constructing agent economic models with
using of finite state machines. The authors of this article note, that this approach can
be used to model the markets for absolute and monopolistic competition. The article
discusses the use of finite state machines for specification and simulation of the
Walras model.
      </p>
      <p>
        The article [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] presents a framework for the analysis and formal verification of
Ethereum smart contracts using F * (functional programming language designed to
test programs).
      </p>
      <p>There are various technologies of requirements verification. You can use the
traditional method of model checking (model checking) or use deductive methods of
symbolic modeling (symbolic modeling) with using an automatic proofing and specialized
programs such as provers and solvers.</p>
      <p>There are many of tools for simulation modeling of behavior in different domains,
such as Maple, MatLab, Powersim, Ithink, Arena for economic modeling,
SmartCheck, EtherTrust, ZEUS for smart-contracts, EUROMOD, SYSIFF and
POLIMOD for jurisprudence, etc.</p>
      <p>All systems are popular and can be used in various scientific fields. But the rapid
pace of information technology development, and, in turn, the increasing complexity
of software, requires to finding new approaches and solutions. That is why we are
working to improve formalization technologies. We use algebraic methods to solve
problems more precisely and use more expressive languages.</p>
      <p>The study is a continuation of the previous authors works in which were presented
using methods of algebraic programming and insertion modeling for verification and
simulation of crypto-economics, legal, economics models, hardware systems.</p>
      <p>
        At the articles [
        <xref ref-type="bibr" rid="ref13 ref14 ref15">13-15</xref>
        ] considers the formal methods approach for token economy
modeling, analysis and studying of its properties. It uses an insertion modelling
technique for verification of token economy and behavior algebra specifications for
formalization. The project SKILLONOMY is considered as an example of algebraic
approach application. The formalization and properties analysis is considered with
usage of insertion modeling platform.
      </p>
      <p>
        In the paper [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] we present the technology and system where algebraic approach
demonstrates formal proving of correctness or irregularity of tax actions for tax
payers correspondingly to the law. Given example from practice of taxation illustrates
findings in Tax Code and inconsistencies of decisions of Taxation Office. Algebraic
Programming System is used for detection of such collisions and proving of
incorrectness by automatic reasoning from formalized legal requirements.
      </p>
      <p>
        An example of describing CPS in the IMS system is presented in [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ].The ways of
using algebraic interaction theory and insertion modeling technology to solve
problems of analysis and synthesis of cyber-physical systems are shown in the article.
      </p>
      <p>
        In the papers [
        <xref ref-type="bibr" rid="ref18 ref19">18-20</xref>
        ] overviews the main concepts of insertion modeling, presents
new algorithms developed for symbolic verification, especially a new predicate
transformer for local descriptions, and provides a formal description of the method of
generating traces from such specifications (which is the key technology used to verify
requirements and derive test suites).
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Verification and Model Testing. Our Approach</title>
      <p>Model verification is to investigate the behavioral properties of safety or viability. To
prove the reachability of the properties, that are checked, can be used the following
formal methods of behavior algebra:
• Static - methods for which it is sufficient to prove the feasibility property that is
given by the formula in the base language. In other words, there are some values of
formula attributes where the formula can be true. Proof of the property of
feasibility is achieved by the using of solving machines such as Microsoft Z3 and cvc4.
• Dynamic - Applied to behavioral properties (properties where the formula is
represented by expressions of behavior algebra and by semantics of actions, where the
formula is represented as an expression in the base language) [21].
• Combined - methods for which the proving of feasibility of formulas is not enough,
and it is necessary to prove the reachability of the formula by symbolic modeling.
• Partially dynamic - use the technique of invariants generating [22] in behavior
algebra.</p>
      <p>A model in the form of algebra of behavior and the property formula, that is
verified, are inputs to the verification procedure, and verdict that confirms its reach and a
scenario that leading to the corresponding state is its output.</p>
      <p>Within the framework of behavior algebra uses such basic verification methods as
incompatibility (nondeterminism), incompleteness (deadlocks), compatibility of
timing properties, and synchronization problems, critical states (expressing a state of
"starvation" when all agents are waiting for receiving of signals, a state of violation of
restrictions or other security properties that can be specified by the user), signals
racing (when different signal sequences create different states of the environment),
properties of liveness, that expressing the reachability of the desired state.</p>
      <p>Model testing. To create a test set in a suitable testing environment, an algebraic
model can serve as a model for traces generating. At each of the development phases
can be checked model artifacts. Both design specifications and binary code can be
tested. Direct and inverse symbol modeling are the main methods of test generation.</p>
      <p>Necessary covering of code lines by tests is determined by both the requirements
for the generation of tests and the model where exhaustive testing can be considered,
namely, the generation of all possible states of model behavior, coverage of actions in
a model, or coverage of all transitions between actions.</p>
      <p>The test is the sequence of reception and sending signals between agents. When
performing tests, there are two instances - instance that tests and instance that being
tested. Test signals are sent to tests instance and then performed a comparison with
the expected result.</p>
      <p>The following types of testing are considered when using behavior algebra:
• black box method - a set of tests where the code of the instance that being tested is
unknown;
• white box method. The process is determined by the symbolic execution of the
parallel composition of model and code. When execution, the states of the
environment are compared on equivalence.
4
4.1</p>
    </sec>
    <sec id="sec-4">
      <title>Main Capabilities and Functionality of the Platform.</title>
      <sec id="sec-4-1">
        <title>Main Components</title>
        <sec id="sec-4-1-1">
          <title>The platform consists of the following components:</title>
        </sec>
        <sec id="sec-4-1-2">
          <title>1. Algebraic Programming System (APS)</title>
          <p>APS was developed by the Glushkov Institute of Cybernetics of the National
Academy of Science of Ukraine. It was the first system of term rewriting which used the
systems of rewriting rules and rewriting strategies separately [23]. The main goal of
APS is to create an algebraic program that solves mathematical problems. APS
include Proving and Solving Systems.</p>
          <p>A Proving System give us a possibilities to prove some trueness of a formula in a
theory if the axioms and relation are given. For the resolving equations in Solving
Systems in APS are implemented the fol-lowing theories: enumerated types theory,
Boolean logic, linear arithmetic, float arithmetic, string solving, and etc.</p>
        </sec>
        <sec id="sec-4-1-3">
          <title>2. Insertion Modelling System (IMS) Insertion Modelling System is an environment for the development of insertion machines, used to represent insertion models of distributed systems [24]. IMS is an extension of APS.</title>
          <p>Insertion modeling focuses on building of models and studying the interaction of
agents and environments in complex distributed multi-agent systems. The main
notion of IMS is the insertion function, which defines the behaviors of agents and
actions of environments. We used the behavior algebra specifications for the
formalization for the insertion modeling method [25] and the deductive or symbolic method in
IMS based on the such external provers and solvers, as Presburger – omega,
FourierMotzkin - reallib (our tool), cvc3, z3 and MathSAT.</p>
        </sec>
        <sec id="sec-4-1-4">
          <title>3. Algebraic Engine</title>
          <p>An Algebraic Engine is an algebraic tool for modeling of system behavior. It is
created on the basis of the IMS system.</p>
          <p>It has the following features:
• Generation of symbolic behavior scenarios;
• Resolve the problem of reachability of some property (safety, liveness, and
security violations). It detects the reachability of a property given as a formula and given
as a behavior in a behavioral algebraic expression;
• Provide verification by symbolic modeling (with the usage of slice technique) of
protocols, programs, models and other behavioral specifications given in
behavioral algebraic expressions;
• Map symbolic modeling to original language specifications.</p>
        </sec>
        <sec id="sec-4-1-5">
          <title>4. SymTech Platform SymTech is a system with the use of Symbolic Technology, which involves algebraic and deductive formal methods for the resolution of sophisticated industrial challenges.</title>
          <p>The main features of SymTech Platform are:
• testing technologies;
• model-driven development;
• support of the development process of a critical system or system with Quality of</p>
          <p>Service (QoS);
• verification and validation;
• cybersecurity.
4.2</p>
        </sec>
      </sec>
      <sec id="sec-4-2">
        <title>Functionality of the Platform. Main Window</title>
        <p>SymTech (Symbolic Modeling) platform includes a number of system and libraries
for implementation of the algebraic formal methods and integration with other
program systems.</p>
        <p>To get started, you must log in to your account on the platform. Once you have
logged into your account, you can create a new project, or open a previously created
one. After creating a new project, you will see the following arrangement of menus
and windows (Fig. 1):</p>
        <p>Thus, we have a vertical and horizontal menu for our platform:
• Horizontal menu. Gives us possibilities to make some manipulations with project,
such as: back to previous and next action; create, save, start, copy, export or import
of project; creation of different experiment with a model, creation a copy of
experiment.
• Vertical menu. In this menu we see the list of items that are the key definitions of
formalization and are the basis for model formalization and, also a list of special
platform tools.</p>
        <p>As you can see, the main workspace is occupied by such windows as "protocol",
"behavior", "console", etc. (Fig.1). They open by default, but can be closed,
minimized or maximized depending on your needs. In these windows, after creation, will
be displayed the key elements of the model, startup results (in console), etc. We also
will use them to edit and describe the necessary elements.
Let's consider the main functionality of the platform on the concrete examples.
4.3</p>
      </sec>
      <sec id="sec-4-3">
        <title>Examples of Models Formalization. Requirements for a Model. Coffee</title>
      </sec>
      <sec id="sec-4-4">
        <title>Machine.</title>
        <p>In this example we describe the model of how a coffee machine works.</p>
        <p>We have an automated machine which interacts with the external environment by
means of coins - input data, of certain denomination and two buttons - «Make coffee»
and «Cancel». Requirements for the operation of a coffee machine are given below.</p>
        <p>Requirements for the operation of a coffee machine.
• R1. The coffee machine contains slots for 5, 10, 25, 50 cent coins, display and
sensor buttons «Make coffee» and "Cancel".
• R2. The coffee costs 95 cents.
• R3. After inserting coins into the slot corresponding to the amount, the sum will be
shown on the display.
• R4. If the total of inserted coins is greater or equal to 95 cents, then after pressing
the button «make coffee» a drink is delivered and the corresponding change
returned.
• R5. Upon pressing the button "Cancel," after inserting coins, the total amount will
be refunded.</p>
        <p>The example contains agent – automatic machine which interact with the external
environment.</p>
        <p>Requirement R1 states that the agent - automatic machine communicates with the
environment by means of coins - input data, of certain denomination and two buttons,
which can be written as the following, having entered the appropriate integer attribute
coin, satisfying the condition:</p>
        <p>(coin = 5)|/ (coin = 10)|/ (coin = 25)|/ (coin = 50)
Requirement R2 says that there is a certain factor that contains attributes of price,
which can be written down as the following:</p>
        <p>CoffeePrice = 95
The requirements enclose one more attribute related to the amount of inserted coins.
Let’s designate it by means of the identifier “SUMMA.”</p>
        <p>It is also required to define the obvious fact that if no coins were inserted into the
automatic machine, then SUMMA = 0. Thus the agent is formed with variety of
attributes which form its type.</p>
        <p>For creating a model at the platform we must make next steps:</p>
      </sec>
      <sec id="sec-4-5">
        <title>1. Add an Agent Types and Agent Attributes. Add an Agent Types and Agent At</title>
        <p>tributes. In the vertical menu yuo can see item "Agent types" (Fig.2 (a)) in that we
can add types of agents. After that we can choose needed agent type and in the
special window we can add agent attributes (FIg.2 (b)).
2. Add an Agents. After the finishing of the describing of all agents types, we must
add the instances of agents. In our example, it's only one agent. The agent name is
CoffeeMach1 and its type is CoffeMachine (Fig.3(b)).</p>
        <p>It is important to identify the type of agent in those cases when there are only a few
of them and the agent expressions shall be used for making these distinctions. In this
simple given example, so long as there is only one agent we can consider agent
attributes as attributes of the environment.
3. Add Trigger Events. The next step is to determine all trigger events (Fig.4).
Requirements R3, R4, R5 describe the reaction of the agent to exposure in the
environment. They explicitly define trigger events – insert coins, press button “make
drink,” push button, “return of the sum.” Thus, preconditions for triggers -
presence of inserted amount and the fact that the inserted sum is greater or equal to the
price of coffee - are explicitly defined.</p>
        <p>Such as one of the trigger events is "insert coins," so we declare, for this event, the
parameter x of integer type.
4. Add Basic Protocols. All basic protocols are presented in the list of "Basic
protocols" in the vertical menu. Any of them must be described on the special tab "Basic
protocols". Their MSC-diagrams must be described on this tab too (Fig.5).
It should be mentioned, that the attribute coin was not defined at first. The attribute
coin in Insert_Coins protocol is used as a parameter of basic protocol or local attribute
whose value is saved only during the execution of basic protocol. After the
application of a basic protocol, it becomes indefinite again.
5. Initial Environment. In the Initial Environment we describe the initial values
(Fig.6)
6. Behavior. Requirements do not clearly define a certain sequence of application of
basic protocols. Initially, only the R3 protocol can be applied and the rest after
including itself. After the R4 protocol it is possible to repeat preparation of new
portion of drink or complete operation. This sequence is represented in the form of the
following UCM-diagram (Fig.7)</p>
        <p>The reflection of UCM-notation in a text form must be written in the tab "TEXT."
For this example, we have the following description (Fig.8).
7. Simulation results. After starting the program of trace symbolic generation, we
get a result, where the behavior of the model is represented by eighteen traces
(Fig.9).
The text verdict which contains the statistics of trace generation is created after the
end of the operation of trace generation. The number of traces, which leads to the
state determined by goal, state the formula such as deadlock states, visited states,
states of safety violation and states of possible non determinism is displayed.</p>
        <p>The statistics of basic protocol application and the list of not applied basic
protocols are provided. The time of trace generation is also documented.</p>
        <p>In the given traces information display regarding the symbolic state of the
environment, is disabled and there are only those elements illustrating the application of
basic protocols, namely messages in the form of arrows and the local actions of an
agent.
5
5.1</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Examples of Projects.</title>
      <sec id="sec-5-1">
        <title>SKILLONOMY Project</title>
        <p>SKILLONOMY is an educational online platform that tokenizes productive activities
in the learning process and is focused on gaining monetized online knowledge and
skills. The SKILLONOMY ecosystem is built around an IT platform that allows
participants to effectively build and administer the relationships that are related to
training, investing and sharing experience. Developing the SKILLONOMY project
required a set of essential functions of the blockchain for ensuring a stable and efficient
system that works [26].</p>
        <p>The main purposes of the tokenomics model formalization of the SKILLONOMY
project are:
• the search for modeling errors, such as finding failings or possible contradictions;
• the search for effective scenarios of the system in the model, etc.;
• the possibilities for analyzing and predicting the model; and
• the possibilities for analyzing the feasibility of project financing.</p>
        <p>The process of the formalization of the tokenomic project consists of the following
steps: selection of the agents and definition of their attributes corresponding to the
level of abstraction demanded, definition of agents’ actions and the design of agents’
behavior.</p>
        <p>As a result of the simulation of the model and with the selection of different values
of attributes, we were able to analyze the behavior of the SKILLONOMY model
according to different bitcoin trends.</p>
        <p>When we model the specifications, we simulated the activity of all agents that take
part in such processes as sending and receiving tokens and selling and purchasing
tokens on the stock exchange. In the process of modeling, we were able to monitor the
dynamics of attributes and main tokenomic indicators. Moreover, unlike to previous
results, in the latest version of model we have modeling the situation when in the
system can be present two or more students group and the number of students may
increase.</p>
        <p>This model allows changing hypotheses to evaluate the risks when selecting the
worst conditions in the process of tokenomic modeling. One of most important
advantages of tokenomic modeling is the opportunities to debug the system and to
change the algorithm or boundary values of attributes to reach the demanded results.</p>
        <p>
          Description of the model is given in [
          <xref ref-type="bibr" rid="ref13 ref14 ref15">13-15</xref>
          ].
5.2
        </p>
      </sec>
      <sec id="sec-5-2">
        <title>Cybersecurity Projects</title>
        <p>The algebraic approach in cybersecurity was demanded over the past two decades
with the appearance of efficient solving and deductive tools. Different techniques like
symbolic modeling and concolic computations use the algebraic approach that has
created more possibilities for methods of detection in cybersecurity.</p>
        <p>Our tools anticipate algebraic matching in different modes. The following
applications are available and are under active research:
1. Definition of Attacker Behavior</p>
        <p>The project has been started together with the Glushkov Institue of Cybernetic in
2017. The goal of the project is to use the algebraic formal methods in the detection of
attack and vulnerability in the software systems.</p>
        <p>One of the decisions is the usage of behavior algebra algorithms and the theory of
insertion modeling. Types of intruder attacks from CVE database, especially
Meltdown and Spectre are presented as behavior algebra expression and detection of
vulnerability is defined by resolving of behavior.
2. Vulnerabilities Detection</p>
        <p>The project has started 2016 year with the attempts to formalize the vulnerability
“Heartbleed” and try to detect it in Algebraic Programming System.</p>
        <p>The results (together with V.Sukhomlinov from Intel) are presented in a paper [27].</p>
        <p>The technology of vulnerability formalization has been developed together with the
Institute of cybernetics. The technique of vulnerability semantics presentation in
behavior algebra expressions has been presented in papers [28, 29]:</p>
        <p>The main benefit of an algebraic approach is that we can more accurately detect
vulnerabilities. The description of the vulnerability covers a set of its possible
scenarios.</p>
        <p>The implementation of two or more matching levels can significantly increase the
detection efficiency. Thus, matching at the control flow level can be implemented
first as a fast procedure, and then, the detected set of scenarios can be modelled
symbolically as the more expensive stage.
5.3</p>
      </sec>
      <sec id="sec-5-3">
        <title>Tax Code.</title>
        <p>We considered the subset of Tax Code and created it’s formalization that contains all
articles belonged to VAT (Value Added Tax) and its dependencies from additional
by-laws.</p>
        <p>For presentation of algebraic model we use double sort algebra that contains the
algebra of behavior and logical language with arithmetic, set-theoretic and logic
operations. Formulas of this language are constructed from operations and predicates over
integer, real, enumerated, and symbolic types [30].</p>
        <p>Usually in Tax Code we have two kinds of agents that are – tax payer and taxation
office. We can consider the set of Tax Payers that interact with each other.</p>
        <p>The given approach could be applied to legal requirements that could be
formalized by such manner. We can watch the possible scenarios and analyze the
environment in system to achieve the right formal presentation. The traces were verified by
third person with economic background and corresponding correction were made.</p>
        <p>Now the “digital” Tax Code of Ukraine is ready for use in the scope of Algebraic
Programming System and could be deployed in interested organization.</p>
        <p>
          Description of the model is given in [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ].
6
        </p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Conclusions</title>
      <p>Behavior algebra and basic protocol specifications are used for the formal description
of a model. Algebraic artifacts such as theorems and abstract algorithms provide a
basis for formal verification methods. These methods were implemented and
successfully applied to industry projects in Motorola, Inc.</p>
      <p>Formal verification anticipates the checking of the properties of the system. The
properties could be classic, such as the absence of deadlocks and non-determinisms,
or subject domain specific defined safety or liveness conditions. We can prove the
reachability of demanded properties by using a symbolic modeling method developed
in the scope of IMS.</p>
      <p>The given approach could be applied to models that could be formalized by such
manner. One of the difficulties is the process of formalization. Due to the experience
there should be two specialists involved in the process of the formalization –
algebrists and specialist in specific area of project.</p>
    </sec>
    <sec id="sec-7">
      <title>Acknowledgements</title>
      <p>We would like to thank the company LitSoft Enterprise R&amp;D [31] for the opportunity
to work with the platform for modeling of algebraic behavior for our research and
experiments in the modeling area. We are also grateful to the Glushkov Institute of
Cybernetics of NAS of Ukraine for the theoretical and practical results in the field of
verification that were used as a basis for our studies of formalization and algebraic
modeling in the tokenomics projects area and to the Kherson State University for the
active supporting of Insertion Modeling System.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Lee</surname>
            ,
            <given-names>E:</given-names>
          </string-name>
          <article-title>Cyber Physical Systems: Design Challenges</article-title>
          .
          <source>In: 11th IEEE Int. Symp. on Object Oriented Real-Time Distributed Computing (ISORC)</source>
          , pp.
          <fpage>363</fpage>
          -
          <lpage>369</lpage>
          . Orlando, FL. USA (
          <year>2008</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2. What is DLT?, https://www.qpiter.com/what-are-dlts/,
          <source>last accessed</source>
          <year>2020</year>
          /03/09.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Shi</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wan</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yan</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Suo</surname>
          </string-name>
          , H.:
          <article-title>A Survey of Cyber-Physical Systems</article-title>
          .
          <source>International Conference on Wireless Communications and Signal Processing (WCSP)</source>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>6</lpage>
          ,
          <string-name>
            <surname>Nanjing</surname>
          </string-name>
          (
          <year>2011</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Ashibani</surname>
          </string-name>
          , Yosef, Mahmoud,
          <source>Qusay: Cyber Physical Systems Security: Analysis, Challenges and Solutions. Computers &amp; Security. 68</source>
          .
          <fpage>81</fpage>
          -
          <lpage>97</lpage>
          . (
          <year>2017</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <article-title>Foundations for Innovation in Cyber-Physical Systems</article-title>
          . Workshop Summary Report, https://www.nist.gov/system/files/documents/el/CPS-WorkshopReport-1-
          <fpage>30</fpage>
          -13-Final.pdf,
          <source>last accessed</source>
          <year>2020</year>
          /03/19.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Cyber-Physical European</surname>
            <given-names>Roadmap</given-names>
          </string-name>
          &amp; Strategy, www.cyphers.eu,
          <source>last accessed</source>
          <year>2020</year>
          /03/09.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7. Tom van Engers,
          <string-name>
            <surname>T.</surname>
          </string-name>
          et al.:
          <article-title>POWER: using UML/OCL for modeling legislation-an application report</article-title>
          .
          <source>In Proceedings of the 8th international conference on Artificial intelligence and law</source>
          , pp.
          <fpage>157</fpage>
          -
          <lpage>167</lpage>
          (
          <year>2001</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Soltana</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          et al.:
          <article-title>Using UML for modeling procedural legal rules: Approach and a study of Luxembourg's Tax Law</article-title>
          .
          <source>In International Conference on Model Driven Engineering Languages and Systems</source>
          , pp.
          <fpage>450</fpage>
          -
          <lpage>466</lpage>
          . Springer, Cham (
          <year>2014</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Cabot</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Clariso</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Riera</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Verification of UML/OCL class diagrams using constraint programming</article-title>
          .
          <source>In: Proc. of 2008 IEEE Conf. on Software Testing Verification and Validation Wrkshp</source>
          .
          <source>(ICST'08)</source>
          . pp.
          <fpage>73</fpage>
          -
          <lpage>80</lpage>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Casanovas</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          et al.:
          <article-title>Semantic web for the legal domain: the next step</article-title>
          .
          <source>Semantic Web</source>
          ,
          <volume>7</volume>
          (
          <issue>3</issue>
          ), pp
          <fpage>213</fpage>
          -
          <lpage>227</lpage>
          (
          <year>2016</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Gnilomedov</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          :
          <article-title>Modeling of economic agents using finite state machines</article-title>
          .
          <source>Scientific reports "Integrated Models, Soft Computing, Probability Systems and Program Complexes in Artificial Intelligence."</source>
          , Fiz-matlit,
          <source>Moscov</source>
          , pp.
          <fpage>72</fpage>
          -
          <lpage>89</lpage>
          (
          <year>2009</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Bhargavan</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          et al.:
          <article-title>Formal verification of smart contracts:</article-title>
          <source>Short paper In Proceedings of the 2016 ACM Workshop on Programming Languages and Analysis for Security</source>
          , pp.
          <fpage>91</fpage>
          -
          <lpage>96</lpage>
          (
          <year>2016</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Letychevskyi</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Peschanenko</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Poltoratskyi</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Tarasich</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          :
          <article-title>Our Approach to Formal Verification of Token Economy Models</article-title>
          .
          <source>In International Conference on Information and Communication Technologies in Education, Research, and Industrial Applications</source>
          , pp.
          <fpage>348</fpage>
          -
          <lpage>363</lpage>
          , Springer, Cham (
          <year>2019</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Letychevsky</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Peschanenko</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Radchenko</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Poltoratzkyi</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kovalenko</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Mogylko</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Formal Verification of Token Economy Models</article-title>
          .
          <source>In 2019 IEEE International Conference on Blockchain and Cryptocurrency (ICBC)</source>
          , pp.
          <fpage>201</fpage>
          -
          <lpage>204</lpage>
          , IEEE (
          <year>2019</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Letychevskyi</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Peschanenko</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Radchenko</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Poltoratskiy</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tarasich</surname>
          </string-name>
          , Yu.:
          <article-title>Formalization and Algebraic Modeling of Tokenomics Projects</article-title>
          .
          <source>In ICTERI Workshops</source>
          , pp.
          <fpage>577</fpage>
          -
          <lpage>584</lpage>
          (
          <year>2019</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Letichevsky</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Letychevskyi</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Peschanenko</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Poltorackij</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>An Algebraic Approach for Analyzing of Legal Requirements</article-title>
          .
          <source>In 2017 IEEE 25th International Requirements Engineering Conference Workshops (REW)</source>
          , pp.
          <fpage>209</fpage>
          -
          <lpage>212</lpage>
          , IEEE. (
          <year>2017</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Letichevsky</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Letichevsky</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jr.</surname>
          </string-name>
          ,
          <string-name>
            <surname>Skobelev</surname>
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Volkov</surname>
            <given-names>V</given-names>
          </string-name>
          .
          <article-title>Cyber-physical systems</article-title>
          .
          <source>Cybernetics and systems analysis</source>
          ,
          <volume>53</volume>
          (
          <issue>6</issue>
          ),
          <fpage>3</fpage>
          -
          <lpage>19</lpage>
          (
          <year>2017</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Letichevsky</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Letychevskyi</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Peschanenko</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weigert</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          <article-title>Insertion modeling and symbolic verification of large systems</article-title>
          .
          <source>In International SDL Forum</source>
          ,
          <volume>3</volume>
          -
          <fpage>18</fpage>
          , Springer, Cham (
          <year>2015</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Letichevsky</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Letychevskyi</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Peschanenko</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Huba</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <article-title>Generating symbolic traces in the insertion modeling system</article-title>
          .
          <source>Cybernetics and Systems Analysis</source>
          ,
          <volume>51</volume>
          (
          <issue>1</issue>
          ),
          <fpage>5</fpage>
          -
          <lpage>15</lpage>
          . (
          <year>2015</year>
          ).
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>