choreography designer can clearly and easily state
which are the requirements for the choreography and
its roles, at the same level of abstraction of the tasks’
flow, and without the need to make use of separate
models; on the other hand, services willing to partic-
ipate as actors in the choreography are immediately
aware of what is requested from them. The annotated
choreography will then act as a binding contract be-
tween the entity managing the choreography and the
service providers acting in it.
In the following, we refer to the augmented BPMN
notation with its underlying implemented transforma-
tion as the Q4BPMN (Quality for BPMN) approach.
2 BACKGROUND
The work presented in this paper builds atop BPMN
choreography diagrams. The purpose of a choreogra-
phy diagram is to give a very high-level overview on
how the various companies, business units, partners
etc. (depending on the actual scope of the business
process) relate among themselves. However, BPMN
“as is” does not cover non-functional properties.
An interesting related work remarking the need
to overcome such a lack of notation is (Boccia-
relli and D’Ambrogio, 2011). This paper intro-
duces PYBPMN (Performability-enabled BPMN), a
notation for the description of a business process in
terms of both functional and non-functional proper-
ties, specifically addressing the performance and reli-
ability characterization of a business process. In par-
ticular, PYBPMN is a lightweight BPMN extension
that addresses the specification of both performance
and reliability properties of a business process.
Even though the approach in (Bocciarelli and
D’Ambrogio, 2011) and ours look similar, they actu-
ally differ for some relevant technical aspects. First
of all, the extension provided by PYBPMN only
involves those elements of BPMN modeling busi-
ness processes, those elements natively conceived and
used for modelling service orchestrations. Q4BPMN
allows to annotate service choreographies with non-
functional aspects to provide a binding contract be-
tween the entity managing the choreography and the
service providers acting in it; thus the BPMN model-
ing elements that Q4BPMN extends are not covered by
PYBPMN. Also, PYBPMN only deals with annota-
tions concerning performance and reliability proper-
ties, while Q4BPMN natively supports the definition
of both new quality properties, and new metrics eval-
uating them.
Our approach also relies on a language called
Property Meta-Model (PMM), which was defined
for specifying observable properties of the system.
PMM (Di Marco et al., 2011; Bertolino et al., 2011)
describes a property that can be ABSTRACT, DE-
SCRIPTIVE, or PRESCRIPTIVE. An ABSTRACT
property indicates a generic property that doesn’t
specify a required or guaranteed value for an observ-
able or measurable feature of a system. A DESCRIP-
TIVE property represents a guaranteed/owned prop-
erty of the system. A PRESCRIPTIVE one indicates a
system requirement. In the two latter cases, the prop-
erty is defined taking into account a relational opera-
tor with a specified value.
Properties are grouped into classes, differing on
which features of the system they address. In the no-
tation proposed in this research, the property class is
a feature that allows the classification of the proper-
ties into several groups, which generally correspond
to the requirement types in the metamodel of some
languages designed for this purpose. With respect to
this work we will focus on the following classes of
properties that PMM defines: performance, security,
dependability (Di Marco et al., 2011).
Q4BPMN aims at leveraging the introduced non-
functional annotations to apply model transformation
methodologies for the generation of analysis-oriented
target models (including performance and reliability
models). A growing interest focuses on model-driven
development, starting from domain-specific source
models, possibly augmented with suitable annota-
tions. Many proposals focusing on a particular type
of source design-oriented model and a particular type
of target analysis-oriented model exist, with the for-
mer including, for example, UML, Message Sequence
Chart, Use Case Maps, formal or ADL languages,
and the latter including Petri nets, queueing networks,
layered queueing network, stochastic process alge-
bras, Markov processes (see (Balsamo et al., 2004;
Koziolek, 2010; Bartolini et al., 2006)). To have an
overview the topic, see for example the WOSP con-
ference series (ACM, 2011).
3 LINKING QUALITY
REQUIREMENTS IN
CHOREOGRAPHY DIAGRAMS
The idea envisioned in this paper aims at changing the
way a BPMN choreography diagram looks, to high-
light its quality requirements in addition to the work-
flow and the interactions between the participating ac-
tors. Of course, this change is not supposed to be just
a fancy visual change, but its objective is to be an aid
for several of the stakeholders:
WEBIST2012-8thInternationalConferenceonWebInformationSystemsandTechnologies
144