Figure 2 shows the result of step 2: the Global Workflow is specified as a UML 2.0 
activity diagram. It describes the collaboration of the three roles in terms of the 
interactions in which the participating parties engage. Model information is confined 
to "observable behaviour", corresponding to the message flow between the 
participants, the interaction logic and the control flow between the elementary actions. 
The graphical representation of the Global Workflow as a UML 2.0 activity diagram 
allows formalizing the process description in a very intuitive way. 
3.3.2 The Transformation Process 
The first part of the translation process generates those parts of the Local Workflow 
Model which represent the interfaces to the GWfM (e.g., the Interaction-Activities 
receiveAnnualStatement and SendProcessedAS) for every partner-role (Fig. 3a). 
Those partners who are assigned a specific role in the GWfM take the BPEL code 
stubs, import them in the BPEL design tool of their choice (e.g., [28]) and 
complement service calls to back-end application. The models can then be translated 
into BPEL and WSDL files for the workflow engine with existing tools (e.g., [30]). 
<process name="Sectino_TaxAdvisor_LWfM">
<partnerLinks>
<partnerLink name="MS_Provider" partnerLinkType="Municipality_LWfM" 
partnerRole="Municipality_LWfM"/>
<partnerLink name="TS_Provider" partnerLinkType="TaxAdvisor_LWfM" 
partnerRole="TaxAdvisor_LWfMRequester"
myRole="TaxAdvisor_LWfMProvider"/>
</partnerLinks>
<variables>
<variable name="input" messageType="AnnualStatement"/>
<variable name="output" messageType="Confirmation"/>
<variable name="input_MU" messageType="ProcessedAS"/>
<variable name="output_MU" messageType="Notification"/>
</variables>
<sequence name="main">
<receive name="receiveInput" partnerLink="TS_Provider" 
portType="TaxAdvisor_LWfM" 
operation="sendAnnualStatement" variable="input" createInstance="yes"/>
<invoke // !!! INSERT CALLS TO LOCAL SERVICES !!! //>
<invoke partnerLink="MS_Provider" portType="Municipality_LWfM"
operation="sendProcessedAS" inputVariable="input_MU" 
outputVariable="output_MU" name="sendProcessedAS"/>
   <invoke // !!! INSERT CALLS TO LOCAL SERVICES !!! //>
<invoke name="callbackClient" partnerLink="TS_Provider" 
portType="TaxAdvisor_LWfMCallback" 
operation="onResult" inputVariable="output"/>
</sequence>
</process>
PolicySet {(target=<AnnualStatement>)
 PolicySet { target=<outbound>  
PolicySet {(target=<processedAS>)
Policy (Aspect = “Confidentiality”) {
Rule {
Signature-Algorithm = “RSA-SHA1”,
Node1 = “/self/annualIncome”, 
Node2 = “/self/clientID”,
Recipient = “Municipality”} }
Policy (Aspect = “Integrity”) {
Rule {
Signature-Algorithm = “RSA-SHA1”,
Node1 = “/self/”, 
        Recipient = “Municipality”}
}
 PolicySet { target=<inbound>
PolicySet {(target=<processedAS>)
Policy (Aspect = “Qualified Sign”) {
Rule {
Signature-Algorithm = “RSA-SHA1”,
Node1 = “/self/”, 
Source = “Municipality”
Signatories = 2}
 }}}}
(a)                       (b) 
Fig. 3. BPEL File (a) and Security File (b) for Role TaxAdvisor. 
Security Components. The second part generates the configuration files for the 
security components in the architecture (Fig. 3b). The security requirements in the 
constraint box in GWfM (Fig. 2) are translated into an XACML file stored in the 
Policy-Repository (7) and loaded into the PCE (5) at runtime in order to determine the 
compliance of inbound messages and to identify security mechanisms to be applied to 
outbound messages. Figure 4b) shows how the security requirements are translated 
into a configuration file for the role 
TaxAdvisor. Figure 4 shows the dependency 
between the security requirements in the GWfM and the Document-Model of the 
Interface View.  
54