Capabilities Engineering: Constructing Change-Tolerant Systems
Ramya Ravichandar, James D. Arthur, Shawn A. Bohner

TL;DR
This paper introduces Capabilities Engineering, a novel approach for designing long-lived, complex systems that remain adaptable to evolving user needs and technology changes by leveraging the structural semantics of function decomposition.
Contribution
It presents a mathematically grounded method to derive change-tolerant capabilities from user needs, enabling incremental development and better handling of system evolution.
Findings
Capabilities lead to more adaptable systems
The approach supports incremental development
Empirical validation shows improved change tolerance
Abstract
We propose a Capabilities-based approach for building long-lived, complex systems that have lengthy development cycles. User needs and technology evolve during these extended development periods, and thereby, inhibit a fixed requirements-oriented solution specification. In effect, for complex emergent systems, the traditional approach of baselining requirements results in an unsatisfactory system. Therefore, we present an alternative approach, Capabilities Engineering, which mathematically exploits the structural semantics of the Function Decomposition graph - a representation of user needs - to formulate Capabilities. For any given software system, the set of derived Capabilities embodies change-tolerant characteristics. More specifically, each individual Capability is a functional abstraction constructed to be highly cohesive and to be minimally coupled with its neighbors. Moreover,…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Techniques and Practices · Advanced Software Engineering Methodologies · Software Engineering Research
