Abstract:
RabbitMQ is a very popular message middleware, which is an implementation of AMQP (Advanced Message Queuing Protocol) using the Erlang language. It supports concurrency a...Show MoreMetadata
Abstract:
RabbitMQ is a very popular message middleware, which is an implementation of AMQP (Advanced Message Queuing Protocol) using the Erlang language. It supports concurrency and guarantees the sequential consistency of messages. Additionally, RabbitMQ provides the message acknowledgement mechanism to ensure that messages can be delivered reliably to the consumer from the broker. However, these crucial properties have not been verified with formal methods. In this paper, we model the architecture of RabbitMQ with timed automata. By utilizing the model checker UPPAAL, RabbitMQ is abstracted to five timed automata. Based on the formalized model, we verify whether RabbitMQ meets some essential properties, including Reachability of Data, Concurrency, Sequence Consistency and Message Acknowledgement. Consequently, it can be found that RabbitMQ can totally satisfy these properties according to the verification results via UPPAAL.
Published in: 2020 IEEE 19th International Conference on Trust, Security and Privacy in Computing and Communications (TrustCom)
Date of Conference: 29 December 2020 - 01 January 2021
Date Added to IEEE Xplore: 09 February 2021
ISBN Information: