<?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">A Feasibility Study on the Validation of Domain Specific Languages Using OWL 2 Reasoners</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Ye</forename><surname>Liu</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">TUCS Turku Centre for Computer Science D. of Information Technologies</orgName>
								<orgName type="institution">Åbo Akademi University</orgName>
								<address>
									<addrLine>Joukahaisenkatu 3-5</addrLine>
									<postCode>FI-20520</postCode>
									<settlement>Turku</settlement>
									<country key="FI">Finland</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Sören</forename><surname>Höglund</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">TUCS Turku Centre for Computer Science D. of Information Technologies</orgName>
								<orgName type="institution">Åbo Akademi University</orgName>
								<address>
									<addrLine>Joukahaisenkatu 3-5</addrLine>
									<postCode>FI-20520</postCode>
									<settlement>Turku</settlement>
									<country key="FI">Finland</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Ali</forename><forename type="middle">Hanzala</forename><surname>Khan</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">TUCS Turku Centre for Computer Science D. of Information Technologies</orgName>
								<orgName type="institution">Åbo Akademi University</orgName>
								<address>
									<addrLine>Joukahaisenkatu 3-5</addrLine>
									<postCode>FI-20520</postCode>
									<settlement>Turku</settlement>
									<country key="FI">Finland</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Ivan</forename><surname>Porres</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">TUCS Turku Centre for Computer Science D. of Information Technologies</orgName>
								<orgName type="institution">Åbo Akademi University</orgName>
								<address>
									<addrLine>Joukahaisenkatu 3-5</addrLine>
									<postCode>FI-20520</postCode>
									<settlement>Turku</settlement>
									<country key="FI">Finland</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">A Feasibility Study on the Validation of Domain Specific Languages Using OWL 2 Reasoners</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">D8ADE4225C1578582F0D0C071727E667</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-25T04:13+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>In this article we report on our experiences using the OWL 2 reasoners HermiT and Pellet to validate domain-specific languages defined using UML-like metamodels. Currently there exists few tools to validate metamodels. Using ontologies and reasoners to define and validate metamodels is a possible solution to this problem. We evaluate the reasoners according to expressiveness, correctness, performance and problem reporting capabilities. We use metamodels from the Atlantic Zoo metamodel repository as input for our comparison, and report on our experiences with the zoo.</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>Model Driven Engineering (MDE) <ref type="bibr">[8]</ref> advocates the use of models to represent the most relevant design decisions in a software development project. Each software model is described using a particular modeling language, such as the Unified Modeling Language (UML) <ref type="bibr" target="#b12">[13]</ref> or a domain-specific language. The definition of a modeling language is given using a metamodeling language or a language to define modeling languages. These metamodeling languages share common fundamental concepts such as classes, properties and the specialization of classes and properties, we call such languages UML-like metamodeling languages.</p><p>The study of metamodeling languages has led to a number of practical tools such as model repositories, diagram editors, model transformation tools and code generation tools that simplify enormously the creation of new development tool chains that use UML or domain-specific modeling languages in software development projects. However, the topic of metamodel validation is seldom discussed and there is a lack of tool support for this task.</p><p>In our previous work <ref type="bibr">[6]</ref>, we described a mapping from a UML-based metamodeling language to OWL 2. In this article we discuss our practical experiences in validating metamodels from a public repository using two OWL 2 reasoners. The main objective of these experiments is to obtain empirical evidence that the idea of using OWL 2 reasoners to validate metamodels in practice is viable.</p><p>We proceed as follows: in Section 2 we discuss the need for metamodel validation. In Section 3 we detail the objectives of the study. In Section 4, Section 5 and Section 6 we present the materials used in the investigation. Section 7 presents the results, and Section 8 is the conclusion.</p><p>The creation of a new metamodel is not a simple task since it requires a good knowledge of the problem domain and how to capture its properties using a small set of metamodeling concepts. A metamodel often includes many constraints on how concepts in a model can be related to each other, such as multiplicity, domain and range, composition and subset constraints. If not chosen carefully, these constraints may lead to contradictions.</p><p>For example, lets assume we are creating a metamodel for a Statechart language that includes concepts such as simple states, composite states (that can contain other states) and transitions between states. A fragment of such a metamodel is shown in the top of Figure <ref type="figure" target="#fig_0">1</ref>. This metamodel contains a rather obvious contradiction: there is an association with the minimum multiplicity larger than the maximum multiplicity. This contradiction means that there are no valid models that can make use of this association. Another possible contradiction is shown in the bottom of Figure <ref type="figure" target="#fig_0">1</ref>. The depicted metamodel requires each instance of State to be in a composite relationship with an instance of CompositeState. However, as CompositeState is a subclass of State it inherits this requirement, which leads to each instance of CompositeState having to be in a composite relationship with another instance of CompositeState. Given a finite set of instances of CompositeState, it is impossible not to violate one of the composition requirements -elements having only one owner and there being no cycles in the compositon. As a consequence there is no model with a finite number of elements that conforms to the given metamodel.</p><p>As shown in the examples, we consider it necessary to validate a new metamodel to ensure that no such problems exist before actual tools and models are created.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.1">Metamodel Validation using OWL2 Reasoners</head><p>To tackle the previous problem, we are working towards the integration of an automatic metamodel validation tool in a metamodel editor. The validation is based on the idea of translating a metamodel into an ontology and using a reasoner to check the ontology for consistency and class satisfiability. We have decided to use the OWL 2 Web Ontology Language <ref type="bibr">[1]</ref> as our metamodel representation language.</p><p>OWL 2 provides classes, properties, individuals, and data values, that we can use to define the main concepts of UML-like metamodeling languages as shown by the authors <ref type="bibr">[6]</ref>. OWL 2 has different concrete syntaxes (functionalstyle syntax, Manchester syntax, RDF/XML, etc.). In this article, we use the OWL 2 functional-style syntax, because it allows ontologies to be written in a compact form and preserves readability.</p><p>We have noticed that OWL 2 is not expressive enough for some restrictions in metamodels. For instance, there is no decidable combination of axioms in OWL 2 to express UML composition and its relevant restrictions. This problem could be solved by writing extra rules in another language. One possibility is to use the OCL Object Constraint Language <ref type="bibr">[12]</ref>. It is part of the UML standard and it is used to describe metamodel and model constraints. However, OCL operates on the syntactic level, which leads to a very extensive ruleset for UML elements. To avoid this problem, we have decided to use SWRL <ref type="bibr" target="#b6">[7]</ref>. SWRL combines OWL and the RuleML (Rule Markup language). It extends the set of OWL axioms to include rules, thus restrictions in metamodels can be represented in SWRL rules.</p><p>To validate an ontology expressed in OWL 2 and SWRL, we need a reasoner that supports both languages. There are tools which provide reasoning services for OWL 2 ontologies as well as support of DL-safe SWRL rules <ref type="bibr" target="#b8">[9]</ref>, such as Pellet and HermiT. We introduce them in Section 6.</p><p>It is still an open question if this idea is feasible in practice. In the next section we present a study that tries to answer this question.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">Objectives of the Study</head><p>The main goal of this article is to study the feasibility of using OWL 2 and SWRL reasoners to validate metamodels for domain specific languages. The feasibility criteria is as follows:</p><p>1. Expressiveness of OWL2 and SWRL One of the main objectives of our research is to judge the expressiveness of OWL 2 and SWRL in terms of expressing the concepts of Domain Specific Languages developed by using an UML-like Metamodeling language. 2. Correctness of Reasoners Some of the existing reasoners are experimental research tools under constant development. We would like to know whether the current implementation of each reasoner is mature enough to produce reliable results.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.">Performance</head><p>We want to know how much processing time is required to validate a metamodel. Can a modern desktop computer perform this task with ease? Can the validation be performed on the fly while editing a metamodel or when we save the metamodel into a file? 4. Problem Reporting Are the messages produced by an OWL2 reasoner intelligible by the metamodel creator? Can we trace back inconsistencies in a generated ontology to the original metamodel elements? 5. Problems in published metamodels Since we are also planning to validate many existing metamodels, we are also interested to know if there are problems in published metamodels.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.1">Study Execution</head><p>In order to answer the previous questions we select a number of metamodels, transform them into an ontology and check them for consistency and satisfiability using a reasoner. We measure execution time and observe eventual error messages.</p><p>In order to asses the maturity of the reasoner implementation, we have decided to select two independently developed reasoners and compare their output.</p><p>To ensure that the metamodels to validate are representative we have not created the metamodels ourselves. Instead we have decided to process all the metamodels in a public repository: the Atlantic Metamodel Zoo <ref type="bibr" target="#b15">[16]</ref>.</p><p>We describe the materials for our study in the next three sections.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">The Atlantic Metamodel Zoo</head><p>The Atlantic Metamodel Zoo is a library of metamodels maintained by the At-lanMod team. At the time of writing this text, it contains 286 metamodels representing diverse domains such as LateX, Java, HTML. The metamodels are available in different languages, including UML 2, OWL, KM3 etc.. We choose to validate the metamodels expressed in UML 2. Metamodels expressed in UML 2 are identified by their headers and the elements for describing its structure. The headers must include the namespace URL for the UML metamodel and elements prefixed with uml:. An example of such a metamodel is shown in Listing 1.1. This example shows two classes: Book and Chapter associated by a simple composition.</p><p>The metamodels in the Atlantic Zoo vary considerably in size and complexity. In any case, these metamodels are considerably smaller than the UML metamodel and they do not contain OCL constraints. We consider that the metamodels in the Atlantic Zoo provide a good sample of metamodels for domain-specific languages.</p><p>The transformation from a metamodel expressed using UML to OWL 2 is implemented using the Model-to-Text transformation tool MOFScript <ref type="bibr">[5]</ref>  <ref type="bibr">[11]</ref>.</p><p>MOFScript consists of two parts: the MOFScript tool and the MOFScript language. The MOFScript tool is an implementation of the MOFScript language and it provides ways of editing, compiling and executing MOFScript transformation code. MOFScript transformations are MOFScript language programs that define a set of rules that can translate metamodel elements and relations between them to expected output through print statements. The MOFScript transformation code is written based on one or more input metamodels, then compiled and executed on one or more loaded input files which contains models conforming to the input metamodels.</p><p>The input metamodel in our implementation is UML2 2.1.0, the input file is a .uml file which contains a UML metamodel in XML syntax. There are two output files: one contains an OWL 2 ontology written in OWL 2 functional syntax <ref type="bibr">[2]</ref> and the other contains SWRL rules in OWL RDF/XML syntax.</p><p>As mentioned in the previous sections, there are some restrictions of metamodeling concepts that have to be written in SWRL rules. However, ontology reasoners can not process OWL 2 functional syntax with SWRL rules embedded. As a solution, we create extra SWRL rules written in RDF syntax in a separate OWL document and import this ontology in the main ontology written in OWL 2 functional syntax. For instance, the generated ontologies of the metamodel shown in Listing 1.1 are Listing 1.2 and Listing 1.3.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6">OWL 2 Reasoners</head><p>Once the ontology of a metamodel has been generated by using the transformation described before, we use a reasoner to check the ontology consistency and satisfiability. In terms of an ontology representing a metamodel:</p><p>1. Metamodel consistency means that there exists at least one model that conforms to that metamodel. 2. Metaclass satisfiability means there is at least one model element that can belong to the class (without making the metamodel inconsistent). In the context of a metamodel, instantiating an unsatisfiable metaclass leads to a contradiction and therefore the metaclass cannot be used in any model. This is also refered as concept satisfiability in the services provided by the reasoners.</p><p>The selection criteria for a reasoner were complete support for OWL2, SWRL and also that the reasoner is freely available as open source. The first two requirements are motivated by the ontologies used in our study. The last requirement ensures that the study is easily repeatable by others.</p><p>Based on these criteria, we have chosen the following two reasoners:</p><p>1. Pellet: An open source Java-based ontology reasoner developed by a Clark&amp; Parsia LLC, which is an R&amp;D firm, specializing in Semantic Web and advanced systems <ref type="bibr">[4]</ref>. 2. HermiT: An open source reasoner that is implemented in Java, and developed by Information Systems Group of Oxford University <ref type="bibr" target="#b9">[10]</ref>.</p><p>These reasoners are either already available as a Protege (an open source ontology editor) plugin or will be supported. They can also all be used from the command line.</p><p>In our experiment, we run HermiT 1.2.1 from the command line and use the options -k and -U to check the consistency and concept satisfiability respectively. In the case of Pellet, we use version 2.0.1 from the command line and use the options consistency and unsat to check the consistency and concept satisfiability respectively.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="7">Study Results</head><p>Since metamodel validation involves both reasoners and metamodels, the results of our study depends on two aspects: the reasoning tools an the input metamodels. First, we evaluate the reasoners in terms of maturity, performance, expressiveness, and their problem reporting mechanism. Then we investigate any reported problems in the published metamodels.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="7.1">Expressivness</head><p>The expressiveness is evaluated in two aspects: the concepts contained in the metamodels and the Description Logic which the reasoners are based on.</p><p>On one hand, the metamodels in the Atlantic Zoo are simple in the sense that they do not cover all the concepts that are within the ability of the UML metamodeling language. For example, there are no metamodels that contain any ordered properties, ordered composition or ordered subset properties. The constraints of these concepts are expressed in SWRL rules.</p><p>On the other hand, we notice problems with UML composition: translating composition to OWL 2 requires the transitivity axiom and irreflexive axiom, whereas the OWL 2 specification forbids the two axioms used on the same object property. This can be solved by expressing them in SWRL, although SWRL rules are only applied on individuals rather than classes.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="7.2">Maturity of reasoners</head><p>Both HermiT and Pellet can process all the ontologies generated from the Atlantic Zoo without generating any run time error or getting into an infinite loop. Furthermore, both reasoners always produce the same report for all the metamodels. This is significant because they have been implemented independently by two different development groups. Based on this, we claim that the current implementation of both HermiT and Pellet are mature enough for the task of validating metamodels.</p><p>During our experiment, we found that Pellet 2.0.1 supports OWL 1.1 functional syntax <ref type="bibr">[3]</ref> which is different from OWL 2 in terms of prefix declaration and datatype maps. HermiT supports strict OWL 2 functional syntax. So the ontologies to be processed by HermiT and Pellet are slightly different syntactically, Accordingly, the MOFScript transformation for each syntax should be different too.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="7.3">Performance</head><p>We run our performance experiments using a desktop computer with an Intel Core 2 6400 processor running at 2.13GHz, 2GB of RAM, Linux Fedora Core 10 and Java 1.6.0 10 rc2. We process each metamodel three times and report the average execution time.</p><p>Figure <ref type="figure" target="#fig_1">2</ref> shows the time required for HermiT and Pellet to process each metamodel. The x-axis represents the number of axioms in a generated ontology. The y-axis represents the total time in seconds necessary to load an ontology representing a metamodel, and check it for consistency and satisfiability. As for the counting of number of axioms, though, certain expressions are a combination of OWL 2 axioms. For instance, the minimum cardinality in the Figure <ref type="figure" target="#fig_0">1</ref> is expressed as follows, which is a combination of axiom SubClassOf and ObjectMinCardinality, we count this as one axiom.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>SubClassOf(State ObjectMinCardinality(2 State_outgoing ))</head><p>As we can observe from the figure, HermiT is consistently faster than Pellet, but both tools can process each metamodel in less than four seconds.</p><p>Based on this, we consider that the effiency of the two reasoners is satisfactory for the given problem and an average desktop computer.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="7.4">Problem Reporting</head><p>Pellet produces an error message if a given input contains a syntax error or the wrong file header. Such input cannot be further checked for consistency and unsatisfiability. When checking consistency, Pellet simply shows if the input ontology is consistent or not. When checking unsatisfiability, given a consistent ontology, Pellet reports the number of elements checked, time used and number of unsatisfiable elements. If there are unsatisfiable elements, the specific class names are shown.</p><p>Pellet provides an option to print verbose information while reasoning. The printed information indicating input size, specific numbler of classes, properties and individuals, expressivity, used time summary, etc.. Once an element that leads to an inconsistency is found, Pellet stops further processing and points out a possible reason, but the actual reason still needs be verified by users. HermiT also provides verbose infomation printing, such as the file under processing, timing for parsing, etc.. In contrast to Pellet, when an input is inconsistent, HermiT shows no possible reasons. As far as processing procedure is concerned, HermiT differs from Pellet in that it allows checking unsatisfiablity of an inconsistent metamodel.</p><p>Regardless of how the two reasoners report the results, the information they give can be difficult to interpret when a metamodel is inconsistent or has unsatisfiable concepts. In the best case, they show the name of the unsatisfiable concepts but no further explanations. More information on what makes a concept unsatisfiable would be extremely helpful.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="7.5">Problems in Published Metamodels</head><p>During our experiment with the 286 metamodels in the Atlantic zoo, we found 279 metamodels that are consistent and satisfiable and 7 with validation problems. The 7 unsatisfiable metamodels are ekaw, paperdyne, pcs, micro, sigkdd, Openconf and iasted. These are all generated from ontologies dealing with conference organization by the OntoFarm Project <ref type="bibr">[14]</ref> .</p><p>We investigated the reason of the unsatisfiablity and found problems in the metamodels in the source .uml files. The original metamodels have two classes Evaluated_Paper and Assigned_Paper, which both have a self association with a minimum cardinality of 3 and a maximum cardinality of 1.</p><p>We also examined the original ontologies <ref type="bibr" target="#b14">[15]</ref> from which the UML metamodels are generated. The ontologies only state that the minimum cardinality is 3, but do not contain any axiom about the maximum cardinality. We suspect the problem lies in the transformation used to convert each ontology to UML.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="8">Conclusions</head><p>In this article we have studied the feasibility of an approach to validate metamodels using a OWL 2 reasoners. The first step of validation is transforming UML metamodels to OWL 2 ontologies. We use MOFScript to implement the transformation from UML to OWL 2 and SWRL. The second step is to validate the generated ontologies with a reasoner. This second step was the focus of this article.</p><p>We have processed all the metamodels in the Atlantic Zoo. This comprises 286 metamodels for domain-specific languages created independently. To our knowledge this is the most comprehensive empirical evaluation on the use of OWL 2 in metamodeling to the date.</p><p>The size of the metamodels can be considered small when compared to the metamodel of the UML language. None of the metamodels use OCL constraints or advanced metamodeling features such as subset properties. However, we consider that the Atlantic Zoo provides a good sample of how metamodel in domainspecific languages are used in practice.</p><p>Based on our experiences, we consider that OWL 2 combined with SWRL can be used to represent all the metamodels in the repository. Also, the Pellet and HermiT reasoners could process each metamodel in less than four seconds and always provided the same results.</p><p>&lt;l o w e r V a l u e xmi : type="uml : L i t e r a l I n t e g e r "</p><p>xmi : i d=" dkpsE−iaEd6gMtZRCjS81g " v a l u e="1 "/&gt; 8 &lt;/ownedEnd&gt; 9 &lt;/packagedElement&gt; 10 &lt;packagedElement xmi : type="uml : C l a s s " xmi : i d=" dkpFA−iaEd6gMtZRCjS81g " name="Book "&gt; 11 &lt;o w n e d At t r i bu t e xmi : i d=" dkpFBeiaEd6gMtZRCjS81g " name=" t i t l e " type=" dkpFDeiaEd6gMtZRCjS81g " i s U n i q u e=" f a l s e "/&gt; 12 &lt;o w n e d At t r i bu t e xmi : i d=" dkpFCeiaEd6gMtZRCjS81g " name=" c h a p t e r s type=" dkpFBOiaEd6gMtZRCjS81g " i s U n i q u e=" f a l s e " a g g r e g a t i o n="c o m p o s i t e " a s s o c i a t i o n=" dkpFCuiaEd6gMtZRCjS81g "&gt; 13 &lt;upperValue xmi : type="uml : L i t e r a l U n l i m i t e d N a t u r a l " xmi : i d=" dkpsEOiaEd6gMtZRCjS81g " v a l u e="* "/&gt; 14 &lt;l o w e r V a l u e xmi : type="uml : L i t e r a l I n t e g e r " xmi : i d=" dkpsEeiaEd6gMtZRCjS81g "/&gt; 15 &lt;/ownedAttribute&gt; 16 &lt;/packagedElement&gt; 17 &lt;packagedElement xmi : type="uml : C l a s s " xmi : i d=" dkpFBOiaEd6gMtZRCjS81g " name="Chapter "&gt; 18 &lt;o w n e d At t r i bu t e xmi : i d=" dkpFBuiaEd6gMtZRCjS81g " name=" t i t l e " type=" dkpFDeiaEd6gMtZRCjS81g " i s U n i q u e=" f a l s e "/&gt; 19 &lt;o w n e d At t r i bu t e xmi : i d=" dkpFB−iaEd6gMtZRCjS81g " name="nbPages " type=" dkpFDOiaEd6gMtZRCjS81g " i s U n i q u e=" f a l s e "/&gt; 20 &lt;o w n e d At t r i bu t e xmi : i d=" dkpFCOiaEd6gMtZRCjS81g " name="a u t h o r " type=" dkpFDeiaEd6gMtZRCjS81g " i s U n i q u e=" f a l s e "/&gt; 21 &lt;/packagedElement&gt; 22 &lt;/packagedElement&gt; 23 &lt;packagedElement xmi : type="uml : Package " xmi : i d=" dkpFAuiaEd6gMtZRCjS81g " name=" P r i m i t i v e T y p e s "&gt; 24 &lt;packagedElement xmi : type="uml : P r i m i t i v e T y p e " xmi : i d=" dkpFDOiaEd6gMtZRCjS81g " name=" I n t e g e r "/&gt; 25 &lt;packagedElement xmi : type="uml : P r i m i t i v e T y p e " xmi : i d=" dkpFDeiaEd6gMtZRCjS81g " name=" S t r i n g "/&gt; 26 &lt;packagedElement xmi : type="uml : P r i m i t i v e T y p e " xmi : i d=" dkpFDuiaEd6gMtZRCjS81g " name="Boolean "/&gt; 27 &lt;/packagedElement&gt; 28 &lt;/uml : Model&gt; Listing 1.1. An example of metamodel presented in UML 2</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Fig. 1 .</head><label>1</label><figDesc>Fig. 1. Examples of invalid metamodels. Top: Invalid due to multiplicity. Bottom: Invalid due to composition error</figDesc><graphic coords="2,134.77,316.11,360.00,135.00" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Fig. 2 .</head><label>2</label><figDesc>Fig. 2. Reasoners Performance Comparision</figDesc></figure>
		</body>
		<back>
			<div type="annex">
