1 Introduction
A plumbline is a simple yet effective tool used in the construction industry to measure whether a wall is vertically aligned. The Cambridge dictionary defines it as “a piece of string with a weight fixed to one end, which is used … to test whether something vertical, such as a wall, is exactly straigh….” As such, the plumbline provides an essential tool for measuring a fundamental, yet critical quality of a building. In much the same way, a virtual plumbline can be used to evaluate the compliance of a software-intensive system with its critical stakeholders’ goals by providing the means to assess whether system components measure up to carefully defined evaluation functions. The technique, which is named Goal-Centric Traceability (GCT), creates virtual plumblines for assessing the long-term compliance of a design and runtime system with the stakeholders’ system level goals. GCT focuses on quality goals, typically referred to as the “ilities” and specified as nonfunctional requirements (NFRs) or constraints. They represent a wide variety of attributes such as performance, reliability, safety, security, and usability, all of which can be challenging to implement and maintain correctly in a software system [7], [19].