This is the latest version of this eprint.
Due to copyright restrictions, this file is not available for public download
Click here to request a copy from the OU Author.
|DOI (Digital Object Identifier) Link:||https://doi.org/10.1002/spe.923|
|Google Scholar:||Look up in Google Scholar|
Software development is increasingly concerned with maintaining and extending existing software systems to meet the evolving user requirements. Many of these systems are feature-rich and are developed incrementally. As structures of existing software systems - in addition to the user requirements - influence the specifications, specifying these systems poses unique challenges. This paper reports on our experience of applying an engineering approach to specifying an evolving feature-rich television software system. In this approach, features are specified modularly by first fitting their problems to known problem patterns, and then analyzing typical concerns - meaning the potential causes of errors - associated with those patterns. In cases where the existing design poses difficulties when fitting problems to patterns, we transform its structure using known design mechanisms so that the problems fit the patterns. After deriving specifications of individual features, possible interactions between features are detected, before declaratively specifying resolutions to undesired interactions. As the concerns of features and their composition are addressed separately, the specifications derived are modular, thus, providing rich treaceability to their requirements. As well as discussing how features may be specified using natural language, we also show how their descriptions may be formalized using a form of temporal logic called the Event Calculus, and prove their correctness using an off-the-shelf tool.
|Item Type:||Journal Article|
|Copyright Holders:||2009 John Wiley & Sons, Ltd.|
|Project Funding Details:||
|Keywords:||software features; evolution; specifications; feature composition; problem frame|
|Academic Unit/School:||Faculty of Science, Technology, Engineering and Mathematics (STEM) > Computing and Communications
Faculty of Science, Technology, Engineering and Mathematics (STEM)
|Interdisciplinary Research Centre:||Centre for Research in Computing (CRC)
Centre for Policing Research and Learning (CPRL)
International Development & Inclusive Innovation
|Depositing User:||Thein Tun|
|Date Deposited:||20 Jun 2011 07:57|
|Last Modified:||10 Feb 2017 03:55|
|Share this page:|
Available Versions of this Item
Specifying features of an evolving software system. (deposited 10 Aug 2009 09:49)
- Specifying features of an evolving software system. (deposited 20 Jun 2011 07:57) [Currently Displayed]