Predictability By Construction : Working the Architecture/Program Seam

Detta är en avhandling från Västerås : Mälardalen University

Sammanfattning: Contemporary software engineering practice overemphasizes the distinction of software design from software implementation, and designer ("software architect") from implementor ("computer programmer").In this contemporary meme, software architects are concerned with large-grained system structures, quality attributes (security, availability, performance, etc.) and quality attribute tradeoff to satisfy conflicting stakeholder needs; programmers are concerned with low-level algorithms and data structures, program functionality, and with satisfying architectural intent. Architects are likely to regard programming as a routine production activity, while programmers are likely to regard architecture as a routine management activity. Instead of effective integration, a gap has opened in software architecture and programming practice.The research reported here defines the architecture/program seam ("the Seam"), a region of overlap in software architecture and programming practice. The Seam emphasizes design concerns centered on achieving predictable runtime behavior. For a behavior to be predictable it must be described in a theory that must ultimately be consistent with basic theories of computation, and each such theory must have objective evidence to demonstrate that theory observations correspond to system observations. The validity of a theory will likely depend on invariants that can be expressed, and enforced, by means of theory-induced design rules. A system that satisfies the design rules of a theory is then regarded as having behavior that is predictable by construction with respect to that theory. The research reported here defines prediction-enabled component technology (PECT) as a foundation technology to support the Seam, and demonstrates a prototype on industrial problems in electric grid substation control, industrial robot control, and desktop streaming audio.  The prototype PECT extends a basic component technology of pure assembly ("Pin") with theory extension points ("reasoning frameworks") that are used to achieve predictability by construction.  Reasoning frameworks for real-time performance and temporal-logic model checking have been developed, with statistical confidence intervals providing evidence of predictive quality for the former, and code-embeddable proof certificates providing evidence for the latter. Finally, the research reported here defines the Seam itself as inducing a new kind of evolutionary design problem, whose solutions require the integration of programming language theory, design theory, specialized theories of system behavior and deep systems expertise.

  Denna avhandling är EVENTUELLT nedladdningsbar som PDF. Kolla denna länk för att se om den går att ladda ner.