Mind Your Outcomes: The ΔQSD Paradigm for Quality-Centric Systems Development and Its Application to a Blockchain Case Study
Open Access
Abstract
This paper directly addresses a long-standing issue that affects the development of many complex distributed software systems: how to establish quickly, cheaply, and reliably whether they can deliver their intended performance before expending significant time, effort, and money on detailed design and implementation. We describe SD, a novel metrics-based and quality-centric paradigm that uses formalised outcome diagrams to explore the performance consequences of design decisions, as a performance blueprint of the system. The distinctive feature of outcome diagrams is that they capture the essential observational properties of the system, independent of the details of system structure and behaviour. The SD paradigm derives bounds on performance expressed as probability distributions encompassing all possible executions of the system. The SD paradigm is both effective and generic: it allows values from various sources to be combined in a rigorous way so that approximate results can be obtained quickly and subsequently refined. SD has been successfully used by a small team in Predictable Network Solutions for consultancy on large-scale applications in a number of industries, including telecommunications, avionics, and space and defence, resulting in cumulative savings worth billions of US dollars. The paper outlines the SD paradigm, describes its formal underpinnings, and illustrates its use via a topical real-world example taken from the blockchain/cryptocurrency domain. SD has supported the development of an industry-leading proof-of-stake blockchain implementation that reliably and consistently delivers blocks of up to 80 kB every 20 s on average across a globally distributed network of collaborating block-producing nodes operating on the public internet.
Keywords
All Related Versions
This publication has 29 references indexed in Scilit:
- Information propagation in the Bitcoin network2013
- The worst-case execution-time problem—overview of methods and survey of toolsACM Transactions on Embedded Computing Systems, 2008
- Specification by Refinement and Agreement: Designing Agent Interaction Using Landmarks and ContractsLecture Notes in Computer Science, 2003
- CASL: the Common Algebraic Specification LanguageTheoretical Computer Science, 2002
- The definition of Extended ML: A gentle introductionTheoretical Computer Science, 1997
- First passage times and their algorithms for markov processesCommunications in Statistics. Stochastic Models, 1995
- Foundations for the study of software architectureACM SIGSOFT Software Engineering Notes, 1992
- Burke's theorem on passage times in Gordon–Newell networksAdvances in Applied Probability, 1984
- Mean-Value Analysis of Closed Multichain Queuing NetworksJournal of the ACM, 1980
- Jobshop-Like Queueing SystemsManagement Science, 1963