<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Managing Variability and Evolution of Business Document Models ⋆</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Christian</forename><surname>Pichler</surname></persName>
							<email>cpichler@researchstudio.at</email>
							<affiliation key="aff0">
								<orgName type="department">Inter-Organizational Systems</orgName>
								<orgName type="institution">Research Studios Austria</orgName>
								<address>
									<settlement>Vienna</settlement>
									<country key="AT">Austria</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Martina</forename><surname>Seidl</surname></persName>
							<email>seidl@big.tuwien.ac.at</email>
							<affiliation key="aff1">
								<orgName type="department">Institute of Software Technology and Interactive Systems</orgName>
								<orgName type="institution">Vienna University of Technology Vienna</orgName>
								<address>
									<country key="AT">Austria</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Christian</forename><surname>Huemer</surname></persName>
							<email>huemer@big.tuwien.ac.at</email>
							<affiliation key="aff1">
								<orgName type="department">Institute of Software Technology and Interactive Systems</orgName>
								<orgName type="institution">Vienna University of Technology Vienna</orgName>
								<address>
									<country key="AT">Austria</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Managing Variability and Evolution of Business Document Models ⋆</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">65DAF8191225096D64E479924C0A41A5</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T22:01+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><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></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">Introduction</head><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 <ref type="bibr" target="#b0">[1]</ref>. Defining a standard on the conceptual level means that a standard is defined using models such as UML class diagrams <ref type="bibr" target="#b1">[2]</ref>. The conceptual representation is then used for generating the transfer syntax, such as an XML Schema schema <ref type="bibr" target="#b2">[3]</ref>, in the following denoted as XML schema. Such a conceptual approach is envisioned by the Core Components technology <ref type="bibr" target="#b3">[4]</ref> 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 <ref type="bibr" target="#b4">[5]</ref>. 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) <ref type="bibr" target="#b5">[6]</ref> which has recently been mandated for electronic invoicing within the European Union <ref type="bibr" target="#b6">[7]</ref>. Furthermore, UN/CEFACT accommodates generating XML schemas from conceptual models <ref type="bibr" target="#b7">[8]</ref> through proper rules specified in the XML Naming and Design Rules (NDR) <ref type="bibr" target="#b8">[9]</ref>.</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) <ref type="bibr" target="#b9">[10]</ref> as well as Software Configuration Management (SCM) <ref type="bibr" target="#b10">[11]</ref>. In particular, SPLE deals with the strategic reuse of software systems sharing a common, managed set of features <ref type="bibr" target="#b11">[12]</ref>. Furthermore, one aspect of SCM is managing different versions of software systems. Versions are differentiated into revisions as well as variants <ref type="bibr" target="#b12">[13]</ref>. 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 <ref type="bibr" target="#b13">[14]</ref>.</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) <ref type="bibr" target="#b14">[15]</ref>. 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 <ref type="bibr" target="#b15">[16]</ref>. Although there is currently much effort spent on model management <ref type="bibr" target="#b16">[17]</ref> 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 document modeling. Section 3 describes an example business document model and elaborates on the challenges encountered in business document modeling.</p><p>In Section 4 we first apply PLE in the field of business document modeling, and second, introduce model management operators for dealing with the evolution of business document models. Section 5 describes related work. In Section 6, we conclude the paper with a critical discussion and an outlook on future work.</p><p>2 Background: UN/CEFACT's Core Components UN/CEFACT's Core Components represent domain independent, transfer syntax independent, reusable building blocks for assembling business documents. The Core Component concepts as well as the underlying metamodel are defined in the Core Components Technical Specification (CCTS) <ref type="bibr" target="#b3">[4]</ref>. For utilizing the Core Components in state-of-the-art modeling environments it would be sufficient to represent core components using class diagrams of the Unified Modeling Language (UML). However, since the Core Component concept "derivation by restriction", discussed in the following, is currently not feasible in UML, we introduced the UML Profile for Core Components (UPCC) <ref type="bibr" target="#b17">[18,</ref><ref type="bibr" target="#b18">19]</ref> which we submitted to UN/CEFACT for standardization. For reasons of simplicity, the concepts are presented in an abridged mannerthe full specification of the concepts may be found in <ref type="bibr" target="#b3">[4]</ref>. Basically, we distinguish between the Basic Business Information Entities (BBIE), Aggregated Business Information Entities (ABIE), and Association Business Information Entities (ASBIE). An ABIE contains one or more BBIEs and an ASBIE creates relationships between ABIEs. An example illustrating a simple Core Components model is shown in the Generic Core Components layer of Figure <ref type="figure" target="#fig_1">1</ref>. In particular, Figure <ref type="figure" target="#fig_1">1</ref> shows the ABIE Person with the BBIEs Name, Title, etc. Furthermore, Person is associated with the ABIE Address twice, namely through the ASBIE Private and the ASBIE Work.</p><p>For the application in concrete business scenarios, the Core Components must be customized to the context of the particular domains and the requirements of 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 <ref type="figure" target="#fig_1">1</ref>, 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) <ref type="bibr" target="#b19">[20]</ref> containing predefined Core Components. The Generic Core Components layer in Figure <ref type="figure" target="#fig_1">1</ref> 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.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">Motivation and Challenges</head><p>In the Core Component Technical Specification (CCTS) <ref type="bibr" target="#b3">[4]</ref>, 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.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.1">Variant Management</head><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 <ref type="figure" target="#fig_2">2</ref> 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 <ref type="figure" target="#fig_2">2</ref>, 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 <ref type="figure" target="#fig_2">2</ref>, 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></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.3">Supporting Variant Management and Model Evolution</head><p>For managing variants of business document models we propose to utilize concepts from Software Product Line Engineering (SPLE) <ref type="bibr" target="#b9">[10]</ref>. 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- 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.</p><formula xml:id="formula_0">Product</formula></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">Model Management</head><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 <ref type="bibr" target="#b20">[21]</ref>. The metamodel implemented represents an Ecore-based equivalent of the metamodel specified in the Core Components Technical Specification (CCTS) <ref type="bibr" target="#b3">[4]</ref>. 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.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.1">Variant Management</head><p>In the following, we illustrate the application of Software Product Line Engineering (SPLE) concepts to business document modeling, as illustrated in Figure <ref type="figure" target="#fig_4">3</ref>. Generally speaking, Product Line Engineering (PLE) consists of Domain Engineering as well as Application Engineering. 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 <ref type="bibr" target="#b9">[10]</ref>. 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 <ref type="bibr" target="#b21">[22]</ref>.</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) <ref type="bibr" target="#b8">[9]</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.2">Model Evolution</head><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><p>Definition 1 (Business Document Model). The business document model M over a set of properties P is a tuple of the form BBIE, ABIE, ASBIE, agg, props 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, a 1 , a 2 ) with a 1 , a 2 ∈ ABIE and where id is an identifying label. The composition of BBIEs in order to form ABIEs is expressed by the function agg : ABIE → BBIE BBIE . In order to embrace the different types of entities we introduce the set E with E = BBIE ∪ ABIE ∪ ASBIE. Finally, the function prop : E → P P assigns each entity a set of properties.</p><p>The set P contains various types of properties like types and visibilities which are 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 M 1 and M 2 where M 1 is the subset of M 2 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></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Definition 2 (Subset Operator). A business document model</head><formula xml:id="formula_1">M 1 given by BBIE 1 , ABIE 1 , ASBIE 1 , agg 1 , props 1 is a subset of a business document model M 2 = BBIE 2 , ABIE 2 , ASBIE 2 , agg 2 , props 2 denoted by M 1 ⊆ M 2 iff it holds that BBIE 1 ⊆ BBIE 2 , ABIE 1 ⊆ ABIE 2 ,</formula><p>and ASIE 1 ⊆ ASIE 2 . Furthermore, for each a ∈ ABIE 1 it holds that agg 1 (a) ⊆ agg 2 (a) and for each e ∈ BBIE 1 ∪ABIE 1 ∪ASIE 1 it holds that prop 1 (e) ⊆ prop 2 (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 M 1 and M 2 where M 1 is derived from M 2 , i.e. it holds that M 1 ⊂ M 2 , and M evolves to M ′ 2 , the relationship M 1 ⊂ 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 </p><formula xml:id="formula_2">M 1 = BBIE 1 , ABIE 1 , ASBIE 1 , agg 1 ,</formula><formula xml:id="formula_3">i = BBIE i ∪ ABIE i ∪ ASBIE i with i ∈ {1, 2}.</formula><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 <ref type="bibr" target="#b3">[4]</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.3">Model Management by Example</head><p>In the following, we illustrate the application of the model management operators to the business document models variants, illustrated in Figure <ref type="figure" target="#fig_2">2</ref>.</p><p>From the definition of a business document model, it follows that in the Generic Domain Model shown in Figure <ref type="figure" target="#fig_2">2</ref>  </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5">Related Work</head><p>Combining Model-Driven Engineering (MDE) and Product Line Engineering (PLE) provides substantial benefits method for creating similar products and systems <ref type="bibr" target="#b15">[16]</ref>. Several examples may be found where model-driven product line engineering proved to be successfull, including <ref type="bibr" target="#b22">[23]</ref>. 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. <ref type="bibr" target="#b23">[24]</ref>, is highly relevant. For mapping feature models to core assets of modeldriven product line, different approaches exist. For instance, Czarnecki et al. <ref type="bibr" target="#b24">[25]</ref> 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. <ref type="bibr" target="#b25">[26]</ref> introduce the FeaturePlugin which supports creating Feature Models. Ecore.fmp, a successor of the FeaturePlugin, is introduced by Stephan et al. <ref type="bibr" target="#b26">[27]</ref>, 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 <ref type="bibr" target="#b27">[28]</ref>, which enables creating mappings between Feature Models and Ecore models. Furthermore, FeatureMapper allows deriving product variants based on a specified feature configuration. Beuche <ref type="bibr" target="#b28">[29]</ref> describes pure::variants, which allows realizing product lines in combination with Ecore models as well.</p><p>Groher and Voelter <ref type="bibr" target="#b29">[30]</ref> present an approach for Aspect-Oriented Model-Driven 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 <ref type="bibr" target="#b30">[31,</ref><ref type="bibr" target="#b31">32]</ref>. For example, Dhungana et al. <ref type="bibr" target="#b32">[33]</ref> 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.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6">Conclusion and Future Work</head><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 con-text of business document models, the operators defined are 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 <ref type="bibr" target="#b33">[34]</ref>, 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></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>⋆</head><label></label><figDesc>The work of Research Studios Austria is funded by the Austrian Federal Ministry of Science and Research. Furthermore, this work has been carried out under the research grant Public Private Interoperability (No. 818639) of the Austrian Research Promotion Agency (FFG).</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Fig. 1 .</head><label>1</label><figDesc>Fig. 1. Simplified Core Component Concept.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>Fig. 2 .</head><label>2</label><figDesc>Fig. 2. Variants of a Business Document Model.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_3"><head>3. 2</head><label>2</label><figDesc>Model Evolution 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. 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.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_4"><head>ͲFig. 3 .</head><label>3</label><figDesc>Fig. 3. Business Document Modeling in the Context of Product Line Engineering.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_5"><head></head><label></label><figDesc>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. 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.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_0"><head></head><label></label><figDesc>props 1 and a business document model M 2 = BBIE 2 , ABIE 2 , ASBIE 2 , agg 2 , props 2 (denoted by M 1 ∆M 2 ) is defined by the tupel added, removed, updated where added = E 2 \E 1 , removed = E 1 \E 2 , and updated = {e ∈ E 1 ∩ E 2 |props 1 (e) = props 2 (e)} ∪ {e ∈ ABIE 1 ∩ ABIE 2 |agg 1 (e) = agg 2 (e)} where E</figDesc><table /></figure>
		</body>
		<back>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">State-of-the-art in business document standards</title>
		<author>
			<persName><forename type="first">P</forename><surname>Liegl</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Zapletal</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Pichler</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Strommer</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. of the 8th Int. Conf. on Industrial Informatics, to appear</title>
				<meeting>of the 8th Int. Conf. on Industrial Informatics, to appear</meeting>
		<imprint>
			<publisher>IEEE</publisher>
			<date type="published" when="2010">2010</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<monogr>
		<ptr target="http://www.uml.org/" />
		<title level="m">OMG: Unified Modeling Language (UML</title>
				<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<monogr>
		<ptr target="http://www.w3.org/XML/Schema" />
		<title level="m">W3C: XML Schema 1</title>
				<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<monogr>
		<title level="m">UN/CEFACT: Core Components Tech</title>
				<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<monogr>
		<ptr target="http://www.unece.org/trade/untdid" />
		<title level="m">UN/CEFACT: United Nations Directories for Electronic Data Interchange for Administration, Commerce and Transport (UN/EDIFACT</title>
				<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">UN/CEFACT: Requirements Spec</title>
	</analytic>
	<monogr>
		<title level="m">Mapping for Cross Industry Invoice</title>
				<imprint>
			<biblScope unit="volume">2</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<monogr>
		<title level="m">Final Report on e-Invoicing</title>
				<imprint>
			<publisher>Europen Commission Export Group</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">A UML Profile for Core Components and their Transformation to XSD</title>
		<author>
			<persName><forename type="first">C</forename><surname>Huemer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Liegl</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. of IEEE 23rd Int. Conf. on Data Engineering Workshop</title>
				<meeting>of IEEE 23rd Int. Conf. on Data Engineering Workshop</meeting>
		<imprint>
			<date type="published" when="2007">2007</date>
			<biblScope unit="page" from="298" to="306" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<monogr>
		<ptr target="http://www.unece.org/cefact/xml/xmlindex.htm" />
		<title level="m">UN/CEFACT: XML Naming and Design Rules 3</title>
				<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<monogr>
		<title level="m" type="main">Software Product Line Engineering -Foundations, Principles, and Techniques</title>
		<author>
			<persName><forename type="first">K</forename><surname>Pohl</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Böckle</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Van Der Linden</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2005">2005</date>
			<publisher>Springer</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">Tools for Software Configuration Management</title>
		<author>
			<persName><forename type="first">W</forename><forename type="middle">F</forename><surname>Tichy</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. of the Int. Workshop on Software Version and Configuration Control</title>
				<meeting>of the Int. Workshop on Software Version and Configuration Control</meeting>
		<imprint>
			<date type="published" when="1988">1988</date>
			<biblScope unit="page" from="1" to="20" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<monogr>
		<title level="m" type="main">Software Product Lines: Practices and Patterns</title>
		<author>
			<persName><forename type="first">P</forename><surname>Clements</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Northrop</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2007">2007</date>
			<publisher>Addison-Wesley</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<analytic>
		<title level="a" type="main">Version Models for Software Configuration Management</title>
		<author>
			<persName><forename type="first">R</forename><surname>Conradi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Westfechtel</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">ACM Computing Surveys</title>
		<imprint>
			<biblScope unit="volume">30</biblScope>
			<biblScope unit="issue">2</biblScope>
			<biblScope unit="page" from="232" to="282" />
			<date type="published" when="1998">1998</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<analytic>
		<title level="a" type="main">Variant Management</title>
		<author>
			<persName><forename type="first">M</forename><surname>Dalagarno</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Beuche</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">3rd British Computer Scociety Configuration Management Specialist Group Conference</title>
				<imprint>
			<publisher>BCS MSG</publisher>
			<date type="published" when="2007">2007</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b14">
	<analytic>
		<title level="a" type="main">On the Unification Power of Models</title>
		<author>
			<persName><forename type="first">J</forename><surname>Bézivin</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Software and Modeling</title>
		<imprint>
			<biblScope unit="volume">4</biblScope>
			<biblScope unit="issue">2</biblScope>
			<biblScope unit="page" from="171" to="188" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b15">
	<analytic>
		<title level="a" type="main">Model-driven Software Product Lines</title>
		<author>
			<persName><forename type="first">K</forename><surname>Czarnecki</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Antkiewicz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><forename type="middle">H P</forename><surname>Kim</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Lau</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Pietroszek</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Comp. to the 20th Annual ACM SIGPLAN Conf. on Object-Oriented Programming, Systems, Languages, and Applications</title>
				<imprint>
			<publisher>ACM</publisher>
			<date type="published" when="2005">2005</date>
			<biblScope unit="page" from="126" to="127" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b16">
	<analytic>
		<title level="a" type="main">Model Management 2.0: Manipulating Richer Mappings</title>
		<author>
			<persName><forename type="first">P</forename><forename type="middle">A</forename><surname>Bernstein</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Melnik</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. of the ACM SIGMOD Int. Conf. on Mgmt. of Data</title>
				<meeting>of the ACM SIGMOD Int. Conf. on Mgmt. of Data</meeting>
		<imprint>
			<publisher>ACM</publisher>
			<date type="published" when="2007">2007</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b17">
	<analytic>
		<title level="a" type="main">Conceptual Business Document Modeling using UN/CEFACT&apos;s Core Components</title>
		<author>
			<persName><forename type="first">P</forename><surname>Liegl</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. of the 6th Asia-Pacific Conf. on Conceptual Modeling</title>
				<meeting>of the 6th Asia-Pacific Conf. on Conceptual Modeling</meeting>
		<imprint>
			<publisher>Australian Computer Society</publisher>
			<date type="published" when="2009">2009</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b18">
	<monogr>
		<title level="m">UN/CEFACT: UML Profile for Core Components</title>
				<imprint>
			<date type="published" when="2009">2009</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b19">
	<monogr>
		<title level="m">UN/CEFACT: UN/CEFACT&apos;s Core Component Library (UN/CCL)</title>
				<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b20">
	<monogr>
		<ptr target="http://www.eclipse.org/modeling/emf/?project=emf" />
		<title level="m">Eclipse Foundation: Eclipse Modeling Framework (EMF</title>
				<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b21">
	<monogr>
		<ptr target="http://vienna-add-in.googlecode.com/" />
		<title level="m">VIENNA Add-In development team: Visualizing Inter-ENterprise Network Architectures</title>
				<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b22">
	<analytic>
		<title level="a" type="main">A Model-based Product-Line for Scalable Ontologies</title>
		<author>
			<persName><forename type="first">C</forename><surname>Wende</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Heidenreich</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. of the 1st Int. Workshop on Model-Driven Product Line Engineering</title>
				<meeting>of the 1st Int. Workshop on Model-Driven Product Line Engineering</meeting>
		<imprint>
			<date type="published" when="2009">2009</date>
			<biblScope unit="page" from="51" to="58" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b23">
	<analytic>
		<title level="a" type="main">Formalizing Cardinality-based Feature Models and their Specialization</title>
		<author>
			<persName><forename type="first">K</forename><surname>Czarnecki</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Helsen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">U</forename><forename type="middle">W</forename><surname>Eisenecker</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Software Process: Improvement and Practice</title>
		<imprint>
			<biblScope unit="volume">10</biblScope>
			<biblScope unit="issue">1</biblScope>
			<biblScope unit="page" from="7" to="29" />
			<date type="published" when="2005">2005</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b24">
	<analytic>
		<title level="a" type="main">Mapping Features to Models: A Template Approach Based on Superimposed Variants</title>
		<author>
			<persName><forename type="first">K</forename><surname>Czarnecki</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Antkiewicz</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. of the 4th Int. Conf. on Generative Programming and Component Engineering</title>
		<title level="s">Lecture Notes in Computer Science</title>
		<meeting>of the 4th Int. Conf. on Generative Programming and Component Engineering</meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2005">2005</date>
			<biblScope unit="volume">3676</biblScope>
			<biblScope unit="page" from="422" to="437" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b25">
	<analytic>
		<title level="a" type="main">FeaturePlugin: Feature Modeling Plug-In for Eclipse</title>
		<author>
			<persName><forename type="first">M</forename><surname>Antkiewicz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Czarnecki</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. of the 2004 OOPSLA Workshop on Eclipse Technology eXchange (ETX)</title>
				<meeting>of the 2004 OOPSLA Workshop on Eclipse Technology eXchange (ETX)</meeting>
		<imprint>
			<publisher>ACM</publisher>
			<date type="published" when="2004">2004</date>
			<biblScope unit="page" from="67" to="72" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b26">
	<monogr>
		<title level="m" type="main">Ecore.fmp. A tool for editing and instantiating class models as feature models</title>
		<author>
			<persName><forename type="first">M</forename><surname>Stephan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Antkiewicz</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2008">2008</date>
		</imprint>
		<respStmt>
			<orgName>University of Waterloo</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">Technical report</note>
</biblStruct>

<biblStruct xml:id="b27">
	<analytic>
		<title level="a" type="main">FeatureMapper: Mapping Features to Models</title>
		<author>
			<persName><forename type="first">F</forename><surname>Heidenreich</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Kopcsek</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Wende</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. of the 30th Int. Conf. on Software Engineering</title>
				<meeting>of the 30th Int. Conf. on Software Engineering</meeting>
		<imprint>
			<publisher>ACM</publisher>
			<date type="published" when="2008">2008</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b28">
	<analytic>
		<title level="a" type="main">Modeling and Building Software Product Lines with pure::variants</title>
		<author>
			<persName><forename type="first">D</forename><surname>Beuche</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. of the 12th Int. Software Product Line Conference</title>
				<meeting>of the 12th Int. Software Product Line Conference</meeting>
		<imprint>
			<publisher>IEEE</publisher>
			<date type="published" when="2008">2008</date>
			<biblScope unit="page">358</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b29">
	<analytic>
		<title level="a" type="main">Expressing Feature-Based Variability in Structural Models</title>
		<author>
			<persName><forename type="first">I</forename><surname>Groher</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Voelter</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. of the Workshop Managing Variability for Software Product Lines</title>
				<meeting>of the Workshop Managing Variability for Software Product Lines</meeting>
		<imprint>
			<date type="published" when="2007">2007</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b30">
	<monogr>
		<title level="m" type="main">The Evolution of Product Line Assets</title>
		<author>
			<persName><forename type="first">J</forename><surname>Mcgregor</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2003">2003</date>
		</imprint>
		<respStmt>
			<orgName>Carnegie Mellon Software Engineering Insitute</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">Technical report</note>
</biblStruct>

<biblStruct xml:id="b31">
	<analytic>
		<title level="a" type="main">Evolution in software product lines: Two cases</title>
		<author>
			<persName><forename type="first">M</forename><surname>Svahnberg</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Bosch</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Journal of Software Maintenance</title>
		<imprint>
			<biblScope unit="volume">11</biblScope>
			<biblScope unit="issue">6</biblScope>
			<biblScope unit="page" from="391" to="422" />
			<date type="published" when="1999">1999</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b32">
	<analytic>
		<title level="a" type="main">Supporting the Evolution of Product Line Architectures with Variability Model Fragments</title>
		<author>
			<persName><forename type="first">D</forename><surname>Dhungana</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Neumayer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Grünbacher</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Rabiser</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Seventh Working IEEE / IFIP Conference on Software Architecture</title>
				<imprint>
			<publisher>IEEE</publisher>
			<date type="published" when="2008">2008</date>
			<biblScope unit="page" from="327" to="330" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b33">
	<analytic>
		<title level="a" type="main">An Analysis of Approaches to Model Migration</title>
		<author>
			<persName><forename type="first">L</forename><surname>Rose</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Paige</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Kolovos</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Polack</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. of the 1st Int. Workshop on Model Co-Evolution and Consistency Management</title>
				<meeting>of the 1st Int. Workshop on Model Co-Evolution and Consistency Management</meeting>
		<imprint>
			<date type="published" when="2009">2009</date>
			<biblScope unit="page" from="6" to="15" />
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
