Tutorials
The ∆QSD Paradigm: Designing Systems with Predictable Performance at High Load
Description and Scope
The ∆Q Systems Development paradigm (∆QSD) is a novel industrially-derived systems development methodology for developing complex real-world distributed systems that directly employs statistical performance metrics from the outset of the system design process and throughout the entire software production life cycle. It uses a stochastic approach to specify system behaviour, using cumulative distribution functions to model both delay and failure together. Experience shows that this is a ‘sweet spot’ that gives good results with little computation requirements. Predictions are accurate when the system model correctly captures both independent and dependent parts. This paradigm has been developed by the Welsh company PNSol over a period of 20+ years, in collaboration with IOG (formerly IOHK), BT, Vodafone, Boeing, Space and Defence, as well as other major companies who focus on the development of reliable high-quality, high integrity, distributed software systems, with strong real-time requirements. In particular it:
is outcome-centric and especially concerns itself with the timeliness (and probability of success) of an activity of interest.
works for validating initial goals and through to in-life service assurance.
permits top-down and bottom-up (or a mixture of) design approaches.
can formulate both system-centric and user-centric “experience” questions.
∆QSD primarily targets systems with many independent users where real-time performance is important. This includes systems with large flows of mostly independent data items and systems that are subject to frequent overload situations. Here are a few currently-running real-world use cases:
service assurance and strategic planning of national broadband deployments.
validating potential effectiveness of safety-of-life distributed systems in adversarial environments.
design, development, and deployment of the largest proof-of-stake based ledger technology where assuring timeliness is a key security property.
Preparation
There will be lab sessions in the ΔQSD tutorial. We plan to have a 30-minute lab session for the first three sessions. Participants will use their browser and laptop to connect remotely to a Jupyter server running our ΔQSD tool. For this to work, the participant will require ssh installed on their machines. (If there are a few that don’t have this, we will help them do it during the first lab session). Each participant will be given a username and password to log in to the server.
Speaker Biography
Seyed Hossein Haeri (hossein.haeri@gmail.com) is a former associate professor at the BLDL Institute at the University of Bergen, Norway. Hossein currently runs his own company, PLWorkz R&D, where he applies Programming Languages solutions to real-world industrial problems. PLWorkz R&D's clients include IOG (Hong Kong and later Singapore) and Entropy Software Foundation (US). As a theoretical computer scientist, Hossein has been developing the mathematical foundation of ∆QSD. Hossein's research is on the intersection between Programming Languages and Software Engineering. Over the past decade, his research has enjoyed a flavour of Distributed Systems on top. In the recent past, he has delivered a dozen of ∆QSD talks at different venues, including QAVS 2022, ICE 2023, NWPT 2023, ICPE 2024.