Please use this identifier to cite or link to this item: https://www.um.edu.mt/library/oar/handle/123456789/91680
Title: An aspect-oriented system specification language based on Gherkin
Authors: Aquilina Alamango, John (2014)
Keywords: Programming languages (Electronic computers)
Computer science
Computer software -- Verification
Issue Date: 2014
Citation: Aquilina Alamango, J. (2014). An aspect-oriented system specification language based on Gherkin (Bachelor's dissertation).
Abstract: The correct specification of software systems is one of the most fundamental software development challenges to ensure that the system being developed is compliant with the stakeholders' expectations. The strength of writing a system specification lies within the ability to allow the stakeholders of a system to provide feedback. Hence, system specifications should be written in a clean, concise and unambiguous manner such that they can be read and reviewed easily. However, natural languages do not provide the necessary rigour to be able to describe a system clearly and unambiguously. For this matter, specification languages have been developed to be able to describe a software system in a more rigorous manner than a natural-language, whilst maintaining a high-level of readability and understandability. One of the most widely used specification languages is the Gherkin specification language. The Gherkin specification language, allows for the description of a system in simple structured English-like statements. Even though this language provides a better alternative to a natural language to describe a software system, there are still issues, namely relating to the inappropriate separation concerns, which are responsible for code tangling and code scattering within a system's specification. As a consequence of this, the system specifications written in this language are subject to a high amount of repeated and redundant code leading to low maintainability and understandability levels and to an increase in inconsistency issues. In the worst case scenarios, these issues could potentially further degenerate into the development of a system which does not meet the customer's requirements. In this dissertation we propose an aspect-oriented language extension for the Gherkin specification language in order to provide a language mechanism for the proper separation of concerns. The new language extension was designed according to the language design goals which are considered to contribute towards the development of a good specification language. We have also proceeded to apply the new language to multiple case-studies, real-life system specifications provided by local companies, to investigate the implications and effectiveness of the new language extension. After examining the results obtained from the case-studies, we can conclude that the proposed aspect-oriented extended Gherkin specification language has proved to be successful in providing a mechanism which allows for the appropriate separation of concerns within a system. Furthermore, the new language also allows for the appropriate capturing of a system's crosscutting concerns in a clean and efficient manner, preventing code tangling and code scattering. Finally, we have also observed a reduction in repeated and redundant code, as well as an increase in the levels of maintainability and understandability system specifications. At the moment only a written dissertation is available.
Description: B.SC.(HONS)COMP.SCI.
URI: https://www.um.edu.mt/library/oar/handle/123456789/91680
Appears in Collections:Dissertations - FacICT - 2014
Dissertations - FacICTCS - 2010-2015

Files in This Item:
File Description SizeFormat 
BSC(HONS)ICT_Aquilina Alamango, John_2014.PDF
  Restricted Access
3.84 MBAdobe PDFView/Open Request a copy


Items in OAR@UM are protected by copyright, with all rights reserved, unless otherwise indicated.