<!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>b ow* Toolbox - an Open-Source Modeling Tool</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Christian Bohme</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jorg Hartmann</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Heiko Kern</string-name>
          <email>kern@informatik.uni-leipzig.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Stefan Kuhne</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ralf Laue</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Markus Nuttgens</string-name>
          <email>markus.nuettgens@wiso.uni-hamburg.de</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Frank J. Rump</string-name>
          <email>rump@informatik-emden.de</email>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Arian Storch</string-name>
          <email>storch@ebus.informatik.uni-leipzig.de</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Business Information Systems Computer Science Faculty, University of Leipzig</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Chair of Applied Telematics / e-Business Computer Science Faculty, University of Leipzig</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Chair of Information Systems University of Hamburg</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>University of Applied Science Emden-Leer</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>The b ow* Toolbox is a modeling tool for the business process modeling language Event Driven Process Chains (EPCs). In this paper, we describe three innovative features of the modeling tool: First, the modeler gets continuously feedback about possible modeling problems. Second, there is an option to construct a large part of a model with input from the keyboard only, i.e. without ever touching the mouse. And third, new features can be added to the tool very easily - without the need to be familiar with Eclipse development.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>The b ow* Toolbox is an open-source tool for graphical business process
modeling in the Event-Driven Process Chains notation. Currently it supports three
types of diagrams: Extended EPCs, Object-Oriented EPCs and Value Chain
Diagrams. The rst release has been published in March 2008 as a joint e ort
between developers at the University of Hamburg and the University of Applied
Sciences Emden/Leer. Later, the University of Leipzig joined the developer team.</p>
      <p>b ow* Toolbox is a plugin of Eclipse and makes use of the Eclipse Modeling
Framework (EMF) and the Eclipse Graphical Modeling Framework (GMF). This
means that it is based on a well designed, coded and tested code base. It makes
use of the usual features provided by EMF and GMF like storing models as
XMIles, collapsing and expanding modeling elements, aligning modeling elements,
using the clipboard, etc.</p>
      <p>The adequacy of our tool for real-world usage has been shown by the city
of Dusseldorf where the b ow* Toolbox has been used for modeling communal
business processes in order to comply with the EU services directive.</p>
      <p>In this paper, we will present three innovative features of the b ow* Toolbox.
In Sect. 2, we will discuss the \continuous veri cation" feature. In Sect. 3, we
present a user interface that allows modeling structured model parts very quickly.
And in Sect. 4, we show how we support developers who want to add features
to the modeling tool without having to know implementation details.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Continuous Veri cation</title>
      <p>
        Veri cation of business process models has been studied for a long time, and
there are reliable and fast methods for deciding about important properties like
soundness [
        <xref ref-type="bibr" rid="ref1 ref2">1, 2</xref>
        ]. However, the usual way of applying these methods is to analyze
a model after it has already been completed.
      </p>
      <p>Similar to techniques such as continuous compilation and continuous
testing that are integrated into modern software development systems, we use the
concept of continuous veri cation: Veri cation runs in background at the time
of modeling. If a possible modeling problem is detected, the modeler is alerted
immediately. Our tool also shows the locations of error causes in the visual
representation of the model and suggests how to x the problems.</p>
      <p>
        The approach for locating possible modeling problems is based on a heuristic
algorithm. It locates patterns that are usually related to a modeling problem.
These patterns include syntactical problems as well as \technical" errors (such
as deadlocks in the control ow). Another type of problem patterns can be used
to detect parts of the model that can be regarded as \bad modeling style". In [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ],
we have shown that our heuristic approach identi es violations of the soundness
property almost as accurate as model-checkers. While checking for syntactical
correctness is included in some other tools, this is not the case for checking the
correctness of the control ow and the modeling style.
      </p>
      <p>With the help of our pattern-based algorithm we are also able to detect some
commonly occurring errors that can only be identi ed by examining the labels
of the functions and events. An example is shown in Fig. 1: Our veri cation
algorithm complains if an AND-split is followed by two events such that the labels
of those events contradict each other (i.e. the events cannot occur together).</p>
      <p>
        With continuous veri cation, the modeler gets an immediate feedback about
