<!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>No-Code Application Development Using Ontology Weaver</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Christian Vibe Scheller</string-name>
          <email>scheller2@msn.com</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Pavel Hruby</string-name>
          <email>phruby@acm.org</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>REA Technology</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Copenhagen</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Denmark</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>http://reatechnology.com</string-name>
        </contrib>
      </contrib-group>
      <abstract>
        <p>The low-code &amp; no-code platforms contain configuration languages close to the concepts that citizen developers intuitively understand, for example, flowcharts in the case of Wem.io, and pipelines in the case of Quickbase. For several years, the authors of this paper experimented with an application language based on the REA (resources, events agents) ontology [1, 2, 3, 7], which contains concepts intuitively understood by economists. In all these cases the application ontology is static, and can only be changed by a new release of the platform. At VMBO 2022 workshop at CAiSE'22 we will demonstrate a novel approach, where a citizen developer can adapt the platform's programming model by selecting different ontologies that cover the problem domain. The platform is available at https://nocodeplatform.azurewebsites.net/ .</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
    </sec>
    <sec id="sec-2">
      <title>2. Ontologies for Software Application Development</title>
      <p>
        Software applications can be divided into several broad solution domains [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]:
•
•
•
•
      </p>
      <p>Transaction systems. They record events that occurred in the real world and provide analytics
over these events. Typical examples are ERP (enterprise resource planning), supply chain
systems, financial applications, and systems, in which transactions are not economic.
Translation systems. They receive input in one form and transform it into another form. Typical
examples are compilers, video encoders, image recognition, and language translators.
Reactive systems. They respond to inputs from their environment, such as the end-users and
other systems. Typical examples are computer games, simulators, and microcontrollers in
industrial applications.</p>
      <p>Data storage and management systems. They store and retrieve data, such as music and videos.</p>
      <p>Typical examples are iTunes, YouTube, OneDrive, etc.</p>
      <p>
        Each of these domains can be described by one or more ontologies, that can be used to construct
models and declarative configuration languages for these domains. For example, transaction systems
can be described by the REA ontology [
        <xref ref-type="bibr" rid="ref1 ref2 ref3">1, 2, 3</xref>
        ] and the POA ontology [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
      </p>
      <p>
        In addition to these broad categories of software systems, implementations of application logic
patterns enhance the capabilities and behavior of software applications. Examples are Notification,
Calendar, Location, Identification, Classification, and Workflow. They can be described by their own
“micro-ontologies” and “weaved” into the application’s domain ontology [
        <xref ref-type="bibr" rid="ref5 ref6">5, 6</xref>
        ].
      </p>
    </sec>
    <sec id="sec-3">
      <title>3. Ontology Weaver</title>
      <p>A challenge with this approach is its limitation to a single domain ontology. For example, a low-code
&amp; no-code platform in the domain of transaction systems is suitable for recording financial and other
economic transactions, but unsuitable for designing a speech recognition app or a flight simulator.</p>
      <p>This problem cannot be solved by using a more general metamodel, because it would eventually
turn into a general-purpose programming language; the platform will lose the domain semantics and
consequently the benefit of high speed and productivity in application development.</p>
      <p>A traditional solution to this problem is to develop the missing functionality by writing code in a
general-purpose language. This approach has many drawbacks, such as decreased productivity, and
when a new version of the platform is released, the customization code often needs to be rewritten.</p>
      <p>To overcome the problem of limitations of a single domain ontology, we developed an alternative
approach allowing the developer to choose from a variety of ontologies and add new ontologies on
demand, to cover the required problem domain.</p>
      <p>In the VMBO 2022 presentation, we will demonstrate how the no-code platform at
https://nocodeplatform.azurewebsites.net/ can be used to develop a software application based on
multiple ontologies simultaneously.</p>
    </sec>
    <sec id="sec-4">
      <title>4. References</title>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>G.L.</given-names>
            <surname>Geerts</surname>
          </string-name>
          , and
          <string-name>
            <surname>W.E. McCarthy,</surname>
          </string-name>
          “
          <source>The Ontological Foundations of REA Enterprise Information Systems.” Annual Meeting of the American Accounting Association</source>
          , Philadelphia, PA.
          <year>2000</year>
          , URL: https://msu.edu/user/mccarth4/Alabama.doc
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>G.L.</given-names>
            <surname>Geerts</surname>
          </string-name>
          , and
          <string-name>
            <surname>W.E. McCarthy.</surname>
          </string-name>
          “
          <article-title>An Ontological Analysis of the Primitives of the Extended REA Enterprise Information Architecture”</article-title>
          .
          <source>The International Journal of Accounting Information Systems</source>
          , (March):
          <fpage>1</fpage>
          -
          <lpage>16</lpage>
          ,
          <year>2002</year>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>J.</given-names>
            <surname>Kiehn</surname>
          </string-name>
          <article-title>: “Object-oriented REA using Dbquity”</article-title>
          .
          <source>VMBO</source>
          <year>2022</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>Neil</given-names>
            <surname>Harrison</surname>
          </string-name>
          , Personal Communication,
          <year>2015</year>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>P.</given-names>
            <surname>Hruby</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            and
            <surname>Kiehn</surname>
          </string-name>
          , J.,
          <string-name>
            <given-names>C.V.</given-names>
            <surname>Scheller</surname>
          </string-name>
          , “
          <article-title>Model-Driven Design Using Business Patterns”</article-title>
          . Springer,
          <year>2006</year>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>P.</given-names>
            <surname>Hruby</surname>
          </string-name>
          ,”
          <article-title>Ontology-Based Domain-Driven Design”</article-title>
          ,
          <source>OOPSLA 05 Workshop on Best Practices for Model-Driven Software Development</source>
          , San Diego, CA, USA,
          <year>2005</year>
          , URL: http://www.softmetaware.com/oopsla2005/hruby.pdf
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>G.L.</given-names>
            <surname>Geerts</surname>
          </string-name>
          , and
          <string-name>
            <given-names>W.E.</given-names>
            <surname>McCarthy</surname>
          </string-name>
          , G. Gal, “
          <article-title>Congruent and Meronymic Constellations in the REA Ontology,”</article-title>
          <source>VMBO</source>
          <year>2016</year>
          , URL: http://www.loa.istc.cnr.it/vmbo2016/wpcontent/uploads/2016/02/VMBO2016_paper_15.pdf
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>C.V. Scheller P.</given-names>
            <surname>Hruby</surname>
          </string-name>
          . “
          <article-title>Business Process and Value Delivery Modeling Using Possession, Ownership, and Availability (POA) in Enterprises and Business Networks</article-title>
          .
          <source>” Journal of Information Systems: Summer</source>
          <year>2016</year>
          , Vol.
          <volume>30</volume>
          , No.
          <issue>2</issue>
          , pp.
          <fpage>5</fpage>
          -
          <lpage>47</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>L.</given-names>
            <surname>Hammer</surname>
          </string-name>
          <article-title>: “Demonstrating Dbquity - a declarative software platform”</article-title>
          ,
          <string-name>
            <surname>VMBO</surname>
          </string-name>
          <year>2022</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>