<?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">On the Integration of Web Modeling Languages: Preliminary Results and Future Challenges</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Manuel</forename><surname>Wimmer</surname></persName>
							<email>wimmer@big.tuwien.ac.at</email>
							<affiliation key="aff0">
								<orgName type="department">Business Informatics Group</orgName>
								<orgName type="institution">Vienna University of Technology</orgName>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Andrea</forename><surname>Schauerhuber</surname></persName>
							<email>schauerhuber@wit.tuwien.ac.at</email>
							<affiliation key="aff1">
								<orgName type="department">Women&apos;s Postgraduate College for Internet Technologies</orgName>
								<orgName type="institution">Vienna University of Technology</orgName>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Wieland</forename><surname>Schwinger</surname></persName>
							<email>wieland.schwinger@jku.ac.at</email>
							<affiliation key="aff2">
								<orgName type="department">Department of Telecooperation Johannes</orgName>
								<orgName type="institution">Kepler University Linz</orgName>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Horst</forename><surname>Kargl</surname></persName>
							<email>kargl@big.tuwien.ac.at</email>
							<affiliation key="aff0">
								<orgName type="department">Business Informatics Group</orgName>
								<orgName type="institution">Vienna University of Technology</orgName>
							</affiliation>
						</author>
						<title level="a" type="main">On the Integration of Web Modeling Languages: Preliminary Results and Future Challenges</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">CB0CEBEC8222356FA46AF20D4B239345</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T00:59+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>
			<textClass>
				<keywords>
					<term>Web Modeling</term>
					<term>Model Integration</term>
					<term>Common Metamodel for Web Modeling</term>
					<term>Model-Driven Web Engineering</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>The Unified Modeling Language (UML) is considered as the lingua franca in software engineering. Despite various web modeling languages having emerged in the past decade, in the field of web engineering a pendant to UML cannot be found yet. In the light of this "method war" the question arises if a unification of the existing web modeling languages can be successfully applied in the style of UML's development. In such a unification effort we defer the task of designing a "Unified Web Modeling Language". Instead, we first aim at integrating three prominent representatives of the web modeling field, namely WebML, UWE, and OO-H, in order to gain a detailed understanding of their commonalities and differences as well as to identify the common concepts used in web modeling. This integration is based on specifying transformation rules allowing the transformation of WebML, UWE, and OO-H models into any other of the three languages, respectively. To this end, a major contribution of this work is the languages' definitions made explicit in terms of metamodels, a prerequisite for model-driven web engineering for each approach. Furthermore, the transformation rules defined between these metamodels -besides representing a step towards unification -also enable interoperability through model exchange.</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>In the past decade various modeling approaches have emerged in the research field of web engineering including WebML <ref type="bibr" target="#b6">[7]</ref>, UWE <ref type="bibr" target="#b12">[13]</ref>, W2000 <ref type="bibr" target="#b0">[1]</ref>, OOHDM <ref type="bibr" target="#b25">[26]</ref>, OO-H <ref type="bibr" target="#b9">[10]</ref>, WSDM <ref type="bibr" target="#b7">[8]</ref>, and OOWS <ref type="bibr" target="#b24">[25]</ref>. Each of those model-based approaches follows the similar goal of counteracting a technology-driven and ad hoc development of web applications. Beyond this, we notice similar and simultaneous extensions to the individual web modeling approaches, e.g., for supporting context-aware web applications <ref type="bibr" target="#b1">[2,</ref><ref type="bibr" target="#b5">6,</ref><ref type="bibr" target="#b8">9]</ref>, business process modeling <ref type="bibr" target="#b3">[4,</ref><ref type="bibr" target="#b13">14]</ref>, and for exploiting all benefits of model-driven web engineering (MDWE) <ref type="bibr" target="#b14">[15,</ref><ref type="bibr" target="#b17">18]</ref>. The current situation somewhat resembles the object-oriented modeling "method war" of the 90ies. A situation from which after a unification process the UML <ref type="bibr" target="#b23">[24]</ref> eventually has become the lingua franca in software engineering. In the light of the current "method war" in the research field of web engineering (cf. Figure <ref type="figure" target="#fig_0">1</ref>) the question arises if a unification of the existing web modeling approaches can be successfully applied as it was achieved for the UML. In the MDWEnet initiative <ref type="bibr" target="#b15">[16]</ref>, which has recently started by a small group of researchers working on MDWE, this and further questions are tackled. More specifically, the initiative's goal is to improve interoperability between current web modeling approaches as well as their tools for the model-driven development of web applications.</p><p>As a prerequisite for unification a common agreement on the most important web modeling concepts is essential. This agreement can only be gained when investigating the concepts used in existing web modeling languages and fully understanding the languages' commonalities and differences. In the MDWEnet initiative, we therefore defer the task of designing a "Unified Web Modeling Language". Instead, we first aim at integrating three prominent representatives of the web modeling field, namely WebML, UWE, and OO-H, since they are well elaborated and documented as well as supported by modeling tools. This integration is based on specifying and implementing transformation rules allowing the transformation of WebML, UWE, and OO-H models into any other of the three languages, respectively. This way a detailed understanding of the common concepts used in web modeling can be obtained as well as their different realizations in the three selected languages. On the basis of this integration task the definition of a common metamodel for web modeling can be achieved in the future.</p><p>Consequently, the major contribution of this work is a step towards identifying the common concepts in web modeling by first defining transformations between different modeling languages. We present the general integration approach as well as first results on the integration of WebML and OO-H.</p><p>Besides representing an important step towards unification, the transformation rules also enable model exchange between the three different languages. For defining the transformation rules, the languages' definitions had to be made explicit in terms of metamodels, which in turn represent a prerequisite for enabling model-driven web engineering for each individual approach. On the basis of tool adapters the models' representation within the approaches' tools could be translated into instances of these metamodels and vice versa thus also insuring interoperability. Furthermore, it will be possible to exploit the different strengths of each web modeling approach, e.g., code generation facilities for different platforms such as J2EE in WebML's WebRatio<ref type="foot" target="#foot_0">1</ref> tool and PHP in OO-H's tool VisualWade <ref type="foot" target="#foot_1">2</ref> .</p><p>In the remainder of the paper, we discuss our methodology for integrating existing web modeling languages in Section 2. We elaborate on preliminary results of the integration task with respect to WebML and OO-H in Section 3 and provide our lessons learned in Section 4. Finally the paper is concluded with a discussion on future challenges in integrating as well as unifying web modeling languages.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">Integration Methodology used in MDWEnet</head><p>In this section we discuss the general methodology used for the integration of WebML, OO-H, and UWE. We first explain why integration on the basis of already existing language artifacts is not possible. Second, we outline a model-based integration framework, and third, we discuss how to obtain the most important prerequisite for integration -the metamodels for the three web modeling languages.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Why is the integration on the basis of existing language artifacts not possible?</head><p>In Table <ref type="table" target="#tab_0">1</ref> we present an overview of the formalisms used for defining WebML, OO-H, and UWE as well as the approaches' model storage formats. When looking at the languages' definitions, one can easily identify that each language is specified in a different formalism, even in different technological spaces <ref type="bibr" target="#b16">[17]</ref>, which a-priori prevents the comparability of the languages as well as model exchange.</p><p>For the integration of modeling languages in general and for web modeling languages in particular, the first requirement is that the languages are defined with the same meta-language. This enables to overcome syntactical heterogeneities and to compare the language concepts in the same formalism. Furthermore, defining languages with the same formalism also allows expressing their model instances in the same formalism which further fosters comparability of the languages' concepts and beyond allows the uniform processing of the models, e.g., their visualization or transformation. Consequently, it seems necessary to split up the integration process in order to tackle two distinct integration concerns, namely syntactical integration and semantical integration: In the first step, i.e. the syntactic integration, the different formats used by WebML, UWE and OO-H are aligned towards one common integration format. For example, a WebML model represented in terms of an XML document has to be translated into this common integration format. The second step, i.e. the semantical integration step, covers the transformation of a model from one language into another one, e.g. from WebML to OO-H, while preserving the semantics of the input model within the output model. This transformation is based on transformation rules which require the input models to be available in the common integration format.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>How to use model-based techniques for integration purposes?</head><p>We decided to apply a model-based approach and use techniques and technologies which have emerged with the rise of Model Driven Engineering (MDE) <ref type="bibr" target="#b2">[3]</ref>. MDE mainly propagates two techniques which are relevant for integration purposes: (1) metamodels for defining the concepts of modeling languages, and (2) model transformations. Model transformations in the context of MDE can be divided into vertical model transformations and horizontal model transformations <ref type="bibr" target="#b18">[19]</ref>. While the first kind concerns transformations between different abstraction levels, e.g., continuously introducing more details that finally are necessary for code generation purposes, e.g., for model refactoring. Consequently, in this work we rely on horizontal model transformations.</p><p>In Figure <ref type="figure">2</ref>, we present our model-based integration framework, which is based on the tool integration pattern of Karsai et al. <ref type="bibr" target="#b11">[12]</ref>. The framework is built upon opensource technologies for MDE, which have been developed under the hood of the Eclipse project. In particular, we are using the Eclipse Modeling Framework (EMF) <ref type="bibr" target="#b4">[5]</ref>, as a model repository for a common syntactic integration format and EMF's Ecore, i.e. an implementation of the Meta Object Facility (MOF) standard <ref type="bibr" target="#b20">[21]</ref>, as the meta-language for defining the metamodels for WebML, OO-H, and UWE. Furthermore, we employ ATL <ref type="bibr" target="#b10">[11]</ref> as model transformation language to implement the transformation rules and finally, the ATL engine for actually executing the transformation. In Figure <ref type="figure">2</ref>, we also sketch the model-based integration process of WebML (WebRatio), OO-H (VisualWade), and UWE (ArgoUWE), which is described more detailed in the following:</p><p>1) Syntactic Integration. On the basis of tool adapters for bridging the native model storage formats of the approaches' tools towards the EMF models can be integrated syntactically. Thus, realizing import functionality the tool adapters have to parse the models in their native format and generate an XMI <ref type="bibr" target="#b21">[22]</ref> version for the EMF. In addition, the tool adapters also must be capable of exporting the models by transforming them into the tools' native format. 2) Semantic Integration. After the syntactic integration, the user can focus on the correspondences between modeling concepts of different languages. This is done by relating the metamodel elements and implementing the integration knowledge in terms of ATL model transformation rules.  illustrates the goal of MDWEnet, i.e., a unification of existing web modeling languages in terms of a common metamodel for web modeling. By defining the metamodels for WebML, OO-H, and UWE, as well as working out the integration knowledge in a first step, we hope that the creation of such a common metamodel is easier to achieve afterwards. For the future, the common metamodel for web modeling can serve as a pivot model and thus lowering the integration effort drastically. Subsequently, the generated models can be exported via the specific tool adapter to the proprietary tool.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>What's missing for a model-based integration and how to close the gap?</head><p>As a key-prerequisite for a model-based integration, the metamodels for WebML, OO-H, and UWE must be available, which currently, however, is not the case. Within the MDWEnet initiative, we have decided to use a top-down approach for building the individual metamodels by starting with a focused set of requirements which are specific to the web modeling domain <ref type="bibr">[30]</ref>. This approach has the advantage that we can concentrate on the core modeling constructs of the web modeling domain supported by the addressed approaches instead of focusing on a huge amount of concepts available in the individual approaches and implemented in their tools. Following this top-down approach, a set of modeling requirements for the core of web modeling were defined each focusing on a specific modeling problem. In the following, these requirements are briefly explained and categorized into requirements for content modeling, hypertext modeling, and content management modeling.</p><p>Layer 0 -Content Modeling. This layer is required to express domain objects and their properties on which the web application is built upon. Example: Class Student with attribute name, age, and a relationship to the class Professor.</p><p>Layer 1 -Hypertext Modeling. This layer covers the requirements for web applications that allow navigation among the hypertext nodes and publish within a node the content extracted from domain objects (cf. Layer 0), possibly based on input provided by the user. The following four cases are subsumed by Layer 1:</p><p>• Global Navigation: This case requires a starting point in the web application, i.e. a home page, and subsequently, a navigation mechanism for moving to another page of the hypertext. The definition of metamodels is of course an art on its on and can be approached in different ways. For the purpose of this work it was decided to employ an example-based approach by a process of obtaining a metamodel from the aforementioned requirements as follows <ref type="bibr" target="#b15">[16]</ref>: One or more concrete modeling examples were derived from the requirements specification and modeled in the respective modeling language within each approach's accompanying tool. The code generation facilities of each tool were then used to find out if the examples modeled were semantically identical, i.e., the generated applications should work in the same way. From these models the language concepts which have been used were identified, as well as how these concepts were related to each other. Consequently, this information is then defined in a corresponding metamodel. These metamodels should allow expressing the same models as within the approaches' tools, meaning the same information must be expressible in the models.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">Preliminary Results</head><p>In this section we present our preliminary results. First, we briefly discuss the modeling examples realizing the MDWEnet's modeling requirements for web modeling and provide the resulting metamodels in Section 3.1. In order to illustrate how, on basis of those metamodels, the integration is realized with ATL in Section 3.2 we then present excerpts of the set of ATL transformation rules that have been defined for the metamodels.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.1">Derived Metamodels</head><p>Our first task after the MDWEnet's modeling requirements for web modeling have been agreed on has been the derivation of concrete modeling examples realizing these requirements specifications. Inspired by previous examples in the web modeling domain, we are using excerpts of the often referred to album store running example <ref type="bibr" target="#b5">[6]</ref>, which covers all the aforementioned requirements. After defining the modeling examples, each of them was modeled within the approaches' tools, i.e., WebRatio, VisualWade, and ArgoUWE, respectively. Furthermore, we used the code generation facilities to compare the behavior of the models by executing the generated web applications.</p><p>On the basis of the modeling examples, each expressed in WebML, OO-H, and UWE, we identified the language concepts used in the individual examples and obtained first versions of the metamodels for WebML as well as for OO-H. The metamodel for UWE is currently under preparation. Beyond, we have grouped the metamodels' elements into packages which directly correspond to the layers of the modeling requirements presented in Section 2. In the following, the class structures of the metamodels for WebML and OO-H are presented and briefly explained. For more detailed versions of the metamodels the reader is referred to <ref type="bibr">[30]</ref>.</p><p>WebML Metamodel. In Figure <ref type="figure" target="#fig_3">3</ref>, we present the resulting WebML metamodel, i.e., its packages, classes and their interrelationships. While the Structure package and ContentManagement package correspond to the Layer 0 and Layer 2 of the modeling requirements, respectively, for Layer 1 two packages have been defined, namely Hypertext and HypertextOrganization.</p><p>The Content package contains modeling concepts that allow modeling the content layer of a web application. Since WebML's content model is based on the ER-model, it supports ER modeling concepts: An Entity represents a description of common features, i.e., Attributes, of a set of objects. Entities that are associated with each other are connected by Relationships. Unlike UML class diagrams, ER diagrams model structural features, only.</p><p>The ContentManagement package contains modeling concepts that allow the modification of data from the content layer. The specific ContentManagementUnits are able to create, modify, and delete Entities (cf. EntityManagementUnit) as well as establish or delete Relationships between Entities from the content layer (cf. RelationshipManagementUnit). In contrast, the hypertext layer represents a view on the content layer of a web application, only. The Hypertext package summarizes ContentUnits, used, for example, to display information from the content layer which may be connected by Links in a certain way.</p><p>The HypertextOrganization package defines the Page modeling concept which is used to organize and structure information from the content layer, e.g., ContentUnits from the Hypertext package, SiteViews group Pages as well as operations on data from the content layer, e.g., OperationUnits from the ContentManagement package. More specifically, SiteViews represent groups of pages devoted to fulfilling the requirements of one or more user groups.</p><p>OO-H Metamodel. The class structure of the resulting OO-H metamodel is presented in Figure <ref type="figure" target="#fig_2">4</ref>. Similar to the WebML metamodel, the Layer 0 and Layer 2 modeling requirements are realized by corresponding packages in the OO-H metamodel, i.e., the Content package and Service package, respectively. Concerning Layer 1, two packages have been defined, however, namely the Navigation and Presentation packages.</p><p>In the Content package, OO-H's content model is based on the UML class diagram: A Class represents a description of common structural and behavioral features, e.g., Attributes and Operations, respectively. Classes can be connected with each other via Associations.</p><p>The Service package contains the modeling concept ServiceNode that allows the execution of arbitrary operations defined at the content layer. The modeling concept ServiceLink is needed to connect NavigationalNodes with ServiceNodes, and in addition, to transport information in terms of arguments from NavigationalNodes to Operations. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Figure 4: The OO-H Metamodel</head><p>The Navigation package represents a view on the content layer of a web application. In the Navigation package two types of NavigationalNodes can be distinguished, namely ClassNodes displaying information from the content layer, and Collections providing additional information such as navigation menus. Both types have in common that they may be connected by Links. OCLExpressions attached to Links either filter certain objects which should be displayed at the target NavigationalNode or are used as preconditions that must be assured to access the target NavigationalNode.</p><p>The Presentation package defines the Page modeling concept which is used to organize and structure the NavigationalNodes of the navigation layer.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.2">Model Transformations Using ATL</head><p>Following we discuss one representative example for the commonalities between WebML and OO-H, in order to exemplify how integration is achieved on the basis of metamodels and model transformation.</p><p>As already mentioned, ATL was used as model transformation language, which is a uni-directional, rule-based transformation language. For a full integration, consequently, transformation rules have to be specified for both directions, e.g. from WebML to OO-H and vice versa. An ATL rule consists of a query part (from keyword), which collects the relevant source model elements, and a generation part (to keyword) creating the target model elements.</p><p>In Figure <ref type="figure" target="#fig_6">5</ref> (a) we illustrate the semantic correspondences between WebML and OO-H metamodel elements and present two ATL rules implementing the transformation from WebML to OO-H in Figure <ref type="figure" target="#fig_6">5 (b</ref>).</p><p>1. Rule Entity_2_Class is responsible for transforming each Entity of the WebML model into a Class in OO-H. 2. Rule DisplayUnit_2_ClassNode is responsible for transforming each instance of the concrete subclasses of DisplayUnit into ClassNodes. 3. This minimal example already shows some advantages of using ATL in contrast to using a general-purpose programming language. When executing ATL rules, a "trace model" is created transparently, which saves how instances are transformed. In our example the ATL engine traces which Class instance is generated for an Entity instance. Therefore, it is possible to retrieve the Class instance for the referenced Entity, which allows for the simple statement cN.displayedClass &lt;-dU.displayedEntity.   </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">Lessons Learned</head><p>Following, we summarize our lessons learned concerning the integration of WebML and OO-H. In general, the integration of WebML and OO-H has turned out to be straight-forward for the most part. At least for the core concepts of web modeling, which have been the focus of the MDWEnet initiative, there exist many commonalities between the two languages. Since the chosen modeling examples could be realized in each language the languages can be considered to have "equal" expressivity with respect to the defined core requirements. Nevertheless, we also faced differences between the languages, which aggravated the integration. When integrating languages based on their metamodels, further information, which often are not covered by the metamodels, must be incorporated into the transformation rules. This kind of information is on the one hand incorporated into the code generator and on the other hand defined by the frameworks for which code is generated. Some of these differences and the complexity they introduced during integration are explained following the structure of the modeling requirements layers. Nevertheless, from our current experiences we are able to conclude that the differences can be eliminated within the transformations rules. Due to space restrictions and readability reasons we explain the transformation rules textually and refer the reader to <ref type="bibr">[30]</ref> for detailed information on the ATL code.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.1">Content Modeling (Layer 0)</head><p>As can be seen in Figure <ref type="figure" target="#fig_0">1</ref>, WebML and OO-H have different origins. WebML is based on the ER-model, which is typically used in the context of modeling database schemas. In contrast, OO-H has emerged from an object-oriented background. Consequently, in WebML each Entity has a set of operations which are "implicitly" available and need not be defined by the modeler, i.e., WebML's ContentManagementUnits actually represent a data manipulation language (DML). These operations include typical create, update, and delete operations as well as operations for linking Entities (cf. Table <ref type="table" target="#tab_4">2</ref>). In contrast, in OO-H there are some predefined operation types available, which have to be explicitly defined for each Class by the modeler (cf. Table <ref type="table" target="#tab_4">2</ref>). Thus, when transforming WebML Entities in OO-H Classes, the default operations must be created for each corresponding Class, in order to ensure that OO-H's ServiceNodes can execute them.   Generally speaking, one could say that WebML is the more explicit language compared to OO-H, i.e., in the way that there are much more language concepts used. In particular, this is the case for hypertext modeling where OO-H uses a minimal set of concepts, which are refined with OCLExpressions, i.e., preconditions and filters, for Links. In contrast to WebML, where various types of ContentUnits are available, OO-H uses the concepts ClassNode and Collection, only. The actual content and behavior of ClassNodes is defined by their incoming Links. Furthermore, for parameter passing WebML offers LinkParameters with explicit source and target parameter bindings, while in OO-H this is again expressed by OCLExpressions.</p><p>Besides the difference in the number of explicit concepts, WebML and OO-H both use their own selector language for computing the content to be displayed. While in OO-H the Object Constraint Language (OCL) <ref type="bibr" target="#b22">[23]</ref> has been reused and extended, WebML's selector language is defined within the metamodel as well as based on the concepts of Selector and SelectorCondition <ref type="bibr">[30]</ref>. However, in the current version of the OO-H metamodel, the modified grammar for the OCL is not yet covered as it is done for the WebML selector language in the WebML metamodel. Thus, currently the OCL statements are hard-coded in the transformations rules as ordinary Strings. Incorporating the OCL grammar into the OO-H metamodel and the refinement of the model transformations in order to define the OCL statements as model elements is subject to future work. In the following, an example illustrating these differences between WebML and OO-H is given.</p><p>Example: A search scenario is given, where in the first page the user provides input, i.e., a certain year, for searching the set of albums. Figure <ref type="figure" target="#fig_10">7</ref> (a) shows the example modeled with WebML<ref type="foot" target="#foot_3">4</ref> , where the EntryUnit AlbumSearch with a Field named 'from' represents the input form. The Link to the IndexUnit AlbumResults carries the user input in terms of a parameter. Therefore, a LinkParameter is assigned to the Link, which has as LinkParameterSource the input Field and as LinkParameterTarget the SelectorCondition of the AlbumResults IndexUnit. This SelectorCondition computes the subset of all albums where the input value of the user equals the value of the year attribute. In Figure <ref type="figure" target="#fig_10">7</ref> (b), the same information is modeled with OO-H, where a separate concept for the information that is transported via Links is not available. More specifically, the search scenario can be modeled with a Collection AlbumSearch and a Link to the ClassNode AlbumResults. The Link contains a filter OCLExpression dst.year = ?, with the question mark standing for the user's input value and dst.year meaning the 'year' Attribute of the Album Class.  </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>OO-H Filter Conditions</head><p>This example illustrates the need to integrate the various WebML ContentUnits with OO-H Collections and ClassNodes as well as WebML LinkParameter and SelectorConditions with OO-H filter OCLExpressions.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.3">Content Management Modeling (Layer 2)</head><p>Due to the differences at the content modeling layer, the modeling concepts for content management modeling are also differently defined in WebML and OO-H. For each operation on Entities of the content modeling layer WebML offers an explicit modeling concept, e.g., CreateUnit, DeleteUnit, and ConnectUnit. In contrast, OO-H's Service package encompasses two concepts only, namely ServiceNode and ServiceLink. This means that OO-H does not differentiate between the typical create, update, and delete operations by defining sub-concepts of ServiceNode. Instead a ServiceNode has a reference to the Operation which should be executed when the ServiceNodes is entered.</p><p>Example: The given scenario describes the deletion of a specific album by an authorized user. In Figure <ref type="figure" target="#fig_7">6</ref> (a) a DeleteUnit DeleteAlbum is shown which might be accessed, e.g., through an IndexUnit AlbumSearch (cf. Figure <ref type="figure" target="#fig_10">7 (a)</ref>). Likewise, concerning OO-H a ServiceNode DeleteAlbum might be accessed, e.g., through a ClassNode (cf. Figure <ref type="figure" target="#fig_10">7 (b)</ref>). For the given scenario we assume that the Selectors and SelectorConditions are translated according to the transformation rules defined for the hypertext modeling layer. Beyond, each OperationUnit from the WebML model needs to be translated into a ServiceNode in the OO-H model. Thereby, the reference identifying the corresponding operation type (cf. Table <ref type="table" target="#tab_4">2</ref>) must be set for the ServiceNode.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5">Conclusions and Future Challenges</head><p>In this paper we have presented our methodology of integrating three of the most prominent web modeling approaches, namely WebML, OO-H, and UWE, on the basis of a set of core web modeling requirements. As a proof of concept, we have defined the core languages in Ecore-based metamodels and subsequently, have implemented the integration in ATL model transformations rules. From our preliminary results and lessons learned from the integration of WebML and OO-H sofar, we conclude that the core of the three languages can be integrated without loosing information. Nevertheless, the presented results are only a first step in the direction of a full integration of the languages and to the definition of a common metamodel for web modeling.</p><p>Future challenges concerning the integration of WebML and OO-H include the finalization of the integration for their core modeling concepts which requires the OCL version used in OO-H to be incorporated in the metamodel. Therefore, we plan to employ the EBNF_2_Ecore transformer <ref type="bibr" target="#b28">[29]</ref>, which is capable of generating the corresponding metamodel elements from a textual EBNF grammar. On the basis of this we intend to finalize the transformation rules from OO-H to WebML.</p><p>The UWE metamodel is currently under preparation. As soon as a first stable version is available, we plan to integrate UWE with the two other modeling languages as well. We expect that a third language would bring further insights for building the common metamodel for web modeling and on these results a first unification of the modeling concepts can be proposed for the core requirements.</p><p>Beyond the core requirements, the modeling requirements and modeling examples need to be extended to other web modeling concerns such as presentation, contextawareness, and business processes in the future to broaden the view on the unification of the modeling concepts. Furthermore, a refinement of possible variants of modeling requirements, in order to find further sub-concepts and alternative modeling styles would be of interest.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Figure 1 :</head><label>1</label><figDesc>Figure 1:Web Modeling Languages History, based on [28]</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Figure 2 : 3 )</head><label>23</label><figDesc>Figure 2: Model-based Integration Framework 3) Definition of a Common Metamodel for Web Modeling. The top of Figure 2,illustrates the goal of MDWEnet, i.e., a unification of existing web modeling languages in terms of a common metamodel for web modeling. By defining the metamodels for WebML, OO-H, and UWE, as well as working out the integration knowledge in a first step, we hope that the creation of such a common metamodel is easier to achieve afterwards. For the future, the common metamodel for web modeling can serve as a pivot model and thus lowering the integration effort drastically. 4) Execution of the Transformations. The model transformation rules then can be executed in a model transformation engine. More specifically, the ATL</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>4 )</head><label>4</label><figDesc>Execution of the Transformations. The model transformation rules then can be executed in a model transformation engine. More specifically, the ATL engine reads an input model, e.g. a WebML model, and generates an output model, e.g. an OO-H model, according to the transformation rules.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_3"><head>Figure 3 :</head><label>3</label><figDesc>Figure 3: The WebML Metamodel</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_6"><head>Figure 5 :</head><label>5</label><figDesc>Figure 5: Metamodel Correspondences and Transformation Rules Excerpt</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_7"><head>Example: Figure 6</head><label>6</label><figDesc>(a)  shows an excerpt of the content model of the album store example. In Figure6(b) we depict the corresponding OO-H content model that needs to be generated by the transformation rules. For each Entity in the content model of WebML an OO-H Class is generated. Besides transforming the Entities' Attributes, in OO-H the Constructor(), Destructor(), and Modifier() operations must be defined for the Class as well. Likewise for each Relationship of an Entity the Relationer() and Unrelationer() operations have to be generated for the corresponding Class in the OO-H content model.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_8"><head>Figure 6 : 4 . 2</head><label>642</label><figDesc>Figure 6: Content Modeling and Hypertext Modeling in WebML and OO-H</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_10"><head>Figure 7 :</head><label>7</label><figDesc>Figure 7: WebML Unit Types vs. OO-H Filter Conditions</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_0"><head>Table 1 .</head><label>1</label><figDesc>Differences concerning Language Definition and Model Storage.</figDesc><table><row><cell></cell><cell>Language Definition</cell><cell>Model Storage</cell></row><row><cell>WebML</cell><cell>WebRatio, DTD 3</cell><cell>XML documents</cell></row><row><cell>OO-H</cell><cell>VisualWade, Rational Rose Model</cell><cell>Proprietary format</cell></row><row><cell>UWE</cell><cell>ArgoUWE, UML Profile</cell><cell>XMI</cell></row></table></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_2"><head>•</head><label></label><figDesc>Content Publication: This case requires a page, which publishes a list of domain objects and displays for each object a set of attribute values.• Parametric Content Publication: This case requires a page, which publishes a list of domain objects each having attached a navigation mechanism, e.g., a button, an anchor. This mechanism shall allow the user to navigate to the details of the object. • Parametric Content Publication with Explicit Parameter Mapping: This case requires one page, which contains an input form with various input fields. The user inputs are used for computing a set of domain objects. Thereby, the attribute values of the objects need to satisfy a logical condition including as terms the input provided by the user. Layer 2 -Content Management Modeling. This layer covers the requirements for web applications that allow the user to trigger operations for updating the domain objects and their relationships (cf. Layer 0). Example: Create a new instance of type Student. Update the age value of the instance of type Student where name='Michael Smith'.</figDesc><table /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_4"><head>Table 2 :.Comparison of Object Operations between WebML and OO-H.</head><label>2</label><figDesc></figDesc><table><row><cell>WebML</cell><cell>OO-H</cell></row><row><cell>Content Management Units</cell><cell>Operations</cell></row><row><cell>CreateUnit</cell><cell>Constructor()</cell></row><row><cell>ModifyUnit</cell><cell>Modifier()</cell></row><row><cell>DeleteUnit</cell><cell>Destructor()</cell></row><row><cell>ConnectUnit</cell><cell>Relationer()</cell></row><row><cell>DisconnectUnit</cell><cell>Unrelationer()</cell></row></table></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="1" xml:id="foot_0">www.webratio.com</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="2" xml:id="foot_1"> www.visualwade.com   </note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="3" xml:id="foot_2">Recently, two different proposals for a WebML metamodel have been published in parallel<ref type="bibr" target="#b19">[20,</ref><ref type="bibr" target="#b26">27]</ref>.</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="4" xml:id="foot_3">Please note that ellipse-shaped legends are not part of WebML's notation.</note>
		</body>
		<back>

			<div type="acknowledgement">
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Acknowledgments. We would like to thank the members of the MDWEnet initiative that have contributed to this paper in terms of preliminary work, including Pierro Fraternali (Politecnico di Milano) for setting up the set of modeling requirements and Cristina Cachero, Jaime Gomez, Santiago Meliá, Irene Garrigós (Universidad de Alicante) as well as Nora Koch (LMU München) for their work on the UWE metamodel.</p></div>
			</div>


			<div type="funding">
