Neil Davies

Dr. Neil Davies

orcid

Research Focus & Metrics

Academic Career Length

9Years (2018-Present)

(Calculated once Scilit publication data is synced: current year − year of first publication + 1)

Representative Publications

View All Publications
25 June 2020 in Computers
Verified
Journal Article
Open access
PDF file
Peter ThompsonPeter Thompson
Peter Thompson
NDNeil Davies
Neil Davies
Modern society is increasingly dependent on reliable performance of distributed systems. In this paper, we provide a precise definition of performance using the concept of quality attenuation; discuss its properties, measurement and decomposition; identify sources of such attenuation; outline methods of managing performance hazards automatically using the capabilities of the Recursive InterNetworking Architecture (RINA); demonstrate procedures for aggregating both application demands and network performance to achieve scalability; discuss dealing with bursty and time-critical traffic; propose metrics to assess the effectiveness of a performance management system; and outline an architecture for performance management.

17 March 2022 in Computers
Verified
Journal Article
Open access
PDF file
SHSeyed Hossein HAERI
Seyed Hossein HAERI
Peter ThompsonPeter Thompson
Peter Thompson
NDNeil Davies
Neil Davies
PRPeter Van Roy
Peter Van Roy
KHKevin Hammond
Kevin Hammond
JCJames Chapman
James Chapman
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 ΔQSD, 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 ΔQSD paradigm derives bounds on performance expressed as probability distributions encompassing all possible executions of the system. The ΔQSD 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. ΔQSD 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 ΔQSD paradigm, describes its formal underpinnings, and illustrates its use via a topical real-world example taken from the blockchain/cryptocurrency domain. ΔQSD 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.

18 August 2020
Verified
Book Chapter
Open access
PDF file
PKPhilipp Kant
Philipp Kant
KHKevin Hammond
Kevin Hammond
DCDuncan Coutts
Duncan Coutts
JCJames Chapman
James Chapman
NCNicholas Clarke
Nicholas Clarke
PVPolina Vinogradova
Polina Vinogradova
Agile software development and Formal Methods are traditionally seen as being in conflict. From an Agile perspective, there is pressure to deliver quickly, building vertical prototypes and doing many iterations/sprints, refining the requirements; from a Formal Methods perspective, there is pressure to deliver correctly and any change in requirements often necessitates changes in the formal specification and might even impact all arguments of correctness. Over the years, the need to “be agile” has become a kind of mantra in software development management, and there is a prevalent prejudice that using formal methods was an impediment to being agile. In this paper, we contribute to the refutation of this stereotype, by providing a real-world example of using good practices from formal methods and agile software engineering to deliver software that is simultaneously reliable, effective, testable, and that can also be iterated and delivered rapidly. We thus present how a lightweight software engineering methodology, drawing from appropriate formal methods techniques and providing the benefits of agile software development, can look like. Our methodology is informed and motivated by practical experience. We have devised and adapted it in the light of experience in delivering a large-scale software system that needs to meet complex real-world requirements: the Cardano blockchain and its cryptocurrency ada. The cryptocurrency domain is a rather new application area for which no clear engineering habit exists, so it is fitting well for agile methods. At the same time, there is a lot of real monetary value at stake, making it a good fit for using formal methods to ensure high quality and correctness. This paper reports on the issues that have been faced and overcome, and provides a number of real-world lessons that can be used to leverage the benefits of both agile and formal methods in other situations.

1 November 2018 in European Journal of Public Health
Verified
Journal Article
Open access
PDF file
JBJ van Bavel
J van Bavel
SLS Lucherini
S Lucherini
SVS Vermeersch
S Vermeersch
AAA Bento Abreu
A Bento Abreu
NDNeil Davies
Neil Davies
ARA Roediger
A Roediger
Background:

24 January 2022 in Preprints.org
Verified
Preprint
Open access
SHSeyed Hossein Haeri
Seyed Hossein Haeri
Peter ThompsonPeter Thompson
Peter Thompson
NDNeil Davies
Neil Davies
PRPeter Van Roy
Peter Van Roy
KHKevin Hammond
Kevin Hammond
JCJames Chapman
James Chapman
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 ∆QSD, 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 ∆QSD paradigm derives bounds on performance expressed as probability distributions encompassing all possible executions of the system. The ∆QSD 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. ∆QSD has been successfully used by 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 ∆QSD paradigm, describes its formal underpinnings, and illustrates its use via a topical real-world example taken from the blockchain/cryptocurrency domain. ∆QSD has enabled challenging throughput targets to be met for a globally distributed blockchain operating on the public internet.

1 February 2020
Verified
Conference Paper
Closed access
Peter ThompsonPeter Thompson
Peter Thompson
NDNeil Davies
Neil Davies
Performance management of distributed systems is becoming increasingly important for the smooth functioning of society. In this paper we provide a precise definition of performance using the concept of quality attenuation, identify sources of such attenuation, outline methods of managing them automatically using the capabilities of the Recursive InterNetworking Architecture (RINA), and propose metrics to assess the effectiveness of a performance management system.