An Evolutionary Theory-systems Approach to a Science of the Ilities

Abstract For system engineers to effectively document requirements for non-functional properties (ilities), to reason about tradeoffs, and to implement and verify such properties, the language used in these endeavors must be precise enough to support rigorous engineering activities. Yet the language used today is often ambiguous and imprecise. Moreover, many past attempts to improve it with natural language definitions and explanations have not converged. We propose an embedded theory-systems (ETS) alternative approach. It replaces natural language with theories (models) in an expressive formal language; mechanically derives software from these models to foster community engagement with the theories; and uses feedback based on interactions with the software to drive theory evolution and validation. We hypothesize that this approach can accelerate convergence on models that are precise and validated enough for rigorous systems engineering. We present an early case study on applying this method to the Ross et al. semantic approach to defining change-related ility terms. Results include a clarifying formalization of their informal model, its evolution through four stages of feedback, insights into key remaining shortcomings, and evidence that the approach can promote engagement with theories in ways that drive convergence toward shared, precise, useful language for engineering system ilities.

[1]  Thomas A. Henzinger,et al.  An Interface Algebra for Real-Time Components , 2006, 12th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS'06).

[2]  Rhône-Alpes,et al.  Project-Team Sardes System Architecture for Reflective Distributed Computing Environments , 2004 .

[3]  Barry W. Boehm,et al.  Theory-W Software Project Management: Principles and Examples , 1989, IEEE Trans. Software Eng..

[4]  Martin Glinz,et al.  On Non-Functional Requirements , 2007, 15th IEEE International Requirements Engineering Conference (RE 2007).

[5]  D. L. Parnas,et al.  On the criteria to be used in decomposing systems into modules , 1972, Software Pioneers.

[6]  Nam P. Suh,et al.  Axiomatic Design: Advances and Applications , 2001 .

[7]  Thomas A. Henzinger,et al.  Timed Interfaces , 2002, EMSOFT.

[8]  William G. Griswold,et al.  The structure and value of modularity in software design , 2001, ESEC/FSE-9.

[9]  Patrick Heymans,et al.  Requirements Engineering: Foundation for Software Quality, Proceedings of the 15th International Working Conference (REFSQ 2009) , 2009 .

[10]  Roy T. Fielding,et al.  Principled design of the modern Web architecture , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.