<?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">Mapping MOF-based requirements representations to ontologies for software reuse</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Katharina</forename><surname>Wolter</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">HITeC e.V</orgName>
								<orgName type="institution">University of Hamburg</orgName>
								<address>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Micha</forename><surname>L Śmia Lek</surname></persName>
							<affiliation key="aff1">
								<orgName type="institution">Warsaw University of Technology</orgName>
								<address>
									<country key="PL">Poland</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Lothar</forename><surname>Hotz</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">HITeC e.V</orgName>
								<orgName type="institution">University of Hamburg</orgName>
								<address>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Stephanie</forename><surname>Knab</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">HITeC e.V</orgName>
								<orgName type="institution">University of Hamburg</orgName>
								<address>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Jacek</forename><surname>Bojarski</surname></persName>
							<email>bojarsj1@iem.pw.edu.pl</email>
							<affiliation key="aff1">
								<orgName type="institution">Warsaw University of Technology</orgName>
								<address>
									<country key="PL">Poland</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Wiktor</forename><surname>Nowakowski</surname></persName>
							<email>nowakoww@iem.pw.edu.pl</email>
							<affiliation key="aff1">
								<orgName type="institution">Warsaw University of Technology</orgName>
								<address>
									<country key="PL">Poland</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Mapping MOF-based requirements representations to ontologies for software reuse</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">0AD9F0098B99155DD4A0BF2261C158B9</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-25T05:16+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 paper, we combine MOF-based software representations and description logic-based mechanisms for facilitating software reuse. All software representations (requirements specifications, design models, code) arising from one project are combined in a software case and stored in a repository for later retrieval. For reuse purposes, we use requirements as search indexes. We map metamodel-based requirements specifications to an ontology and use a Description Logic reasoner for classification. This makes implicit taxonomical relations explicit. The inferred taxonomical hierarchy is then used to compute the taxonomical similarity between the current (initial) requirements and those in the repository. Doing so, we retrieve software cases with a high reuse potential. This approach has already been validated in an industrial context.</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>The underlying goal of our work is to enable reuse of model-based software development artifacts. For this task, we combine all artifacts that arise in the course of a software development project in a "software case". A software case is a set of interlinked models and code written in textual and graphical languages that have their syntax defined formally (normally with a metamodel or a context-free grammar). The contents of a software case are manifested through the contained requirements model, which is specified using a precise and semantic-oriented requirements language. In this language, meaning of words is defined by linking them to WordNet <ref type="bibr" target="#b0">[1]</ref>. The requirements model is mapped to other models (using model-based transformations) so that all syntactic elements of these models have their source in at least one element of the requirements model. All software cases that have been developed are stored in a repository for later reuse.</p><p>The retrieval of similar software cases from the repository is a key prerequisite for this reuse approach. In order to retrieve such similar software cases we compare requirements models. This is based on the assumption that cases with similar requirements models can have similar design models, too. The retrieval uses a combination of different similarity measures <ref type="bibr" target="#b1">[2]</ref>, <ref type="bibr" target="#b2">[3]</ref>. In this paper, we focus on the ontology-based similarity measure for software cases. Such an ontology-based similarity measure requires the representation of all software cases (more precisely their requirements models) in an ontology. One resulting advantage of representing them in an ontology is the availability of reasoning techniques provided by Description Logic (DL) reasoners like Pellet or Racer <ref type="foot" target="#foot_0">3</ref> . One of these reasoning techniques (namely classification) supports our similarity measure. The classification makes implicit relations between elements in the ontology explicit by changing the taxonomical hierarchy. These newly inferred relations can then be used by our ontology-based similarity measure.</p><p>The rest of this paper is structured as follows: Section 2 sketches the facilities Description Logics supply and elaborates on main questions that have to be answered when Description Logics are applied in a certain domain. In Section 3, we introduce the general reuse approach in which our ontology-based similarity measure is embedded and we describe the MOF-based requirements specification language (RSL). In order to realize the similarity measure we had to construct an ontology containing all requirements models, the related metamodel, and the linked elements from WordNet (see Section 4 for details). The use of classification as a reasoning technique for supporting software retrieval is explained in Section 5. Our ontology-based similarity measure uses this inferred taxonomic hierarchy (Section 6). Section 7 describes the validation experiments as well as first results. Finally, the approach is discussed (Section 8) and a summary concludes the paper.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">DL Modeling and Reasoning Facilities</head><p>For our current task (ontology-based similarity measure), we need to select from a diverse range of modeling and reasoning facilities of Description Logic. It provides facilities to define concepts and roles (or sometimes called properties) between two concepts. A concept (given with a unique name) indicates the set of individuals that belongs to it, and a role indicates a relationship between concepts. Concepts and roles are combined via constructors to so-called descriptions. Typical constructors are those of ALCHIF, i.e. Attributive Language with universal restrictions, existential qualification, concept intersection (ALC), role hierarchy (H), inverse roles (I), and functional properties (F). With these constructors, one can define a specialization relation between concepts, which provides superconcepts and subconcepts in a taxonomy, i.e. general or specific concepts. Furthermore, a Description Logic allows to distinguish between primitive (i.e. necessary) and defined (i.e. necessary and sufficient) concepts, indicated with implies and equivalent, respectively. If several somehow combined roles are sufficient for a concept, an individual who fulfills such roles would be part of the set the concept describes. If an instance belongs to a concept, the instance fulfills the necessary roles of that concepts.</p><p>Given such modeling facilities, DL reasoners provide reasoning techniques. Examples are (see www.w3.org/Submission/owl11-tractable/ or [4]):</p><p>-Concept Subsumption (classification): A concept A subsumes B, when the description of A is more general than the description of B.</p><p>-Instance Checking: Given an individual a and a concept A, verify whether a is an instance of A. -Ontology Consistency: Check whether a given ontology is not contradictory.</p><p>-Concept Satisfiability: Given a concept A, verify whether the description of A yields a non-empty set of individuals. -Conjunctive Query Answering: Given an ontology O and a conjunctive query q, return the answers of the query with respect to O.</p><p>Generally, when ontologies should effectively be applied in a task, like here in ontology-based similarity computation, four design decisions are concerned:</p><p>1. What reasoning techniques should be used for supporting the solution of the task? In our case, classification is used (see Section 5 for details). 2. What entities should be mapped to the ontology? In our case, what elements of a software case are relevant for realizing the reasoning technique? Section 3 introduces the main elements of a software case and Section 4 explains the mapping to the ontology. 3. What concepts should be modeled as defined concepts and which should be necessary? Especially defined concepts enable reasoning tasks (Section 4). 4. Which logical language should be used for solving the task (see Section 4 for details)? This comes from previous decisions which impact the expressiveness of the language and computational efficiency.</p><p>3 Model-driven Software Cases Figure <ref type="figure" target="#fig_0">1</ref> shows an example of a software case. Elements of the requirements model within the software case (R) are interlinked with appropriate elements of the design model (D), which, in turn, are reflected in code (C). Design and code form a solution to the software problem manifested by the requirements. The initial requirements for a new problem (Q) can be compared with the requirements models of already existing software cases. Thus, the requirement models serve as indexes to the design models which facilitates searching and retrieval of past solutions that can be applied to the current problem. For the indexing mechanism to work properly we have designed a special-purpose Requirements Specification Language (RSL). Its syntax contains detailed constructs which allow for automatic comparison and transformation to the design models. RSL enables two scenarios of software development: constructing and storing a software case, and retrieving a software case. When starting a new software project, initially we create its requirements model (see R 21 in Figure <ref type="figure" target="#fig_0">1</ref>). The model contains the description of the application logic with a separate description of the problem domain. Such a complete requirements model written in controlled language, is automatically transformed into the design model (see D 21 ). This model can be manually updated to conform to certain non-functional constraints. Then, the code (see C 21 ) is generated, which includes also some of the contents of the methods (the application logic). Finally, all these artifacts, together with the mappings generated between them are stored in a software case repository. After some time, when we start a next project, we write an initial requirements model which is used to build a query (see Q 1 ) to search for past solutions that can be reused. The query engine compares the query with the requirements models of past software cases. The most similar software cases or their parts are picked by the team and copied to the current workspace for merging with the current project. After merging, the newly created software case can be stored in the repository for further reuse. sentences in the SVO grammar -consisting of a subject (S), a verb (V) and one or two objects (O), e.g. System shows course list. Actually, scenario sentences are not pure text but they are built of hyperlinks pointing to notions in a domain vocabulary (e.g. course list). These notions can have their definitions specific to the system's problem domain. Notions can also contain domain statements which are verb phrases associated with the given notion (e.g. show course list).</p><p>An example domain vocabulary is shown in Figure <ref type="figure" target="#fig_0">1</ref> to the left of the scenarios. In order to make requirements models comparable for reuse purposes, we have to additionally link all elements of the domain vocabulary to one global terminology, like WordNet <ref type="bibr" target="#b0">[1]</ref> that contains meanings of words in the general context. This makes possible to calculate semantic-oriented similarity of different requirements models as it will be shown in the following sections. In this context it can be noted that RSL models can both form parts of software cases (R 21 ) and serve as queries (Q 1 ) for software case retrieval.</p><p>To facilitate automatic transformations, the RSL syntax is defined through a meta-model in MOF. This was a natural choice which facilitates constructing transformations to design models written in the MOF-based UML. It also allows for mapping RSL to an ontology. For transformations we use the MOLA transformation language (see <ref type="bibr" target="#b4">[5]</ref>).</p><p>A relevant fragment of the RSL metamodel expressed in MOF is presented in Figure <ref type="figure">2</ref>. The metamodel is composed of three parts, divided with metaclasses constituting hyperlink relations. First part is the requirements part (left frame). In RSL, requirements can be modeled as general requirements written in natural language (not included in Figure <ref type="figure">2</ref>) or as use cases with scenarios defined in constrained language. Scenarios (ConstrainedLanguageScenario 4 metaclass) are composed of SVOSentences. Every such sentence is composed of a Subject and a Predicate which are in fact hyperlinks to definitions of the proper phrases in a vocabulary (center frame). The Subject points to a Phrase containing one Noun and optionally one Modifier and one Determiner. The Predicate points to one of the two VerbPhrase subclasses. It contains the VO(O) part of the sentence. If the sentence contains only the direct object (SVO sentence), the predicate points to a SimpleVerbPhrase. This subtype of VerbPhrase contains a Noun (inherited from the Phrase) and an additional Verb added before the Noun (eg. ,,add user"). Phrases containing both the direct and indirect object (VOO) are stored in a ComplexVerbPhrase. This subtype of the VerbPhrase links an instance of a SimpleVerbPhrase (the VO part of the phrase) followed by a Preposition and an indirect object (the Noun inherited from the Phrase, eg. ,,add user to user list"). In RSL, the vocabulary is project specific and contains notions' and phrases' definitions characteristic to the current problem domain. All the words used in the project-specific phrases are summarized in a terminology (see the right frame). The TermHyperlinks connect the Phrases and the Terms. Each Term links a WordNet element (by referring to its ID) in order to define the terms's meaning in a general context. WordNet is a sematic lexicon which currently consists of more than 200.000 synonyms grouped in more than 100.000 synonym sets (called synsets, see <ref type="bibr">[4]</ref>). Semantic relations (like is-a and has-parts) connect these synsets. This three-level language infrastructure enables clear separation between the behavior specification (use case scenarios' steps) and the description of the domain (vocabulary). The third level -the terminology -defines the meaning of words in a global context and thus gives the possibility to perform meaningful comparison of different requirements models.</p><p>For expressing design models within software cases, we use a subset of UML elements defined through a profile. A design model is generated automatically as a result of a transformation that takes a requirements model in RSL as its source. The transformation procedure adds to the information contained in requirements all the details of the technical solution: the architectural style, design patterns, etc. In the example we present the results of a transformation from requirements R 21 to design D 21 . The example uses a 3-tier architectural model as the transformation target. Use cases are transformed into interfaces of the application logic layer and domain element are transformed into interfaces of the business logic layer and also into data access objects. Sequences of scenario sentences can be transformed into sequence diagrams on the architectural level. For more details on the transformation rules see <ref type="bibr" target="#b5">[6]</ref>. During the transformation, the mapping links between elements of the requirements model and the design model are created. By following these links, the design elements and the resulting code (see C 21 ) can be retrieved for reuse.</p><p>Validation efforts conducted in the industrial context proved that despite of its very detailed meta-model, the language is readable and understandable for its users (see <ref type="bibr" target="#b6">[7]</ref>). The full specification of the RSL can be found in <ref type="bibr" target="#b7">[8]</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">Mapping the MOF-based Models to an Ontology</head><p>In order to use the classification facilities provided by DL reasoners we had to represent the RSL metamodel, the requirements models and the linked Word-Net elements in an ontology using ontology languages like OWL <ref type="bibr" target="#b8">[9]</ref> or KRSS <ref type="bibr" target="#b9">[10]</ref>. The goal was to represent the requirements models in a way such that similar requirements have short taxonomical distances after classification. This representation is explained in the following, starting with the RSL metamodel.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.1">Mapping the RSL Metamodel</head><p>The RSL metamodel consists of 127 classes, sub-and superclasses, and many associations between them. These classes and associations are represented in the ontology as follows: classes of the metamodel are represented with concepts, generalization relations are represented with specialization relations, and associations are represented with roles. Furthermore, the associations of a class in the metamodel define the class, i.e. if an object with such relations exists, then it belongs to that class and if an object belongs to a class it has the relations of that class (see Figure <ref type="figure">3</ref>). The classes of the RSL metamodel are furthermore disjoint, because every element of a requirements model is an instance of exactly one class of the metamodel.</p><p>Although navigation across associations is bidirectional in the RSL metamodel, we do not use inverse roles in the ontology since the similarity computation only requires roles directing down from the concept representing the requirements model to the synsets of WordNet. Likewise, we avoided a role hierarchy because only a relatively flat hierarchy of associations is given in the RSL metamodel. Finally, functional properties are not needed for defining concepts because they relate a class to a primitive type not to another concept. Thus, we can use the DL language ALC instead of the more complex language ALCHIF.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.2">Mapping Requirements Models</head><p>The requirements models of specific software cases are represented through instances of classes of the RSL metamodel. This is illustrated in Figure <ref type="figure">4</ref>. The RSL metamodel can be found on M2 while the specific requirements models are located on M1 (in the context of the MDA metamodeling layers). Thus, the SVO sentences defined in a particular requirements model are instances of the class SVOSentence in the RSL metamodel. Please note that we represent these instances with further concepts in the ontology. They are mapped to subconcepts of the concepts representing the classes of the RSL metamodel. This is illustrated in Figure <ref type="figure" target="#fig_4">5</ref> which shows a part of an ontology, which we created manually for illustration purposes. Concepts for SVO sentences are coded by a software case id starting with C and a readable string reflecting the text of the sentence (e.g. SVOSentenceC2GuestChoosesEquipment 5 ). The concept SVOSentence is the superconcept of four SVO sentences contained in distinct requirements models.</p><p>As a result, the concepts representing the classes of the RSL metamodel form the upper part of our ontology. Thus, the part of the ontology representing the model from the M2 level is called upper model of the ontology. The concepts representing the elements of specific requirements models from the M1 level are modeled as specializations of these concepts and form the lower part of our ontology.</p><p>We do not use individuals for representing the elements of particular specifications because taxonomical relationships cannot be computed between individuals. In our approach this is the key to infer taxonomical relationships between the elements of requirements models, because the similarity is based on taxonomical relations.</p><p>Thus, each class of a specific requirements model is mapped to a concept with a unique id as its name and the corresponding upper model concept as its superconcept. The concepts representing the elements of requirements models 5 With this font we will denote elements defined in the ontology.     are related through roles defined in the upper model. Furthermore, these roles define the requirements model concepts (see Fig. <ref type="figure" target="#fig_6">6</ref>). Thus, not only necessary relations (i.e. subclass) but necessary and sufficient relations are used for relating software cases. This modeling enables the reasoning techniques described in the Section 5. This general mapping can be used to convert all elements of a requirements model to our ontology. However, this is not necessary since RSL requirements models contain some elements not relevant for our ontology-based similarity measure like all TermHyperlinks in Figure <ref type="figure">2</ref> (see <ref type="bibr" target="#b10">[11]</ref> for details). Mapping these elements would cost significant amount of computing time and would not improve the similarity measure. Thus, we only map RSL elements that are relevant for our similarity calculation.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.3">Mapping WordNet Elements</head><p>The WordNet metamodel consists of several classes like Synset, Wordform, Gloss etc. NounSynsets are related via the relation hyponym and hypernym in a taxonomy. Classification only requires this taxonomical relation between synsets and the fact that synsets are distinct. Thus, we only map synsets from WordNet. They are represented with concepts and the synset taxonomy is represented with the subconcept relation.</p><p>The role termLinksToWordNetEntry relates each term of a requirements model to a synset (see Fig. <ref type="figure" target="#fig_6">6</ref>). However, it is not necessary to map all synsets of Word-Net (i.e. almost 117.000) into the ontology. For our purposes, it is only necessary to map the synsets that are linked by a term and all the predecessors of these synsets in the synset taxonomy. Synsets have only taxonomical relations between themselves (i.e. no further roles). Thus, the taxonomical relations are necessary conditions, i.e. implies is used for describing them. Furthermore, synsets that are siblings are disjoint to each other (see Fig. <ref type="figure" target="#fig_7">7</ref>).</p><formula xml:id="formula_0">(implies ChooseSelectSynset VerbSynset) (implies FixSynset VerbSynset) (implies PersonSynset NounSynset) (implies ComputerUserSynset PersonSynset) (implies System_AdministratorSynset ComputerUserSynset) (implies UserSynset PersonSynset) (implies ConsumerSynset UserSynset) (implies CustomerClientSynset ConsumerSynset) (implies GuestSynset CustomerClientSynset) (disjoint ComputerUserSynset UserSynset) (disjoint ChooseSelectSynset FixSynset)</formula></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5">Classifying the Ontology</head><p>In this section, we show what can be gained by classifying the constructed ontology. Using the mapping described in the previous section we can represent requirements models with concepts and roles in an ontology. However, the requirements models do not contain information that directly relates the diverse concepts of distinct requirements models. As a result, all concepts are direct subconcepts of upper model concepts. In Figure <ref type="figure" target="#fig_4">5</ref> e.g., all SVO sentences are direct subconcepts of the upper model concept SVOSentence. In this initial ontology, only the synset taxonomy provides a hierarchical structure (see Fig. <ref type="figure" target="#fig_8">8</ref>, left side).</p><p>Figure <ref type="figure" target="#fig_8">8</ref> shows the SVO sentences from Figure <ref type="figure" target="#fig_4">5</ref> plus some additional concepts but after classification. The synset taxonomy provided by WordNet and the fact that the concepts representing a requirements model are defined concepts and thus, strongly related between each other, allow for the classification described in the following. Our mapping of RSL metamodel and requirements models enables a DL reasoner to use the synset taxonomy in order to classify the concepts of the requirements models, i.e. to compute, which concepts are equivalent (Fig. <ref type="figure" target="#fig_8">8</ref>, upper part in gray marked by ≡) or, which concepts can be taxonomically structured (Fig. <ref type="figure" target="#fig_8">8</ref>, lower part in blue). Relations of the synset taxonomy are propagated one by one to the subjects of requirements models of C1, C2, C3, and C4. Namely, SubjectC3Client and SubjectC4System Administrator are subconcepts of the concept SubjectC1Person due to the fact that CustomerClientSynset and System AdministratorSynset are subconcepts of PersonSynset, respectively. Thus, after classifying the ontology, the taxonomy defined in WordNet is also reflected in the concepts representing the specific requirements models. Even more interesting is the impact on structural concepts like SVOSentence. In Figure <ref type="figure" target="#fig_8">8</ref> for example, the SVO sentences of case C2 and C3 are classified as subconcepts of the SVO sentence of case C1. This is due to the fact that in both sentences a specific type of person (being either a guest or a client) chooses an type of equipment. Since the SVO sentence of C4 is about fixing a printer instead of selecting one, the sentence is not a subconcept of the SVO sentence of case C1. Thus, classifying the ontology makes these taxonomical relations explicit. Please note that Figure <ref type="figure" target="#fig_8">8</ref> shows only parts of this information.</p><p>This kind of classification takes the structure, i.e. the roles between the concepts, into account. Through this classification, a different taxonomical distance between the concepts of requirements models is introduced and will lead to different similarities. Before classifying the ontology, the taxonomical distance between all SVO sentences was equal (see Fig. <ref type="figure" target="#fig_4">5</ref>). Classification reduces the distance between SVO sentences of C2 and C1 while it increases the distance between sentences of C2 and C4 (comp. Fig. <ref type="figure" target="#fig_4">5</ref> and Fig. <ref type="figure" target="#fig_8">8</ref>). This effect of classification on distances is sketched in the box in Figure <ref type="figure" target="#fig_8">8</ref>. By using the WordNet link and the provided mapping, our similarity measure considers the meaning defined in the requirements models.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6">Similarity Computation</head><p>Once the ontology has been constructed and classified we use the inferred taxonomical hierarchy for computing similarity values. For this purpose, a query is compared with each requirements model contained in the repository where the query is a (potentially partial) requirements model. The goal of similarity computation is to get a value between 0 and 1 that indicates the similarity between a query and a software cases; 0 denoting no similarity and 1 denoting that the query is completely contained in the software case.</p><p>Please note that our measure differs from most similarity measures. Typically, similarity measures positively correlate with the amount of commonality between query and case and at the same time negatively correlate with the amount of difference (see <ref type="bibr" target="#b11">[12]</ref>). The latter however, is not wanted for our similarity measure. A query element that is not found in a software case should of course result in a lower similarity value but if a software case contains elements that are not part of the query, this should not have a negative impact on the similarity value. This is due to the assumption that additional elements in the software case are potential for reuse and thus wanted. Supported by a tool, the user can browse these additional elements and select those that are valuable in the current software development project while others are omitted. In order to allow for this, our measure is asymmetric.</p><p>The assumption made here is that the taxonomical distance between two concepts can be the basis of such a similarity measure. Our similarity measure compares pairs of concepts in the classified taxonomy. This comparison includes both the concept placement in the taxonomical hierarchy (distance-based similarity) and the roles and role fillers that the concepts define (role-based similarity) (see <ref type="bibr" target="#b12">[13]</ref> for a similar approach).</p><p>For computing the distance-based similarity between two concepts c1 and c2, the distance of both concepts to the least common subsumer (LCS) is computed, both values are added and a value describing the distance-based similarity is returned:</p><p>1. lcs = leastCommonSubsumer(c1, c2) 2. distance1 = pathLength(c1, lcs) 3. distance2 = pathLength(c2, lcs) 4. distance = distance1 + distance2 5. return</p><formula xml:id="formula_1">1 ln(distance+e)</formula><p>The algorithm has the following properties: The division ensures values between 0 and 1. The further away the concepts are from each other, the smaller the similarity value gets. The logarithm ensures higher similarity values for low distances, than, for example, 1 distance would provide. Finally, the addition of e ensures a similarity value of 1 for distance 0, i.e. if c1 and c2 are in fact the same concept. The box in Figure <ref type="figure" target="#fig_8">8</ref> illustrates the effect of classification on the distance-based similarity measure. By classification the distance between c1 and c2 is reduced from 2 to 1. The associated similarity values of the distance-based measure are also given in the figure.</p><p>The basic idea of role-based similarity is that the similarity of two concepts depends on the similarity of their subgraphs. When comparing roles, their most important aspects are their fillers: concepts or concrete domains that specify the value of a role. When comparing two concepts, the function of role-based similarity is recursively applied. The recursion terminates when two concepts without roles are compared; their similarity is given by the distance-based similarity function. The roles of both concepts are recursively compared and similarities are summed up for every concept. A value describing role-based similarity is returned: 1 means both concepts have the same roles, and the smaller the value, the less their roles have in common.</p><p>Both aspects can be computed independently from each other. Therefore, we defined two algorithms, one computing the distance-based similarity between two concepts and another one comparing the common roles of concepts. The similarity between two concept definitions is the sum of the distance-based similarity and the role-based similarity divided by two.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="7">Experiments</head><p>During the development of our approach we used small examples for testing and illustration purposes (see previous sections). In order to evaluate the presented similarity measures we conducted two types of experiments. On the one hand, we produced several small software cases by varying specific elements e.g. of a sentence, in order analyze the impact of these modifications. On the other hand, we applied the approach to software cases produced by software development teams in the industrial context (see Acknowledgements).</p><p>Technical Setting. The RSL metamodel was implemented as part of a comprehensive tool suite <ref type="bibr" target="#b13">[14]</ref>. Internally, the tool uses a graph representation of the metamodel (see <ref type="bibr" target="#b14">[15]</ref>). This representation provides the input for the presented ontology construction. It also serves as the basis for transforming into design and storing of software cases.</p><p>A JAVA-based converter maps the RSL metamodel and the requirements models to an OWL ontology by using the mapping described in this paper. For debugging the OWL ontology we use Protégé. Protégé also provides interfaces to the DL reasoners Pellet and Racer. For debugging inference behavior we apply Pellint. <ref type="foot" target="#foot_2">6</ref> The similarity computation is a further JAVA-component developed by us. It traverses the classified ontology for computing similarity values as presented in Section 6. This similarity measure is combined with other measures and integrated in the above mentioned software development tool.</p><p>Experiments. Firstly, we created almost 50 small, artificial requirements models. These models vary only in particular elements e.g. one word is added, one word is replaced by a more specific term, one sentence is added etc.. Comparing the similarity values for these requirements models we could analyze the impact of particular modifications in detail. Furthermore, we could show that the ontology-based similarity measure computes the same similarity ranking for these test cases as considered plausible by us beforehand.</p><p>For applying the approach in a broader scale, 16 industrial software cases have been created by four software development organizations using the above mentioned tool. The application domains are in the area of internet banking, investment funds management, emergency systems, forestry systems, financial contract systems, and funding systems. The requirements models contained 261 requirements written in RSL in total, which mapped to more than 30.000 defined concepts. We were able to reduce the number of defined concepts to about 8.000 by converting only concepts that are relevant for the ontology-based similarity computation (see Section 4).</p><p>In addition, 8 more partial requirements models were created. These models were used to query the repository of the above mentioned cases. The development teams were to determine the compliance of their understanding of similarity and the computed measures. This was subject to UTAUT analysis <ref type="bibr" target="#b15">[16]</ref> which included appropriate questionnaires asking about the similarity measures. The results of the analysis showed general positive attitude and acceptance of the developers. It resulted also with several remarks which allow for additional improvements in the classification approach. Namely, further work will extend the number of tractable concepts (which is limited through the capabilities of the used DL-reasoners). The currently gathered repository of software cases gives good means to further experiment in this direction.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="8">Discussion and Related Work</head><p>As can be seen in Figure <ref type="figure">4</ref> the constructed ontology crosses the border between the levels M1 and M2. This is due to the fact that the instance-of relationship between an element on Level M1 (e.g. a specific SVO sentence) and its class (like the RSL class SVOSentence) on Level M2 is mapped to a specialization relation of appropriate concepts in the ontology. Or, as we introduced it in Section 4, the metamodel of RSL is represented as an upper-model in the ontology. By doing so, definitions of the metamodel can be used within the ontology, i.e. by reasoning techniques. This mapping is slightly different from those described in <ref type="bibr" target="#b16">[17]</ref> where a level-wise mapping is proposed. With our mapping the detailed metamodel of RSL is used in the ontology for preclassifying the elements of M1, i.e. the elements of a requirements model. Thus, the M1-elements are not subconcepts of the root Thing but of specific concepts like SVOSentence or VerbPhrase. The preclassification provokes that the taxonomical distance between different elements is higher than it would have been without preclassification where all elements are subconcepts of Thing.</p><p>Other reasoning techniques like Instance Checking could be used for verifying if a given requirements model complies to the RSL metamodel (i.e. model confirmation). However, this is not needed in our case, since the software development tool mentioned above already ensures that each requirements model is compliant with the RSL metamodel.</p><p>Some approaches allow the user to use natural language (e.g. <ref type="bibr" target="#b17">[18]</ref>). This results in the need to parse the text which can lead to more than one possible model due to language ambiguities. On the contrary, formal languages which avoid such ambiguities like Z are not easy to understand for all stakeholders. RSL combines the advantages of both alternatives. It is understandable for its users <ref type="bibr" target="#b6">[7]</ref> and provides unambiguous requirements models that can directly be mapped onto ontology elements.</p><p>ORE <ref type="bibr" target="#b18">[19]</ref> uses a similar approach to define the meaning of words in a specification; they are related to concepts of an ontology. However, OREs support is based on a domain-specific ontology containing domain-dependent inference rules that need to be developed and maintained. The same holds for the ontology-driven requirements analysis described in <ref type="bibr" target="#b19">[20]</ref>. In contrast, our approach is independent of domain-specific inference rules. We only require the mature semantic lexicon WordNet as input for our approach.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="9">Summary</head><p>In this paper, we presented our new combination of MOF-based requirements models and reasoning techniques from Description Logic for supporting the reuse of similar software cases. We showed how we represent the MOF-based models in an ontology. Special in our approach is that we combine elements from different levels (i.e. M2 and M1) within one taxonomy in our ontology. Doing so, we are able to infer taxonomical relations implicitly contained in requirements models. These inferred taxonomical relations are used by our ontology-based similarity measure. Current experiments using industrial software cases show promising validation results.</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. Example of an elementary software case (R21,D21,C21) with a query (Q1)</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Figure 1 Fig. 2 .</head><label>12</label><figDesc>Fig. 2. Fragment of the RSL metamodel</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>Fig. 3 .Fig. 4 .</head><label>34</label><figDesc>Fig. 3. Definition of an upper model concept representing the RSL class SVOSentence.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_4"><head>Fig. 5 .</head><label>5</label><figDesc>Fig. 5. Concepts in the ontology representing classes from the M2 and the M1 level.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_5"><head>(</head><label></label><figDesc></figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_6"><head>Fig. 6 .</head><label>6</label><figDesc>Fig. 6. Parts of the definition of the SVO sentence "Guest chooses equipment.".</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_7"><head>Fig. 7 .</head><label>7</label><figDesc>Fig. 7. Mapping synsets into concepts.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_8"><head>Fig. 8 .</head><label>8</label><figDesc>Fig. 8. Left side: synset taxonomy mapped from WordNet. Right side: cutout of inferred hierarchy: classification results are emphasized in gray and blue font.</figDesc><graphic coords="10,137.07,483.94,123.50,147.28" type="bitmap" /></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="3" xml:id="foot_0">clarkparsia.com/pellet, www.racer-systems.com</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="4" xml:id="foot_1">With this font we will denote elements of the RSL metamodel.</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="6" xml:id="foot_2">protege.stanford.edu, pellet.owldl.com/pellint</note>
		</body>
		<back>

			<div type="acknowledgement">
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Acknowledgments. This work is partially funded by the EU: Requirements-Driven Software Development System (ReDSeeDS) (contract no. IST-2006-33596 under 6FP). The project is coordinated by Infovide, Poland with technical lead of Warsaw University of Technology and with University of Koblenz-Landau, Vienna University of Technology, Fraunhofer IESE, University of Latvia, HITeC e.V. c/o University of Hamburg, Heriot-Watt University, PRO DV, Cybersoft and Algoritmu Sistemos.</p></div>
			</div>

			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<monogr>
		<title level="m" type="main">WordNet: An Electronic Lexical Database</title>
		<author>
			<persName><forename type="first">C</forename><surname>Fellbaum</surname></persName>
		</author>
		<imprint>
			<date type="published" when="1998">1998</date>
			<publisher>MIT Press</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">A combined similarity measure for determining similarity of model-based and descriptive requirements</title>
		<author>
			<persName><forename type="first">K</forename><surname>Wolter</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Krebs</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Hotz</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceeding of the Artificial Intelligence Techniques in Software Engineering Workshop (AISEW) at the ECAI 2008</title>
				<meeting>eeding of the Artificial Intelligence Techniques in Software Engineering Workshop (AISEW) at the ECAI 2008</meeting>
		<imprint>
			<date type="published" when="2008">2008</date>
			<biblScope unit="page" from="11" to="15" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">Similarity-driven software reuse</title>
		<author>
			<persName><forename type="first">D</forename><surname>Bildhauer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Horn</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Ebert</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">International Workshop on Comparison and Versioning of Software Models (CVSM</title>
				<imprint>
			<date type="published" when="2009">2009</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<monogr>
		<title level="m" type="main">The Description Logic Handbook</title>
		<author>
			<persName><forename type="first">F</forename><surname>Baader</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Calvanese</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Mcguinness</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Nardi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Patel-Schneider</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2003">2003</date>
			<publisher>Cambridge University Press</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">Model transformation language MOLA</title>
		<author>
			<persName><forename type="first">A</forename><surname>Kalnins</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Barzdins</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Celms</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Lecture Notes in Computer Science</title>
		<imprint>
			<biblScope unit="volume">3599</biblScope>
			<biblScope unit="page" from="14" to="28" />
			<date type="published" when="2004">2004</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<monogr>
		<author>
			<persName><forename type="first">A</forename><surname>Kalnins</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Kalnina</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Celms</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Sostaks</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Schwarz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Ambroziewicz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Bojarski</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Nowakowski</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Straszak</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Kavaldjian</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Falb</surname></persName>
		</author>
		<ptr target="www.redseeds.eu" />
		<title level="m">Reusable case transformation rule specification</title>
				<imprint>
			<date type="published" when="2007">2007</date>
			<biblScope unit="volume">3</biblScope>
		</imprint>
	</monogr>
	<note type="report_type">Project Deliverable D3</note>
	<note>ReDSeeDS Project</note>
