<!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>bee-up - A teaching tool for fundamental conceptual modelling</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Patrik Burzynski</string-name>
          <email>patrik.burzynski@dke.univie.ac.at</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Dimitris Karagiannis</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>University of Vienna, Faculty of Computer Science, Research Group Knowledge Engineering</institution>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2020</year>
      </pub-date>
      <fpage>217</fpage>
      <lpage>221</lpage>
      <abstract>
        <p>This work presents the bee-up tool, which has been developed with teaching about conceptual models and modelling in mind and used as such for several semesters. It is an implementation which integrates several modelling languages that gained wide popularity and further extends them in one overarching meta-model. Among others the included modelling languages are the Business Process Model and Notation (bPMN), Event-driven Process Chains (ePC), Entity-Relationship models (eR), the Unified Modeling Language (uML) and petri Nets, giving bee-up its name. Besides allowing the creation of models, bee-up also provides functionality for gaining the value of models and means to extend the available functionality by the user. Gaining knowledge and skills about conceptual models and their creation is an essential part of computer and information science at university level [JL17]. We teach our students these skills and knowledge in the Conceptual Modelling course on undergraduate level, where they learn how to “use abstraction to reduce complexity in a domain for a specific purpose”. Depending on the purpose different modelling languages may be needed. For example when realising a complex enterprise information system the relevant processes may be described with BPMN, the application designed with UML and the database structure specified using ER and simulate complex behaviour with Petri Nets. Therefore the Conceptual Modelling course covers the foundations of conceptual modelling, teaching the factual knowledge of conceptual modelling by emphasising its procedural and semantic aspects, and communicating the theory of several fundamental conceptual modelling languages (BPMN, ER, EPC, UML and Petri Nets). However, the aim is not only to teach how to create syntactically correct models in a particular language, but also to show how models can be used to gain value. Therefore, once the students become accustomed to creating conceptual models, their practical application is taught and their value is not only shown in its traditional role of supporting communication, but also as machine-readable artefacts on which various functionalities can be used. Additional details about the teaching can be found in [St19].</p>
      </abstract>
      <kwd-group>
        <kwd>modelling language integration</kwd>
        <kwd>use of models</kwd>
        <kwd>model value</kwd>
        <kwd>bee-up</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Motivation</title>
      <p>To cover all this we have created the free to use modelling environment bee-up2 which
allows for the creation of models in the above mentioned languages, but also provides
some additional languages (Working environment, DMN, Flowcharts, …), integration
features allowing the semantic extension and linking of different models in
multiperspective approaches and enables the use of models to derive value (see [Ka16]). For
example an ER model can, on one hand, be linked as a detailed view on a BPMN data
object and also can generate the corresponding SQL CREATE statements for actually
creating that data schema. This demonstrates to students that the modeller has a direct
influence on the model value and that both knowledge about the used modelling method,
e.g. ER and derivation of SQL statements, and knowledge about the domain that is
modelled, e.g. accounting, car production or aviation, are necessary to achieve the desired
purpose. Another benefit of bee-up in this context is that it covers the necessary languages
for the course in one environment, allowing to focus on Conceptual Modelling tasks and
content.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Extracting model value</title>
      <p>One of the main benefits the bee-up modelling environment provides to educators is the
support for shifting perception - from seeing models as a form of graphical documentation
(“drawings”) to seeing them as machine-processable knowledge artefacts - an educational
design problem highlighted in [Bu19]. Following are some examples of features
supporting this.


−
−
−
Meta²-model specific – functionalities relying on a specific meta²-model structure.</p>
      <p>Generation of RDF structure – An RDF representation of the models can be
generated. This allows the integration of model content with ontologies and
Linked Data and for processing with semantic technology.</p>
      <p>Voice-control – Model content can be edited with voice commands based on
existing speech recognition services. The functionality is currently in an early
prototype stage.</p>
      <p>Abstraction specific – functionalities relying on the semantics on a certain level of
abstraction that covers multiple types of models.</p>
      <p>Simulation of processes – Models depicting processes using different
languages (BPMN, EPC, and UML Activity diagrams) can be uniformly
simulated, allowing to perform a path analysis, listing all paths and their
quantitative details like execution times, or a workload analysis in
conjunction with a working environment model, showing the estimated
workload on individual people.
2 https://www.omilab.org/bee-up</p>
      <p>Language specific – functionalities relying on the semantics of a specific language
or its adaptation.
−
−</p>
      <p>Derivation of code – It is possible to derive SQL statements for database
creation out of an ER model, if additional details like the datatype of attributes
are provided. Additionally a simple prototype which can transform parts of a
UML class diagram into code (C++, Java or Python) is used in the lectures.
Execution of models – Going one step beyond simulation, elements in Petri
Nets and Flowcharts models have execution attributes which are used with a
simple integrated execution engine to run the defined code or call web
services from model elements directly in bee-up.</p>
      <p>One specific teaching case employing such features is the querying of BPMN process