<div xmlns="http://www.tei-c.org/ns/1.0"><p>&lt;ownedEnd xmi : i d=" dkpFC−iaEd6gMtZRCjS81g " name="book " type=" dkpFA−iaEd6gMtZRCjS81g " i s U n i q u e=" f a l s e " a s s o c i a t i o n=" dkpFCuiaEd6gMtZRCjS81g "&gt; 6 &lt;upperValue xmi : type="uml : L i t e r a l U n l i m i t e d N a t u r a l " xmi : i d=" dkpsEuiaEd6gMtZRCjS81g " v a l u e="1 "/&gt;</p></div>			</div>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">OWL 2 Web Ontology Language Document Overview</title>
		<author>
			<persName><forename type="first">Conrad</forename><surname>Bock</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Achille</forename><surname>Fokoue</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Peter</forename><surname>Haase</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Rinke</forename><surname>Hoekstra</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Ian</forename><surname>Horrocks</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Alan</forename><surname>Ruttenberg</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Uli</forename><surname>Sattler</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Michael</forename><surname>Smith</surname></persName>
		</author>
		<ptr target="http://www.w3.org/TR/owl2-overview/" />
	</analytic>
	<monogr>
		<title level="m">W3 Recommendation</title>
				<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">OWL 2 Web Ontology Language Structural Specification and Functional-Style Syntax</title>
		<author>
			<persName><forename type="first">Conrad</forename><surname>Bock</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Achille</forename><surname>Fokoue</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Peter</forename><surname>Haase</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Rinke</forename><surname>Hoekstra</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Ian</forename><surname>Horrocks</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Alan</forename><surname>Ruttenberg</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Uli</forename><surname>Sattler</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Michael</forename><surname>Smith</surname></persName>
		</author>
		<ptr target="http://www.w3.org/TR/2009/REC-owl2-syntax-20091027/" />
	</analytic>
	<monogr>
		<title level="m">W3 recommendation</title>
				<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<monogr>
		<title level="m" type="main">OWL 1.1 Web Ontology Language Structural Specification and Functional-Sytle Syntax</title>
		<author>
			<persName><forename type="first">Boris</forename><surname>Motic</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Peter</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Ian</forename><surname>Patel-Scheneider</surname></persName>
		</author>
		<author>
			<persName><surname>Horrocks</surname></persName>
		</author>
		<ptr target="http://www.webont.org/owl/1.1/owl_specification.html" />
		<imprint>
			<date type="published" when="2007-05">May 2007</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Pellet: OWL 2 Reasoner for Java</title>
		<author>
			<persName><forename type="first">Parsia</forename><surname>Clark</surname></persName>
		</author>
		<ptr target="http://clarkparsia.com/pellet" />
	</analytic>
	<monogr>
		<title level="j">Homepage</title>
		<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<monogr>
		<ptr target="http://www.eclipse.org/gmt/mofscript/" />
		<title level="m">Eclipse Foundation</title>
				<imprint/>
	</monogr>
	<note>MOFScript Homepage</note>
