This development scenario describes one of the issues of the Telecommunications Case Study. Problem statement
Mobile communication networks are often unstable since terminal devices can dynamically change the reachability
status. Within service oriented architectures asynchronous service invocation is often the more suitable paradigm for
the choreography and orchestration of mobile components. There is therefore a need to provide communication
protocols that are able to manage asynchronous communication also in presence of unstable network connections. The
formal modelling and analysis of these protocols is the first step towards the successful implementation and
evaluation of reliable service-oriented applications. Story
The particular issue we describe here has as main objective to define a variant of SOAP supporting asynchronous
communications. The domain of the scenario is the definition of a SOAP-based protocol which supports asynchronous
interactions, i.e., interactions different from the usual synchronous “request-response” interactions supported by the
available SOAP implementations based on HTTP. Such kinds of interactions are quite relevant in the delivery of
telecommunication services, as: - service logic are triggered/activated by events produced, in an
asynchronous way, by the network/special resources, or must react to such events during the execution of a service
instance;
- requests produced by a service logic to a network/special resource may results in long computations (e.g.,
set-up of a call) which might also require the involvement of end-users;
- some service logic components may not be reachable (e.g., the ones deployed on mobile terminals), e.g., due to
the temporary absence of communication.
The objective is to define a protocol, named aSOAP, which is able to address most of these situations. The following
are the requirements to be considered: - Backward compatibility:
- aSOAP must be compatible with SOAP v1.2 on HTTP;
- aSOAP have limited impact on the clients: i.e., the clients that do not need to support asynchronous
interactions must be SOAP client, working according to a request-response mode; clients that need such a support
should introduce limited variants w.r.t. normal SOAP requests;
- Reachability
- aSOAP must be able to deal with unreachability of the servers (e.g., due to lack of connectivity)
- aSOAP must be able to deal with the case where a server cannot return a response (either provisional or final)
due to the lack of connectivity
- aSOAP must be able to deal with case where a response (either provisional or final) cannot be returned to a
client due to the lack of connectivity
- Message Exchange Patterns
- aSOAP must be able to deal with requests that require the servers to perform some longduration processing
(greater than HTTP time-out) before producing any results
- aSOAP must be able to deal with requests with multiple responses The protocol may rely on some intermediary
nodes, which are assumed to be highly-available
Solution
We use formal methods and tools to model and verify the aSOAP design for safety/liveness properties. The intended
behaviour of aSOAP has been described in various use-case scenarios in the form of message sequence charts, one for
each such a scenario. These scenarios are then translated into an UML statechart diagrams. Currently these
translations are done by hand, but algorithms are available to automate this process or verify that the resulting
models conform the set of message sequence charts. Correctness properties are expressed in the logic mu-UCTL and the
model checker UMC is used to verify these properties.
The advantage of this approach is that the design of the protocol can be validated before it is implemented. Languages
- Message sequence charts
- UML statechart diagrams
- mu-UCTL and other logics
Tools
- UMC v3.3 or other model checkers
Steps
- Create model in UML (UML case tool)
- Formulate logic properties (in mu-UCTL or other logic)
- Analyse model (UMC or other tool) w.r.t. properties
- Create feedback at design level, before implementation
Relevant for Case Studies
- Telecom (shown)
- Automotive (to be shown)
Relevant for Work packages
- WP1: Modeling in Service-Oriented Architectures
- WP3: Qualitative Aspects of Services
- WP4: Quantitative Aspects of Services (to be seen)
- WP7: Model-driven Development (to be seen)
Papers
M.H. ter Beek, S. Gnesi, F. Mazzanti and C. Moiso, Formal Modelling and Verification of an Asynchronous
Extension of SOAP. In Proceedings of the 4th IEEE European Conference on Web Services (ECOWS'07), Zurich, Switzerland
(A. Bernstein, T. Gschwind, and W. Zimmermann, eds.), IEEE Computer Society, Los Alamitos, CA, 2006, 287-296.
|