<!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>The onprom Toolchain for Extracting Business Process Logs using Ontology-based Data Access</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Diego Calvanese</string-name>
          <email>calvanese@inf.unibz.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Tahir Emre Kalayci</string-name>
          <email>tkalayci@inf.unibz.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Marco Montali</string-name>
          <email>montali@inf.unibz.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ario Santoso</string-name>
          <email>santoso@inf.unibz.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>KRDB Research Centre for Knowledge and Data Free University of Bozen-Bolzano</institution>
          ,
          <addr-line>Bolzano</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Process mining techniques require the input data to be explicitly structured in the form of an event log. Unfortunately, in many real world settings, such event logs are not explicitly given, but they are implicitly stored in legacy information systems. Therefore, to enable process mining, there is a need to support the data preparation and the log extraction from legacy information systems. The onprom tool-chain aims at supporting users in the semi-automatic extraction of event logs from a legacy information system, reflecting different process-related views on the same data, and consequently facilitating multi-perspective process mining. The tool-chain is based on the ontology-based data access paradigm, and consists of three components, namely UML editor, annotation editor, and log extractor. Each component can be used both as a plug-in for the extensible process mining framework ProM, or within an integrated toolkit. The produced logs are fully compliant with the XES standard.</p>
      </abstract>
      <kwd-group>
        <kwd>data preparation for process mining</kwd>
        <kwd>log extraction</kwd>
        <kwd>event logs</kwd>
        <kwd>XES format</kwd>
        <kwd>ontology-based data access</kwd>
        <kwd>conceptual modeling</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        The emerging area of process mining has become increasingly popular both in academia
and in industry to resolve the mismatch between process models and event data
generated by process executions [
        <xref ref-type="bibr" rid="ref1 ref2">1,2</xref>
        ]. Process mining is a collection of techniques that
combine model-based and data-oriented analysis to obtain useful insights on how business
processes are executed in a real organizational environment in a synergic way. Through
process mining, decision makers can discover process models from data, compare
expected and actual behaviors, and enrich models with information obtained from their
execution. The applicability of process mining depends on two crucial factors [
        <xref ref-type="bibr" rid="ref2 ref5 ref6">2,5,6</xref>
        ]:
(i) the availability of high-quality event data, and of event logs containing correct and
complete event data about which cases have been executed, which events occurred for
each case, and when they took place; (ii) the representation of such data in a format that
is understandable by process mining algorithms, such as the XML-based IEEE
eXtensible Event Stream (XES) standard [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
      </p>
      <p>However, in many real world settings, the enterprise exploits functionalities offered
by more general enterprise systems such as ERP, CRM, SCM, and other business suites.</p>
      <p>Create
mappings</p>
      <p>Choose
perspective</p>
      <p>Create
event-data
annotations</p>
      <p>Get
XES/CSV</p>
      <p>Do process</p>
      <p>mining
Y
N</p>
      <p>Other perspective?
high-level IS?</p>
      <p>Create
N conceptual
data
schema
Y</p>
      <p>Bootstrap
model +
mappings</p>
      <p>
        Enrich
model +
mappings
In addition, such systems are typically configured for the specific needs of the
company, and connected to domain-specific and other legacy information systems. In such
a complex common setting, event data are not explicitly given, but have instead to be
reconstructed by reconciling these different data sources and reflecting the perspective
of interest. This is why there is a pressing need for techniques that are able to support
data and process analysts in the data preparation phase, and in particular in the
extraction of event data from legacy information systems [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Recently, we have proposed the
onprom methodology [
        <xref ref-type="bibr" rid="ref5 ref6 ref7">5,6,7</xref>
        ] to support data and process analysts in the conceptual
identification of event data, answering questions like: (i) Which are relevant concepts
and relations? (ii) How do such concepts/relations map to the underlying information
system? (iii) Which concepts/relations relate to the notion of case, event, and event
attributes? Our methodology is backed up by a tool-chain that, once the aforementioned
questions are answered, automatically extracts an event log conforming to the chosen
perspective, and obtained by inspecting the data residing at the sources. This is done
borrowing techniques from intelligent data management, and in particular by exploiting
the ontology-based data access (OBDA) paradigm and tools [
        <xref ref-type="bibr" rid="ref10 ref3 ref4">3,4,10</xref>
        ].
      </p>
      <p>
        A detailed account of the onprom framework is provided in [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
2
      </p>
      <p>The onprom methodology and tool-chain
The onprom methodology, illustrated in Figure 1, comprises four main phases. We
assume the existence of a legacy information system I = hR, Di, with schema R and
a set D of facts about the domain of interest. We consider the typical case where the
information system is a relational database, hence R is a relational schema, and D is a
relational database instance structured according to R.</p>
      <p>
        The first phase deals with the definition of an OBDA model towards understanding
the data conceptually. In particular, the OBDA model serves a two-fold purpose [
        <xref ref-type="bibr" rid="ref10 ref4">4,10</xref>
        ]:
(i) To provide a conceptual representation of the domain of interest, in terms of
relevant concepts and relations that are understandable by domain experts. This is given
in terms of a conceptual data schema T ; (ii) To explicitly link I to T , by means of
a declarative mapping specification M, consequently allowing for querying I by
using the vocabulary provided by T . In onprom, we employ UML class diagrams as a
concrete language for representing T , and we rely on their logic-based encoding [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] in
terms of the standard ontology language OWL 2 QL [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. M consists of a set of logical
assertions that map SQL queries over schema R to facts over T .
      </p>
      <p>
        Once the OBDA system is in place, onprom allows one to abstract away the
information system. In this way, the analyst who is responsible for the data extraction
can directly focus on T , using the concepts and relations contained therein so as to
concretely formulate which perspective has to be taken towards process mining. More
specifically, this amounts to enrich T with annotations L, each creating an implicit link
between T and the core portion of the XES event log schema E . In this light, each
annotation expresses one of the following aspects: (i) definition of a case, indicating
which class provides the basis to identify case objects, and which conditions have to be
satisfied by instances of the selected class so as to classify them as case objects; (ii)
definition of an event, indicating which class provides the basis to identify occurrences of
such an event; (iii) definition of an event attribute, indicating which navigational route
has to be followed within the diagram so as to fetch the value for such an attribute given
an instance of the corresponding event. When all inputs are provided, event logs are
extracted automatically by using the facilities provided by the OBDA paradigm, and in
particular the query and mapping transformation techniques described in [
        <xref ref-type="bibr" rid="ref5 ref7">7,5</xref>
        ].
      </p>
      <p>The onprom tool-chain supports the various phases of the methodology. It is open
source and can be downloaded from http://onprom.inf.unibz.it. It is
available as a stand-alone software, or as a set of plug-ins running inside the ProM process
mining framework1 using built-in data exchange mechanisms. It consists of the
following components: (i) a UML Editor to model the conceptual data schema; (ii) an
Annotation Editor to enrich the conceptual data schema with event-data annotations;
(iii) a Log Extractor that extracts a XES event log from a given relational information
system, exploiting the event-data annotations. Currently, the definition of the mapping
specification is not covered within the onprom tool-chain, and we assume that it is
realized manually or using third-party tools.</p>
      <p>
        UML Editor. The UML Editor provides two main functionalities: modeling of a UML
class diagram, and import/export from/to OWL 2 QL, leveraging the correspondence
described in [
        <xref ref-type="bibr" rid="ref4 ref5">4,5</xref>
        ]. Currently, the editor makes some simplifying assumptions such as:
(i) no support for completeness of UML generalization hierarchies (in line with the
OBDA approach [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]); (ii) support for binary associations only, in line with Semantic
Web languages; (iii) multiplicities in associations (resp., features) are restricted to be
either 0 or 1, allowing to express functionality and mandatory participation; (iv) no
support for IS-A between associations.
      </p>
      <p>The UML class diagrams produced with the UML Editor can be saved in a
proprietary JSON format for further processing and as input for the Annotation Editor. It can
also be exported as a standard OWL 2 QL ontology. The graphical layout information,
which is not part of the OWL 2 QL language, is maintained in the form of OWL 2
annotations, thus resulting in an ontology fully compliant with the W3C standard. The
editor also supports loading an existing conceptual data schema, if it is available as an</p>
    </sec>
    <sec id="sec-2">
      <title>1 http://www.promtools.org</title>
      <p>OWL 2 QL ontology file. A UML Editor loaded with a conceptual data schema example
is shown in the right part of the onprom toolkit screenshot in Figure 2.
Annotation Editor. The Annotation Editor supports analysts in the specification of
event-data annotations on top of a UML class diagram. An annotated conceptual data
schema loaded in the Annotation Editor is shown in the left part of Figure 2. To
simplify the annotation task, the editor supports the following advanced operations. First,
it allows one to choose properties and paths using navigational selections over the
diagram via mouse-click operations. Second, it takes multiplicities on associations and
attributes into account; when the user is selecting properties of the case and of events
(in particular the timestamp), the editor enables only navigation paths along functional
associations, thus guaranteeing that a unique data value is reached. The annotations are
automatically translated into corresponding SPARQL queries by the editor. The
annotated conceptual data schema can be exported using a proprietary JSON format, which
can then be imported by the Log Extractor.</p>
      <p>
        Log Extractor. The last component of the tool-chain implements the mapping
synthesis technique as well as the XES log extraction functionalities, by leveraging the
state-of-the-art OBDA system ontop2 [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] and the OpenXES APIs3. To this end, the Log
Extractor takes as input: (i) a conceptual data schema (generated via the UML Editor
or represented as an OWL 2 QL file), (ii) an OBDA mapping specification, linking the
conceptual data schema to the underlying relational database, and (iii) event-data
annotations (created using the Annotation Editor). Given these inputs, the extractor works in
two steps: (i) it automatically creates a new mapping specification, which establishes a
direct correspondence between the database and the XES event log schema, and (ii) uses
it to extracts a XES event log from the database. The extracted XES event log can be
used with all the tools that are supporting the XES standard.
      </p>
      <p>Experiments. We have evaluated the tool using a machine with processor Intel Core i5
2.4 GHz, 8 Gb of RAM, and Postgres as the DBMS. One of the experiments shows that
it takes ⇠ 11 minutes to produce a XES event log with 298 224 traces, 2 117 466 events,
and 6 352 398 event attributes (⇠ 450 MB for the whole XES log).</p>
    </sec>
    <sec id="sec-3">
      <title>2 http://ontop.inf.unibz.it</title>
    </sec>
    <sec id="sec-4">
      <title>3 http://www.xes-standard.org</title>
      <p>In our demo, we illustrate how to successfully employ the onprom tool-chain to
tackle the challenging problem of data preparation for process mining on top of legacy
databases. Specifically, (i) we start from a legacy relational database, (ii) use the UML
Editor to conceptually model the data of interest, (iii) exploit the ontop mapping
editor for Prote´ge´4 to link the resulting conceptual schema to legacy data via declarative
mappings, and (iv) use the Annotation Editor to equip the schema with declarative
annotations that indicate where cases, events, and their attributes are “located”. In this
way, we provide the necessary input to the Log Extractor. The screencasts of our demo
are available at</p>
      <p>http://onprom.inf.unibz.it/index.php/screencasts.
As mentioned, the onprom toolchain is open source and can be downloaded from
http://onprom.inf.unibz.it.</p>
      <p>Acknowledgements. This research has been partially supported by the Euregio IPN12 KAOS
(Knowledge-Aware Operational Support) project, which is funded by the “European Region
Tyrol-South Tyrol-Trentino” (EGTC) under the first call for basic research projects, and by the
UNIBZ internal project OnProm (ONtology-driven PROcess Mining).</p>
    </sec>
    <sec id="sec-5">
      <title>4 http://protege.stanford.edu</title>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>van der Aalst</surname>
          </string-name>
          , W., et al.:
          <article-title>Process mining manifesto</article-title>
          .
          <source>In: Proc. of the Business Process Management Int. Workshops. LNBIP</source>
          , vol.
          <volume>99</volume>
          , pp.
          <fpage>169</fpage>
          -
          <lpage>194</lpage>
          . Springer (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>van der Aalst</surname>
            ,
            <given-names>W.M.P.</given-names>
          </string-name>
          : Process Mining - Data Science in Action. Springer, 2nd edn. (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Calvanese</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cogrel</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Komla-Ebri</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kontchakov</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lanti</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rezk</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>RodriguezMuro</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Xiao</surname>
          </string-name>
          , G.:
          <article-title>Ontop: Answering SPARQL queries over relational databases</article-title>
          .
          <source>Semantic Web J</source>
          .
          <volume>8</volume>
          (
          <issue>3</issue>
          ),
          <fpage>471</fpage>
          -
          <lpage>487</lpage>
          (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Calvanese</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>De Giacomo</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lembo</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lenzerini</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Poggi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rodriguez-Muro</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rosati</surname>
          </string-name>
          , R.:
          <article-title>Ontologies and databases: The DL-Lite approach</article-title>
          . In:
          <article-title>RW 2009 Tutorial Lectures</article-title>
          . LNCS, vol.
          <volume>5689</volume>
          , pp.
          <fpage>255</fpage>
          -
          <lpage>356</lpage>
          . Springer (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Calvanese</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kalayci</surname>
            ,
            <given-names>T.E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Montali</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Santoso</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>OBDA for log extraction in process mining</article-title>
          .
          <source>In: RW 2017 Tutorial Lectures, LNCS</source>
          , vol.
          <volume>10370</volume>
          , pp.
          <fpage>292</fpage>
          -
          <lpage>345</lpage>
          . Springer (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Calvanese</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kalayci</surname>
            ,
            <given-names>T.E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Montali</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tinella</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Ontology-based data access for extracting event logs from legacy data: The onprom tool and methodology</article-title>
          .
          <source>In: 20th Int. Conf. on Business Information Systems. LNBIP</source>
          , vol.
          <volume>288</volume>
          , pp.
          <fpage>220</fpage>
          -
          <lpage>236</lpage>
          . Springer (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Calvanese</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Montali</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Syamsiyah</surname>
          </string-name>
          , A.,
          <string-name>
            <surname>van der Aalst</surname>
            ,
            <given-names>W.M.P.</given-names>
          </string-name>
          :
          <article-title>Ontology-driven extraction of event logs from relational databases</article-title>
          .
          <source>In: Proc. of the 11th Int. Workshop on Business Process Intelligence. LNBIP</source>
          , vol.
          <volume>256</volume>
          , pp.
          <fpage>140</fpage>
          -
          <lpage>153</lpage>
          . Springer (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>IEEE</given-names>
            <surname>Computational Intelligence</surname>
          </string-name>
          <article-title>Society: IEEE Standard for eXtensible Event Stream (XES) for achieving interoperability in event logs and event streams</article-title>
          .
          <source>IEEE Std</source>
          <year>1849</year>
          -
          <volume>2016</volume>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Motik</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cuenca Grau</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Horrocks</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wu</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fokoue</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lutz</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>OWL 2 Web Ontology Language profiles (second edition)</article-title>
          .
          <source>W3C Recommendation</source>
          ,
          <source>W3C (Dec</source>
          <year>2012</year>
          ), available at http://www.w3.org/TR/owl2-profiles/
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Poggi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lembo</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Calvanese</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>De Giacomo</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lenzerini</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rosati</surname>
          </string-name>
          , R.:
          <article-title>Linking data to ontologies</article-title>
          .
          <source>J. on Data Semantics X</source>
          ,
          <fpage>133</fpage>
          -
          <lpage>173</lpage>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>