</biblStruct>

<biblStruct xml:id="b5">
	<monogr>
		<title level="m" type="main">Representing and Validating Metamodels using OWL 2 and SWRL</title>
		<author>
			<persName><forename type="first">Sören</forename><surname>Höglund</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Ali</forename><forename type="middle">H</forename><surname>Khan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Ye</forename><surname>Liu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Ivan</forename><surname>Porres</surname></persName>
		</author>
		<idno>FI-20520</idno>
		<imprint>
			<date type="published" when="2010-05-03">3-5. 2010</date>
			<pubPlace>Turku, Finland</pubPlace>
		</imprint>
		<respStmt>
			<orgName>D. of Information Technologies, Åbo Akademi University</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">Technical Report</note>
</biblStruct>

<biblStruct xml:id="b6">
	<monogr>
		<title level="m" type="main">SWRL: A Semantic Web Rule Language Combining OWL and RuleML</title>
		<author>
			<persName><forename type="first">Ian</forename><surname>Horrocks</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Peter</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Harold</forename><surname>Patel-Schneider</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Said</forename><surname>Boley</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Benjamin</forename><surname>Tabet</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Mike</forename><surname>Grosof</surname></persName>
		</author>
		<author>
			<persName><surname>Dean</surname></persName>
		</author>
		<ptr target="http://www.w3.org/Submission/SWRL/" />
		<imprint>
			<date type="published" when="2004">2004</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">Model Driven Engineering</title>
		<author>
			<persName><forename type="first">Stuart</forename><surname>Kent</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. of IFM International Formal Methods 2002</title>
				<meeting>of IFM International Formal Methods 2002</meeting>
		<imprint>
			<publisher>Springer-Verlag</publisher>
			<date type="published" when="2002">2002</date>
			<biblScope unit="volume">2335</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">Extending the shoiq(d) tableaux with dl-safe rules: First results</title>
		<author>
			<persName><forename type="first">Vladimir</forename><surname>Kolovski</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Bijan</forename><surname>Parsia</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Evren</forename><surname>Sirin</surname></persName>
		</author>
		<ptr target="WS.org" />
	</analytic>
	<monogr>
		<title level="m">Description Logics</title>
		<title level="s">CEUR Workshop Proceedings. CEUR-</title>
		<editor>
			<persName><forename type="first">Bijan</forename><surname>Parsia</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">Ulrike</forename><surname>Sattler</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">David</forename><surname>Toman</surname></persName>
		</editor>
		<imprint>
			<date type="published" when="2006">2006</date>
			<biblScope unit="volume">189</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<monogr>
		<title level="m">Hermit OWL Reasoner</title>
				<imprint/>
		<respStmt>
			<orgName>Information System of Oxford University</orgName>
		</respStmt>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<monogr>
		<title level="m" type="main">MOFScript User Guide</title>
		<author>
			<persName><forename type="first">Jon</forename><surname>Oldevik</surname></persName>
		</author>
		<ptr target="http://www.eclipse.org/gmt/mofscript/doc/MOFScript-User-Guide-0.8.pdf" />
		<imprint>
			<date type="published" when="2009-12">December 2009</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<monogr>
		<title level="m" type="main">UML 2.0 OCL Specification</title>
		<author>
			<persName><surname>Omg</surname></persName>
		</author>
		<ptr target="http://www.omg.org/" />
		<imprint>
			<date type="published" when="2003-10">October 2003</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<monogr>
		<title level="m" type="main">UML 2.2 Superstructure Specification</title>
		<author>
			<persName><surname>Omg</surname></persName>
		</author>
		<ptr target="http://www.omg.org/" />
		<imprint>
			<date type="published" when="2009-02">February 2009</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<monogr>
		<ptr target="http://nb.vse.cz/~svatek/ontofarm.html" />
		<title level="m">Ontofarm project homepage</title>
				<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b14">
	<monogr>
		<ptr target="http://nb.vse.cz/~svabo/oaei2009/" />
		<title level="m">Conference track</title>
				<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b15">
	<monogr>
		<title level="m" type="main">AtlanMod metamodel zoo</title>
		<author>
			<persName><forename type="first">Atlanmod</forename><surname>Team</surname></persName>
		</author>
		<ptr target="http://www.emn.fr/z-info/atlanmod/index.php/Zoos" />
		<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b16">
	<monogr>
		<title level="m" type="main">d f s :=&lt;h t t p</title>
		<author>
			<persName><surname>P R E F I X</surname></persName>
		</author>
		<ptr target="://www.w3.org/2000/01/rdf−schema#&gt;" />
		<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b17">
	<monogr>
		<title/>
		<author>
			<persName><surname>P R E F I X</surname></persName>
		</author>
		<idno>=&lt;h t t p</idno>
		<ptr target="://www.w3.org/2006/12/owl2−xml#&gt;" />
		<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b18">
	<monogr>
		<title/>
		<author>
			<persName><surname>P R E F I X</surname></persName>
		</author>
		<idno>=&lt;h t t p</idno>
		<ptr target="://www.w3.org/2002/07/owl#&gt;" />
		<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b19">
	<monogr>
		<title/>
		<author>
			<persName><surname>P R E F I X</surname></persName>
		</author>
		<idno>=&lt;h t t p</idno>
		<ptr target="://www.w3.org/2001/XMLSchema#&gt;" />
		<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b20">
	<monogr>
		<title level="m" type="main">=&lt;h t t p</title>
		<author>
			<persName><surname>P R E F I X</surname></persName>
		</author>
		<ptr target="://www.w3.org/1999/02/22−rdf−syntax−ns#&gt;" />
		<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b21">
	<monogr>
		<title/>
		<author>
			<persName><surname>P R E F I X</surname></persName>
		</author>
		<idno>h t t p :</idno>
		<ptr target="//" />
		<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b22">
	<monogr>
		<ptr target="://www.zoo.org/examples#&gt;9Import(&lt;file://Book.owl" />
		<title level="m">t t p</title>
				<imprint>
			<date>10</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b23">
	<monogr>
		<title level="m">D e c l a r a t i o n ( C l a s s</title>
				<imprint/>
	</monogr>
	<note>Book Book</note>
</biblStruct>

<biblStruct xml:id="b24">
	<monogr>
		<title level="m" type="main">a l D a t a P r o p e r t</title>
		<author>
			<persName><surname>F U N C T I O N</surname></persName>
		</author>
		<editor>B</editor>
		<imprint>
			<biblScope unit="volume">13</biblScope>
		</imprint>
	</monogr>
	<note>o o k B o o k t i t l e )</note>
