TY - JOUR
T1 - Bridging the semantic gap between qualitative and quantitative models of distributed systems
AU - Liu, Si
AU - Meseguer, Jose
AU - Ölveczky, Peter Csaba
AU - Zhang, Min
AU - Basin, David
N1 - Publisher Copyright:
© 2022 Owner/Author.
PY - 2022/10/31
Y1 - 2022/10/31
N2 - Today's distributed systems must satisfy both qualitative and quantitative properties. These properties are analyzed using very different formal frameworks: expressive untimed and non-probabilistic frameworks, such as TLA+ and Hoare/separation logics, for qualitative properties; and timed/probabilistic-automaton-based ones, such as Uppaal and Prism, for quantitative ones. This requires developing two quite different models of the same system, without guarantees of semantic consistency between them. Furthermore, it is very hard or impossible to represent intrinsic features of distributed object systems - such as unbounded data structures, dynamic object creation, and an unbounded number of messages - using finite automata. In this paper we bridge this semantic gap, overcome the problem of manually having to develop two different models of a system, and solve the representation problem by: (i) defining a transformation from a very general class of distributed systems (a generalization of Agha's actor model) that maps an untimed non-probabilistic distributed system model suitable for qualitative analysis to a probabilistic timed model suitable for quantitative analysis; and (ii) proving the two models semantically consistent. We formalize our models in rewriting logic, and can therefore use the Maude tool to analyze qualitative properties, and statistical model checking with PVeStA to analyze quantitative properties. We have automated this transformation and integrated it, together with the PVeStA statistical model checker, into the Actors2PMaude tool. We illustrate the expressiveness of our framework and our tool's ease of use by automatically transforming untimed, qualitative models of numerous distributed system designs - including an industrial data store and a state-of-the-art transaction system - into quantitative models to analyze and compare the performance of different designs.
AB - Today's distributed systems must satisfy both qualitative and quantitative properties. These properties are analyzed using very different formal frameworks: expressive untimed and non-probabilistic frameworks, such as TLA+ and Hoare/separation logics, for qualitative properties; and timed/probabilistic-automaton-based ones, such as Uppaal and Prism, for quantitative ones. This requires developing two quite different models of the same system, without guarantees of semantic consistency between them. Furthermore, it is very hard or impossible to represent intrinsic features of distributed object systems - such as unbounded data structures, dynamic object creation, and an unbounded number of messages - using finite automata. In this paper we bridge this semantic gap, overcome the problem of manually having to develop two different models of a system, and solve the representation problem by: (i) defining a transformation from a very general class of distributed systems (a generalization of Agha's actor model) that maps an untimed non-probabilistic distributed system model suitable for qualitative analysis to a probabilistic timed model suitable for quantitative analysis; and (ii) proving the two models semantically consistent. We formalize our models in rewriting logic, and can therefore use the Maude tool to analyze qualitative properties, and statistical model checking with PVeStA to analyze quantitative properties. We have automated this transformation and integrated it, together with the PVeStA statistical model checker, into the Actors2PMaude tool. We illustrate the expressiveness of our framework and our tool's ease of use by automatically transforming untimed, qualitative models of numerous distributed system designs - including an industrial data store and a state-of-the-art transaction system - into quantitative models to analyze and compare the performance of different designs.
KW - Maude
KW - actors
KW - distributed systems
KW - formal model transformation
KW - rewriting logic
KW - statistical model checking
UR - https://www.scopus.com/pages/publications/85168426915
U2 - 10.1145/3563299
DO - 10.1145/3563299
M3 - 文章
AN - SCOPUS:85168426915
SN - 2475-1421
VL - 6
SP - 315
EP - 344
JO - Proceedings of the ACM on Programming Languages
JF - Proceedings of the ACM on Programming Languages
IS - OOPSLA2
ER -