Compositional Verification of Asynchronous Processes via Constraint Solving