</biblStruct>

<biblStruct xml:id="b25">
	<analytic>
		<title level="a" type="main">o o k B o o k t i t l e : Book Book )</title>
	</analytic>
	<monogr>
		<title level="m">DataPropertyDomain</title>
				<editor>
			<persName><forename type="first">B</forename></persName>
		</editor>
		<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b26">
	<analytic>
		<title level="a" type="main">o o k B o o k t i t l e xsd : s t r i g )</title>
		<author>
			<persName><forename type="first">B</forename></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">DataPropertyRange</title>
				<imprint>
			<biblScope unit="volume">15</biblScope>
		</imprint>
	</monogr>
	<note>Book Chapter</note>
</biblStruct>

<biblStruct xml:id="b27">
	<monogr>
		<title level="m" type="main">o o k C h a p t e r t i t l e )</title>
		<author>
			<persName><surname>F U N C T I O N A L D A T A P R O P E R T Y</surname></persName>
		</author>
		<editor>B</editor>
		<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b28">
	<analytic>
		<title level="a" type="main">o o k C h a p t e r t i t l e : Book Chapter )</title>
		<author>
			<persName><forename type="first">B</forename></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">DataPropertyDomain</title>
				<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b29">
	<monogr>
		<title level="m" type="main">o o k C h a p t e r t i t l e xsd : s t r i n g ) 20</title>
		<author>
			<persName><forename type="first">;</forename><surname>Datapropertyrange</surname></persName>
		</author>
		<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b30">
	<analytic>
		<title level="a" type="main">n a l D a t a P r o p e r t</title>
		<author>
			<persName><surname>F U N C T I O</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Book Chapter nbPages )</title>
				<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b31">
	<monogr>
		<title level="m">Book Chapter nbPages : Book Chapter )</title>
				<imprint/>
	</monogr>
	<note>DataPropertyDomain</note>
