21.01.2014 Views

Semantic Annotation for Process Models: - Department of Computer ...

Semantic Annotation for Process Models: - Department of Computer ...

Semantic Annotation for Process Models: - Department of Computer ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

9.4. DISCUSSION ON RESULTS OF THE VALIDATION 161<br />

subActivity-transitive-negativelysatisfiesSG can be used in the automatic goal<br />

annotation. In our method <strong>of</strong> "calculate the possible goal annotation from the subActivities"<br />

in the goal annotation, we synthesize the three inferences in the algorithms.<br />

Anyway, inference mechanisms should be taken into account in the development <strong>of</strong> the<br />

annotation tool <strong>for</strong> the sake <strong>of</strong> semi-automatic annotation.<br />

9.4.4 <strong>Semantic</strong> validation<br />

Some SWRL rules can be applied to validate semantic representations in both annotated<br />

and original process models. Two examples are provided here:<br />

• When QRule-Activity-hassamePostcondition or QRule-ActivityhassamePrecondition<br />

is executed, the results list a set <strong>of</strong> Activities with same<br />

pre/postcondition. Through the observation, we can conclude two situations:<br />

1. The results are caused by the way <strong>of</strong> modeling WorkflowPattern: in an<br />

EEML model, the logic connection "join" or "choice" is modeled by an EEML<br />

Milestone, and the annotated workflow branches from this connection share a<br />

same GPO Condition ("eeml:milestone" is mapped to "gpo:condition" in the<br />

meta-model annotation). Two evaluation results are there<strong>for</strong>e brought out:<br />

a) The EEML model should be improved by changing the way <strong>of</strong> modeling<br />

to specify the semantics <strong>of</strong> different conditions. b) In the annotation model,<br />

conditions <strong>for</strong> different branches should be separate.<br />

2. Wrong model or redundant Activities with the same Conditions in the original<br />

models.<br />

• QRule-Activity-hasOutput-mappedto-sameonto-Activity-hasInput<br />

is usually used to navigate the in<strong>for</strong>mation flow between Activities, which<br />

also can be used <strong>for</strong> the semantic validation. For instance, two different<br />

Activities from PM B2 have a same local name "Generate_delivery_protocol",<br />

and the outputs <strong>of</strong> these two Activities are mapped to the same concept<br />

"Customer_Delivery_Terms" in the annotation model. According to the<br />

query results from QRule-Activity-hasOutput-mappedto-sameonto-<br />

Activity-hasInput, the outputs are supposed to be passed to the Activity<br />

"Issue_invoice" as the input. When we check the original model, one <strong>of</strong><br />

the two Activities (named with "Generate_delivery_protocol") is a sub-<br />

Activity <strong>of</strong> "Deliver_items_to_franchisees", and it is indeed followed by the<br />

Activity "Issue_invoice" in the original model. However, the other "Generate_delivery_protocol"<br />

which is a sub-Activity <strong>of</strong> "Deliver_items_to_shops"<br />

has no link to "Issue_invoice" in the original model. Such observations can be<br />

concluded as follows:<br />

1. Two Activities "Generate_delivery_protocol" could be functionally implemented<br />

by one component.<br />

2. The annotation <strong>of</strong> the outputs <strong>of</strong> the two Activities should be specified distinctively.

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

Saved successfully!

Ooh no, something went wrong!