TLC: Temporal logic of distributed components

6Citations
Citations of this article
6Readers
Mendeley users who have this article in their library.

Abstract

Distributed systems are critical to reliable and scalable computing; however, they are complicated in nature and prone to bugs. To manage this complexity, network middleware has been traditionally built in layered stacks of components.We present a novel approach to compositional verification of distributed stacks to verify each component based on only the specification of lower components. We present TLC (Temporal Logic of Components), a novel temporal program logic that offers intuitive inference rules for verification of both safety and liveness properties of functional implementations of distributed components. To support compositional reasoning, we define a novel transformation on the assertion language that lowers the specification of a component to be used as a subcomponent. We prove the soundness of TLC and the lowering transformation with respect to a novel operational semantics for stacks of composed components in partially synchronous networks. We successfully apply TLC to compose and verify a stack of fundamental distributed components.

Cite

CITATION STYLE

APA

Griffin, J., Lesani, M., Shadab, N., & Yin, X. (2020). TLC: Temporal logic of distributed components. Proceedings of the ACM on Programming Languages, 4(ICFP). https://doi.org/10.1145/3409005

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free