</biblStruct>

<biblStruct xml:id="b32">
	<monogr>
		<title level="m">Book Chapter nbPages xsd : i n t ) 24</title>
				<imprint/>
	</monogr>
	<note>DataPropertyRange</note>
</biblStruct>

<biblStruct xml:id="b33">
	<monogr>
		<author>
			<persName><surname>F U N C T I</surname></persName>
		</author>
		<title level="m">o n a l D a t a P r o p e r t y</title>
				<imprint/>
	</monogr>
	<note>Book Chapter author</note>
</biblStruct>

<biblStruct xml:id="b34">
	<analytic>
		<title level="a" type="main">Book Chapter author : Book Chapter )</title>
	</analytic>
	<monogr>
		<title level="m">DataPropertyDomain</title>
				<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b35">
	<monogr>
		<title level="m">DataPropertyRange</title>
				<imprint/>
	</monogr>
	<note>s t r i n g ) 28</note>
</biblStruct>

<biblStruct xml:id="b36">
	<analytic>
		<title level="a" type="main">n t a i n s ) )</title>
		<author>
			<persName><surname>D E C L A R A T I</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">O b j e c t P r o p e r t y</title>
				<imprint/>
	</monogr>
	<note>c o</note>
</biblStruct>

<biblStruct xml:id="b37">
	<monogr>
		<title level="m">c o n t a i n s ) 31 SubObjectPropertyOf</title>
				<imprint/>
	</monogr>
	<note>owns : c o n t a i n s )</note>
