Problem Notice 3. In the current extension mecha-
nism, each BPMN element can access all Extension
Definitions, since all BPMN types are sub classes
of Base Element. This leads both to missing sep-
aration of concern and to semantic irregularities, as
also elements that are not intended to be related to an
Extension Definition, can be related to them techni-
cally. In order to avoid such situations, it needs to
be specified, to which element an Extension Defini-
tion can be associated. This should also be consid-
ered on XML interchange level. Otherwise, the stated
under-specification could lead to semantically incor-
rect models.
Problem Notice 4. In the current version, BPMN
does not make a conceptual difference between
element-wise extensions (in the sense of definable
classes with own attributes that can be referenced by
other classes) and attribute-wise extensions (in the
sense of adding some attributes to standard BPMN
classes). While this should be syntactically correct,
it might provoke some conceptual confusion whether
the definition of new elements is allowed at all.
XML. BPMN specification states that this “type is
not applicable when the XML schema interchange is
used, since XSD Complex Types already satisfy this
requirement” (OMG, 2011b, p. 58). Hence, BPMN
excludes XML specification of Extension Definitions
from its meta model and just refers to under-specified
XSD Complex Types. There is actually no deeper con-
trol of the extension structure (syntax) on XML level.
3.3 Extension Attribute Definitions
As stated above, the Extension Attribute Definition
class defines the actual characteristics of an extension.
An Extension Attribute Definition is specified by the
name and the type of the attribute. The corresponding
type must be given as string reference to the identifier
of the corresponding class. The isReference attribute
indicates whether the attribute value is set directly or
by reference to the referred element.
Semantics. A list of attributes of a new element or
attribute.
XML. BPMN specification states that “this type is
not applicable when the XML schema interchange is
used; since the XSD mechanisms for supporting Any-
Attribute and Any type already satisfy this require-
ment” (OMG, 2011b, p. 59). This statement also in-
dicates that the XML based definition of an exten-
sion is out of the syntactical scope of BPMN. More-
over, implementing the specification depends totally
on the language engineer. In this case, it might be bet-
ter to keep it within some syntactical rules of BPMN
in order to avoid semantically incorrect models (see
above).
3.4 Extension Attribute Value
The Extension Attribute Values class can be used for
the specification of concrete attribute values. If the
corresponding isReference attribute of the Extension
AttributeDefinition is set of false, the attributevalueis
given directly. Otherwise, a reference to the targeted
class needs to be given (OMG, 2011b, p. 59). A spe-
cific meta model Element is addressed in both cases.
The stated Element class is one of the most generic
classes within the Complete Meta Object Facility
(CMOF) on level M3. On that meta meta model level,
Packages, Features and Classifiers (OMG, 2014) in-
herit from the Element class. Classifiers are speci-
fied into Classes and Data Types. Thus, both com-
plex types (e.g., BPMN elements) and primitive data
types (e.g., Strings) can be referenced by Extension
Attribute Values.
Semantics. A list of typed attributes of a new ele-
ment.
Problem Statement 5. While understanding the se-
mantics of the Element reference, the syntax is not
accurate at this point, since the BPMN specification
integrates an element that is specified on level M3
(within CMOF) and not on level M2 as BPMN is
(see Figure 2). In the current version, the extension
meta model violates the separation of abstraction lay-
ers (type instance relation). Also, BPMN does not
provide clear evidences on the relation between basic
concepts and the correspondingmeta meta level (M3).
Actually, each abstraction level is realized by type in-
stance relations. Nonetheless, this is quite clear for
the most classes (e.g., namespaces or associations), it
is confusing regarding to the extension classes, since
MOF already provides a basal extension mechanism
and we cannot detect any correspondence to that in
BPMN (OMG, 2014, p. 23).
3.5 Mechanism in General
As stated above, BPMN defines elements that should
facilitate the design of vertical or domain-specific ex-
tensions. By providing elements on meta level M2 the
instantiated extensions are actually located on model
level M1 due to the “instance of” relation. However,
an application of the extension requires another in-
stantiation step regarding to the creation of the actual
extension instances on level M1. This instantiation
sequence collides with the strict four layer architec-
ture of the OMG. Respectively, a new “intermediate
layer” is created, which contains the standard meta
MODELSWARD2015-3rdInternationalConferenceonModel-DrivenEngineeringandSoftwareDevelopment
406