Ontology Driven Requirements Query - CiteSeerX

1 downloads 94 Views 251KB Size Report
Consider the query. “May I rent a car in Atlanta and return it in Miami?” .... company. The ExpressionCondition defined in the. Discounting extension point means that the use case. Make a .... inputs of the event of making bread are. TableSalt ...
Proceedings of the 40th Hawaii International Conference on System Sciences - 2007

Ontology Driven Requirements Query Jordi Conesa Caralt Department of Software Technical University of Catalonia [email protected]

Abstract Use cases are commonly used to represent customers’ requirements during systems development. In a large software development environment, finding a relevant use case from a large use case library created in the past or related projects is a complex, error-prone and expensive task. Based on the semantic web approach, we propose an ontological methodology to support this task. We use an ontology to augment use cases with semantic information. This ontology is derived from ResearchCyc ontology. We also propose the augmentation of queries used to retrieve use cases with this ontology. We present this approach to better capture, reuse and query use cases

1. Introduction Requirements engineering (RE) which is concerned with acquiring and analyzing customer requirements is a critical activity in software development. Use cases are gaining popularity in RE to represent customers’ requirements due to their simplicity and the use of natural language to facilitate the interaction between analysts and customers. In complex and large-scale systems development, the number of use cases that are needed to fully specify customer requirements can grow tremendously. In such systems development, the ability to manage the development and use of use cases will significantly enhance project success. Specifically, appropriate techniques for the development, reuse, and modification of use cases are essential. Also, it is necessary to establish traceability from use cases to their sources and the artifacts created during systems development. The use of natural language in use cases, while arguably the primary reason for their popularity, also poses interesting challenges. Use cases expressed in natural language inherit some of the major problems with natural language based specifications: i.e. they are more likely to be inherently imprecise,

Jong Woo Kim Department of Computer Information Systems Georgia State University [email protected] ambiguous, incomplete and inconsistent. Therefore, approaches that improve the semantic richness of use cases will significantly improve the ability to manage their development and use. Motivated by this concern, our research uses an ontology to improve the semantics of use cases. We demonstrate how this approach can improve the ability to retrieve use cases that are relevant to a current project from a repository developed in the past and similar projects. It is well established in the literature on software reuse that significant benefits in software development productivity can be gained by reusing artifacts developed early in the lifecycle rather than late in the lifecycle. We suggest that the reuse of use cases provides such an opportunity for significant savings. In this paper, we focus on improving the ability to retrieve use cases from a repository, which is a critical step in facilitating their reuse. However, present case tools provide only key word based search capability to retrieve use cases. In contrast, we propose an approach which draws from the concept of the Semantic Web. The Semantic Web [1] refers to the Internet of the future. The goal of Semantic Web is to provide information with a well-defined meaning for machine-to-machine communication. XML is used to add semantic description to original information. To add semantic information, the Semantic Web approach uses ontologies. Ontology is an explicit specification of a conceptualization. The term is borrowed from philosophy, where ontology refers to a systematic account of Existence [2]. By adding a well-defined meaning by using ontological information, the Semantic Web promises to provide better and meaningful search for information to both machines and humans. Our aim in this research is to apply this Semantic Web approach to improve the ability to retrieve relevant use cases in response to user queries. We posit that the augmentation of use cases with ontological information and a well defined structure will help overcome problems caused by the use of natural language in their specification and provide