</biblStruct>

<biblStruct xml:id="b38">
	<monogr>
		<title/>
		<author>
			<persName><surname>I N V E R S E F U N C T</surname></persName>
		</author>
		<imprint>
			<publisher>owns</publisher>
		</imprint>
	</monogr>
	<note type="report_type">i o n a l O b j e c t P r o p e r t y</note>
</biblStruct>

<biblStruct xml:id="b39">
	<monogr>
		<title level="m">Book Book ObjectAllValuesFrom</title>
				<meeting><address><addrLine>owns</addrLine></address></meeting>
		<imprint/>
	</monogr>
	<note>33 SubClassOf. Book Chapter</note>
</biblStruct>

<biblStruct xml:id="b40">
	<monogr>
		<author>
			<persName><surname>Subclassof</surname></persName>
		</author>
		<title level="m">Book Chapter DInstance ObjectAllValuesFrom ( : owns owl : Nothing ) )</title>
				<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b41">
	<analytic>
		<title level="a" type="main">o ok B oo k c ha p te r s ) )</title>
		<author>
			<persName><surname>D E C L</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">O b j e c t P r o p e r t y</title>
				<editor>
			<persName><forename type="first">B</forename></persName>
		</editor>
		<imprint/>
	</monogr>
	<note>a r a t i</note>
