Semantic Annotation for Process Models: - Department of Computer ...
Semantic Annotation for Process Models: - Department of Computer ...
Semantic Annotation for Process Models: - Department of Computer ...
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.