Proceedings of the 40th Annual Hawaii International Conference on System Sciences (HICSS'07) 0-7695-2755-8/07 $20.00 © 2007 1530-1605/07 $20.00 © 2007 IEEE

.

1

Proceedings of the 40th Hawaii International Conference on System Sciences - 2007

better search results to users. The primary research question addressed in our research is “How can an ontology be used to improve the semantics of use cases and queries that are used to retrieve them from a repository?” To overcome the problems inherent in natural languages, prior research in RE has proposed several approaches. Sutton [3] proposed mutual learning that results from frequent and close interaction through prototyping and rapid application development. Park et al [4] argued that syntactic parsing may be used to analyze requirements more accurately. To improve requirement verification and validation, some researchers suggest the use of restricted formal expressions for requirements [5, 6]. Also, recently researchers have used an ontological approach in requirement engineering to improve requirements analysis [7]. They found that the ontological approach was useful in detecting incompleteness and inconsistency in requirements specification, measuring the quality of a specification and predicting requirements changes. While this research was concerned with the analysis of informal specifications, our approach which is similar in spirit uses an ontology to improve use cases and queries and is novel in the area of requirements engineering. The paper is structured as follows. In the section 2, we discuss related research. Our ontology for augmenting use cases is introduced in the section 3. We describe an approach to extend use cases with semantic information in the section 4. In the section 5 we discuss the development of queries based on our ontology. A proposed architecture for a system that implements our approach is presented in Section 6. Conclusions and further work are discussed in Section 7.

2 Related Research The term ontology defines a branch of the philosophy practiced since the time of ancient Greeks, for example Aristotle. It deals with the nature and organization of reality. Recently, ontology has gained wide popularity in the computer science community. In that context, an ontology is defined as the explicit specification of a conceptualization [2], understanding conceptualization as an abstract and simplified view of the world we want to represent. Obviously, due to the wide variations in “the world we want to represent” , there exists a wide range of different kinds of ontologies [8-10]. In our work, we are interested in general ontologies [10]. A general ontology contains general information rather than specifics relevant to a particular context. General ontologies tend to contain information, such as time

or space, that is independent of any domain, as well as general information dependent on some domains. Whereas the general information is useful in common sense reasoning, the domain information allows providing semantics to agents when applied in that domain. Creating use cases is often a first step in the acquisition of requirements from users. Its role as an effective communication vehicle to capture requirements from users is a reason for its increasing popularity. Engineers develop system design artifacts like state transition diagrams and class diagrams based on use cases. Thus, use cases often represent a critical starting point in the development life cycle. When stakeholders need to examine the relationships between the actual implementation and system requirements, they rely on use cases that document requirements. Thus, from a RE perspective, a use case is a key artifact that is created and managed throughout the entire processes of system development. A common task in RE is searching and exploring requirements (which may be documented as use cases) that were created earlier in the project or in other similar projects. This function is supported only to a limited extent by current requirements engineering and CASE tools. These tools typically provide key word based search capabilities similar to those used in web search engine like Yahoo or Google. Typically, such searches are not very helpful because of the ambiguities inherent in natural language. To overcome this problem, ontology based searching has been introduced by prior research. For example OntoSeek [11] is a system designed for content based information retrieval. OntoSeek leverages an ontology-driven content-matching mechanism. OntoSeek requires that contents be created using moderately expressive representation formalisms. Ontology based approach is also promising in solving problems in requirement engineering. Ramesh and Jarke [12] noted four critical needs for a requirements management system. These include abstraction mechanisms, inference services, thick description, and model driven trace capture and usage. These needs are not supported well by the current requirements management tools. In contrast, an ontology based approach offers the potential to satisfy these four needs. Prior research has examined the use of ontological approach in system development. Tetlow et al [13] discussed the benefits of applying an ontology in Systems and Software Engineering (SSE) practices. They recommended that engineers should use knowledge representation languages such as RDF and OWL which are common to the Semantic Web.

Proceedings of the 40th Annual Hawaii International Conference on System Sciences (HICSS'07) 0-7695-2755-8/07 $20.00 © 2007

2

Proceedings of the 40th Hawaii International Conference on System Sciences - 2007

Traceability management can be improved by ontology. Traceability is the ability to describe and follow the lifecycle of the conceptual or physical artifact in both backward (pre-traceability) and forward (posttraceability) direction [14]. For example, in the field of requirements engineering, traceability helps demonstrate that all the requirements are addressed by the various artifacts/features/components created during the system development life cycle and that the requirement can be traced back to its origin. Our research may improve traceability management by enabling users to find relevant use cases which represent the initial capturing of requirements in UML. They argue that real progress can be made in SSE when this approach is integrated with popular notations such as UML. Saeki [15] introduced an ontology-based technique to support software requirements elicitation and to compose software from reusable architecture, frameworks, components and software packages. This technique focused on semantic processing of requirements and reusable parts. Kaiya and Saeki [7] used an ontology that consisted of a thesaurus and a set of inference rules to detect incompleteness and inconsistency, measure the quality of a specification and predict requirements

changes. Although prior research has tried to address issues related to resolving ambiguities in requirements by applying linguistic techniques to use case analysis, they do not provide clear explanations on how they handled domain knowledge [16, 17].

3. Using an Ontological Approach to Use Cases Query Based on the semantic web approach, we propose an ontological approach which adds ontology information to use cases. We propose using ontologies to describe the semantic information about use cases diagrams, that is, identify the meaning of each use case, its relationships and its actors. Even though there are several requirement ontologies [18, 7, 19], they are too specific to particular contexts to be useful in our approach. In particular, they describe specific requirement aspects, such as the quality of service or the security, instead of information about the domain the use cases deal with. Nevertheless, since our approach only deals with the semantic aspects of use case diagrams, these ontologies may be used to complement our approach to provide more information about them.

Figure 1: Fragment of ACTION ontology (the gray classes denote lexical information)

Proceedings of the 40th Annual Hawaii International Conference on System Sciences (HICSS'07) 0-7695-2755-8/07 $20.00 © 2007

3

Proceedings of the 40th Hawaii International Conference on System Sciences - 2007

Figure 2: The main event types of ACTIONS and the number of event types they contain We choose a fragment of ResearchCyc asks about use case diagrams that describe how to rent (http://research.cyc.com) as our general ontology a GPS in a rental car information system. If the ReserchCyc is a full version of the Cyc knowledge repository of specifications does not have a specific base [20] for the scientific community and contains use case for renting a GPS, a use case that explains more than 2 million assertions (facts and rules) how to make a reservation is likely to the one that describing more than 250,000 terms and including should be examined by the user. (See use case Make a nearly 15,000 predicates [21]. We believe that the Reservation in Figure 4). Using our approach the quantity and quality of the information it contains system can infer that information, because: about actions which the use cases usually specify are x it does not find any use case for renting a GPS, superior to those of other ontologies; hence its use in and our research on use cases which is concerned with x it finds that GPS is part of a car, and specifications of actions performed by systems. In x there is a process for renting cars. particular, ResearchCyc contains a taxonomy of more The system selects the Make Reservation use case than 6,000 actions. by using the heuristic “if a specific use case that Our approach uses a combination of linguistic, describes an action A (reserve) for a concept C (GPS) semantic and extensional knowledge to answer the does not exist, then such an action tend to be specified queries about use cases more intelligently. This leads in the use case that describes the same action A our choice of using ResearchCyc in our approach (reserve) over a concept C’ (car) that includes C because, to our knowledge, Cyc is the only ontology (GPS). that contains linguistic, semantic and extensional Further, the extensional information, which is also knowledge. The linguistic information (such as known as factual knowledge, may be used to answer synonyms) is used to deal with some ambiguities of queries in which the designer asks about a possible the natural language. The semantic information is state represented by the use case. Consider the query used to develop more intelligent queries, as we can “May I rent a car in Atlanta and return it in Miami?” see in the following example: Suppose the designer The system knows that Atlanta and Miami are Cities

Proceedings of the 40th Annual Hawaii International Conference on System Sciences (HICSS'07) 0-7695-2755-8/07 $20.00 © 2007

4

Proceedings of the 40th Hawaii International Conference on System Sciences - 2007

(because the ontology contains the factual information that states that Atlanta and Miami are instances of the City entity type), and that the rental process has an origin and destination city (because the ontology says so). Therefore, the system is able to infer that Atlanta and Miami are the origin and destination cities. Hence, the required information should be in the rental use case, because all the elements referred into the query are contained there. This is an appropriate result because this use case describes whether such a rental is allowed or not. Note that this result cannot be obtained automatically when the ontology does not state that Atlanta and Miami are cities. As aforementioned, the current ontological approaches that deal with requirements use thesaurus to support the query process. It should be noted that a thesaurus does not contain semantic information and extensional information. Therefore advanced inferences cannot be made with such approaches. On the other hand, the semantic information present in general ontologies may provide a more powerful ability in the development and reuse of use cases.

3.1 ACTION: The ACTIons Ontology ResearchCyc contains information about several domains. However, in order to annotate use cases, we are only interested in the concepts that may represent the actions the use cases define. Therefore, we created the Actions Ontology (ACTION) to extend use cases. ACTION is created from the ResearchCyc ontology, by selecting all the sub types of its Event concept. That concept in ResearchCyc is defined as the dynamic situation in which the state of the world changes. The concepts related to Event or any of its subtypes through relationship types are also maintained in the ontology. The rest of concepts have been deleted using a pruning algorithm [22]. The taxonomy of Events defined in the ontology contains more than six thousand different kinds of events that cover most of the actions that information systems commonly record. In addition, ACTION also contains lexical information. In particular, it contains words that denote each of the actions. Figure 1 shows a fragment of the actions ontology. The concepts in grey represent the linguistic information related to the events in the ontology. For example, MakingAReservation event is related to the words book and reserve. The ontology also contains the different ways (conjugations) in which those words may be used in a text or a query. For example, the word book may be written as “books, booking, booked, will have booked…”. ACTION covers information on many domain ontologies (e.g. rental processes, terrorist actions,

piracy actions). Although ACTION broadly covers most of the relevant domains for information systems, it may be updated and extended to particular domains in which a system is developed in order to accurately classify related actions further. Although it contains some linguistic and extensional information, this information is limited. We believe it can be extended with new linguistic information (for example, with WordNet) [23, 24], and new extensional information, such as using the web to populate the ontology [25]. Figure 2 shows some of the most important topics of ACTION and the number of subtypes they have.

3.2 The Domain Ontology When ACTION is used extend use cases with semantics, sometimes it may not provide sufficient information to generate a satisfactory answer to a users’ query. For example, suppose the designer searches a use case repository with a query: How to rent a GPS? As aforesaid, the system can infer that the use case Make a Reservation is relevant for renting a GPS. To perform this inference, the system needs to know that in the context of this query, the GPS is a part of a car. Unfortunately, ResearchCyc does not contain the information that a GPS may be part of a Car. This problem can be solved by using an automobile domain ontology. Therefore, we believe that using a domain otology (or a set of them) relevant to the domains that the use cases deal with will be very useful in improving the inferences that are necessary for effective RE.

4. Extending the Use Cases with Semantics Since Use Case diagram is a part of UML, they may be extended using the UML extension mechanisms. The most suitable way to extend an UML constructions is through the use of profiles [26]. An extension that uses profiles can be used in most CASE tools because it is easy to understand and import. This section presents the profile we have created (Figure 3) to extend the UML Use Cases diagrams with the information from ACTION and domain ontologies. We explain the extensions of our profile for each construct extended:  Use Cases: the use cases are extended with two attributes describedBy and differentFrom.  describedBy: indicates the concepts of the ACTION ontology that represent the different processes performed in the use case.

Proceedings of the 40th Annual Hawaii International Conference on System Sciences (HICSS'07) 0-7695-2755-8/07 $20.00 © 2007

5

Proceedings of the 40th Hawaii International Conference on System Sciences - 2007

Figure 3: Profile of extending the use cases with semantic information  differentFrom: indicates the concepts of the ACTION ontology representing the processes that are not performed in the use case. This information is useful in stating that an action associated with the use case in a general context cannot be performed in a use case within the specific context of the information system. This information will also be useful in specifying possible actions that can be inferred are not valid in the context of the information system. For example, the Make a Reservation use case (see Figure 4) is related with the concept BondAgreement with a differentFrom attribute to indicate that, in the particular information system under consideration, the user is not required to pay a guaranty.  Extension Points: the extension points state the conditions that should be true to extend use cases with the behavior of the extending use case. The extension points are extended with two attributes ExtendsWhen and Satisfy.  ExtendsWhen: it represents the action that triggers the extension.  Satisfy: this specifies the condition the ExtendsWhen concept should satisfy. Although the condition may be written in any language, we use OCL language to define them.  Actors: the actors are also extended with the describedBy and differentFrom attributes. The

attributes have the same semantic as used in the use case context. In addition to the extension of the predefined use cases constructions, we have added new relationship types to express possible relationships between use cases. In particular, we extend use cases with three semantic dependencies between tasks described in [27]:  Goal: a depender depends upon a dependee to make a condition in the world come true. The dependency condition may be specified in the attribute condition.  Resource: a depender depends upon a dependee for the availability of an entity, which can be specified using the attribute entity.  Task: a depender depends upon a dependee to perform some activity, while the goal for having performed an activity is not given. Strength attribute is added to dependencies to indicate the strength of the dependency. Its possible values are open, committed and critical. In addition, the profile also contains integrity constraints that should be satisfied for it to be considered correct:  The semantic links can only be defined over use cases and actors (ValidSemanticLinks constraint).  A use case cannot be described by an incompatible concept (ValidDescribedBy constraint).

Proceedings of the 40th Annual Hawaii International Conference on System Sciences (HICSS'07) 0-7695-2755-8/07 $20.00 © 2007

6

Proceedings of the 40th Hawaii International Conference on System Sciences - 2007

 The Extension Condition stereotype can only be used by extension point constraints (OnlyExtensionPoints constraint)  Some subset constrains to the semantics of the new Task Dependence Relationship. Figure 4 shows the extension of a use case that describes the specification of a rental car information system [28]. In particular, the describedBy attribute of the Make a Reservation use case means that it performs the actions MakingAReservation and ContractingAService as described in ACTION. The differentFrom attribute of use case states that in this information system a reservation does not require a guaranty. The semantics of the actor Clerk are the semantics defined in the entity type ReservationsClerk of ACTION, which is defined as a clerical worker in the reservations department of a company. The ExpressionCondition defined in the Discounting extension point means that the use case Make a Reservation is extended with the behavior of Make a Discount depending on the value of the holdsSometimeDuring ACTION relationship type. This relationship type relates a Temporal Think with a Date and it means that the temporal think is valid during the specified date. Therefore, a discount will

be done in a reservation if it the reservation is confirmed within its first week. The resource dependency between Cancel a reservation and Make a reservation means that it is necessary to perform a reservation before canceling a reservation; otherwise the resource needed in the cancellation (the Automobile) does not exist in the information system. The inclusion of semantic knowledge may make the use cases diagrams difficult to read. However, we believe that this semantic information, after defined, can be hidden from the designer and used for the CASE tool to assist and help the designer in the query, creation and modification of use cases. Since the use cases are annotated using the ACTION ontology, the quality of the annotation is highly dependent on the completeness of the ACTION ontology. Therefore, if the designer finds that the concepts of ACTION do not fit the purpose of a case study, the designer has two options: extend the ACTIONS ontology with the new actions that fit the use case, or leave the use case without adding semantic information.

Figure 4: Use case diagram extended with semantic information

Proceedings of the 40th Annual Hawaii International Conference on System Sciences (HICSS'07) 0-7695-2755-8/07 $20.00 © 2007

7

Proceedings of the 40th Hawaii International Conference on System Sciences - 2007

5. Ontology Driven Requirements Query The proposed methodology uses semantic and linguistic knowledge to identify the use cases that fits with the query of the user. Therefore, any web query methodology that deals with linguistic and semantic knowledge can be adapted to our context. The adaptation only requires replacing the web query engine with a use case query engine. In the following we define a simple query methodology to demonstrate the improvement that can be achieved with the queries and the viability of the approach. The presented query methodology is an adaptation of the web query methodology presented in [29]. Our query methodology is composed of three phases:

5.1 Query Parsing Phase This phase receives a query expressed in natural language from the user. The nouns, noun phrases and verbs are identified from the initial query using a POS Tagger [30]. The output of this phase is a set of query terms w1, ..., wn that are used as the initial query.

5.2 Concepts identification Phase The input of this phase is a set of words related to the use cases the user is interested in. The purpose of this phase is to find the concepts of ACTION and domain ontologies that represent the words of the query, or are closely related to them We say that a concept C represents a query term wi if: 1. wi is part of the noun of the concept, or 2. There is any linguistic relationship between the word wi and the concept C in the ontology (the relationship types of ACTION that define linguistic information are termStrings, denotation and genStringAssertion), or 3. a WordNet concept which is synonym of wi satisfy any of the two previous conditions. The output of this phase is a set of the concepts that represent the query words of the input {C1, ..., Cm}.

5.3 Query Inferences Phase The input of this phase is a set of concepts that represents the words the user has used in the query. The purpose of this phase is to select all the use case diagrams Ud1, ..., Udk that fit with (or are relevant to) the input concepts. In other words, the use case is related with some the concepts. We say a use case diagram Udi fits with a concept Cj if:

 The describedBy attribute of any of its use cases or actors is the concept Cj or any of its parents.  The describedBy attribute of any of its use cases or actors is a synonym of the Cj or the synonym of any of its parents.  The describedBy attribute of any of its use cases or actors is part of the concept Cj or any of its parents. A concept C1 is a part of another concept C2 if there is a part of relationship between C1 and C2, where C2 plays the role of whole.  The concept Cj participates in a relationship type called output or input of a concept associated with any of its use cases or actors by a describedBy, or with any of its parents. The relationship type output is used to define the output of an action in ACTION. The input relationship type defines an object that is destroyed or incorporated in another object during an event type. For example, the output of the MakingAReservation is a Reservation, and the inputs of the event of making bread are TableSalt, Water and FlourOrMeal. The above four rules are also used over the attribute ExtendsWhen and differentFrom to identify the extension conditions ECi and use cases UCi that fits with a concept Cj. The rationale for using the same technique for the differentFrom attribute is that the absence of a function in a use case also gives information about whether the use case performs such a function (maybe the user is interested in ascertaining whether a given action is not performed by the system). A use case diagram Udi also fits with a concept Cj if one of the query terms is a possible strength type (wi=”open” or wi=”committed” or wi=”critical”) defined between any of its use cases. Several diagrams can be related to a given query and therefore, the query result will be ordered according how well these diagrams fit the query. A use case diagram Ud1 is a better result for a query than the use case diagram Ud2 if the percentage of relevant constructions of Ud1 is greater than the percentage of relevant constructions of Ud2. Suppose, in the context of the rental car information system, the user wants to find the use case that deals with the reservation of the ‘child seats’ and makes the query “children car seat rental”. The second step identifies that the ACTION concept ChildrensCarSeat is the concept that describes the string “Children car seat”. Moreover the system also selects the concepts RentalProperty and Reservation (because they represent the string “rental”), Automobile (it represents car) and SeatingDevice, SeatingDeviceSeat, SittingDown and SeatCar because

Proceedings of the 40th Annual Hawaii International Conference on System Sciences (HICSS'07) 0-7695-2755-8/07 $20.00 © 2007

8

Proceedings of the 40th Hawaii International Conference on System Sciences - 2007

they are the denotations of the string “seat”. Therefore, the output of the second step will be the set {ChildrensCarSeat, RentalProperty, Reservation, SeatingDevice, SeatingDeviceSeat, SittingDown, SeatCar}. Thereafter, the query inference phase finds the concepts of the use cases related to the previously selected concepts. Here, we show how the search process works for the use case diagram in Figure 4. In the previous example the concept Reservation is the output of the event MakingAReservation, which is related by a describedBy attribute to the use case Make a Reservation. The concept SeatCar is part of an Automobile and resource dependency exists between Make a Reservation and Cancel a Reservation use cases. The concept SeatingDevice is also related to the Make a Reservation use case because it is a supertype of SeatCar. No more relationships between the query and the use case diagram may be inferred. Therefore, the system returns the use case shown in Figure 4 as result of the user’s query.

6. Architecture

as synonyms can be used. The Inference Module receives the selected concepts as input and tries to find the relationships between them and the concepts that have been used in the extension of the use case diagrams. The system will use heuristics to obtain the diagrams relevant for the user query. Finally, the Search Engine Interface will present selected use case diagrams to the user. The system can also provide a justification for selected or discarded use cases.

7 Conclusions and Further Work This research contributes to requirements engineering in several ways. First, our study identifies the problems with the use of natural language in use cases. To better manage a large number of use cases, we propose that an ontological approach for storing and searching use cases is necessary. We introduce ACTION which is a part of ResearchCyc ontology. Second, we demonstrate how ACTION can be combined with domain ontology and linguistic ontology like WordNet to improve use case query. Use case profile and system architecture designed for this purpose are also introduced. Future research will include the validation of prototype that implements our approach for its usefulness, time taken to perform the search and accuracy of results. Based on our approach, we will further examine ways to infer the relationships among use cases by using semantic information. With the proposed approach, users will be able to identify incomplete and inconsistent requirements thereby improving quality of systems. Our approach can be extended to develop a system to support automatic creation of use cases. The system will be able to use the instances of the ontology to create relevant use case examples automatically. Acknowledgments

Figure 5: System Architecture Figure 5 shows the architecture of our proposed system for ontology-driven use case query. It consists of: a) query parser module, b) relevant concepts identification module, c) inference module, and d) Search engine interface. The Query Parser Module captures the user’s query and parses it to return the part-of-speech for each term. The Relevant Concepts Identification Module interacts with ACTION, domain ontology (if necessary) and WordNet (we use WordNet due to the lack of some linguistic information (e.g. synonym and antonym) in ACTION). For each term it obtains the related concepts of the ACTION and domain ontologies. To obtain this information, linguistic relationships such

This work has been partly supported by the Ministerio de Educacion y Ciencia under project TIN 2005-06053.

References 1. Bernes-Lee, T., Semantic web road map, http://www.w3.org/DesignIssues/Semantic.html. October, 1998: W3C. 2. Gruber, T.R., Toward principles for the design of ontologies used for knowledge sharing, in Formal Ontology in Conceptual Analysis and Knowledge Representation, N. Guarino and R. Poli, Editors. 1993, Kluwer Academic Publishers: Deventer, The Netherlands.

Proceedings of the 40th Annual Hawaii International Conference on System Sciences (HICSS'07) 0-7695-2755-8/07 $20.00 © 2007

9

Proceedings of the 40th Hawaii International Conference on System Sciences - 2007

3. Sutton, D.C., Linguistic Problems with Requirements and Knowledge Elicitation. Requirements Engineering, 2000. 5(2): p. 114-124. 4. Park, S., et al., Implementation of an efficient requirments-analysis supporting system using similarity measure techniques. Information & Software Technology, 2000. 42(6): p. 429-438. 5. Marcia, B. and S. Pulman, A method for controlling the production of specifications in natural language. The Computer Journal, 1995. 38: p. 310-318. 6. NE, F. and S. U. Reasoning in Attempto Controlled English. in Proceedings of the International Workshop on Principles and Practice of Semantic Web Reasoning. 2003. 7. Kaiya, H. and M. Saeki. Ontology Based Requirements Analysis: Lightweight Semantic Processing Approach. in Fifth International Conference on Quality Software (QSIC'05). 2005. 8. Guarino, N., Formal Ontology and Information Systems, in Proceedings of the FOIS'98. 1998, IOS Press. p. 315. 9. Lassila, O. and D. McGuinness, The Role of FrameBased Representation on the Semantic Web, K.S. Laboratory, Editor. 2001, Stanford University: Stanford, California. p. 9. 10. Poli, R., Descriptive, formal and formalized ontologies. International Journal of Human-Computer Studies, 2002. 56(6): p. 639-664. 11. Guarino, N., C. Masolo, and G. Vetere, OntoSeek: Content-Based Access to the Web. IEEE Intelligent Systems, 1999. 14(3): p. 70 - 80. 12. Ramesh, B. and M. Jarke, Toward reference models for requirements traceability. IEEE Transactions on Software Engineering, 2001. 27(1): p. 58-93. 13. Tetlow, P., et al. Ontology Driven Architectures and Potential Uses of the Semantic Web in Systems and Software Engineering. 2006 [cited 2006 March 20]; Available from: http://www.w3.org/2001/sw/BestPractices/SE/ODA/060 103/. 14. Gotel, O.C.Z. and C.W. Finkelstein, An analysis of the requirements traceability problem. Requirements Engineering, 1994., Proceedings of the First International Conference on, 1994: p. 94-101. 15. Saeki, M., Ontology-Based Software Development Techniques, in ECRIM News. 2004. p. 14-15. 16. Fantechi, A., et al. Application of Linguistic Techniques for Use Case Analysis. in IEEE Joint International Conference on Requirements Engineering. 2002. 17. Fantechi, A., et al., Applications of linguistic techniques for use case analysis. Requirements Engineering, 2003. 8(3): p. 161-170. 18. Breitman, K.K. and J.C.S. do Prado Leite. Ontology as a requirements engineering product. 2003. 19. Xuefeng, Z. and J. Zhi. Inconsistency measurement of software requirements specifications: an ontologybased approach. 2005. 20. Cyc. Cyc Ontology. [cited; Available from: http://www.cyc.com. 21. Matuszek, C., et al. An Introduction to the Syntax and Content of Cyc. in 2006 AAAI Spring Symposium on

Formalizing and Compiling Background Knowledge and Its Applications to Knowledge Representation and Question Answering. 2006. 22. Conesa, J. and A. Olivé, A Method for Pruning Ontologies in the Development of Conceptual Schemas of Information Systems. Journal on Data Semantics, 2006. 5: p. 64-90. 23. Masters, J., Structured Knowledge Source Integration and its applications to information fusion, in Proceedings of the Fifth International Conference on Information Fusion. 2002: Annapolis. 24. O'Hara, T., et al., Inducing criteria for mass noun lexical mappings using the Cyc KB, and its extension to WordNet, in Proceedings of the Workshop on Computational Semantics. 2003: Tilburg. 25. Matuszek, C., et al., Searching for common sense: populating Cyc from the web, in Proceedings of the Twentieth National Conference on Artificial Intelligence. 2005. 26. OMG, UML 2.0 Superstructure Specification, 2.0 edition. August, 2003: OMG. 27. Yu, E. and J. Mylopoulos. Understanding Why in Software Process Modelling, Analysis, and Design. in 16th International Conference on Software Engineering. 1994. Sorrento, Italy. 28. Frias, L., A. Queralt, and A. Olivé, EU-Rent Car Rentals Specification. 2003, Technical University of Catalonia (UPC): Barcelona. p. 159. 29. Conesa, J., V.C. Storey, and V. Sugumaran, Using Semantic Knowledge to Improve Web Query Processing, in Proceedings of the 11th International Conference on Applications of Natural Language to Information Systems. 2006, Springer: Klagenfurt, Austria. p. 106-117. 30. Mason, O. QTag - a Portable POS Tagger. Accessed on Jan 7, 2005 [cited; Available from: http://www.english.bham.ac.uk/staff/omason/software/q tag.html.

Proceedings of the 40th Annual Hawaii International Conference on System Sciences (HICSS'07) 0-7695-2755-8/07 $20.00 © 2007

10

Suggest Documents