</biblStruct>

<biblStruct xml:id="b42">
	<analytic>
		<title level="a" type="main">s : Book Book )</title>
	</analytic>
	<monogr>
		<title level="m">B o ok B oo k c ha pt e r</title>
				<imprint/>
	</monogr>
	<note>ObjectPropertyDomain</note>
</biblStruct>

<biblStruct xml:id="b43">
	<analytic>
		<title level="a" type="main">s : Book Chapter )</title>
	</analytic>
	<monogr>
		<title level="m">Bo o k B oo k c ha pt e r</title>
				<imprint/>
	</monogr>
	<note>ObjectPropertyRange</note>
</biblStruct>

<biblStruct xml:id="b44">
	<monogr>
		<title level="m" type="main">Book Book O b j e c t M i n C a r d i n a l i t y ( 0 : Bo o k B oo k c ha pt e r s ) )</title>
		<author>
			<persName><surname>Subclassof</surname></persName>
		</author>
		<imprint>
			<biblScope unit="volume">39</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b45">
	<monogr>
		<author>
			<persName><surname>Subclassof</surname></persName>
		</author>
		<title level="m">Book Book DInstance ObjectAllValuesFrom ( : owns owl : Nothing )</title>
				<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b46">
	<monogr>
		<author>
			<persName><surname>D E C L</surname></persName>
		</author>
		<title level="m">a r a t i o n ( O b j e c t P r o p e r t y</title>
				<imprint/>
	</monogr>
	<note>Book Book book</note>
</biblStruct>

<biblStruct xml:id="b47">
	<analytic>
		<title level="a" type="main">Book Book book : Book Book )</title>
	</analytic>
	<monogr>
		<title level="m">ObjectPropertyDomain</title>
				<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b48">
	<analytic>
		<title level="a" type="main">Book Book book : Book Book )</title>
	</analytic>
	<monogr>
		<title level="m">ObjectPropertyRange</title>
				<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b49">
	<monogr>
		<title level="m" type="main">j e c t M i n C a r d i n a l i t y ( 1 : Book Book book ) )</title>
		<author>
			<persName><surname>Subclassof</surname></persName>
		</author>
		<imprint/>
	</monogr>
	<note>Book Book O b</note>
