Abstract

Interactions in microservice systems are complex due to three dimensions: numerous asynchronous interactions, the diversity of asynchronous communication, and unbounded buffers. Analyzing such complex interactions is challenging. In this paper, we propose an approach for interaction analysis using model checking techniques, which is supported by the Process Analysis Toolkit (PAT) tool. First, we use Labeled Transition Systems (LTSs) to model interaction behaviors in microservice systems as sequences of send actions under synchronous and asynchronous communications. Second, we introduce a notion of correctness called “interaction soundness” which is considered as a minimal requirement for microservice systems. Third, we propose an encoding of LTSs into the CSP# process algebra for automatic verification of the property interaction soundness. The experimental results show that our approach can automatically and effectively identify interaction faults in microservice systems.

Highlights

  • Interactions in microservice systems are complex due to three dimensions: numerous asynchronous interactions, the diversity of asynchronous communication, and unbounded buffers

  • We introduce a notion of correctness called “interaction soundness” which is considered as a minimal requirement for microservice systems. ird, we propose an encoding of Labeled Transition Systems (LTSs) into the CSP# process algebra for automatic verification of the property interaction soundness. e experimental results show that our approach can automatically and effectively identify interaction faults in microservice systems

  • Our contribution can be summarized as follows: (i) We model complex interactions in microservice systems under synchronous and peer-to-peer asynchronous communications (ii) We introduce a notion of correctness called “interaction soundness” which is considered as a minimal requirement for microservice systems (iii) We automatically verify the property interaction soundness using model checking techniques under the support of the Process Analysis Toolkit (PAT) tool

Read more

Summary

Preliminaries

We present some definitions used throughout this paper. For the sake of simplicity, we use r ⟶a s to denote (r, a, s) ∈ Δ. CSP# is an extension of CSP (communicating sequential processes) [29]. We use CSP# for microservice system verification. E following is a BNF description of the #CSP process expression. More details of CSP# can be found in [30]. E syntax of LTL formulas are defined as follows. More details of LTL can be found in [29]. F e | prop | [] F | F | X F | F1 U F2 | F1 R F2 where e is an event, prop is a predefined proposition, F, F1, and F2 are three LTL formulas, [] denotes “always,” .

Interaction Behavior Model
Asynchronous Interaction Behaviors of Microservice Systems
Interaction Soundness-Based Verification
Conclusion and Future Work
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call