modeling problems, i.e. errors can be detected and xed without delay. In [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ],
we have published the results of a case study where the presence of this feature
helped novice modelers to decrease the number of (syntactical) errors in a model
by 79%. More details about the continuous veri cation approach can be found
in [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] and [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
    </sec>
    <sec id="sec-3">
      <title>User Interface for Keyboard-Based modeling</title>
      <p>Business process models (including EPCs) often contain large fragments of
sequences (activities and events without routing elements between them) and
wellstructured control- ow blocks (like an AND-split/AND-join combination).</p>
      <p>In the most visual modeling tools we are aware of, a modeler needs
unnecessarily many steps to draw a rather simple model fragment like a sequence. The
usual procedure for drawing just two activities which are connected by an arrow
includes the following steps:
1. Select the shape for an activity from the menu
2. Click on the place where the shape should be located
3. Add a label
4. Repeat step 1-3 for the second activity
5. Select the shape for an arrow from the menu
6. Connect the two activities</p>
      <p>Such a sequence of steps has to be repeated very often when a model is
created. In the b ow* Toolbox, it is su cient to enter the labels of the modeling
elements into a table. By the click of a button, the visual representation of the
activities described in the table is generated, i.e. the elements are added to the
model. Fig. 2 shows the input for adding a simple structure between an exclusive
choice and a simple merge; it will generate the model fragment shown in Fig.
3. Of course, the use of this wizard is optional; the user can always use the
traditional click-and-arrange method.</p>
      <p>While similar user interfaces have been described before [6, 7], tool vendors
rarely adopt such functionality that can lead to saving a considerable part of
modeling time.
4</p>
    </sec>
    <sec id="sec-4">
      <title>Easy Extensibility</title>
      <p>b ow* Toolbox has been developed as an open and extensible framework. We
provide interfaces for adding new features to the b ow* Toolbox.</p>
      <p>If additional attributes are needed (for example for information about costs
to an activity or for adding meta-information to an EPC as a whole), the b ow*
Toolbox provides the possibility to add such attributes to a model (or to a group
of models) at runtime. There is no need to change the EPC metamodel.</p>
      <p>Using new export and import formats requires adding one or more XSLT
transformation les and to insert information about the export/import format to
a con guration le. This way, new exports/imports can be added without having
to compile the b ow* Toolbox sources. In its current release, b ow* Toolbox
comes with exports and imports for several other EPC modeling tools (ARIS,
Semtalk, EPCTools and Oryx). For ARIS and Microsoft Visio, our tool also
provides a metamodel-based model interchange. Details can be found in [8, 9].</p>
      <p>Furthermore, we tried to make the integration of third-party programs into
our tool as easy as possible. We know from our own experience that often a lot
of knowledge is necessary before someone can actually do such integration. At
least, the answers to the following questions have to be known:
{ How can the model data be accessed?
{ How can these data be transferred into the data format expected by the
third-party program?
{ How can we start the third-party program from within the modeling tool?
{ How can we transfer the answers given by the third-party program back into
the user interface of the modeling tool?</p>
      <p>In the b ow* Toolbox, we provide easy-to-understand interfaces for dealing
with the above questions. The already mentioned export scripts can be used for
exporting the model data into the expected format. This means that there is no
need to know anything about the internal architecture or the le format of the
b ow* Toolbox for getting access to the data of the model.</p>
      <p>The information on how to start the external program can be added to a
con guration table (see Fig. 4) at runtime. If the b ow* Toolbox is restarted,
there will be a new menu item from which the external program can be started.
Once again, no knowledge about Eclipse programming is necessary.</p>
      <p>Finally, we have to make sure that the results computed by the third-party
program are transferred back into the b ow* Toolbox user interface. For this
purpose, we provide several interfaces. They abstract away Eclipse implementation
details and allow the external program
{ to print information into the Eclipse console view,
{ to add information about an error, warning or information to the Eclipse
problem view
{ to add a visual marker to a graphical model element,
{ to add, delete or change attributes of the modeling elements</p>
      <p>With the features described above, it is possible to integrate new functionality
into the b ow* Toolbox without having to learn about Eclipse development. In
many cases, new features can be added even without having to compile the
b ow* Toolbox sources. We hope that these interfaces attract developers who
are interested in adding functionality to the b ow* Toolbox.
5</p>
    </sec>
    <sec id="sec-5">
      <title>Conclusions and Future Development</title>
      <p>In this paper, we have presented some useful properties of our tool. Continuous
veri cation and the table-based input wizards can be helpful for a modeler.
Advanced users and programmers can take advantage of the possibilities to add
functionality to the tool.</p>
      <p>We are aware of the fact that future releases of the b ow* Toolbox will have
to contain more and improved functionality, in particular in the area of model
management ( nding, comparing and integrating models from large model
repositories). The b ow* Toolbox sources and executables for Windows and Linux can
be downloaded from www.bflow.org. Researchers and practitioners are invited
to download, use and improve the tool.
6. Favre, C., Gschwind, T., Koehler, J., Kleinoder, W., Maystrenko, A., Muhidini,
K., Volzer, H., Wong, J.: Faster and better business process modeling with the
IBM pattern-based process model accelerators. In: Business Process Management
Demonstration Track 2009. (2009) 483{498
7. Mazanek, S., Minas, M.: Business process models as a showcase for syntax-based
assistance in diagram editors. In: MoDELS. Volume 5795 of LNCS., Springer (2009)
322{336
8. Kern, H., Kuhne, S.: Model interchange between ARIS and Eclipse EMF. In
Tolvanen, J.P., Gray, J., Rossi, M., Sprinkle, J., eds.: 7th OOPSLA Workshop on
DomainSpeci c Modeling at OOPSLA 2007. (2007)
9. Kern, H., Kuhne, S.: Integration of Microsoft Visio and Eclipse Modeling Framework
using M3-level-based bridges. In: 2nd ECMDA Workshop on Model-Driven Tool &amp;
Process Integration, Enschede, Netherlands (2009)</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Wynn</surname>
            ,
            <given-names>M.T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Verbeek</surname>
            , E., van der Aalst,
            <given-names>W.M.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Edmond</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Business process veri cation - nally a reality!</article-title>
          <source>Business Process Management Journal</source>
          <volume>15</volume>
          (
          <year>2009</year>
          )
          <volume>74</volume>
          {
          <fpage>92</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Fahland</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Favre</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jobstmann</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Koehler</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lohmann</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          , Volzer, H.,
          <string-name>
            <surname>Wolf</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Instantaneous soundness checking of industrial business process models</article-title>
          .
          <source>In: Business Process Management</source>
          , 7th International Conference,
          <string-name>
            <surname>BPM</surname>
          </string-name>
          <year>2009</year>
          .
          <article-title>Volume 5701 of LNCS</article-title>
          ., Springer (
          <year>2009</year>
          )
          <volume>278</volume>
          {
          <fpage>293</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Gruhn</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Laue</surname>
            ,
            <given-names>R.:</given-names>
          </string-name>
          <article-title>A heuristic method for detecting problems in business process models</article-title>
          .
          <source>Business Process Management Journal</source>
          <volume>16</volume>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Laue</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          , Kuhne,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Gadatsch</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.</surname>
          </string-name>
          :
          <article-title>Evaluating the E ect of Feedback on Syntactic Errors for Novice Modellers</article-title>
          .
          <source>In: EPK</source>
          <year>2009</year>
          ,
          <article-title>Geschaftsprozessmanagement mit Ereignisgesteuerten Prozessketten</article-title>
          .
          <source>CEUR Workshop Proceedings</source>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Gruhn</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Laue</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          , Kuhne,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Kern</surname>
          </string-name>
          , H.:
          <article-title>A business process modelling tool with continuous validation support</article-title>
          .
          <source>Enterprise Modelling and Information Systems Architecture</source>
          <volume>4</volume>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>