Skip to Main Content
Over the last twenty years, our understanding of how software systems can be developed as product lines has improved significantly. However, there has been little progress towards a wider goal of product lines that are usable across disparate application domains. We present a new formalism, a Nature Diagram, to address this issue. This representation allows the characteristics (both data structures and operations) of entities identified during the design process to be represented and easily compared in a way that allows their usability in domains other than their original “home” to be identified. The approach is inspired by the natural ability of human designers to discover similarities between systems. We validate our method using two real world examples, and illustrate its advantages by comparison with existing methods.