<div xmlns="http://www.tei-c.org/ns/1.0"><p>‡ This work has been partly funded by the Austrian Federal Ministry of Transport, Innovation and Technology (BMVIT) and FFG under grant FIT-IT-810806. * This work has been partly funded by the Austrian Federal Ministry for Education, Science, and Culture, and the European Social Fund (ESF) under grant 31.963/46-VII/9/2002.</p></div>
			</div>

			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">W2000: A Modeling Notation for Complex Web Applications</title>
		<author>
			<persName><forename type="first">L</forename><surname>Baresi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Colazzo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Mainetti</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Morasca</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Web Engineering: Theory and Practice of Metrics and Measurement for Web Development</title>
				<editor>
			<persName><forename type="first">E</forename><surname>Mendes</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">N</forename><surname>Mosley</surname></persName>
		</editor>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2006">2006</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Modelling Adaptivity with Aspects</title>
		<author>
			<persName><forename type="first">H</forename><surname>Baumeister</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Knapp</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Koch</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Zhang</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. 5 th Int. Conf. on Web Engineering (ICWE05)</title>
				<meeting>5 th Int. Conf. on Web Engineering (ICWE05)<address><addrLine>Sidney, Australia</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2005-07">July 2005</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<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">SoSyM</title>
		<imprint>
			<biblScope unit="volume">4</biblScope>
			<biblScope unit="issue">2</biblScope>
			<date type="published" when="2005">2005</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Process modeling in Web applications</title>
		<author>
			<persName><forename type="first">M</forename><surname>Brambilla</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Ceri</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Fraternali</surname></persName>
		</author>
		<author>
			<persName><forename type="first">I</forename><surname>Manolescu</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">ACM Trans. Softw. Eng. Methodol</title>
		<imprint>
			<biblScope unit="volume">15</biblScope>
			<biblScope unit="issue">4</biblScope>
			<date type="published" when="2006">2006</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<monogr>
		<title level="m" type="main">Eclipse Modeling Framework</title>
		<author>
			<persName><forename type="first">F</forename><surname>Budinsky</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Steinberg</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Merks</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Ellersick</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><forename type="middle">J</forename><surname>Grose</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2004">2004</date>
			<publisher>Addison-Wesely</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">Model-driven Development of Context-Aware Web Applications</title>
		<author>
			<persName><forename type="first">S</forename><surname>Ceri</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Daniel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Matera</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Facca</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">ACM TOIT</title>
		<imprint>
			<biblScope unit="volume">7</biblScope>
			<biblScope unit="issue">2</biblScope>
			<date type="published" when="2007">2007</date>
		</imprint>
	</monogr>
	<note>to appear</note>
