![](bgc.png)
6 Discussion
We discuss our solution against the success criteria from section 3.1 and against re-
lated work.
Expressing web service patterns. We have defined a UML profile for UML activity
diagrams for modeling composite web services. This UML profile consists of the five
basic control patterns defined by Thöne et al. [10] and Aalst [2]. These are directly
supported by UML and do not need any further enhancements. It is not certain that all
of the other control flow patterns are needed for web services composition. For two
of the other control flow patterns we have defined specializations for web services,
Loop specializes Arbitrary Cycles and Alternative Services specializes Discriminator.
To complete our UML profile, we have introduced the non-control flow patterns
Data Transformation and Web Service Call. These are very important when modeling
web service compositions. When the industry adopts a de-facto standard workflow
XML language, it will be natural to extend the UML profile to include support for the
patterns supported by this language.
Hamadi et al. [11] identify control flow patterns for composing web services. They
realize these patterns with a Petri-net-based algebra (Note that UML 2.0 Activity
diagrams are also Petri-net based), while we use UML. Our Alternative Services pat-
tern is the union of their discriminator (previously expressed by Dumas et al. [8]) and
selection pattern, although we currently only have UML modeling support for the
discriminator part. Discriminator means that there are alternative services performing
the same task, where the workflow will only wait for the first one to complete. The
selection means that a selection among services will be based on some criteria such as
price, delivery time and reliability. For the selection pattern, Zeng et al. [12] go fur-
ther by defining optimal execution plans based on a number of criteria. Our loop
patterns go further than the iteration pattern of Hamadi et al. [11] by specifying the
loop conditions. A variant of our proposed UML solution for handling the Data
Transformation pattern is defined by Thöne et al. [10], where the detailed transforma-
tion instruction shall be given by an XSLT expression.
Readability. Dumas et al. [8] identify control flow patterns for workflow models that
are expressed in UML. Dumas et al. have defined the UML modeling without UML
extensions, making the models difficult to understand to even experienced model
readers. Our approach uses UML extensions to improve the UML model readability
by providing direct support for the patterns.
Executable. There is defined a workflow XML language in the ACE-GIS project
with an underlying workflow engine. Future work of ACE-GIS will define and im-
plement conversion rules from our proposed UML profile to this workflow XML
language. We have visually inspected the workflow XML documents of some exam-
ples (including the gas dispersion emergency case) to ensure that all the necessary
information may be registered in a UML model that follows the proposed UML pro-
file.
Independence of workflow XML language. Instead of focusing on workflow mod-
eling, Provost [13] focuses on service modeling when modeling web services with
UML. He takes a platform-specific modeling approach by creating WSDL extensions
within UML. Gardner [14] does web service workflow modeling with a platform-
84