</biblStruct>

<biblStruct xml:id="b6">
	<monogr>
		<title level="m" type="main">Requirements specification language validation report</title>
		<author>
			<persName><forename type="first">K</forename><forename type="middle">S</forename><surname>Mukasa</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Jedlitschka</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Graf</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Klöckner</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Eisenbarth</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Steinbach-Nordmann</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2007">2007</date>
			<publisher>ReDSeeDS Project</publisher>
		</imprint>
	</monogr>
	<note>Project Deliverable D2.5.1</note>
</biblStruct>

<biblStruct xml:id="b7">
	<monogr>
		<title level="m" type="main">Requirements specification language definition</title>
		<author>
			<persName><forename type="first">H</forename><surname>Kaindl</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Śmia Lek</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Svetinovic</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Ambroziewicz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Bojarski</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Nowakowski</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Straszak</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Schwarz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Bildhauer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">P</forename><surname>Brogan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><forename type="middle">S</forename><surname>Mukasa</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Wolter</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Krebs</surname></persName>
		</author>
		<ptr target="www.redseeds.eu" />
		<imprint>
			<date type="published" when="2007">2007</date>
		</imprint>
	</monogr>
	<note>Project Deliverable D2.4.1. ReDSeeDS Project</note>
</biblStruct>

<biblStruct xml:id="b8">
	<monogr>
		<ptr target="http://www.w3.org/TR/owl-features" />
		<title level="m">W3C: OWL Web Ontology Language Overview</title>
				<imprint>
			<date type="published" when="2004">2004</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">Description-logic knowledge representation system specification from the KRSS group of the ARPA knowledge sharing effort</title>
		<author>
			<persName><forename type="first">P</forename><forename type="middle">F</forename><surname>Patel-Schneider</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">DARPA Knowledge Representation System Specification (KRSS) Group of the Knowledge Sharing Initiative</title>
				<imprint>
			<date type="published" when="1993">1993</date>
		</imprint>
	</monogr>
	<note type="report_type">Technical report</note>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">Ontology-based Similarity of Software Cases</title>
		<author>
			<persName><forename type="first">L</forename><surname>Hotz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Wolter</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Solth</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">International Conference on Knowledge Engineering and Ontology Development</title>
				<imprint>
			<date type="published" when="2009">2009</date>
		</imprint>
	</monogr>
	<note>to appear</note>