</biblStruct>

<biblStruct xml:id="b6">
	<monogr>
		<author>
			<persName><forename type="first">S</forename><surname>Ceri</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Fraternali</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Bangio</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Brambilla</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Comai</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Matera</surname></persName>
		</author>
		<title level="m">Designing Data-Intensive Web Applications</title>
				<imprint>
			<publisher>Morgan-Kaufmann</publisher>
			<date type="published" when="2003">2003</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">Using ORM to Model Web Systems</title>
		<author>
			<persName><forename type="first">O</forename><surname>De Troyer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Casteleyn</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Plessers</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. Int. Workshop on Object-Role Modeling</title>
				<meeting>Int. Workshop on Object-Role Modeling<address><addrLine>Agia Napa, Cyprus</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2005-10">October 2005</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">A Structured Approach to Personalize Websites using the OO-H Personalization Framework</title>
		<author>
			<persName><forename type="first">I</forename><surname>Garrigós</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Casteleyn</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Gómez</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. of the 7 th Asia-Pacific Web Conference (APWeb 2005)</title>
				<meeting>of the 7 th Asia-Pacific Web Conference (APWeb 2005)<address><addrLine>Shangai, China</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2005-03">March 2005</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">Conceptual Modeling of Device-Independent Web Applications</title>
		<author>
			<persName><forename type="first">J</forename><surname>Gómez</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Cachero</surname></persName>
		</author>
		<author>
			<persName><forename type="first">O</forename><surname>Pastor</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">IEEE MultiMedia</title>
		<imprint>
			<biblScope unit="volume">8</biblScope>
			<biblScope unit="issue">2</biblScope>
			<date type="published" when="2001">2001</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">Transforming Models with ATL: Proceedings of the Model Transformations</title>
		<author>
			<persName><forename type="first">F</forename><surname>Jouault</surname></persName>
		</author>
		<author>
			<persName><forename type="first">I</forename><surname>Kurtev</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. of the Model Transformations in Practice Workshop at MoDELS</title>
				<meeting>of the Model Transformations in Practice Workshop at MoDELS<address><addrLine>Montego Bay, Jamaica</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2005-10">October 2005</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<analytic>
		<title level="a" type="main">Tool Integration Patterns</title>
		<author>
			<persName><forename type="first">G</forename><surname>Karsai</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Lang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Neema</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Workshop on Tool Integration in System Developement</title>
				<meeting><address><addrLine>Helsinki, Finland</addrLine></address></meeting>
		<imprint>
			<publisher>ESEC/FSE</publisher>
			<date type="published" when="2003-09">September 2003</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<analytic>
		<title level="a" type="main">Towards a Common Metamodel for the Development of Web Applications</title>
		<author>
			<persName><forename type="first">N</forename><surname>Koch</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Kraus</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. of the 3 rd Int. Conf. on Web Engineering (ICWE 2003)</title>
				<meeting>of the 3 rd Int. Conf. on Web Engineering (ICWE 2003)</meeting>
		<imprint>
			<date type="published" when="2003-07">July 2003</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<analytic>
		<title level="a" type="main">Integration of Business Processes in Web Application Models</title>
		<author>
			<persName><forename type="first">N</forename><surname>Koch</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Kraus</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Cachero</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Meliá</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">J. Web Eng</title>
		<imprint>
			<biblScope unit="volume">3</biblScope>
			<biblScope unit="issue">1</biblScope>
			<date type="published" when="2004">2004</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b14">
	<analytic>
		<title level="a" type="main">Model transformations from requirements to web system design</title>
		<author>
			<persName><forename type="first">N</forename><surname>Koch</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Zhang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Escalona</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. of the 6 th Int. Conf. on Web Engineering (ICWE 2006)</title>
				<meeting>of the 6 th Int. Conf. on Web Engineering (ICWE 2006)</meeting>
		<imprint>
			<date type="published" when="2006">2006</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b15">
	<monogr>
		<title level="m" type="main">MDWEnet: A Practical Approach to achieve Interoperability of Model-Driven Web Engineering Methods</title>
		<author>
			<persName><surname>Koch</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2007">2007</date>
		</imprint>
	</monogr>
	<note>In preparation</note>
