be alternatively solved under the well known assume-
guarantee theoretical framework. This provides infer-
ence rules that permit to deduce the global validity of
a formula for a system, by verifying correctness of a
given component under a set of assumptions on the
environment (a report on this technique is contained
in (Furia, 2005)). The most difficult part here is the
generation of the assumptions, a job that for long has
been left (at least partially) to the developer ((Pasare-
anu et al., 1999), (Inverardi et al., 2000)). Starting
from the paper (Giannakopoulou et al., 2002), a num-
ber of works use a learning algorithm for regular lan-
guages (Angluin, 1987) to automatically derive the
weakest assumptions for the component at hand to
satisfy a safety property. This approach requires both
the component and the formula be modelled as deter-
ministic finite state machines and model checking is
used iteratively (until convergence of the algorithm)
to identify states and transitions of the environment.
In this respect, our approach, that works for all prop-
erties expressible in SHML (both safety and liveness)
and includes non-determinism, is more efficient as it
is based on local model checking and does not even
require to construct the state transition system of the
component.
In the service-oriented computing area, formal
methods have been used to define unambiguous se-
mantics for the languages WS-BPEL and WS-CDL,
to describe service compositions and interaction pro-
tocols (called choreography). An overview of the
various formalisms proposed, including process alge-
bras, is contained in (Breugel and Koshkina, 2006).
Once a formal model of the system is available, one
can check properties such as deadlock-freeness and
correctness of conversationswith the services (see (Fu
et al., 2005) and (Kazhamiakin et al., 2006)). Con-
versely, given a set of service interfaces and a chore-
ography to be realized, one may ask whether service
behaviors may be deduced generating conversations
that, at global level, are all admissible by the chore-
ography. In (Fu et al., 2005), sufficient conditions for
realizability of a choreography are given, and the ser-
vice behaviors are deduced through projection of the
global conversations (i.e., removing messages that do
not involve the specific service). In our work, we are
given a partial choreography already ”realized” that
needs to be extended with an additional service, so
to satisfy a global requirement expressed by a SHML
formula. Our method allows us to eventually deduce
another formula that is used to discover a class of ser-
vice implementations all able to complete the realiza-
tion of the extended choreography. In (Lohmann et
al., 2007) the authors propose to attach an operational
description to a service P, automatically computed,
characterizing services whose composition with P
is deadlock-free or satisfies specific behavioral con-
straints. Finally, the Open Workflow Nets formalism,
a special class of Petri Nets, is used both to describe
the processes and the constraints. As we consider all
properties that can be expressed in SHML, our ap-
proach is more general, and we can check constraints
satisfaction by model checking. Finally, the paper
(Martinelli and Matteucci, 2007) presents a simpli-
fied version of Andersen’s partial model checking al-
gorithm with the aim of applying it to the definition of
web service orchestrations: given a parallel composi-
tion of processes, all known, the specification of the
orchestrator is deduced. They may avoid the formula
explosion of the original Andersen’s method as they
just need to generate a process, containing only com-
munication actions, to make sure that these happen in
the right order. Indeed, differently from Andersen’s
and ours, their method only works if the construc-
tion of the transition system of the parallel processes
is feasible. As a future work, we intend to develop
a service discovery tool integrating the approach and
analyze its efficiency and usefulness compared to the
existing methods.
REFERENCES
Andersen, H. R. (1995). Partial Model Checking (Extended
Abstract). In LICS’95, Proc. 10th Annual IEEE Sym-
posium on Logic in Computer Science, San Diego,
California, USA, 26-29 June. IEEE. 398–407.
Andrews, T. and Curbera, F. and Dholakiam, H. and
Goland, Y. and Klein, J. and Leymann, F. and
Liu, K. and Roller, D. and Smith, D. and Thatte,
S. and Trickovic, I. and Weerawarana, S. Busi-
ness Process Execution Language for Web Services.
(http://www.ibm.com/developerworks/library/
specification/ws-bpel/).
Angluin, D. (1987). Learning regular sets from queries
and counterexamples. Information and Computation
75(2). 87–106.
Bao, L. and Zhang, W. and Zhang, X. (2006). Describ-
ing and Verifying Web Service Using CCS. In PD-
CAT06, Seventh Int. Conf. on Parallel and Distributed
Computing, Applications and Technologies, Washing-
ton, DC, USA. IEEE. 421–426.
Barbuti, R. and De Francesco, N. and Santone, A. and
Vaglini, G. (1999). Selective mu-calculus and
Formula-Based Abstractions of Transition Systems.
Journal of Computer and System Sciences 59(3).
537–556.
Bertoli, P. and Hoffmann, J. and Freddy, L. and Pistore, M.
(2007). Integrating Discovery and Automated Com-
position: from Semantic Requirements to Executable
Code. In ICWS 2007, International Conference on
ICSOFT 2009 - 4th International Conference on Software and Data Technologies
20