</biblStruct>

<biblStruct xml:id="b11">
	<analytic>
		<title level="a" type="main">Towards measuring similarity in description logics</title>
		<author>
			<persName><forename type="first">A</forename><surname>Borgida</surname></persName>
		</author>
		<author>
			<persName><surname>Walsh</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Thomas</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Hirsh</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">International Workshop on Description Logics</title>
				<meeting><address><addrLine>Edinburgh, Scotland</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2005">DL2005. 2005</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<analytic>
		<title level="a" type="main">Applying DLs for retrieval in case-based reasoning</title>
		<author>
			<persName><forename type="first">P</forename><forename type="middle">A</forename><surname>González-Calero</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Gómez-Albarran</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Díaz-Agudo</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. of the 1999 International Workshop on Description Logics (DL&apos;99</title>
				<meeting>of the 1999 International Workshop on Description Logics (DL&apos;99</meeting>
		<imprint>
			<date type="published" when="1999">1999</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<monogr>
		<title level="m" type="main">ReD-SeeDS: Requirements Driven Software Development System</title>
		<author>
			<persName><forename type="first">M</forename><surname>Śmia Lek</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Ambroziewicz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Bojarski</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Nowakowski</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Straszak</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2009">2009</date>
		</imprint>
	</monogr>
	<note>to be presented at ICSR 09. tool demo</note>
</biblStruct>

<biblStruct xml:id="b14">
	<monogr>
		<author>
			<persName><forename type="first">P</forename><surname>Dahm</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Widmann</surname></persName>
		</author>
		<title level="m">GraLab -Das Graphenlabor</title>
				<imprint>
			<date type="published" when="2003">2003</date>
			<biblScope unit="volume">3</biblScope>
		</imprint>
		<respStmt>
			<orgName>University of Koblenz-Landau, Institute for Software Technology</orgName>
		</respStmt>
	</monogr>
	<note>Projektbericht 4</note>
</biblStruct>

<biblStruct xml:id="b15">
	<analytic>
		<title level="a" type="main">User acceptance of information technology: Toward a unified view</title>
		<author>
			<persName><forename type="first">V</forename><surname>Venkatesh</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><forename type="middle">H</forename><surname>Smith</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">G</forename><surname>Morris</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><forename type="middle">B</forename><surname>Davis</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><forename type="middle">D</forename><surname>Davis</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">MIS Quarterly</title>
		<imprint>
			<biblScope unit="volume">27</biblScope>
			<biblScope unit="page" from="425" to="478" />
			<date type="published" when="2003">2003</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b16">
	<monogr>
		<title level="m" type="main">Successful Stories and Potential Patterns on Applying Ontologies in Software Engineering</title>
		<author>
			<persName><forename type="first">Y</forename><surname>Zhao</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">Z</forename><surname>Pan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><forename type="middle">S</forename><surname>Pareiras</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Walter</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Gröner</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>Ren</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Jekjantuk</surname></persName>
		</author>
		<idno>WP3-D6</idno>
		<imprint>
			<date type="published" when="2008">2008</date>
		</imprint>
	</monogr>
	<note type="report_type">MOST Project</note>
</biblStruct>

<biblStruct xml:id="b17">
	<analytic>
		<title level="a" type="main">Configuring Models for (Controlled) Languages</title>
		<author>
			<persName><forename type="first">M</forename><surname>Kleiner</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Albert</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Bezivin</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the IJCAI-09 Workshop on Configuration</title>
				<meeting>the IJCAI-09 Workshop on Configuration</meeting>
		<imprint>
			<date type="published" when="2009">2009</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b18">
	<analytic>
		<title level="a" type="main">Using domain ontology as domain knowledge for requirements elicitation</title>
		<author>
			<persName><forename type="first">H</forename><surname>Kaiya</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Saeki</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. of 14th IEEE International Requirements Engineering Conference (RE&apos;06)</title>
				<meeting>of 14th IEEE International Requirements Engineering Conference (RE&apos;06)</meeting>
		<imprint>
			<date type="published" when="2006">2006</date>
			<biblScope unit="page" from="189" to="198" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b19">
	<analytic>
		<title level="a" type="main">Heavyweight semantic inducement for requirement elicitation and analysis</title>
		<author>
			<persName><forename type="first">W</forename><surname>Liu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><forename type="middle">Q</forename><surname>He</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Wang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Peng</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the Third International Conference on Semantics, Knowledge and Grid</title>
				<meeting>the Third International Conference on Semantics, Knowledge and Grid<address><addrLine>Washington, DC, USA</addrLine></address></meeting>
		<imprint>
			<publisher>IEEE Computer Society</publisher>
			<date type="published" when="2007">2007</date>
			<biblScope unit="page" from="206" to="211" />
		</imprint>
	</monogr>
	<note>SKG &apos;07</note>
</biblStruct>

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