SUMMARYSoftware 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.
since 2001 with 14 years of prior full time industrial experience. He has worked in the design of various technologies from advanced underwater and ultrahigh altitude propulsion systems to automated manufacturing equipment. His interests include advanced thermal and mechanical system design for green power generation.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.