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

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

21.01.2014 Views

190 APPENDIX D. ALGORITHM FOR GOAL ANNOTATION gets higher weight than the sub-string match (τ = 1 for exact match, and τ = 0.5 for sub-string match). Weights are also different for each case. We set different parameters for weighing each case. The values of parameters can be set by users. In the algorithm, α stands for the weight of case A with ontology comparison and β for case A with string match. The case B is relatively complex. Sub-cases are distinguished for case B: case B.I – the target artifact a f ′ of the goal concept is mapped to the annotation of the Output; case B.II – the target artifact a f ′ of the goal concept is mapped to the annotation of an Artifact which is directly associated with the activity; case B.III – the target artifact a f ′ of the goal concept is mapped to the annotation of an Artifact which is indirectly related with the activity. An Artifact can be associated with an Activity through direct relation "has_Artifact" or through the indirect relation "related_Artifact" of the Output. If the association is built through the indirect relation, the state of the target artifact a f ′ should be checked to match the Output too. Parameter θ is used for weight of case B.I, γ is for case B.II with ontology comparison, and δ is for case B.II with string match. ɛ and µ are for case B.III. That the models are mapped to the goals by case C (matching the target role) is regarded less important than by the other cases, because the actor role is seldom considered as the stand alone target of a goal. Two parameters ε and ζ are applied in case C for ontology comparison and string match respectively. The values for the two parameters should be set lower than other parameters. No ontology comparison is employed in case D, so one parameter η is assigned in such case. When matching a goal concept (g) with an activity (av) in models, all the four cases must be checked on g and av. The result of a match is a total weight by summing the weights from four cases. The higher total weight is, the better g matches av.

191 Algorithm 1 Goal Annotation Algorithm for Case A Require: weight parameters α and β initialize values of weight f oractivityonto, weight f oractivityname, σ, τ as 0 onto = OD(av) {av is the activity to be annotated in goal annotation, and OD(av) gets the domain ontological concept which was annotated to av in model annotation} r = SR(av, onto) {SR(av, onto) gets the semantic relationship between av and onto} for each target activity av ′ of a g in goal ontology do if o equals av ′ then if r is "same_as" then σ = 1 else if r is "kind_of" then σ = 0.8 else if r is "phase_of" then σ = 0.5 end if end if weight f orativityonto = weight f oractivityonto+σ if av.name equals av ′ .name by string match then τ = 1 else if av.name partly equals av ′ .name by string match then τ = 0.5 end if weight f oractivityname = weight f oractivityname+τ end for return α ∗ weight f oractivityonto+β ∗ weight f oractivityname Algorithm 2 Goal Annotation Algorithm for Case B.I Require: weight parameters θ initialize value of weight f oroutput as 0 Arrayout[] is a set of output associated with av {av is the activity to be annotated in goal annotation. out[] is got from has_Output relationship} for each output in out[] do onto = OD(out) {OD(out) gets the domain ontological concept which was annotated to output through mapped_to relationship} for each target artifact a f ′ of a g in goal ontology do if onto equals a f then weight f oroutput = weight f oroutput+ 1 end if end for end for return θ ∗ weight f oroutput

190 APPENDIX D. ALGORITHM FOR GOAL ANNOTATION<br />

gets higher weight than the sub-string match (τ = 1 <strong>for</strong> exact match, and τ = 0.5 <strong>for</strong><br />

sub-string match).<br />

Weights are also different <strong>for</strong> each case. We set different parameters <strong>for</strong> weighing<br />

each case. The values <strong>of</strong> parameters can be set by users. In the algorithm, α stands <strong>for</strong><br />

the weight <strong>of</strong> case A with ontology comparison and β <strong>for</strong> case A with string match.<br />

The case B is relatively complex. Sub-cases are distinguished <strong>for</strong> case B: case B.I – the<br />

target artifact a f ′ <strong>of</strong> the goal concept is mapped to the annotation <strong>of</strong> the Output; case<br />

B.II – the target artifact a f ′ <strong>of</strong> the goal concept is mapped to the annotation <strong>of</strong> an<br />

Artifact which is directly associated with the activity; case B.III – the target artifact<br />

a f ′ <strong>of</strong> the goal concept is mapped to the annotation <strong>of</strong> an Artifact which is indirectly<br />

related with the activity. An Artifact can be associated with an Activity through<br />

direct relation "has_Artifact" or through the indirect relation "related_Artifact" <strong>of</strong><br />

the Output. If the association is built through the indirect relation, the state <strong>of</strong> the<br />

target artifact a f ′ should be checked to match the Output too. Parameter θ is used<br />

<strong>for</strong> weight <strong>of</strong> case B.I, γ is <strong>for</strong> case B.II with ontology comparison, and δ is <strong>for</strong> case<br />

B.II with string match. ɛ and µ are <strong>for</strong> case B.III. That the models are mapped to<br />

the goals by case C (matching the target role) is regarded less important than by the<br />

other cases, because the actor role is seldom considered as the stand alone target <strong>of</strong><br />

a goal. Two parameters ε and ζ are applied in case C <strong>for</strong> ontology comparison and<br />

string match respectively. The values <strong>for</strong> the two parameters should be set lower than<br />

other parameters. No ontology comparison is employed in case D, so one parameter η<br />

is assigned in such case.<br />

When matching a goal concept (g) with an activity (av) in models, all the four cases<br />

must be checked on g and av. The result <strong>of</strong> a match is a total weight by summing the<br />

weights from four cases. The higher total weight is, the better g matches av.

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

Saved successfully!

Ooh no, something went wrong!