<!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>Managing Variability and Evolution ⋆ of Business Document Models</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Christian Pichler</string-name>
          <email>cpichler@researchstudio.at</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Martina Seidl</string-name>
          <email>seidl@big.tuwien.ac.at</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Christian Huemer</string-name>
          <email>huemer@big.tuwien.ac.at</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Institute of Software Technology and Interactive Systems Vienna University of Technology Vienna</institution>
          ,
          <country country="AT">Austria</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Inter-Organizational Systems Research Studios Austria Vienna</institution>
          ,
          <country country="AT">Austria</country>
        </aff>
      </contrib-group>
      <fpage>61</fpage>
      <lpage>72</lpage>
      <abstract>
        <p>The United Nations Centre for Trade Facilitation and eBusiness (UN/CEFACT) standardizes business documents for electronic data interchange. Their approaches towards UN/EDIFACT and XML have later been followed by a conceptual modeling approach called Core Components (CC). Having used this approach for four years in practice, it became evident that the support for managing business document models is a prerequisite for successfully utilizing CC. This includes handling variants of business document models on the one hand, and managing the evolution of business document models on the other hand. In this paper we propose an approach to face these challenges by the means of Software Product Line Engineering (SPLE) in combination with dedicated model management operators. The contribution of the approach is twofold. First, SPLE is successfully applied in a new field enabling us to manage variants of business document models. Second, the model management operators support the evolution of business document model variants, whereas the operators defined, contribute to the evolution of product lines as well.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Seamless information exchange between business partners is inevitable for
