2020
DOI: 10.14778/3397230.3397233
|View full text |Cite
|
Sign up to set email alerts
|

Extreme modelling in practice

Abstract: Formal modelling is a powerful tool for developing complex systems. At MongoDB, we use TLA + to model and verify multiple aspects of several systems. Ensuring conformance between a specification and its implementation can add value to any specification; it can avoid transcription errors, prevent bugs as a large organization rapidly develops the specified code, and even keep multiple implementations of the same specification in sync. In this paper, we explore model-based testing as a too… Show more

Help me understand this report
View preprint versions

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
9
0

Year Published

2021
2021
2024
2024

Publication Types

Select...
4
3
1

Relationship

0
8

Authors

Journals

citations
Cited by 17 publications
(9 citation statements)
references
References 18 publications
0
9
0
Order By: Relevance
“…We will also investigate whether the IPA framework can be used to reduce the cost of code-level model checking of distributed system implementations. Given sufficient application of the IPA framework in realistic scenarios, we will investigate how to integrate the IPA framework into the extreme modeling [13] paradigm of distributed system design and implementation.…”
Section: Discussionmentioning
confidence: 99%
See 1 more Smart Citation
“…We will also investigate whether the IPA framework can be used to reduce the cost of code-level model checking of distributed system implementations. Given sufficient application of the IPA framework in realistic scenarios, we will investigate how to integrate the IPA framework into the extreme modeling [13] paradigm of distributed system design and implementation.…”
Section: Discussionmentioning
confidence: 99%
“…PolarFS is using TLA+ to precisely document the design of its ParallelRaft protocol, in order to effectively guarantee the reliability and maintainability of the protocol design and implementation [16]. MongoDB further leverages the formally specified design, verified by model checking, to conduct model-based test case generation and model-based trace checking on large scale system implementations [13].…”
Section: Introductionmentioning
confidence: 99%
“…First, for simplicity, we have assumed that each procedure executes atomically. However, the implementation of MongoDB is highly concurrent [12], and needs to be modelled and verified more carefully. Second, MongoDB also supports non-transactional consistency, including tunable consistency [21] and causal consistency [26].…”
Section: Discussionmentioning
confidence: 99%
“…We also propose an optimization concerning the model checking trace. We did not let the TLC model checker output the whole state transition graph like the work in [21]. Instead we let the CRDT models output only the final states.…”
Section: Threats From Systemmentioning
confidence: 99%
“…MongoDB uses Model-Based Test Case Generation (MBTCG) to ensure the equivalence between the C++ and the Golang versions of the operational transformation (OT) implementations in MongoDB Realm Sync [21]. Met is inspired by the MBTCG technique of MongoDB.…”
Section: Related Workmentioning
confidence: 99%