</biblStruct>

<biblStruct xml:id="b16">
	<analytic>
		<title level="a" type="main">Technological spaces: An initial appraisal</title>
		<author>
			<persName><forename type="first">I</forename><surname>Kurtev</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Bézivin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Aksit</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. Of Int. Federated Conf. (DOA,ODBASE, CoopIS)</title>
				<meeting>Of Int. Federated Conf. (DOA,ODBASE, CoopIS)<address><addrLine>Los Angeles</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2002">2002</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b17">
	<analytic>
		<title level="a" type="main">The WebSA Approach: Applying Model Driven Engineering to Web Applications</title>
		<author>
			<persName><forename type="first">S</forename><surname>Meliá</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Gómez</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">J. Web Eng</title>
		<imprint>
			<biblScope unit="volume">5</biblScope>
			<biblScope unit="issue">2</biblScope>
			<date type="published" when="2006">2006</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b18">
	<analytic>
		<title level="a" type="main">A Taxonomy of Model Transformations</title>
		<author>
			<persName><forename type="first">T</forename><surname>Mens</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Czarnecki</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Van Gorp</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Language Engineering for Model-Driven Software Development -Dagstuhl Seminar Proceedings</title>
				<meeting><address><addrLine>Germany</addrLine></address></meeting>
		<imprint>
			<publisher>Dagstuhl</publisher>
			<date type="published" when="2005">2005</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b19">
	<analytic>
		<title level="a" type="main">WebML modeling in UML</title>
		<author>
			<persName><forename type="first">N</forename><surname>Moreno</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Fraternali</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Vallecillo</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">IET Software Journal</title>
		<imprint>
			<date type="published" when="2007">2007</date>
		</imprint>
	</monogr>
	<note>to appear</note>
