Tool Support for a Metamodeling Approach for Reasoning About Requirements

Tool Support for a Metamodeling Approach for Reasoning About Requirements

- Master’s thesis - Tool support for a metamodeling approach for reasoning about requirements Jan-Willem Veldhuis April 21, 2009 Comittee Research group A. Göknil, MSc. University of Twente dr. I. Kurtev, MSc. Faculty of Electrical Engineering, dr.ir. K.G. van den Berg Mathematics and Computer Science prof.dr.ir. M. Akşit Software Engineering Abstract In the Software Engineering practice, software requirements are one of the ear- liest artifacts describing a system. Without requirements we cannot verify the quality of a delivered software product. Requirements are mostly textual de- scriptions. Traceability is considered essential to manage consistency between software development artifacts. Many research focused on the relation between requirements and other artifacts such as design, code and test cases. However, less attention has been paid to the relation between requirements. G¨oknil et al. proposed a requirements metamodel. This provides structure to requirements models. This metamodel is distilled from key entities from several requirements engineering approaches described in literature. The main focus of the requirements metamodel is on requirements relations and their types. Furthermore, they provided formal semantics of the requirements relations in first-order logic. This enables reasoning on requirements and consistency check- ing. To provide a proof of concept for the metamodeling approach proposed by G¨oknil et al. we need an environment to model requirements conforming to the requirements metamodel. And we need a tool that supports first-order logic reasoning over requirements relations. To the best of our knowledge, no requirements management tools exists which are capable of reasoning about requirements relations using formal se- mantics. Therefore, we developed a tool named TRIC (Tool for Requirements Inference and Consistency checking). TRIC is developed as an Eclipse RCP ap- plication. Requirements models are expressed in the Web Ontology Language (OWL), because first-order logic reasoners for OWL exist. Requirements mod- els are stored and retrieved in RDFS/XML notation, enabling interoperability. To establish inference of implicit relations and to enable consistency checking we created a mapping between the formalization of requirements relations to OWL syntax and reasoner rules. We evaluated TRIC using an example case of a Course Management Sys- tem (CMS). We used the requirements for the tool to verify the design and implementation. The modeling of requirements in models conforming to the requirements metamodel is supported. The inference of implicit relations and consistency checking of the model is supported. The analysis of implicit rela- tions is supported by a visualization engine. We investigated the scalability of the tool by looking at the time and resource behavior. The time needed for con- sistency checking increases exponentionally with the number of model elements. The memory consumption seems linear with respect to the model size. TRIC does not support multiple metamodels. More research is needed on customizing the requirements metamodel and the formalization of additional relations. The inconsistencies found by the tool are not related to the contra- dicting requirements relations. TRIC supports the modeling and analysis of a requirements model. The next step is to support change impact analysis. i Acknowledgements I would like to thank the people who helped me to realize this work. Arda G¨oknil, Ivan Kurtev and Klaas van den Berg for guiding me through the project by giving constructive feedback. During the course Advanced Design of Software Architectures I got enthousiastic about a research project in the field of Model-Driven Engineering. I would like to thank the hard-working guys of room 5070 (now relabeled to 5066) for a great atmosphere. It motivated me to carry on with the project. In particular I appreciate the help of David ten Hove with creating the example case of the Course Management System and Tjerk Wolterink for exchanging development experience with the Eclipse Rich Client Platform. Especially I would thank Alfons Laarman for reviewing my thesis. I wish him a lot of fun and good luck with his PhD research. Finally, I thank Karin for supporting me and of course my parents for their continuous support. Jan-Willem Veldhuis, April 2009, Enschede ii Contents 1 Introduction 1 1.1 Introduction.............................. 1 1.2 Problemstatement .......................... 1 1.3 Approach ............................... 3 1.4 Contributions............................. 3 1.5 OutlineofthisThesis ........................ 4 2 Basic concepts 5 2.1 Introduction.............................. 5 2.2 Model-DrivenEngineering(MDE) . 5 2.3 RequirementsEngineering . 7 2.4 Conclusion .............................. 7 3 Related Work 9 3.1 Introduction.............................. 9 3.2 Requirementsrelations. 9 3.3 Requirementmetamodels . 10 3.3.1 REMM - Requirements Engineering MetaModel . 10 3.3.2 Simulation of modeled requirements . 11 3.3.3 Metamodeling approach for requirements specification.. 12 3.3.4 Merging partial requirement specifications . 12 3.3.5 Metamodelsforspecificdomains . 13 3.4 Reasoningaboutrequirements. 13 3.5 Toolsupport ............................. 14 3.5.1 IBMRationalRequisitePro . 14 3.5.2 IBM-TelelogicDOORS. 15 3.5.3 BorlandCaliber ....................... 15 3.5.4 TopteamAnalyst. .. .. .. .. .. .. .. .. .. 15 3.6 Conclusion .............................. 15 4 Formalization of Requirements and Relations 17 4.1 Introduction.............................. 17 4.2 Requirementsmetamodel . 17 4.3 Formalizationofrequirements . 18 4.4 Formalization of requirements relations. ... 19 4.4.1 Formalizationofrequires . 19 4.4.2 Formalizationofrefines . 19 4.4.3 Formalizationofpartial-refines . 19 4.4.4 Formalizationofcontains . 20 4.4.5 Formalizationofconflicts . 20 iii CONTENTS 4.5 Mapping of requirements relations to formal definitions ..... 21 4.5.1 Mappingtosetsofsatisfyingsystems . 21 4.5.2 Mapping to formula relations . 21 4.6 InferencingandConsistencyChecking . 23 4.6.1 Inference of implicit requirements relations . .. 23 4.6.2 ConsistencyChecking . 23 4.7 Conclusion .............................. 23 5 Requirements for TRIC 25 5.1 Introduction.............................. 25 5.2 Scopeandpurpose .......................... 25 5.3 Stakeholders.............................. 26 5.4 Requirements ............................. 26 5.4.1 Functionalrequirements . 26 5.4.2 Non-functionalrequirements . 27 5.4.3 Constraints .......................... 27 5.5 Plannedreleases ........................... 27 5.6 Conclusion .............................. 28 6 Design of TRIC 29 6.1 Introduction.............................. 29 6.2 Highleveldesign ........................... 29 6.3 Activitiessupportedbythetool. 32 6.4 Conclusion .............................. 35 7 Implementation of TRIC 37 7.1 Introduction.............................. 37 7.2 UsageofOWLtoreasonaboutrequirements . 37 7.2.1 Requirements metamodel as OWL ontology . 37 7.2.2 Handling of metamodels and models . 38 7.2.3 Mapping of requirement and relation formalizations to OWL 38 7.3 TheModelingenvironment . 39 7.3.1 Integrationwith Eclipse RCP framework . 39 7.3.2 Storageofmodels ...................... 40 7.4 TheInferenceEngine. 40 7.4.1 Representationofsetsofsystems . 41 7.4.2 Theinferenceprocess . 42 7.4.3 Preparationoftheinferencemodel . 43 7.4.4 Reasonerrulesforinferencing . 43 7.4.5 Dealing with the partial refines relation . 46 7.4.6 Derivationtraceanalysis. 48 7.5 TheConsistencyCheckingEngine . 49 7.5.1 Theconsistencycheckingprocess . 49 7.5.2 Preprocessingoftheinferredmodel. 50 7.5.3 Reasonerrulesforconsistencychecking . 51 7.5.4 Detectinginconsistencies . 54 7.6 TheVisualizationEngine . 54 7.7 Usageofthetool ........................... 56 7.7.1 Adding requirements to the model . 56 7.7.2 Relatingrequirements . 57 iv CONTENTS 7.7.3 Inferenceresults . 57 7.8 Conclusion .............................. 59 8 Evaluation of TRIC 61 8.1 Introduction.............................. 61 8.2 Examplecase: CourseManagementSystem . 61 8.2.1 Stakeholders ......................... 62 8.2.2 Contradictingrequirements . 62 8.2.3 Identification of requirements relations . 62 8.3 Evaluationoftoolfunctionality . 63 8.3.1 Modelingofrequirements . 63 8.3.2 Inference and analysis of requirements relations . ... 63 8.3.3 Consistencychecking. 64 8.3.4 Support for other metamodels and customizable reasoner rules.............................. 65 8.3.5 Iterativeprocess . 65 8.3.6 Storageofmodels ...................... 65 8.4 Quality of design and implementation . 66 8.4.1 Extensibility ......................... 66 8.4.2 Scalability........................... 66 8.4.3 Interoperability. 69 8.4.4 Portability .......................... 69 8.4.5 Usability ........................... 69 8.5 Conclusion .............................. 69 9 Conclusion 71 9.1 Introduction.............................. 71 9.2 Summary ............................... 71 9.3 Answeringtheresearchquestion . 72 9.4 Discussion............................... 74 9.5 Futurework.............................. 75 9.5.1 Support for multiple metamodels . 75 9.5.2 Analysisofinconsistencies . 76 9.5.3 Integration with industry standard tools . 76 9.5.4 Changeimpactanalysis . 77 References 78 A Course Management System requirements 83 B Inference rules 93 C Consistency rules 97 v CONTENTS vi List of Figures 1.1 Traceabilityinsystemdevelopment . 2 1.2 Mapofthisthesis........................... 4 2.1 Models, languages,

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    111 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us