models using SPARQL, based on the RDF generation. Examples of model queries are
provided by analogy to the more familiar data queries, e.g.: 1) determining all the decisions
of the process based on the gateways diverging the flow with special conditions or 2) using
the process in conjunction with a working environment model to find all people needing
access to a specific document.</p>
      <p>Another more elaborate scenario uses models to control a robotic arm to perform, with
some imagination, a “coffee brewing” process driven by the knowledge captured in the
form of a Petri Net or Flowchart and relying on model-robot interoperability. The robotic
arm3 is part of the OMiLAB4 infrastructure at the University of Vienna and provides a
micro-service interface to execute simple operations, like moving to or grabbing on, which
are abstracted in the elements of process models. For example a Flowchart model is used
to combine these simple operations into more case specific ones, like picking up, placing
or dropping objects and considering safety distances, while another Flowchart utilizes
these to place the necessary components in the cup. This demonstrates the benefit of
models in reducing the complexity of the execution layer (i.e. the robotic arm moving) to
the scenario layer (i.e. create coffee using a robotic arm) through several levels of
abstraction and that the models can be directly used to execute and validate the realised
case. A similar case with the same robotic arm is also modelled as a Petri Net, allowing to
execute the relevant operations step by step. Additional details and instruction on how to
perform this scenario can be found at the bee-up homepage2 under “Scenarios”.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Implementation</title>
      <p>The entire bee-up environment is implemented through different artefacts and resources.
At its heart is the modelling tool, which is realised on the ADOxx platform5 due to its free
availability and ease of use. Thus bee-up uses the ADOxx platform’s meta²-model to
3 https://austria.omilab.org/psm/content/omiarm1/info
4 https://www.omilab.org
5 https://www.adoxx.org
define the available concepts and inherits the architecture of the ADOxx platform for
deployment as a standalone tool, parts of which are shown in Fig. 1.
The specific types of models are realised through extending the ADOxx platform’s core
meta-model with the necessary classes, relations and attributes, leading to an integration
of the languages through shared super-classes. The current bee-up implementation has
around 200 classes and around 50 relations in total and an even larger number of attributes.
By having one combined meta-model it is possible integrate the modelling languages. An
example with different types of models and how they can be connected in the tool using
cross-references like "Used system", "Referenced subprocess", "Automation details" and
others, as is seen in Fig. 2.
It is also possible for the user to extend the functionality directly available in the bee-up
tool. These can be realised in different ways, just like the already available functionalities.
Some, like the derivation of code, are implemented solely in the platform-specific
scripting language AdoScript, for which additional support is available6. Other
functionalities use dynamically linked libraries or use Java applications, which is the case
for the generation of RDF. There are also functionalities available that use external web
services7.
4</p>
    </sec>
    <sec id="sec-4">
      <title>Conclusion</title>
      <p>From our experience in teaching, parts of which are also covered in [St19], it is important
to focus on purpose-driven model value to impart the understanding that modelling is not
just for the sake of modelling, but to create value and achieve a specific purpose. A single
tool that covers all the needs and is freely available further facilitates participation and
learning. The bee-up tool also allows to directly witness the result of the modelling work
by employing the available functionalities. Additionally, materials are provided to allow
anyone interested for self-study in the form of a case study (see [Ka17]).
This experience is based on using the tool ourselves and on feedback provided from
multiple sources. bee-up has been downloaded over 6000 since 2016, including different
educational and research institutions, and since then used by students in the Conceptual
Modelling course among others.
5
[Bu19]
[JL17]
[Ka16]
[Ka17]
[St19]</p>
      <p>Buchmann, R.A.; Ghiran, A.; Döller, V.; Karagiannis, D.: Conceptual Modeling
Education as a “Design Problem”. Complex Systems Informatics and Modeling
Quarterly, no. 21, pp. 21–33, 2019.</p>
      <p>Jung, R.; Lehrer, C.: Guidelines for Education in Business and Information Systems
Engineering at Tertiary Institutions. In Business &amp; Information Systems Engineering,
no. 59, pp. 189-203, 2017.</p>
      <p>Karagiannis, D.; Buchmann, R.; Burzynski, P.; Reimer, U.; Walch, M.: Fundamental
Conceptual Modeling Languages in OMiLAB. In (Karagiannis, D.; Mayr, H.C.;
Mylopoulos, J.) Domain-Specific Conceptual Modeling. pp. 3-30, 2016.</p>
      <p>Karagiannis, D.; Burzynski, P.; Miron, E.T.: The IMKER
http://vienna.omilab.org/repo/files/Bee-Up/The_IMKER_Case_Study.pdf
Jan. 2020.
case</p>
      <p>study.
accessed
6 For example the official documentation on https://www.adoxx.org or a code-highlighting extension for Visual
Studio Code (available at https://marketplace.visualstudio.com/items?itemName=ADOxxorg.adoxx-adoscript
accessed Jan. 2020).
7 For example using https://www.adoxx.org/live/adoxxweb-verification-details</p>
    </sec>
  </body>
  <back>
    <ref-list />
  </back>
</article>