<!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>Towards Business Process Models at Runtime</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Thomas Johanndeiter</string-name>
          <email>thomas.johanndeiter@uni-due.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Anat Goldstein</string-name>
          <email>anat.goldstein@uni-due.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ulrich Frank</string-name>
          <email>ulrich.frank@uni-due.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Institute for Computer Science and Business Information Systems, University of Duisburg-Essen</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Business Process Management (BPM) suffers from inadequate concepts and tools for monitoring and evaluation of process executions at runtime. Conversely, models at runtime promise to give insights into the state of a software system using the abstract and concrete appearance of design time process models. Therefore, we at first advocate to use models at runtime in business process (BP) modeling. Then, we outline the implementation of a prototypical modeling framework for BP runtime models based on metaprogramming. This framework supports the integration of BP type models - models that are enhanced with statistics of runtime data - and instance models - visual representations of executed BPs - resulting in versatile process monitoring dashboards. The approach is superior to object-oriented programming, as it provides a common representation for models and code at various levels of classification, and represents an attractive alternative to object-oriented languages for the implementation of runtime models in general.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Conceptual runtime models of a software system are able to give insights into the
current state of a system using concepts of higher levels of abstraction than those of
the computational model. Thus, in addition to fostering system (self)-adaptation, these
models improve monitoring and understanding of a system’s runtime behavior [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>
        In existing research work on models at runtime, we see a focus on software
architecture [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. In this paper, we suggest extending the scope of runtime models to the
area of Business Process Management (BPM). Business process (BP) modeling plays
a major role in BPM. In section 2, we argue why runtime models of BP executions –
which are enacted and recorded by BPM systems – present a valuable contribution to
process monitoring and decision support in BPM, while only few researchers have
expanded their work on runtime models to this particular domain (e.g. [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]).
      </p>
      <p>The implementation of a modeling tool for respective runtime models creates
challenges which can hardly be overcome with traditional object-oriented (OO)
programming languages, the prevalent programming paradigm used for realizing BP modeling
tools. In section 3 we discuss these challenges, which relate to the support of multiple,
adaptable levels of classification in software. In section 4, we present an approach
which enables overcoming them, exploiting a metaprogramming language. We
demonstrate how a modeling tool allows for integrating a BP modeling language,
process type models and process instance models as adaptable runtime objects.
Limitations and future research opportunities are discussed in the concluding section 5.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Background and Motivation</title>
      <p>
        BPM primarily aims at facilitating a) comprehension and communication of business
processes, b) continuous process improvement, c) organizational flexibility, and d)
process enactment [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. To achieve these objectives, BPM initiatives typically follow a
lifecycle covering the four phases of process design, process implementation,
enactment, and monitoring and evaluation [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. In this lifecycle, conceptual models of BPs
play a pivotal role [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], as they are used for representing (literally) how an organization
works at the operational level. The pivotal concepts for modeling BPs are ‘activity’
and ‘event’. An activity describes a unit of work. An event indicates completion of
activities and might trigger new activities. It may also represent state changes in the
external environment of a business process. Activities and events are logically
ordered in a BP model with control flow constructs like sequence or fork [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. BP
models ought to be visualized using a notation catering to the perception of business
stakeholders [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. An example of a BP model is given in Fig. 1. As regards the BPM
lifecycle, BP models play an important role in process design, implementation, and
enactment. In these phases, BP models serve as e.g. descriptive documentations or
design specifications. However, BP models created during design and implementation
are surprisingly ignored for process monitoring and evaluation [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ].
In this work, we use MEMO OrgML as a BP modeling language. MEMO [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] is a
multi-perspective enterprise modeling method based on a high-level framework
structuring the enterprise with three generic perspectives: strategy, organization, and
information system. To allow for more elaborate analyses, each perspective is
associated with a domain-specific modeling language (DSML) which defines a set of diagram
types focusing on different aspects of the perspective. Among the various DSMLs of
MEMO, OrgML [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] accounts for BP modeling. OrgML offers the core concepts of
BP modeling: (sub-) processes (i.e. activities), and events. A set of control flow
concepts specify the orchestration of processes, e.g. sequence and branching. OrgML
offers a visual notation catering to the business domain (see Fig. 1).
      </p>
      <p>
        The abstract syntax and semantics of MEMO DSMLs are specified using the
metamodeling language MML [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. MML is tailored for designing DSMLs and offers
some unique advantages over other metamodeling languages. Most notably, MML
supports intrinsic features. With intrinsic features, a MEMO DSML can include meta
concepts which are not relevant for the types of a model created with the DSML (i.e.
instances of meta concepts), but only for instances of these types. In other words,
intrinsic features allow deferring instantiation of meta concepts. This is supported
only by few metamodeling languages (e.g. the UML infrastructure does not support
such a mechanism). Thus, intrinsic features create a strong motivation for using
OrgML in the proposed solution, as further discussed in section 3.1 and in section 4.3.
Sharing a common metamodel facilitates the integration of MEMO DSMLs, thereby
supporting the integration of different perspectives. For example, OrgML references
concepts of the IT perspective (e.g. used IT resources). This renders OrgML BP
models more useful for comprehensive business analysis and decision making than other
BP modeling languages.
2.2
      </p>
      <sec id="sec-2-1">
        <title>Issues of Process Monitoring Support</title>
        <p>
          For process monitoring and evaluation, process executions ought to be observed and
interpreted by responsible managers with respect to different performance indicators.
These indicators support e.g. identifying bottlenecks with respect to throughput times
of a process. Therefore, process managers require extracting runtime information
from BPM systems. However, reporting of runtime information to process managers
is not supported with BP models of earlier phases of the BPM lifecycle. This
dissatisfactory situation has already been acknowledged in the area of BPM [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ].
        </p>
        <p>
          In fact, the gap between process design and implementation, and runtime process
monitoring and associated decision support tasks materializes on three levels. Firstly,
there is a difference in domain-specific concepts employed. Design time BP models
are typically constituted of activities, events, and control flow concepts (cf. beginning
of section 2), whereas for decision support and analysis we typically conceptualize
data in ‘facts’ and ‘dimensions’ [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]. Secondly, visualization of runtime information
of process executions often diverges from those of design time BP models. Moreover,
visualizations of process instances employed in BPM systems are deemed insufficient
for process managers [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]. Thirdly, as BP models are not employed for process
monitoring and corresponding decision support, there is a fragmentation of tools across the
BPM lifecycle [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]. For instance, process managers have to apply Business
Intelligence (BI) tools for offline, ex-post analysis of process performance, instead of being
able to revert to modeling tools used for process design [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ].
2.3
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>Prospects of Business Process Models at Runtime</title>
        <p>Against the background of the discussed issues in BP monitoring, we propose to
establish BP models at runtime as monitoring and decision support tools for process
managers. In particular, we advocate that representing runtime data of a BPM system
in BP models enables the following capabilities (illustrated in Fig. 2):
1. Enhancing BP type models with information that is aggregated from the runtime
environment of a BPM system, that is, from actual BP executions. For example we
enrich activities of a BP with information such as their average cost (e.g.  and 
in Fig. 2). In this way, BP modeling tools serve as managerial dashboards.
2. Visualizing executions of BPs with graphical notations of design models,
establishing a more meaningful context for giving better insight into runtime behavior of
BPs (e.g.  and  in Fig. 2).
3. Navigating (e.g.  in Fig. 2) between the enhanced BP type models (type level)
and the visualizations of actual executions (instance level). When problematic
performance is reflected in BP type models, it is then possible to drill down to the
source of the problem.</p>
        <p>
          The listed capabilities shall be realized within a BP modeling framework. Such a
framework should offer a suitable BP modeling language and a modeling tool serving
as a process monitoring dashboard. The approach presented in this paper for realizing
such a modeling tool for OrgML enables various levels of classifications in software
code, which are adaptable at runtime. In this approach, we highlight the realization of
performance indicators in BP type models, and of instance level attributes that are
defined in the modeling language. The implementation uses the metaprogramming
language XMF [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ].
        </p>
        <p>In the presented work, we substitute interaction of runtime models and BPM
systems with process execution simulations. In addition, we restrict adaptations of BP
instance models after changes of BP type models, as will be discussed in section 5.
3</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>BP Modeling Framework: Shortcomings of OO Languages</title>
      <p>Realizing a modeling tool for BP models at runtime faces unique requirements, which
do not apply to “ordinary” modeling tools. In particular, we discuss the need for an
implementation approach that is able to offer more than one static and one dynamic
programming language level. OO languages typically do not offer this feature. To
justify this requirement, we analyze the levels of abstractions required for BP models.
3.1</p>
      <sec id="sec-3-1">
        <title>Business Process Types and Instances</title>
        <p>
          The domain concepts of BP runtime modeling recommend three levels of
classification. On the highest level, generic concepts of the domain, e.g. activity and event (cf.
section 2), are captured in a metamodel, specifying a BP modeling language. This
level is denoted M2. BP models commonly refer to what is known as the type level.
They describe types or classes of BPs (e.g. processing of an order) rather than
particular instances (e.g. processing a specific order of a particular customer). This level is
denoted M1. A BP instance model is characterized by a one-to-one representation of
elements of a single BP execution and located on M0 [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ], [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ]. In addition, conceptual
modeling frameworks (e.g. the MEMO framework or the UML infrastructure)
comprise a fourth level of abstraction: the meta-metamodel level M3 where concepts for
defining modeling languages of any kind are specified (see Fig. 3).
        </p>
        <p>
          Representing runtime information recorded in a BPM system requires accounting
for the peculiarities of BPs in such a four level modeling architecture. Indeed, a
runtime model must always reflect the correct state of software system. Applying this
requirement to process executions, we find that the essential attributes reflecting a
process instance at runtime comprise timestamps, activity cost, used resources, and
source / target activities of events [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]. They may comprise further attributes like the
particular employee executing the process.
        </p>
        <p>
          The identified instance level abstractions need to be included in the BP modeling
language. Ignoring instance model abstractions in the language (M2) implies
burdening language users with the responsibility of defining type level runtime attributes and
associations, such as a timestamp and cost, in every BP model they create [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ]. This
hampers a shared understanding and reusability of resulting models, as an apparent
abstraction is ignored, resulting in dangerous redundancies [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ]. Furthermore,
according to the relation of BP types and instances (cf. section 2), a type level view on
runtime attributes of a BP reflects a set of runtime instances, e.g. by calculating the
performance indicator ‘average cost’ for a set of process instances. Support of such
performance indicators is facilitated by specifying selected properties of instances,
like execution time or cost, in the modeling language. Only then, we are able to define
that a performance indicator is always calculated from the same kind of instance level
runtime information, regardless of the actual user-created BP type model (M1). To
address instance level abstractions on the modeling language level, we implement
intrinsic features of MEMO OrgML (cf. section 2.1) in our modeling tool.
        </p>
        <p>In conclusion, both type and instance level shall represent runtime phenomena of
BPs. BP instance models have to be represented as runtime objects in the modeling
tool so that they can be adapted according to the execution of BPs over time.
Additionally, the type level is subject to modifications at runtime, since it classifies
runtime information in performance indicators, which shall be updated in real-time.
Therefore, the type level describes properties of BP instance models, while at the
same time types are runtime objects, as exemplified on the right side of Fig. 3.
3.2</p>
      </sec>
      <sec id="sec-3-2">
        <title>Metamodel-based Modeling Tool Creation</title>
        <p>
          The state-of-the-art approach for creating modeling editors, inter alia BP modeling
tools, compiles a modeling editor for type models from a metamodel of a modeling
language. Most metamodeling facilities following this approach, e.g. the Eclipse
Modeling Framework (EMF) [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ], rely on OO languages (e.g. Java). OO languages
typically support two language levels: classes and objects. Correspondingly, during
language design the metamodel is maintained in M0 programming language objects.
These objects are used for generating classes, which define the software structure of a
modeling editor for corresponding type models. For creating instance model editors,
the same “edit-generate-compile-validate”-cycle is applied to type models created by
language users, as they are stored in M0 runtime objects of the generated editor and
thus cannot be instantiated into process instance representations [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ].
        </p>
        <p>
          We argue that this approach is not feasible a BP runtime modeling tool, as type and
instance models must be maintained in adaptable, yet integrated runtime objects of the
modeling environment (cf. section 3.1). Only then, performance indicators and
instance model representations are able to react to changes of runtime data from a BPM
system. In the OO approach, type and instance model editors are disconnected due to
the unfavorable “edit-generate-compile-validate”-cycle [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ] (see Fig. 4). Hence,
conceptual models and implementation code do not share a common representation, as
they are connected via generation and compilation [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ]. Type and instance models are
depicted in disconnected editors, severely hampering runtime synchronization
between type and instance level. Synchronizing the evolution of the type level with the
instance level is hampered: whenever a type model changes, the described cycle needs
to be iterated. Moreover, when a BP instance is created or changed, e.g. a subprocess
terminates, corresponding changes should be immediately reflected in relevant type
model editors, e.g. within performance indicators. This indicates that recompilation of
the editor, as dictated in the OO approach, is not feasible for runtime models.
A workaround for OO implementations is to mimic the classification relationship
of types and instances with a manually implemented relationship. For example, a
class representing the type features, and a class representing the instance features may
be introduced and associated by a ‘typeOf’ relationship. Such a relationship, however,
lacks the formal semantics of “true” instantiation. Thus, additional code is required,
which produces a severe threat to system integrity [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ].
4
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Solution Approach</title>
      <p>
        In this section we explain the core features of XMF, which serves to implement an
OrgML modeling editor. Then, we describe the implementation architecture of a
modeling tool for BP runtime models that supports a runtime integration and
synchronization of type and instance level within a multi-level classification hierarchy.
4.1
A metaprogramming language is distinguished from regular programming languages
through its ability to manipulate programs (e.g. the class level of OO languages)
instead of program instances at runtime [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. The metaprogramming capabilities used in
the presented work derive from XMF [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. XMF’s pivotal paradigm is the application
of executable metamodeling for language design, which is reflected in its core
features. Firstly, XMF comprises a metamodeling language: XCore. The metamodeling
language is complemented with an extended version of the Object Constraint
Language (OCL), called XOCL. XOCL includes action primitives for defining executable
semantics. These action primitives allow, amongst other aspects, specifying
sequential execution paths, e.g. object creation and imperative control structures.
      </p>
      <p>Secondly, similar to OO languages, XCore distinguishes the concepts of ‘Class‘
and ‘Object’. A particular class is instantiated into objects, which by default cannot be
instantiated again and cannot inherit. However, in contrast to regular OO languages,
instances of a class may again inherit the XMF concept ‘Class’, instead of ‘Object’, as
‘Class’ in XMF inherits ‘Object’. This implies two things. Firstly, in XMF classes are
always objects at the same time, i.e. they are dynamic runtime elements which can be
manipulated during program execution. Secondly, as an instance of a class is able to
again serve as a class, multiple consecutive instantiations are enabled. This recursive
style of language definition employed in XMF, where only relative metatype to type
to instance relationships are distinguished, is called golden braid architecture.
Because of this architecture, XMF is more powerful than those OO languages offering a
meta-object protocol (MOP), for example Smalltalk. A MOP basically consists of
meta classes which allow accessing the class level (M1) at runtime. However, the
MOP of Smalltalk only allows for a meta-class to classify a single class (M1).
Therefore, for making classes adaptable at runtime in Smalltalk, every class requires a
particular meta class, whereas XMF enables creating a single meta class for multiple
classes on M1.</p>
      <p>The described architecture of XMF, in which instances of classes can again serve
as classes, justifies why implementing a BP modeling tool with XMF avoids the
“edit-generate-compile-validate”-cycle.
4.2</p>
      <sec id="sec-4-1">
        <title>Tool Implementation Architecture</title>
        <p>As a first step to implement a modeling editor featuring OrgML, we reconstruct
MEMO MML (cf. section 2.1) with XMF metamodeling concepts. In other words, we
instantiate XMF concepts like ‘Class’ and ‘Attribute’ in order to model the MML.
Because of this instantiation, MML concepts possess executable features, as discussed
in section 4.1, e.g. execution of operations. In addition, MML concepts are set to
inherit XMF concepts in order to add executable semantics to instances of the MML
meta-metamodel. Through this inheritance, instances on M2 are equipped with
executable features, like setters and getters, which are crucial to modeling editors.</p>
        <p>Secondly, we model OrgML with the implemented MEMO MML and account for
runtime model capabilities. For this purpose, runtime functionality relevant to all
instances of ‘MetaEntity’ (the meta meta class all concepts of OrgML are instantiated
from, see Fig. 5) is captured in a concept called ‘Entity’. The functionality mainly
comprises navigation from type to instance models, calculation of performance
indicators, and instantiation of intrinsic features (described in section 4.3). ‘Entity’ also
inherits XMF’s ‘Class’ in order to add execution semantics to instances of MetaEntity
and enable their further instantiation. Thereby, every OrgML concepts transitively
through ‘Entity’ inherits XMF’s ‘Class’. In combination, we can use the
implementation of OrgML to create an OrgML editor at runtime with XMF. BP type models
created with this editor can be directly instantiated into instance models, implying the
ability to create instance model editors at runtime from BP type model specifications.
The inheritance hierarchy enabling the instantiation of dynamic type level entities is
given in Fig. 5. All levels can be dynamically manipulated.</p>
        <p>‘Entity’ also encapsulates an operation for querying instances of a type. With said
operation, M1 level concepts are able to get a list of its instances, which serves as a
foundation for integrating and navigating to the instance level at runtime.</p>
        <p>Fig. 5 exhibits a pivotal idea of the proposed modeling tool for coping with the
multiple dynamic levels implied by BP runtime models: cross-level inheritance.
Indeed, ‘Entity’ inherits from ‘Class’, while being at the same time an instance of
‘Class’; all OrgML entities inherit ‘Entity’, while OrgML entities are instances of
‘MetaEntity’. ‘MetaEntity’ and ‘Entity’ are, however, on the same level of
abstraction. Because of the (transitive) cross-level inheritance of XMF concepts within the
presented architecture, the role XMF plays in relation to the four modeling levels of
MEMO is twofold: on the one hand, XMF can be considered a fifth level of
abstraction above M3; on the other hand, XMF serves as a modeling infrastructure offered to
all MEMO modeling levels via transitive specialization / generalization.
4.3</p>
      </sec>
      <sec id="sec-4-2">
        <title>Implementation of Business Process Runtime Abstractions</title>
        <p>The implementation of performance indicators starts with modeling them as
metaattributes in the OrgML definition. These meta-attributes are marked ‘derivable’ in
order to demand a calculation (e.g. see meta-attributes of ‘AnyProcess’ in Fig. 5). For
providing the calculation logic, we specify a generic operation for ‘Entity’, which
offers an interface for setting data source and calculation (‘calculateDerivable()’ in
Fig. 5). Additionally, we add a set of generic calculation operations to ‘Entity’, e.g.
mean and maximum value. However, the specific derivation often needs to be defined
by the language designer. Therefore, custom derivation operations can be added to
any child class of ‘Entity’. For instance, in order to calculate the average duration of a
subprocess, we add a calculation operation to ‘AnyProcess’ which is able to identify
the amount of time incurred between two timestamps.</p>
        <p>In order to include attributes for instance level runtime information in the BP
modeling language level, we use MEMO’s intrinsic features (cf. section 2.1). Features
such as meta-entities, meta-attributes or meta-association of the metamodel (M2) can
be defined as intrinsic, meaning that they are relevant only at the instance level (M0),
while at the type level we abstract from them. For example, defining a meta-attribute
‘cost’ for the OrgML concept of ‘Subprocess’ and marking it as intrinsic entails that
the attribute is – in contrast to regular meta-attributes – not instantiated into a
particular value on the M1 level, but on the level M0 (see illustration in Fig. 5).
While deferring the instantiation of meta-attributes can be straightforwardly
accounted for in the constructors of ‘MetaEntity’ and ‘Entity’, for meta-associations we
require a more elaborate solution. The problem is that until BP type models are
defined on M1, we do not know which associations are valid on M0 and what are their
cardinalities. Consider the intrinsic association ‘triggers’ from event to subprocess in
Fig. 5. Now take the instances of event (‘Order received’) and subprocess (‘Check
Availability’) on M1 into consideration. The concepts on M1 are linked via an instance
of the regular meta-association ‘triggers’. Only because of this link, which is set by a
BP modeler, i.e. a user of the language, the typing of the intrinsic meta-association
‘triggers’ can be restricted such that only instances of ‘Order Received’ can be
connected to instances of ‘Check Availability’ on M0. Since this information may change
dynamically in the user model, the modeling tool needs to continuously observe the
creation and modification of links in BP type models.</p>
        <p>The cause of this problem is located in underspecified semantics of classifications
across several modeling levels. Thus, we propose a workaround solution. Once the
definition of the BP type model on M1 is completed, at the behest of the modeler an
operation called ‘updateIntrinsics()’ is executed. This operation goes over the BP type
model and sets the types of all intrinsic association of the particular M1 model based
on actual links. Such a workaround is practicable for BP models, as it allows
changing a BP type model and instantiating new, valid BP instance model editors from the
specification of said type model.</p>
        <p>Finally, in order to automatically synchronize representations of BP type and
instance models with the actual runtime information of BP instances, our prototype uses
change listeners, called daemons. With daemons, we exploit that in XMF every
element is aware of the higher-level concept it is an instance of. Furthermore, in our
implementation every ‘Entity’ instance is able to query for its instances.
Correspondingly, daemons can notify types on changes of their instances. Thus, when the
execution of a BP instance proceeds, corresponding listeners are notified and automatically
update derivable attributes in the type model. The update of the BP type model can
take place at runtime, because owing to the features of XMF the ‘classes’ of BP
instance models are stateful runtime objects at the same time.</p>
        <p>When combining type level performance indicators and instance level attributes in
integrated modeling editors, we arrive at a tool serving process design on the one side,
and versatile process monitoring on the other, as exemplified in Fig. 2.
5</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Conclusion, Limitations and Future Work</title>
      <p>We started this paper by pointing out to the prospects potentially offered by runtime
models to the field of BPM. It was shown how BP runtime models can overcome the
insufficiencies of available approaches for process monitoring. Then, we elaborated
on how to implement a modeling tool supporting such a BP modeling environment. It
was shown that due to the two dynamically adaptable modeling levels of BPs (section
3.1), common metamodeling frameworks and OO implementation languages are not
suitable for integrating BP type and instance models at runtime. This led us to propose
an alternative solution based on implementing OrgML with the metaprogramming
language XMF.</p>
      <p>We advocate that the proposed approach is advantageous whenever multiple
dynamic levels of abstraction need to be accounted for in a tool environment for runtime
models. For example, runtime models of software architecture will presumably
require a synchronization of system instance (i.e. the running system), system instance
models and system configuration models.</p>
      <p>However, we purposefully ignored some aspects of BP models at runtime in this
work. Firstly, we did not address the synchronization of runtime models and BPM
systems. Instead we used a simulator to imitate BP executions. Accordingly, we
contemplate interfacing a BPM system for feeding operational data into BP runtime
models, and invoking model-based modifications to a BPM system. For this purpose, we
consider exploiting XMF’s low-level messaging API to connect to external software,
which requires an interface observing a BPM system and informing XMF listeners
about the arrival of data. Yet, in this approach the BP model and the representation of
the model in the BPM system code would still be separated, which requires complex
synchronizations for enabling mutual adaptations. Therefore, we envision extending
our prototype with actual BP enactment features in order to directly use the BP
runtime models as code for the enactment of processes.</p>
      <p>Secondly, we did not discuss how BP instances and models of these instances react
to changes of BP type models. In our prototype, we do not allow changes in type
models to affect already executed BP instances in order to not invalidate originally
legal process executions. Coping with type level changes in this respect recommends
implementing policies that ensure avoiding inconsistent system and model states.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Blair</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bencomo</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          , France, R.B.:
          <article-title>Models@run.time</article-title>
          .
          <source>Computer</source>
          <volume>42</volume>
          (
          <issue>10</issue>
          ), pp.
          <fpage>22</fpage>
          -
          <lpage>27</lpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Bencomo</surname>
          </string-name>
          , N.:
          <article-title>On the use of software models during software execution</article-title>
          .
          <source>In: ICSE Workshop on MISE '09</source>
          , pp.
          <fpage>62</fpage>
          -
          <lpage>67</lpage>
          . IEEE Press, Piscataway, NJ (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Sánchez</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Barrero</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jorge</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Deridder</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>An Execution Platform for Extensible Runtime Models</article-title>
          .
          <source>In: 3rd Workshop on Models@run.time at MoDELS '08</source>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Weske</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Business process management</article-title>
          .
          <source>Concepts</source>
          , languages, architectures, 2nd ed. Springer, Heidelberg et al. (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Kettinger</surname>
            ,
            <given-names>W.J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Teng</surname>
            ,
            <given-names>J.T.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Guha</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Business Process Change: A Study of Methodologies, Techniques, and Tools</article-title>
          .
          <source>MIS Quarterly</source>
          <volume>21</volume>
          (
          <issue>1</issue>
          ), pp.
          <fpage>55</fpage>
          -
          <lpage>80</lpage>
          (
          <year>1997</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Frank</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          :
          <article-title>MEMO Organisation Modelling Language (2): Focus on Business Processes</article-title>
          .
          <source>ICB Research Report 49</source>
          . University of Duisburg-Essen (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>van der Aalst</surname>
            ,
            <given-names>W.M.P.</given-names>
          </string-name>
          :
          <article-title>Process mining. Discovery, conformance and enhancement of business processes</article-title>
          . Springer, Heidelberg et al. (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Frank</surname>
          </string-name>
          , U.:
          <article-title>Multi-perspective enterprise modeling: foundational concepts, prospects and future research challenges</article-title>
          .
          <source>Soft. Syst. Model.</source>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>22</lpage>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Frank</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          :
          <article-title>The MEMO Meta Modelling Language (MML) and Language Architecture</article-title>
          .
          <source>2nd Edition. ICB Research Report 43</source>
          . University of Duisburg-Essen (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Kimball</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          :
          <article-title>The Data Warehouse Toolkit. Practical Techniques for Building Dimensional Data Warehouses</article-title>
          . Wiley, New York et al. (
          <year>1996</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Bandara</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Indulska</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chong</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sadiq</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Major Issues in Business Process Management: An Expert Perspective</article-title>
          .
          <source>In: Proceedings ECIS</source>
          <year>2007</year>
          , pp.
          <fpage>1240</fpage>
          -
          <lpage>1251</lpage>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Clark</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sammut</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Willans</surname>
          </string-name>
          , J.:
          <article-title>Applied metamodelling: a foundation for language driven development, 2nd edn</article-title>
          .
          <source>Ceteva</source>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Spinellis</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Rational Metaprogramming</article-title>
          .
          <source>IEEE Software 25(1)</source>
          , pp.
          <fpage>78</fpage>
          -
          <lpage>79</lpage>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Kühne</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Matters of (meta-) modeling</article-title>
          .
          <source>Soft. Syst. Model</source>
          .
          <volume>5</volume>
          (
          <issue>4</issue>
          ), pp.
          <fpage>369</fpage>
          -
          <lpage>385</lpage>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Atkinson</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kühne</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>The essence of multilevel metamodeling</article-title>
          .
          <source>Proceedings of the 4th UML '01. LNCS</source>
          , vol.
          <volume>2185</volume>
          , pp.
          <fpage>19</fpage>
          -
          <lpage>33</lpage>
          . Springer, Berlin, Heidelberg (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Eclipse</surname>
          </string-name>
          <article-title>: Eclipse Modeling Project, www</article-title>
          .eclipse.org/modeling/emf/ (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Atkinson</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kühne</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Concepts for comparing modeling tool architectures</article-title>
          .
          <source>In: Model Driven Engineering Languages and Systems. LNCS</source>
          , vol.
          <volume>3713</volume>
          , pp.
          <fpage>398</fpage>
          -
          <lpage>413</lpage>
          . Springer, Berlin, Heidelberg (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Frank</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Strecker</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <source>Beyond ERP Systems: An Outline of Self-Referential Enterprise Systems. ICB Research Report 31</source>
          . University of Duisburg-Essen (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Kühne</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schreiber</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          , New York:
          <article-title>Can programming be liberated from the two-level style: multi-level programming with deepjava</article-title>
          .
          <source>In: Proceedings OOPSLA '07</source>
          , pp.
          <fpage>229</fpage>
          -
          <lpage>244</lpage>
          . ACM Press (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>