04.11.2014 Views

elektronická verzia publikácie - FIIT STU - Slovenská technická ...

elektronická verzia publikácie - FIIT STU - Slovenská technická ...

elektronická verzia publikácie - FIIT STU - Slovenská technická ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

190 Selected Studies on Software and Information Systems<br />

based on directed bipartite graphs. There are two types of nodes: places and transitions.<br />

Directed arcs exist only between different types of nodes (it is a bipartite graph). The<br />

places from (to) which an arc runs to (from) a transition are called input (output) places.<br />

Places contain tokens which are distributed over them. This distribution is called marking.<br />

Transitions act in such a way that they take input tokens, process them and put the output<br />

tokens into output places (the input tokens are consumed, i.e. will not be found far in the<br />

input places). This is called firing. A transition is enabled if all input tokens are available. In<br />

this situation it automatically fires.<br />

Using the elements of Petri nets we describe compositions of web services [39, 60]. In<br />

Table 6-2 the correspondence between Petri nets and web services’ elements is shown.<br />

Table 6-2. Correspondance between Petri nets and web service elements.<br />

Petri net<br />

Tokens in input places<br />

Tokens in output places<br />

Transitions<br />

Firing<br />

Marking<br />

Web service<br />

Input data<br />

Output data<br />

Web services<br />

Web service method execution<br />

State of the execution<br />

More detailed overview of how Petri nets formalize the elements of web services is available<br />

in [60]. It also discusses how Petri nets are used for simulation, validation, verification,<br />

composition, and performance analysis of web service compositions. From the web service<br />

execution point of view the most important is the verification. It deals with the question if<br />

it is possible to achieve a goal with available services. If a Petri net depicts the behavior of<br />

available services, this problem is transformed to a reachability question. It is that if it is<br />

possible to reach a marking which depicts the user’s goal. This question can be answered<br />

for example by searching the state-space with breath-first search, however this approach is<br />

in reality unpractical from computation reasons. Rather linear temporal logic with tableau<br />

method is used to decide if the goal state can be reached. Petri nets are also used to check<br />

the occurrence of deadlocks. A marking is a deadlock if it enables no transitions. We want<br />

to avoid this situation. There exist algorithms which solve the reachability and deadlock<br />

problem [60].<br />

One of the most important topics within web services is the security [69]. In [35] a process<br />

for web service security – PWSec is presented. This process specifies how to define security<br />

requirements for web services-based systems describes logical security services-based reference<br />

security architecture and explains how to instantiate it to obtain a concrete security<br />

architecture based on the current web service security standards. In [50], they propose a uniform<br />

format to describe communications and computer security through security objects<br />

and coherent integrations of this format into WSDL as a proper extension and also into an<br />

ontology framework for security knowledge representation and reasoning.<br />

6.3.4 Semantic Web Service Composition Problems<br />

The automatic composition of web services has shown to be a challenging task and it is not<br />

clear which techniques serve the problem best [73]. There are several problems in different

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!