University of Twente Student Theses
Tool support for a metamodeling approach for reasoning about requirements
Veldhuis, J.W. (2009) Tool support for a metamodeling approach for reasoning about requirements.
![]() |
PDF
1MB |
Abstract: | In the Software Engineering practice, software requirements are one of the earliest artifacts describing a system. Without requirements we cannot verify the quality of a delivered software product. Requirements are mostly textual descriptions. 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. Goknil et al proposed a requirementsmetamodel. 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 checking. 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 semantics. Therefore, we developed a tool named TRIC (Tool for Requirements Inference and Consistency checking). TRIC is developed as an Eclipse RCP application. Requirements models are expressed in the Web Ontology Language (OWL), because first-order logic reasoners for OWL exist. Requirements models 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 System (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 relations 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 consistency 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 contradicting requirements relations. TRIC supports the modeling and analysis of a requirements model. The next step is to support change impact analysis. |
Item Type: | Essay (Master) |
Clients: | Trese |
Faculty: | EEMCS: Electrical Engineering, Mathematics and Computer Science |
Subject: | 54 computer science |
Programme: | Computer Science MSc (60300) |
Link to this item: | https://purl.utwente.nl/essays/58693 |
Export this item as: | BibTeX EndNote HTML Citation Reference Manager |
Repository Staff Only: item control page