successful collaboration in electronic commerce. For exchanging information
electronically, standardized formats are required which are provided through
Standard Developing Organizations (SDOs). These standards are typically created
for a particular domain or industry. Business document standards may be
distinguished into standards defined on the conceptual level and standards defined on
the transfer syntax level [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Defining a standard on the conceptual level means
that a standard is defined using models such as UML class diagrams [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. The
conceptual representation is then used for generating the transfer syntax, such
as an XML Schema schema [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], in the following denoted as XML schema.
      </p>
      <p>
        Such a conceptual approach is envisioned by the Core Components
technology [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] of the United Nations Centre for Trade Facilitation and eBusiness
(UN/CEFACT), which originally became famous for maintaining the United
Nations Directories for Electronic Data Interchange for Administration,
Commerce and Transport (UN/EDIFACT) standards [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. UN/CEFACT provides
reusable Core Component assets which serve as a basis for creating business
document models. One representative example of a business document model created
based on Core Components is UN/CEFACT’s Cross Industry Invoice (CII) [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]
which has recently been mandated for electronic invoicing within the European
Union [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. Furthermore, UN/CEFACT accommodates generating XML schemas
from conceptual models [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] through proper rules specified in the XML Naming
and Design Rules (NDR) [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
      </p>
      <p>
        Having worked on tool support for the Core Components for four years,
we recognized that successfully utilizing Core Components is inhibited due to
several reasons. These reasons include deficiencies in managing variants as well
as in coping with the evolution of business document models. Such types of
problems are addressed in Software Product Line Engineering (SPLE) [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] as
well as Software Configuration Management (SCM) [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. In particular, SPLE
deals with the strategic reuse of software systems sharing a common, managed
set of features [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. Furthermore, one aspect of SCM is managing different
versions of software systems. Versions are differentiated into revisions as well as
variants [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. Revisions emerge along the time dimension and replace
preceding revisions whereas variants intentionally coexist. Furthermore, concepts from
SPLE promise benefitial advantages when being used for managing variants of
software systems [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ].
      </p>
      <p>
        Nowadays, models are an important artifact in Software Engineering with the
purpose of documenting software systems or for performing Model-Driven
Engineering (MDE) [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. The combination of MDE as well as SPLE seems promising
resulting in the ability to leverage the benefitial advantages of both, MDE as well
as SPLE [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. Although there is currently much effort spent on model
management [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] and the development of model versioning systems, there is, to the best
of our knowledge, no approach which exactly fits our needs. The context of Core
Components offers, compared to model versioning for conventional UML models,
a restricted environment. The Core Components technology specifies the usage
of Core Components and as a consequence this additional information may be
used for managing variants as well as for coping with the evolution of business
document models. In being confronted with a SCM problem, we propose to face
these challenges by the means of SPLE as well as dedicated model management
operators.
      </p>
      <p>This paper is structured as follows. In Section 2 we provide the necessary
background on UN/CEFACT’s Core Components serving as a basis for business
eGnric
iCunzdtolaxe
0.* +
1. +
+
+
+
+
+
+
+
sdreA
sdreA
the involved organizations in order to obtain concrete business documents. For
instance, SDOs of different business branches may use the Generic Core
Components model as a basis for creating their variants fulfilling their domain-specific
requirements. The Core Component concept specifies that creating
contextualized business document models must follow a “derivation by restriction”
mechanism. This means that a contextualized business document model is created
through removing elements from a particular Core Component. For example, in
Figure 1, the layer Customized Core Components, illustrates the customization of
the Generic Core Components layer for fitting particular domain requirements.
For example, the ABIE Person does not contain the BBIE HairColor, or the
ASBIE Working is omitted.</p>
      <p>
        Furthermore, UN/CEFACT provides the publicly available Core Component
Library (CCL) [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ] containing predefined Core Components. The Generic Core
Components layer in Figure 1 illustrates an excerpt from the CCL. Those
predefined Core Components may be reused for defining a multitude of business
document models in various business contexts. Nevertheless, the development of
concrete business documents is a highly dynamic process where mulitple
participating organizations are involved. The next section presents a typical scenario
which illustrates problems arising in such a dynamic development environment.
3
      </p>
    </sec>
    <sec id="sec-2">
      <title>Motivation and Challenges</title>
      <p>
        In the Core Component Technical Specification (CCTS) [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], UN/CEFACT
provides the foundation for creating Core Component (CC) models through the
underlying metamodel as well as additional rules. In the following we describe
challenges encountered in dealing with CC models. We elaborate on managing
business document model variants as well as business document model evolution.
3.1
      </p>
      <sec id="sec-2-1">
        <title>Variant Management</title>
        <p>Following the Core Component approach, as elaborated on above, Standard
Developing Organizations of different business branches may utilize the Generic
Domain Model as basis for creating variants—fulfilling their domain-specific
requirements. Note that the Generic Domain Model illustrated in Figure 2
represents an excerpt from the Core Component Library (CCL). For example, in the
healthcare domain it is necessary to represent information on the blood type of
a particular person whereas the same information is irrelevant in the commerce
domain. As a result, two variants of the Generic Domain Model are created, the
Healthcare Domain Model and the Commerce Domain Model. Both domain
models represent copies of the Generic Domain Model with domain specific adaptions,
as illustrated in Figure 2, Mark A and Mark B.</p>
        <p>Similar to a business document model based on the CCL, these specific
domain models may again serve as a basis for different organizations within the
domain to define their own variants of business document models, as illustrated
in Figure 2, Mark C. For example, healthcare providers may further restrict the
Healthcare Domain Model for representing patient information. Consequently, a
wealth of different variants of business document models have to be managed.</p>
        <p>A&lt;BIE&gt;
sdreA
edoC
crienG niamDo
edoC
cerCom
Business document models as well as their variants evolve over time due to
different reasons, such as extensions, refactorings, or bug fixes. Assume that an
inappropriate data type Text has been used in the CCL. Therefore, a new version
of the Core Component Library is released, where the type of the BBIE City is
changed from Text to Code, as illustrated in Figure 2, Mark 1.</p>
        <p>As a result of the changes applied to the Generic Domain Model, it is necessary
to propagate these changes to all variants which are based on the Generic Domain
Model. Applied to the example, it is necessary to adopt the Healthcare Domain
Model was well as the Commerce Domain Model, as indicated in Mark 2 and
Mark 3, of Figure 2.
3.3</p>
      </sec>
      <sec id="sec-2-2">
        <title>Supporting Variant Management and Model Evolution</title>
        <p>
          For managing variants of business document models we propose to utilize
concepts from Software Product Line Engineering (SPLE) [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]. Applying these
concepts to business document modeling enables us to efficiently manage variants
of business document models. Furthermore, as illustrated in the example above,
business document models are also subject to evolution. In terms of SPLE this
means that the core assets of the platform change. For dealing with evolution we
need dedicated model management operators. Having such operators at hand
allows to understand and manage the evolution of business document models
within a product line. In particular, the operators support the evolution of the
product line’s core assets as well as the corresponding evolution of the product
line’s products. Hence, these operators also contribute to today’s challenges of
evolution in Model-Driven Product Line Engineering (MDPLE).
        </p>
        <p>Exploring the evolution of product lines within the context of business
document modeling offers a unique environment having benefitial advantages.
Cre</p>
        <sec id="sec-2-2-1">
          <title>Product!Line!Engineering</title>
          <p>g
!ian iren
oDm iengn Platform
E</p>
          <p>Core!
Asset
ion ing
iltca reen
ppA iEng Product
Problem!
Space</p>
          <p>Core!</p>
          <p>Asset
Product</p>
          <p>Product
Product</p>
        </sec>
        <sec id="sec-2-2-2">
          <title>Core!Components!in!the! Context!of!Product!Line!Engineering</title>
          <p>Problem!Space:
" Business!Document!Modeling
" Defined!in!the!Core!Components!Technical!Specification!(CCTS)
Platform:
" Core!Component!Library!(CCL)!provides!the!Core!Assets
" Variability!is!expressed!using!Cardinality"based!Feature!Models
" Core!Components!Technical!Specification!(CCTS)!specifies!
the!Production!Plan
Derivation!of!Product!Variants:
" Based!on!selected!features!a!new!variant!of!a!Business!!!
Document!Model!is!!derived
" Generation!of!transfer!syntax!following!the!XML!Naming!and!</p>
          <p>Design!Rules!(XML!NDR)
ating variants of business document models follow the “derivation by
restriction” mechanism, hence the variability among variants as well as the evolution
of business document models is constrained. Therefore, the business document
modeling environment offers a constrained environment for exploring first steps
towards dealing with the evolution of Model-Driven Product Lines.
4</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Model Management</title>
      <p>
        In this section, we propose concepts for addressing the challenges encountered
in business document modeling. These include, the application of SPLE
concepts to manage variants of business document models, as well as the definition
of model management operators for supporting the evolution of business
document models. The meta models and models, representing the core assets of the
product line’s platform in business document modeling, are defined using the
Eclipse Modeling Framework (EMF), in particular Ecore [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ]. The metamodel
implemented represents an Ecore-based equivalent of the metamodel specified
in the Core Components Technical Specification (CCTS) [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Furthermore, the
model management operators defined, address the evolution of business
document models. The evolution of meta models and feature models will be discussed
in Section 6, future work. Another important aspect is the granularity of
evolution. In the context of business document models we perform model evolution
on the level of classes, attributes, as well as associations.
4.1
      </p>
      <sec id="sec-3-1">
        <title>Variant Management</title>
        <p>In the following, we illustrate the application of Software Product Line
Engineering (SPLE) concepts to business document modeling, as illustrated in Figure 3.
Generally speaking, Product Line Engineering (PLE) consists of Domain
Engineering as well as Application Engineering.</p>
        <p>
          Domain Engineering is comprised of defining the problem space, creating a
platform containing core assets and variability points, as well as defining a
production plan [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]. Applied to the context of creating business document models
based on Core Components we observe the following. Clearly, the problem space
addressed in the context of Core Components is the area of business document
modeling. The platform of the product line is implicitly defined through the
already existing Core Component Library which contains all core assets which may
be used in product variants, i.e. business document models. As a next step, it is
necessary to specify the production plan which describes how product variants
are derived from the platform. However, as illustrated earlier, the CCTS defines
that business document models, based on predefined Core Components, must
only be created utilizing the “derivation by restriction” mechanism. Therefore,
this mechanism represents the production plan for creating product variants,
representing variants of business document models. Currently, for deriving
business document model variants, we provide tool support through the VIENNA
Add-In [
          <xref ref-type="bibr" rid="ref22">22</xref>
          ].
        </p>
        <p>
          Application Engineering addresses the process of deriving product variants
from the artifacts defined in process of Domain Engineering. Applied to the
context of Core Components, variants of business document models, based on
the Core Component Library, are derived. Furthermore, the variants of business
document models are transformed into XML schemas according to the XML
Naming and Design Rules (NDR) [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ].
4.2
        </p>
      </sec>
      <sec id="sec-3-2">
        <title>Model Evolution</title>
        <p>When managing the variants of business document models, we are confronted
with two different challenges: (1) we intend to keep the hierarchy of business
document models as redundancy free as possible, i.e., we aim at the detection
of business document models which are introduced twice in order to keep the
overall structure as simple as possible and (2) if one business document model is
modified than all derived child documents have to be updated accordingly, i.e.,
we are confronted with the evolution of the business document models. For the
definition of the necessary model management operators, we use the following
simplified view on a business document model based on the concept of Core
Components.</p>
      </sec>
      <sec id="sec-3-3">
        <title>Definition 1 (Business Document Model). The business document model</title>
        <p>M over a set of properties P is a tuple of the form</p>
        <p>hBBIE, ABIE, ASBIE, agg, propsi
where BBIE denotes the set of Basic Business Information Entities, ABIE
denotes the set of Aggregated Business Information Entities, and ASBIE denotes
the set of Association Business Information Entities. For each a ∈ ASBIE it
holds that a = (id, a1, a2) with a1, a2 ∈ ABIE and where id is an identifying
label. The composition of BBIEs in order to form ABIEs is expressed by the
function agg : ABIE → BBIEBBIE. In order to embrace the different types of
entities we introduce the set E with E = BBIE ∪ ABIE ∪ ASBIE. Finally, the function</p>
        <p>P
prop : E → P assigns each entity a set of properties.</p>
        <p>The set P contains various types of properties like types and visibilities which
are necessary to describe the different kinds of entities in more detail. In the
following, this vague definition is sufficient as we are not concerned with the
semantics of the properties.</p>
        <p>Redundancy Elimination in the Hierarchy of Business Documents. If many
variants are derived according to the needs of different organizations or companies,
the dependency tree rapidly grows. As a consequence, a user new to business
document modeling based on Core Components is not easily able to identify
which business document model fits his/her specific needs. Then the user would
be either discouraged to use the Core Components or the user would start to put
his/her adaptations at a very high level of the business document models
hierarchy although a suitable business document model is already at hand. Hence,
the hierarchy expands into the breath. We propose the implementation of an
operator which is able to identify equivalent business document models or even
two business document models M1 and M2 where M1 is the subset of M2 even
if they are located in different branches. Furthermore, such an operator may be
used to check whether the hierarchy of business document models is valid. The
subset operator is defined as follows.</p>
        <p>Definition 2 (Subset Operator). A business document model M1 given by
hBBIE1, ABIE1, ASBIE1, agg1, props1i is a subset of a business document model
M2 = hBBIE2, ABIE2, ASBIE2, agg2, props2i denoted by M1 ⊆ M2 iff it holds
that BBIE1 ⊆ BBIE2, ABIE1 ⊆ ABIE2, and ASIE1 ⊆ ASIE2. Furthermore, for each
a ∈ ABIE1 it holds that agg1(a) ⊆ agg2(a) and for each e ∈ BBIE1 ∪ABIE1 ∪ASIE1
it holds that prop1(e) ⊆ prop2(e).</p>
        <p>With this subset operator we are able to identify business document models
which are wrongly positioned in the hierarchy of business document models
and in consequence we are able to optimize the overall structure of the model
hierarchy. The subset operator is not only necessary for organizing the repository,
but also in the context of evolution as we see in the following.</p>
        <p>Evolution of Business Document Models. As any model, the specifications of
business documents may evolve over time. This evolution comprises the
extension due to more precisely stated requirements as well as updates like
refactorings or bugfixes of either the generic domain model or of the dedicated domain
models. It is even imaginable that formerly defined model elements are replaced
or even removed if it turns out from experience that these elements are often
used in an incorrect manner or that they are not used at all. Consequently,
the changes have to be propagated to all business documents models which are
created based on the modified business document model in order to ensure
compliance of the different business documents. The relationships between business
document models form a tree. Hence, changes are propagated along the affected
branch. Evolution is an issue in the following situation. Given the business
document models M1 and M2 where M1 is derived from M2, i.e. it holds that
M1 ⊂ M2, and M2 evolves to M′2, the relationship M1 ⊂ M′2 does not hold
any more. In order to identify the differences between two business documents
models we define the difference operator as follows.</p>
        <p>Definition 3 (Difference Operator). The difference between a business
document model M1 = hBBIE1, ABIE1, ASBIE1, agg1, props1i and a business document
model M2 = hBBIE2, ABIE2, ASBIE2, agg2, props2i (denoted by M1ΔM2) is
defined by the tupel hadded, removed, updatedi where added = E2\E1, removed =
E1\E2, and updated = {e ∈ E1 ∩ E2|props1(e) 6= props2(e)} ∪ {e ∈ ABIE1 ∩
ABIE2|agg1(e) 6= agg2(e)} where Ei = BBIEi ∪ ABIEi ∪ ASBIEi with i ∈ {1, 2}.</p>
        <p>
          In this context, evolution is only possible in one direction: changes are
propagated from the more general business document models to the its more specific
offsprings. This is due to the “derivation by restriction” mechanism specified in
the Core Components Technical Specification [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ].
4.3
        </p>
      </sec>
      <sec id="sec-3-4">
        <title>Model Management by Example</title>
        <p>In the following, we illustrate the application of the model management operators
to the business document models variants, illustrated in Figure 2.</p>
        <p>From the definition of a business document model, it follows that in the
Generic Domain Model shown in Figure 2 ABIE = {Person, Address}, ASBIE =
{(private, Person, Address), (work, Person, Address)}, and BBIE contains Name,
Title, City, Country, etc. The function agg relates elements of BBIE with elements
of ABIE, i.e., Name and Title are features of Person whereas City and Country
are features of Address. Finally, the prop function assigns additional information
like types, visibility, multiplicities etc. to the entities.</p>
        <p>In Figure 2 the Healthcare Domain Model and the Commerce Domain Model
are subsets of the Generic Domain Model, but the Healthcare Domain Model and
the Commerce Domain Model are not related via the subset operator due to
the different ASBIEs. Applying the difference operator to the updated Generic
Domain Model, illustrated in Figure 2, shows that the only change is given by the
update of the type property of the BBIE Postcode. The changes detected through
difference operator need to be propagated to the different business document
model variants based on the Generic Domain Model. Therefore, the Healthcare
Domain Model and the Commerce Domain Model need to be updated accordingly.
5</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Related Work</title>
      <p>
        Combining Model-Driven Engineering (MDE) and Product Line Engineering
(PLE) provides substantial benefits method for creating similar products and
systems [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. Several examples may be found where model-driven product line
engineering proved to be successfull, including [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ]. We study concepts from PLE
which have an impact on business document model variants.
      </p>
      <p>
        For expressing the variability among variants of business document models,
the concept of cardinality-based feature modeling, as described by Czarnecki et
al. [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ], is highly relevant. For mapping feature models to core assets of a
modeldriven product line, different approaches exist. For instance, Czarnecki et al. [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ]
propose a template-based approach for mapping feature models to data models
or behavioral models.
      </p>
      <p>
        Several approaches and tools are available for supporting the process of
Model-Driven Product Line Engineering (MDPLE). Antkiewicz et al. [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ]
introduce the FeaturePlugin which supports creating Feature Models. Ecore.fmp,
a successor of the FeaturePlugin, is introduced by Stephan et al. [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ], which
allows instantiating class models as feature models. Furthermore, Ecore.fmp allows
viewing Ecore models as Feature Models, as well as the configuration of Ecore
models which may be interpreted as instantiating product variants.
Heidenreich et al. implement a tool named FeatureMapper [
        <xref ref-type="bibr" rid="ref28">28</xref>
        ], which enables creating
mappings between Feature Models and Ecore models. Furthermore,
FeatureMapper allows deriving product variants based on a specified feature configuration.
Beuche [
        <xref ref-type="bibr" rid="ref29">29</xref>
        ] describes pure::variants, which allows realizing product lines in
combination with Ecore models as well.
      </p>
      <p>
        Groher and Voelter [
        <xref ref-type="bibr" rid="ref30">30</xref>
        ] present an approach for Aspect-Oriented
ModelDriven Product Line Engineering (AO-MD-PLE). In their approach, they also
illustrate negative variability in structural models where an overall model is
connected to feature models. Specific feature configuration then serve as a basis
for instantiating model variants. For implementing negative variability, a tool
named XVar is presented.
      </p>
      <p>
        Though a number of approaches exist for creating model-based product lines,
the support for the evolution of a product line’s assets is limited. The necessity
for addressing the evolution in product lines has also been identified in literature,
such as [
        <xref ref-type="bibr" rid="ref31 ref32">31, 32</xref>
        ]. For example, Dhungana et al. [
        <xref ref-type="bibr" rid="ref33">33</xref>
        ] present their work on
supporting product line evolution by organizing variability models as a set of interrelated
model fragments. In our work, we address the evolution of business document
models, representing the core assets of the product line. We define dedicated
model management operators for enabling model evolution in our product lines.
6
      </p>
    </sec>
    <sec id="sec-5">
      <title>Conclusion and Future Work</title>
      <p>In this paper we identified the need for managing variants of business document
models as well as the need for supporting the evolution of business document
models, which are both necessary for successfully utilizing UN/CEFACT’s Core
Components concept.</p>
      <p>The contribution of this paper is two-fold. First, we applied well-known
concepts from PLE in a new field, namely business document modeling. Doing so
enables us to effectively manage variants of business document models.
Furthermore, we investigated existing tool support for creating model-based product
lines, as well as deriving product variants, i.e. business document model
variants. Second, we defined model management operators as a first step towards
supporting evolution in model-based product lines. Though defined in the
context of business document models, the operators defined are applicable to
software models, e.g. UML class diagrams in software product lines, as well.</p>
      <p>
        Future work, based on the findings presented in this paper, includes the
following. First, the implementation of the model management operators is
continued. Since we actively participate in UN/CEFACT, we have access to a pool
of models which allows us to evaluate the concepts proposed. The evaluation
allows us to assess the completeness and correctness of the model management
operators proposed. Furthermore, the evaluation helps us gain experience in the
evolution of business document models which may lead us to propose a
classification of possible evolution scenarios. In a consecutive step it is also necessary
to address the evolution of other artifacts present in model-driven product lines
whereas existing approaches, such as presented in [
        <xref ref-type="bibr" rid="ref34">34</xref>
        ], are subject to evaluation.
This includes the evolution of metamodels, feature models, feature
configurations, as well as co-evolution of business document model instances. It is also
necessary to address the matter of co-evolution. This means that changes
applied to business document models also affect actual instances of the business
document models, which needs to be handled. In the long-run, it is planned to
provide tool support for managing the evolution of business document models.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Liegl</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zapletal</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pichler</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Strommer</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>State-of-the-art in business document standards</article-title>
          .
          <source>In: Proc. of the 8th Int. Conf. on Industrial Informatics</source>
          , to appear, IEEE (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2. OMG:
          <article-title>Unified Modeling Language (UML</article-title>
          ) http://www.uml.org/.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3. W3C:
          <article-title>XML Schema 1</article-title>
          .1 http://www.w3.org/XML/Schema.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4. UN/CEFACT: Core Components Tech.
          <source>Spec. (CCTS) 3</source>
          .0 http://www.untmg.org/ccts/spec/3 0.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5. UN/CEFACT:
          <article-title>United Nations Directories for Electronic Data Interchange for Administration, Commerce and Transport (UN/EDIFACT</article-title>
          ) http://www.unece.org/trade/untdid.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6. UN/CEFACT: Requirements Spec.
          <article-title>Mapping for Cross Industry Invoice v</article-title>
          .
          <volume>2</volume>
          .
          <fpage>0</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7. Europen Commission Export Group:
          <source>Final Report on e-Invoicing</source>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Huemer</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Liegl</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>A UML Profile for Core Components and their Transformation to XSD</article-title>
          .
          <source>In: Proc. of IEEE 23rd Int. Conf. on Data Engineering Workshop</source>
          . (
          <year>2007</year>
          )
          <fpage>298</fpage>
          -
          <lpage>306</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <source>UN/CEFACT: XML Naming and Design Rules 3</source>
          .0 http://www.unece.org/cefact/xml/xml index.
          <source>htm.</source>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Pohl</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          , Bo¨ckle, G.,
          <string-name>
            <surname>van der Linden</surname>
          </string-name>
          , F.:
          <string-name>
            <surname>Software Product Line Engineering - Foundations</surname>
          </string-name>
          , Principles, and Techniques. Springer (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Tichy</surname>
            ,
            <given-names>W.F.</given-names>
          </string-name>
          :
          <article-title>Tools for Software Configuration Management</article-title>
          .
          <source>In: Proc. of the Int. Workshop on Software Version and Configuration Control</source>
          . (
          <year>1988</year>
          )
          <fpage>1</fpage>
          -
          <lpage>20</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Clements</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Northrop</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Software Product Lines: Practices and Patterns</article-title>
          .
          <string-name>
            <surname>Addison-Wesley</surname>
          </string-name>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Conradi</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Westfechtel</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Version Models for Software Configuration Management</article-title>
          .
          <source>ACM Computing Surveys</source>
          <volume>30</volume>
          (
          <issue>2</issue>
          ) (
          <year>1998</year>
          )
          <fpage>232</fpage>
          -
          <lpage>282</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Dalagarno</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Beuche</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Variant Management</article-title>
          . In: 3rd British Computer Scociety Configuration Management Specialist Group Conference,
          <string-name>
            <surname>BCS MSG</surname>
          </string-name>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15. B´ezivin, J.:
          <source>On the Unification Power of Models. Software and System Modeling</source>
          <volume>4</volume>
          (
          <issue>2</issue>
          ) (
          <year>2005</year>
          )
          <fpage>171</fpage>
          -
          <lpage>188</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Czarnecki</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Antkiewicz</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kim</surname>
            ,
            <given-names>C.H.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lau</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pietroszek</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Model-driven Software Product Lines</article-title>
          .
          <source>In: Comp. to the 20th Annual ACM SIGPLAN Conf. on Object-Oriented Programming, Systems, Languages, and Applications</source>
          , ACM (
          <year>2005</year>
          )
          <fpage>126</fpage>
          -
          <lpage>127</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Bernstein</surname>
            ,
            <given-names>P.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Melnik</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <source>Model Management 2</source>
          .0:
          <string-name>
            <given-names>Manipulating</given-names>
            <surname>Richer</surname>
          </string-name>
          <article-title>Mappings</article-title>
          .
          <source>In: Proc. of the ACM SIGMOD Int. Conf. on Mgmt. of Data</source>
          , ACM (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Liegl</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Conceptual Business Document Modeling using UN/CEFACT's Core Components</article-title>
          .
          <source>In: Proc. of the 6th Asia-Pacific Conf. on Conceptual Modeling, Australian Computer Society</source>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <article-title>UN/CEFACT: UML Profile for Core Components (</article-title>
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <article-title>UN/CEFACT: UN/CEFACT's Core Component Library (UN/CCL) http</article-title>
          ://www.unece.org/cefact/codesfortrade/codes index.
          <source>htm.</source>
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Eclipse</surname>
          </string-name>
          <article-title>Foundation: Eclipse Modeling Framework (EMF</article-title>
          ) http://www.eclipse.org/modeling/emf/?project=emf.
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22. VIENNA Add-In development team: Visualizing
          <string-name>
            <surname>Inter-ENterprise Network</surname>
          </string-name>
          Architectures http://vienna-add-in.googlecode.com/.
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <surname>Wende</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heidenreich</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>A Model-based Product-Line for Scalable Ontologies</article-title>
          .
          <source>In: Proc. of the 1st Int. Workshop on Model-Driven Product Line Engineering</source>
          . (
          <year>2009</year>
          )
          <fpage>51</fpage>
          -
          <lpage>58</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <surname>Czarnecki</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Helsen</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Eisenecker</surname>
          </string-name>
          , U.W.:
          <article-title>Formalizing Cardinality-based Feature Models and their Specialization</article-title>
          .
          <source>Software Process: Improvement and Practice</source>
          <volume>10</volume>
          (
          <issue>1</issue>
          ) (
          <year>2005</year>
          )
          <fpage>7</fpage>
          -
          <lpage>29</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          25.
          <string-name>
            <surname>Czarnecki</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Antkiewicz</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Mapping Features to Models: A Template Approach Based on Superimposed Variants</article-title>
          .
          <source>In: Proc. of the 4th Int. Conf. on Generative Programming and Component Engineering</source>
          . Volume
          <volume>3676</volume>
          of Lecture Notes in Computer Science., Springer (
          <year>2005</year>
          )
          <fpage>422</fpage>
          -
          <lpage>437</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          26.
          <string-name>
            <surname>Antkiewicz</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Czarnecki</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>FeaturePlugin: Feature Modeling Plug-In for Eclipse</article-title>
          .
          <source>In: Proc. of the 2004 OOPSLA Workshop on Eclipse Technology eXchange (ETX)</source>
          ,
          <source>ACM</source>
          (
          <year>2004</year>
          )
          <fpage>67</fpage>
          -
          <lpage>72</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          27.
          <string-name>
            <surname>Stephan</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Antkiewicz</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Ecore.fmp. A tool for editing and instantiating class models as feature models</article-title>
          .
          <source>Technical report</source>
          , University of Waterloo (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          28.
          <string-name>
            <surname>Heidenreich</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kopcsek</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wende</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>FeatureMapper: Mapping Features to Models</article-title>
          .
          <source>In: Proc. of the 30th Int. Conf. on Software Engineering</source>
          , ACM (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          29.
          <string-name>
            <surname>Beuche</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Modeling and Building Software Product Lines with pure::variants</article-title>
          .
          <source>In: Proc. of the 12th Int. Software Product Line Conference</source>
          , IEEE (
          <year>2008</year>
          )
          <fpage>358</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          30.
          <string-name>
            <surname>Groher</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Voelter</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Expressing Feature-Based Variability in Structural Models</article-title>
          .
          <source>In: Proc. of the Workshop Managing Variability for Software Product Lines</source>
          . (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          31.
          <string-name>
            <surname>McGregor</surname>
            ,
            <given-names>J.:</given-names>
          </string-name>
          <article-title>The Evolution of Product Line Assets</article-title>
          .
          <source>Technical report</source>
          , Carnegie Mellon Software Engineering Insitute (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          32.
          <string-name>
            <surname>Svahnberg</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bosch</surname>
            ,
            <given-names>J.:</given-names>
          </string-name>
          <article-title>Evolution in software product lines: Two cases</article-title>
          .
          <source>Journal of Software Maintenance</source>
          <volume>11</volume>
          (
          <issue>6</issue>
          ) (
          <year>1999</year>
          )
          <fpage>391</fpage>
          -
          <lpage>422</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          33.
          <string-name>
            <surname>Dhungana</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Neumayer</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          , Gru¨nbacher,
          <string-name>
            <given-names>P.</given-names>
            ,
            <surname>Rabiser</surname>
          </string-name>
          , R.:
          <article-title>Supporting the Evolution of Product Line Architectures with Variability Model Fragments</article-title>
          .
          <source>In: Seventh Working IEEE / IFIP Conference on Software Architecture</source>
          , IEEE (
          <year>2008</year>
          )
          <fpage>327</fpage>
          -
          <lpage>330</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          34.
          <string-name>
            <surname>Rose</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Paige</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kolovos</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Polack</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>An Analysis of Approaches to Model Migration</article-title>
          .
          <source>In: Proc. of the 1st Int. Workshop on Model Co-Evolution and Consistency</source>
          Management. (
          <year>2009</year>
          )
          <fpage>6</fpage>
          -
          <lpage>15</lpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>