</biblStruct>

<biblStruct xml:id="b20">
	<monogr>
		<ptr target="http://www.omg.org/docs/ptc/04-10-15.pdf" />
		<title level="m">Meta Object Facility (MOF) 2.0 Core Specification Version 2</title>
				<imprint>
			<date type="published" when="2004-10">October 2004</date>
		</imprint>
		<respStmt>
			<orgName>Object Management Group</orgName>
		</respStmt>
	</monogr>
	<note>OMG)</note>
</biblStruct>

<biblStruct xml:id="b21">
	<monogr>
		<ptr target="http://www.omg.org/docs/formal/05-09-01.pdf" />
		<title level="m">Object Management Group (OMG), MOF 2.0/XMI Mapping Specification</title>
				<imprint>
			<date type="published" when="2005-09">September 2005</date>
			<biblScope unit="volume">1</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b22">
	<monogr>
		<ptr target="http://www.omg.org/docs/ptc/05-06-06.pdf" />
		<title level="m">Object Management Group (OMG), OCL Specification Version 2</title>
				<imprint>
			<date type="published" when="2005-06">June 2005</date>
			<biblScope unit="volume">0</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b23">
	<monogr>
		<ptr target="http://www.omg.org/docs/formal/05-07-04.pdf" />
		<title level="m">UML Specification: Superstructure Version 2</title>
				<imprint>
			<date type="published" when="2005-08">August 2005</date>
		</imprint>
	</monogr>
	<note>Object Management Group (OMG)</note>
