=Paper=
{{Paper
|id=Vol-1418/paper7
|storemode=property
|title=BPMeter: Web Service and Application for Static Analysis of BPMN 2.0 Collections
|pdfUrl=https://ceur-ws.org/Vol-1418/paper7.pdf
|volume=Vol-1418
|dblpUrl=https://dblp.org/rec/conf/bpm/IvanchikjFP15
}}
==BPMeter: Web Service and Application for Static Analysis of BPMN 2.0 Collections==
BPMeter: Web Service and Application
for Static Analysis of BPMN 2.0 Collections
Ana Ivanchikj, Vincenzo Ferme, Cesare Pautasso
Faculty of Informatics, University of Lugano (USI), Switzerland
{ana.ivanchikj,vincenzo.ferme,cesare.pautasso}@usi.ch
http://benchflow.inf.usi.ch/bpmeter
Abstract. The number of business process models is constantly increas-
ing as companies realize the competitive advantage of managing their
processes. Measuring their size and structural properties can give useful
insights. With the BPMeter tool, process owners can quickly compare
their process with company’s process portfolio, researchers can stati-
cally analyze a process to see which modeling language features have
been used in practice, while modelers can obtain an aggregated view
over their processes. In this demonstration we show how to use BPMe-
ter, which provides a simple Web application to visualize the results of
applying over 100 di↵erent size and structure metrics to BPMN 2.0 pro-
cess models. The visualization features measurements, statistics and the
possibility to compare the measurements with the ones obtained from
the entire portfolio. Moreover we show how to invoke its RESTful Web
API so that the BPMeter analyzer can be easily integrated with existing
process management tools.
Keywords: BPMN 2.0 · Process Model · Size Metrics · Structure Metrics ·
Collection Statistics · Web Application · REST API
1 Introduction
The Business Process Modeling and Notation (BPMN) language has become the
de facto standard for process modeling [5], evident also from its ISO standardis-
ation (ISO/IEC 19510:2013). In our work we calculate size and structure metrics
on process models represented in the standard BPMN 2.0 format. BPMN o↵ers
greater control flow expressiveness than other modeling languages [8]. However
such expressiveness is partially lost if analysis tools transform processes to canon-
ical formats to store models captured in di↵erent notations [7,3], since only the
elements common to all the modeling languages supported by that tool, are
maintained in the canonical form. Therefore we have decided to focus only on
BPMN 2.0 and support natively its analysis. Existing tools dealing with busi-
ness process analysis target process mining [1], process repositories [7] or process
Copyright 2015 for this paper by its authors. Copying permitted for private and
academic purposes.
modeling [6]. While calculation of certain process quality metrics is available as a
plugin in some of them [7,1], since it is not their main goal, the available metrics
are rarely exhaustive. Tools explicitly focused on process analysis [3,2] either
lack an explicit API [2], and thus are hard to integrate with other tools, or they
are command-line based [3], and thus less user friendly.
BPMeter is a public Web-based tool for extensive static analysis of the size
and structure of BPMN 2.0 process models. Since we have di↵erent target users
of the tool we have decided to o↵er it in two versions: 1) as a Web service
aimed at: developers that need to integrate the analysis into their applications
or researchers that want to use it as part of their analytics workflows; and 2) as
a Web application with a visual interface, aimed at process owners or business
analysts, to enable them to quickly compare their new or existing processes to
other processes in the company or to the characteristics of reference models.
The tool uses as an input an individual business process model, or a collec-
tion of models designed in BPMN 2.0 using the serialization described in the
standard. Only files in *.xml, *.bpmn or *.bpmn20 format are accepted as in-
put. The output includes the result of more than 100 metrics calculated over the
input models. Many of the size metrics count the number of specific BPMN 2.0
elements found in the model. They count elements both on aggregated level (e.g.,
number of nodes, number of activities, number of gateways, number of events),
and disaggregated level (e.g., number of script tasks, ad-hoc subprocess, exclu-
sive split gateways). Simply counting BPMN 2.0 elements is not sufficient to
gain a deep understanding of the models, thus we have also implemented ad-
ditional structure metrics, where we analyse properties of the control flow and
data flow of the process (e.g., parallel gateway fanin, data input distribution).
The complete definition of the metrics can be found in [4, Chap.3.3].
2 BPMeter: Web Service
We introduce a REST API with only one resource (/api) which represents the
action involved in calculating all metrics. The only allowed method to be called
on this resource is POST. A (POST /api) request, carrying a single or multiple
process model file(s) as a payload, tells the server to calculate the metrics for
the sent model(s). The request is formatted as application/octet-stream.
To facilitate the upload of one or more BPMN files, two variables need to be
specified, name and filename. The value assigned to the name variable is always
name="models", while the filename variable takes as a value the name of the
process model file. An example call of the API, where the MODELn_PATH stands
for the absolute or relative path to the file that needs to be sent, is:
curl -X POST -F "models=@MODEL1_PATH" -F "models=@MODEL2_PATH"
http://benchflow.inf.usi.ch/bpmeter/api
If the POST request is made using an unsupported file type the server
responds with 403 bad request status and an error message. In case of a
successful request, the server responds with a JSON file representing an ar-
ray containing the results of the metrics for each uploaded model. A met-
ric is annotated with its name, category (Size or Structure) and type (Sin-
gle Value Metric, Distribution Metric, Type Distribution Metric or Distribu-
tion Statistics Metric). The type determines the format of the corresponding
value. A sample JSON file can be obtained by uploading a process model at:
http://benchflow.inf.usi.ch/bpmeter/api/test.
3 BPMeter: Web Application
BPMeter is a responsive Web application, thus it is suitable for any screen
size. Fig. 1 shows a screenshot of application’s main view, on di↵erent devices.
The Web application provides a log-in and authentication functionality so that
models uploaded by a given user can be saved in a database, thus enabling the
user to measure and compare a portfolio of multiple models. Anonymous users
can also try out the Web application without creating an account by using the
Demo version. The Demo only measures one model at a time, i.e., without taking
advantage of the comparison feature.
The Web application uses the REST API described in Section 2 to call the
analyzer Web service. The model/collection sent with the request is assigned an
ID and is saved in temporary directory on the server. To provide for scalabil-
ity, a First-In-First-Out (FIFO) queuing system is used to trigger the analysis.
Once the task executor calculates the metrics for the given model/collection,
the results are sent in JSON format to the client, which takes care of rendering
them. As the analysis is running in the background, the client is not blocked and
can browse previous results as the new ones are being computed. The client is
informed of the arrival of new results by a notification message.
By using the menu, listing all the uploaded models (individual models, col-
lections and models in the collections), the user can choose the model or the
collection whose metrics should be visualized. The metrics over the entire port-
folio are shown by default (by clicking on the home tab). The goal of the Web
application is to provide visualisation of the results of the calculated metrics.
Fig. 1: BPMeter: Responsive Web Design
(a) (b) (c)
Fig. 2: Metric Types: (a) Single Value, (b) Distribution, (c) Type Distribution
There are three important use cases we would like to point out, i.e., analysing
a single process, analysing a collection and analysing the entire portfolio. When
analysing a single process, it could be useful to compare the process charac-
teristics to the ones of the entire portfolio. Once a model/collection has been
uploaded the user can decide to visualise all metrics or certain type of met-
rics as per their visualisation characteristics. The user can choose between three
options:
1) Single Value Metrics, visually presented as a bar chart showing the re-
sult in the y axis. If the user has uploaded more than one model this type of
metrics will also show as di↵erent bars the mean and median of user’s portfolio.
Information regarding the variance, standard deviation and range is also pro-
vided numerically. For example, as per Fig. 2(a), the Number of exclusive split
gateways in the analysed model is one while the median for the portfolio is two;
2) Distribution Metrics, i.e., metrics to analyse the incoming/outgoing flow
of a gateway or data input/output of an activity. The number of flows/data are
shown on the x axis while the number of gateways/activities having that number
of flows/data is shown on the y axis. For example, as per Fig. 2(b), there are
four activities with one data output and one activity with no data output;
3) Type Distribution Metrics, i.e., metrics which show how many events use
a given type of event definition with information about the mean and the median
of the portfolio, when analysing a single process. Information about the variance,
standard deviation and range per event definition type are available by using the
arrows below the graph. For example, as per Fig. 2(c), the analysed model uses
two none events, one message event and one signal event. The mean and median
for the portfolio are quite lower. As evident from the mentioned figures, hovering
over a bar in the charts displays the x and y values of that bar.
This Web application is a prototype and while thorough testing has been
performed on the calculation of the individual metrics per single model, fur-
ther testing is necessary for the statistical information on collection and port-
folio level. We recommend Google Chrome as a web browser since it is the
browser used for testing the application. The application is available at http:
//benchflow.inf.usi.ch/bpmeter. A screencast describing some use cases is
available at http://benchflow.inf.usi.ch/bpmeter/screencast.
4 Conclusion and Future Work
Companies have to manage hundreds, if not thousands, of processes, which makes
an easy and fast access to a tool for analysing them quite valuable. Therefore
we did not stop at developing a command-line based tool or a Web service, but
decided to design a user-friendly Web interface to visualise measurements about
the size and structure of a model or collection of models, but also to compare
them with a whole portfolio of models. We see the added value of BPMeter
precisely in the fact that we o↵er it both as a Web service and a Web application,
as well as in the fact that it supports batch-analysis of entire model collections.
This makes BPMeter attractive to process owners, business analysts, developers
and researchers alike. The BPMN support is native, thus its full expressiveness is
preserved. The analysis are detailed including over 100 metrics, and user accounts
are available to create and manage own process portfolios.
Based on early feedback from test users, we are currently working on extend-
ing the Web application with some similarity metrics, the possibility of com-
paring the obtained metrics between multiple models (or aggregated metrics of
multiple collections), searching for models with specific names or metric value
ranges, and the ability of exporting the metrics in tabular format, in addition
to the currently returned JSON by the Web service API.
Acknowledgments This work is partially funded by the Swiss National Science
Foundation with the BenchFlow - A Benchmark for Workflow Management Systems
(Grant Nr. 145062) project. The authors would like to thank the graduate students,
Abdil Cakal, Andreia Faria Carvalho, Nicol Linder and Sonny Monti for their work.
References
1. van der Aalst, W.: Process Mining: Discovery, Conformance and Enhancement
of Business Processes. Springer, Verlag Berlin Heidelberg (2011), http://www.
processmining.org/prom/start
2. Corti, C.: BPMETRICS: a software system for the evaluation of some metrics for
business process. Master’s thesis, Politecnico di Milano (2012)
3. Fähnrich, C., et al.: PromniCAT-collecting and analyzing heterogenic business pro-
cess models (2014), https://github.com/tobiashoppe/promnicat/tree/wiki
4. Ivanchikj, A.: Characterising Representative Models for BPMN 2.0 Workflow Engine
Performance Evaluation. Master’s thesis, Università della Svizzera Italiana (2014),
https://thesis.bul.sbu.usi.ch/theses/1235-1314Ivanchikj/pdf?1412857872
5. Kocbek, M., Jošt, G., et al.: Business process model and notation: The current state
of a↵airs. Computer Science and Information Systems 12(2), 509–539 (2015)
6. Kunze, M., Luebbe, A., et al.: Towards understanding process modeling – the case
of the BPM Academic Initiative. In: Business Process Model and Notation, vol. 95,
pp. 44–58. Springer Berlin Heidelberg (2011), http://academic.signavio.com
7. La Rosa, M., Reijers, H.A., et al.: APROMORE: An advanced process model reposi-
tory. Expert Systems with Applications 38(6), 7029–7040 (2011), http://apromore.
qut.edu.au/portal/login.zul
8. Wohed, P., van der Aalst, W.M., et al.: On the suitability of BPMN for business
process modelling. Lecture Notes in Computer Science 4102, 161–176 (2006)