A Domain Ontology Building Process for Guiding Requirements Elicitation (2010) By Inah Omoronyia1, Guttorm Sindre1, Tor Stålhane1, Stefan Biffl2, Thomas Moser2, and Wikan Sunindyo2 1 Department 2 Institute of Computer and Information Science, Norwegian University of Science and Technology, Trondheim, Norway of Software Technology and Interactive Systems, Vienna University of Technology, Vienna, Austria Redo - Assignment 1 Bernadette Budhawara 0335924 INFOME-2013 1|P a g e Introduction Requirements elicitation is one main activity of requirements engineering. It has objective to understand the business process in the application domain, generate list of activities within the process and discovers restriction, regulation and boundaries within the process (Kaiya & Saeki, 2006). Requirements engineering defines as a discipline that elaborate customer’s needs through communication, documentation and implementation (Farfeleder et al., 2011). In this research, the researchers used ontology in eliciting the requirement in order to map and remove gaps between assumptions and decisions during the process (Omoronyia et al., 2010). Ontologies are schemes for reading the meta-data. It controlled the vocabulary concept of the given texts, provides the match definition for each word and processes it semantically (Maedche & Staab, 2001) and it based on the real world communication structures concept (Gruber, 1993). The procedure continued by clustered the output from requirement elicitation and map it into one specific knowledge domain (Gruninger & Lee, 2002). The research goal is proposed a new method as guidance to perform requirements elicitation based on ontology in a semi-automated way, which not yet covered by the preceding ontology based requirements elicitations methods proposed by Lee & Zhao (2006) and Shibaoka et al. (2007). The last two proposed methods need some manual ontology processing steps before some statements can be processed in requirements elicitation, which might increases chance of input inconsistencies for requirement elicitations. For example if the requirements statement analyzed by two ontology analysts, both fluent in English but originally come from two different countries – for instance one from India while the others from Macedonia. The ontology analytic results might be differs as their understanding toward the topics as each vocabularies and its semantic relationship translated differently. Thus, from industry perspective, the deliverable of this research might be useful in decreasing the chance of input inconsistency and the amount of tasks needed in processing the documents that need to be interpreted by domain experts/ ontology analyst. The proposed method called Rule-based ontology for requirements elicitation. It provides some possibilities for capturing the initial or baseline concepts-relations and map it to a specific domain ontology based on some existing texts. Their rule-based ontology for requirements elicitation method which consists of the following steps: (1) Prepare the text documents manually by removing symbols and/ or edit the text format; (2) Trail brackets; automatically map brackets or dashes and change it into punctuation marks and generate supplementary texts. For example in the given sentence: ‘mobile-phone makers (Nokia, Samsung, Apple, Blackberry and many others)’. Bracket trailing will extract the “Nokia”, “Samsung”, “Apple”, “Blackberry” and “many others” and related with the concept “makers”; (3) Complete bridged-term; locate and correcting bridge-term in the text. Given the phrase “inhale and exhale respiration methods”, with bridged-term completion it should suggest the combine terms “inhale respiration methods” and “exhale respiration methods” as concepts than just “inhale”; (4) Extract SPO (subject-predicate-object); automatically identify subjects, predicates and objects, continue with categorize them as concepts and relations between concepts; (5) Mine association; automatically identifies head and link it to the origin subjects/ objects from the previous step; and (6) Cluster the (finding) concepts-relations. The output will be used by requirement analyst or product manager to start the requirements analysis and negotiation phase. The authors were six academic researchers from Department of Computer and Information Science in Norwegian University of Science and Technology and Institute of Software Technology and Interactive Systems in Vienna University of Technology. All of them have a software engineering academic background and specialize in semantic programming and interactive systems. 2|P a g e Example This section discusses the use case of the method in processing the following texts as part of requirement. The given requirement text is a part of project requirement for creating management report called Overview OU. Requirement texts: The Overview OU report is a management report that shows the availability hours from each resource. The report must shows conflict between direct and indirect hours from each resource. The conflicts should be visible. The manager should be able to access this report and exportable into a spreadsheet format file (excel and csv). This report updated every days and the manager will receive a notification if the report is not ready or corrupted. The following are the steps the reviewer took to adapt the Rule-based ontology for requirements elicitation method in processing the requirement texts. (1) Prepare the text documents manually by removing symbols and/ or edit the text format; The text does not contain any symbols, continue with step 2. (2) Trailing any brackets; Locate some texts within the brackets, which are “excel” and “csv” and link it to concept “file”. No other brackets found. (3) Complete bridged-term; Locate some texts that consider as bridge-term. Those are “..direct and indirect hours”. After the correction the concepts are “direct hours” and “indirect hours” (4) Extract SPO (subject-predicate-object) into concept – relations. The extraction starts with the first text. In this example it first extract “The” addressing title of the report, continue with “Overview”, “OU”, “report” and so on. (5) Mine association. Identified the associations between concepts with head – parent-child relationships, based on the given text the parent-child captured are “management report”, “report”, “availability hours”, hours”, “management”, “manager”, “access”, and “format file” (6) Finalize the finding concepts and relations into clusters. Cluster the finding concepts and relation. Explicit concepts/ relations are collected directly from the requirements text, while assumed concepts/ relations are results of reasoned based to cluster concepts. The results of extractions summarize into concepts and relations displayed in table and graph as follow (light yellow marked is the parent-child): Concept Relations Assumed Explicit Assumed Explicit Parent-Child 8 23 6 8 9 3|P a g e Related Literatures The following sections discuss the reference techniques and researches used as basic in developing the Rule-based ontology for requirements elicitation method. Natural Language Processing (NLP) techniques use as research basic concept in extracting relations and concepts from requirements statement to specific domain ontologies as its adapts the human processing the language, which gives the correct support reasoning in processing the given tasks (Liddy, 2001). NLP part-of-speech (POS) tagging and sentences parsers tools developed by Stanford parser/tagger and OpenNLP used. It marks the corresponding relation between a text to one specific part of statement or speech based on its definition and context (Choi, 2000). In completing this research, the team also conducted some preliminary research on requirements engineering (Falbo, 2002) and conceptual structures (Sowa, 1994). The objective of this preliminary research is to understand the steps that requirements analyst takes in order to elicit the requirement with ontology method and the Artificial Intelligence mechanism that based on synthesis of logic and linguistics. A model developed by Kof (2005) used as case reference in adapting the natural language processing in modeling the method. The three extraction steps (extract terms, cluster term and locate associations between terms) expanded in the designed method. This method evaluated in one industrial case and it concludes as one feasible approach for requirement elicitation with ontology in semi-automatic way, as it explained by the authors. Further, this method used by other scholars as reference in constructs and explores a new domain ontologies based on requirement elicitation (Farfeleder et al., 2011), requirement specification (Bures et al., 2012), and defining a shared understanding between engineers and client (Zhang, 2011). 4|P a g e References Bures, T., Hnetynka, P., Kroha, P., & Simko, V. (2012). Requirement Specifications Using Natural Language. Technical Report D3S-TR-2012-05. Czechoslovakia: Charles University in Prague. Choi, F.Y.Y., (2000). Advances in domain independent linear text segmentation. Proceedings of the 1st North American Chapter of the Association for Computational Linguistics Conference, (pp. 26-33). Falbo, R.d.A., Guizzardi, G., & Duarte, K.C. (2002). An ontological approach to domain engineering. Proceedings of the 14th International Conference on Software Engineering and Knowledge Engineering, (pp. 351-358). Farfeleder, S., Moser, T., Krall, A., Stålhane, T., Omoronyia, I., & Zojer, H. (2011). Ontology-Driven Guidance for Requirements Elicitation. Lecture Notes in Computer Science Volume 6644 (pp. 212-226), Berlin, Germany, Springer Berlin Heidelberg. 0302-9743. Gruber, T.R. (1993). A translation approach to portable ontology specifications. Knowledge Acquisition 5(2), (pp.199-220). Gruninger, M. & Lee, J., (2002) Ontology: Applications and Design. Communication of the ACM, 45(2), (pp. 39-41). Kaiya, H. & Saeki, M., (2006). Using Domain Ontology as Domain Knowledge for Requirements Elicitation. Requirements Engineering, 14th IEEE International Conference, (pp. 189-198). Kof, L. (2005). An Application of Natural Language Processing to Domain Modelling - Two Case Studies. International Journal on Computer Systems Science Engineering 20, (pp. 37–52). Lee, Y. & Zhao, W., (2006). Domain Requirements Elicitation and Analysis – An Ontology-Based Approach. Proceedings of the First International Multi-Symposiums on Computer and Computational Science, (pp. 805-813). Liddy, E.D. (2001). Natural Language Processing. Encyclopedia of Library and Information Science, 2nd edn. Marcel Decker, Inc., New York, USA. Maedche, A. & Staab, S., (2001). Ontology Learning for the Semantic Seb. Intelligent Systems, IEEE, (pp. 72-79). Omoronyia, I., Sindre, G., Stålhane, T., Biffl, S., Moser, T., & Sunindyo, W. (2010). A Domain Ontology Building Process for Guiding Requirements Elicitation. In R. Wieringa and A. Persson (Eds.): REFSQ 2010, LNCS 6182, (pp.188–202).Springer-Verlag Berlin Heidelberg. Shibaoka, M., Kaiya, H. & Saeki, M., (2007). GOORE: Goal-Oriented and Ontology Driven Requirements Elicitation Method. ER Workshops 2007, (pp. 225-234) Zhang, X. (2011). An Interactive Approach of Ontology-based Requirement Elicitation for Software Customization. Electronic Theses and Dissertations, University of Windsor, Windsor, Canada. 5|P a g e