</biblStruct>

<biblStruct xml:id="b24">
	<analytic>
		<title level="a" type="main">Conceptual Modelling of Web Applications: The OOWS Approach</title>
		<author>
			<persName><forename type="first">O</forename><surname>Pastor</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Fons</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><surname>Pelechano</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Abrahao</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Web Engineering: Theory and Practice of Metrics and Measurement for Web Development</title>
				<editor>
			<persName><forename type="first">E</forename><surname>Mendes</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">N</forename><surname>Mosley</surname></persName>
		</editor>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2006">2006</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b25">
	<analytic>
		<title level="a" type="main">Model-Based Web Application Development</title>
		<author>
			<persName><forename type="first">G</forename><surname>Rossi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Schwabe</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Web Engineering: Theory and Practice of Metrics and Measurement for Web Development</title>
				<editor>
			<persName><forename type="first">E</forename><surname>Mendes</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">N</forename><surname>Mosley</surname></persName>
		</editor>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2006">2006</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b26">
	<analytic>
		<title level="a" type="main">Bridging WebML to Model-Driven Engineering: From DTDs to MOF</title>
		<author>
			<persName><forename type="first">A</forename><surname>Schauerhuber</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Wimmer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Kapsammer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Schwinger</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Retschitzegger</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">IET Software Journal</title>
		<imprint>
			<date type="published" when="2007">2007</date>
		</imprint>
	</monogr>
	<note>to appear</note>
</biblStruct>

<biblStruct xml:id="b27">
	<analytic>
		<title level="a" type="main">Modelling Web Applications</title>
		<author>
			<persName><forename type="first">W</forename><surname>Schwinger</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Koch</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Web Engineering -Systematic Development of Web Applications</title>
				<editor>
			<persName><forename type="first">G</forename><surname>Kappel</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">B</forename><surname>Pröll</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">S</forename><surname>Reich</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">W</forename><surname>Retschitzegger</surname></persName>
		</editor>
		<imprint>
			<publisher>Wiley</publisher>
			<date type="published" when="2006-06">June 2006</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b28">
	<analytic>
		<title level="a" type="main">Bridging Grammarware and Modelware</title>
		<author>
			<persName><forename type="first">M</forename><surname>Wimmer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Kramler</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. of Satellite Events at the MoDELS 2005 Conference</title>
				<meeting>of Satellite Events at the MoDELS 2005 Conference<address><addrLine>Montego Bay, Jamaica</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2005-10">October 2005</date>
		</imprint>
	</monogr>
</biblStruct>

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