An Action/State-Based Model-Checking Approach for the Analysis of Communication Protocols for Service-Oriented Applications