</biblStruct>

<biblStruct xml:id="b50">
	<monogr>
		<title level="m" type="main">c t M a x C a r d i n a l i t y ( 1 : Book Book book ) )</title>
		<author>
			<persName><surname>Subclassof</surname></persName>
		</author>
		<imprint/>
	</monogr>
	<note>Book Book O b j e</note>
</biblStruct>

<biblStruct xml:id="b51">
	<monogr>
		<title level="m">Ontology in OWL 2 functional syntax</title>
				<imprint/>
	</monogr>
	<note>Listing 1.2</note>
</biblStruct>

<biblStruct xml:id="b52">
	<analytic>
		<title level="a" type="main">s i o n=&quot; 1 . 0 &quot; e n c o d i n g=</title>
		<ptr target="/&gt;25&lt;swrl:argument1rdf:resource=&quot;#x&quot;/&gt;26&lt;swrl:argument2rdf:resource=&quot;#y&quot;/&gt;" />
	</analytic>
	<monogr>
		<title level="m">RDF 3 xmlns : r d f = &apos; h t t</title>
				<imprint/>
	</monogr>
	<note>y r d f : ID=&quot; c o n t a i n s &quot;. V a r i a b l e r d f : ID=. V a r i a b l e r d f : ID=. &lt;s w r l : V a r i a b l e r d f : ID=. V a r i a b l e r d f : ID=&quot;a &quot;/&gt; 20 &lt;s w r l : V a r i a b l e r d f : ID=. P r e d i c a t e r d f : r e s o u r c e=&quot;#c o n t a n s &quot;</note>
</biblStruct>

<biblStruct xml:id="b53">
	<analytic>
		<title level="a" type="main">l P r o p e r t y A t o m &gt; 28</title>
	</analytic>
	<monogr>
		<title level="m">y P r e d i c a t e r d f : r e s o u r c e=&quot;#c o n t a n s</title>
				<imprint/>
	</monogr>
	<note>31 &lt;s w r l : argument2 r d f : r e s o u r c e=&quot;#z</note>
</biblStruct>

<biblStruct xml:id="b54">
	<analytic>
		<title level="a" type="main">d u a l P r o p e r t y A t o m</title>
		<ptr target="z&quot;/" />
	</analytic>
	<monogr>
		<title level="m">y P r e d i c a t e r d f : r e s o u r c e=&quot;#c o n t a n s</title>
				<imprint>
			<biblScope unit="volume">33</biblScope>
		</imprint>
	</monogr>
	<note>38 &lt;s w r l : argument2 r d f : r e s o u r c e=&quot;#</note>
</biblStruct>

<biblStruct xml:id="b55">
	<monogr>
		<title level="m" type="main">a l P r o p e r t y A t</title>
		<idno>o m &gt; 40</idno>
		<ptr target="&lt;/ru" />
		<imprint/>
	</monogr>
	<note>l e m l : head&gt;</note>
</biblStruct>

<biblStruct xml:id="b56">
	<analytic>
		<title/>
		<ptr target="&lt;/ru" />
	</analytic>
	<monogr>
		<title level="j">l e m l</title>
		<imprint/>
	</monogr>
</biblStruct>

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