Professional Documents
Culture Documents
net/publication/220985361
CITATIONS READS
15 109
3 authors, including:
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Walid Gaaloul on 03 June 2014.
84
XPDL are only referenced by an external identifier, in
?a[isOccurrenceOf hasValue PurchaseProcess] memberOf
ProcessOccurrence and
?a[hasStatus hasValue suspended] memberOf ProcessOccurrence.
oXPDL such identifiers can point to an external mes-
sage ontology. This allows one not only to use the type
Listing 1: Answering competency question #1 hierarchy of the message in the evaluation of expres-
sions or in the oXPDL mapping class, but control flow
3.2 Control Aspect or event triggers can actually be based on an evaluation
The control aspect is concerned with the task or- of the message content. For our motivating example we
dering in a process model and the routing along those can reuse a RosettaNet message ontology to reference
tasks. In XDPL as well as in the proposed ontolo- the types of the PIP3A1 and PIP3A4 messages. This
gisation in oXPDL, the Process type constitutes the approach, however, requires that there is an infrastruc-
primary modelling element. It groups related activi- ture in place that translates the actual XML messages
ties, data, and resources together. Activities in XPDL used in the communication to ontology instances as
represent the reusable task behaviour in a process and described in Haller et al. [7]. If such an approach is
take one of the following types, a triggered event, a followed and the RosettaNet ontology is imported, we
route activity that constrains the ordering of activities can query our model for the competency question #3
or a block activity. In oXPDL all activity types are (does a message in PIP3A4 include some substitutable
modelled accordingly. product) with the query shown in Listing 3.
instance PurchaseProcess memberOf ProcessType PIP3A4 send[hasMessage hasValue ?a] memberOf TaskSend and
hasName hasValue string(”PIP3A4”) ?a[hasIdentifier hasValue ?b] memberOf MessageType and
hasActivity hasValue Activity48 ?b[pip3a4:hasSubstituteProductReference hasValue pip3a4:ProductLineItemType]
memberOf pip3a4:ProductLineItemType
hasActivity hasValue Activity49
hasActivitySet hasValue ActivitySet2
instance ActivitySet1 memberOf ActivitySet
hasActivity hasValue Activity48
Listing 4: Answering competency question #3
hasActivity hasValue Activity5
instance ActivitySet2 memberOf ActivitySet
hasActivity hasValue Activity49 This query is useful to determine if the provider (the
process owner in our motivating example) quotes a sub-
Listing 2: Subprocesses and their associated activities
stitutable product that is a replaceable to the initially
requested product.
PurchaseProcess[hasActivity hasValue ?a] memberOf ProcessType and
?b[hasActivity memberOf ?a] memberOf ActivitySet
3.4 Organisational Aspect
Listing 3: Answering competency question #2
The organisational aspect defines who is responsible
Listing 2 shows an example snippet from our trans-
to perform a task in a workflow and gives the mod-
lated motivating example process including subpro-
eler means to assign constraints on the agent (be it a
cesses (ActivitySets) used within these processes. If
human or a machine). The organisational aspect in
we query for one of our competency questions (which
an XPDL document is only weakly defined; a process
activities belong to a subprocess), as shown in Listing
participant is simply a token of the following types: re-
3, the answers contain not only activities belonging to
source set, resource, organisational unit, role, human,
ActivitySets which are directly linked from the Pur-
or system. In oXPDL these types are modelled as in-
chaseProcess, but also activities which belong to an
dependent classes based on representations in the Sug-
ActivitySet in any other ProcessType. This query is for
gested Upper Merged Ontology (SUMO) [10], a richly
example useful for a process modeler to know in what
axiomatised formal ontology. Modelling the organisa-
context the activity is used in other workflow models.
tional properties semantically allows one to query the
The actual control flow in XPDL is modelled via ex-
knowledge base for competency question #4 (in which
plicit transitions between elements, including the rout-
processes does John Doe participate) with the query
ing activities modelling control flow constructs such as
shown in Listing 5.
Loop and Split. Due to space limitations we refer to
Haller et al. [8] for details on the semantics of the rout- ?a[hasParticipant hasValue ?b] memberOf ProcessType and
?b[hasParticipantType hasValue ?c] memberOf Participant and
ing relations. ?c[hasType hasValue ?d] memberOf ParticipantType and
?d[seeAlso hasValue ”http://example.org/˜johndoe/foaf.rdf”]
memberOf Person
3.3 Informational Aspect
Listing 5: Answering competency question #4
The informational aspect deals with data produc-
tion and data consumption, i.e. the data flow between 3.5 Operational Aspect
tasks. We provide a direct mapping from all data types The operational aspect deals with the modelling of
to the ontology. However, more importantly, the mod- applications to be managed and invoked by the WfMS.
elling of messages can significantly benefit from an on- These applications can be very different in nature, but
tological modelling approach. Whereas messages in the technical details of the application programs are
85
always kept transparent in the workflow model. Al-
though XPDL models different application types, such
as EJBs, Java Objects, XSLT scripts, Forms and Busi-
ness Rules, the most important modelling element are
Web Services. The Web Service modelling in oXPDL
was enriched as follows. First, the associated Input
and Output messages are referenced as a type Mes-
sage. Second, PartnerLinks and PartnerLinkTypes are
explicitly linked, similarly to the modelling of Web Ser-
vices in BPEL. In oXPDL the PartnerLink modelled in
the PackageHeader, as described in section 3.1, refer-
ences this partnerLinkType and defines which role is
taken by the process itself and which role is taken by
a partner. In this way, the partnerLinkType describes Figure 2: Processing steps of the conversion algorithm
a contract between two partners in terms of their roles
(which in oXDPL are also related to the Pool concept) References
and the corresponding WSDL portTypes the partners
have to provide. [1] J. Billington, S. Christensen, K. M. van Hee, E. Kindler,
Through the explicit referencing of messages and the et al. The petri net markup language: Concepts, technol-
PartnerLinkType we can query the model for compe- ogy, and tools. In Proc. of ICATPN. 2003.
tency question #5 (which partners should implement a [2] J. de Bruijn, H. Lausen, A. Polleres, and D. Fensel. The
web service modeling language WSML: An overview. In
web service operation in ProcessType2) with the query Proc. of ESWC. 2006.
shown in Listing 6. [3] B. F. van Dongen and W. M. P. van der Aalst. A meta
model for process mining data. In Proc. of INTEROP.
PurchaseProcess[hasApplication hasValue ?a] memberOf ProcessType and
?a[hasType hasValue ?b] memberOf Application and 2005.
?b[hasWebService hasValue ?c] memberOf ApplicationType and
?c[hasWebServiceOperation hasValue ?d] memberOf WebService and [4] M. Dumas, W. M. P. van der Aalst, and A. H. ter Hofstede.
?d[hasPartner hasValue ?e] memberOf WebServiceOperation Process Aware Information Systems: Bridging People and
Software Through Process Technology. John Wiley & Sons,
Listing 6: Answering competency question #5 Ltd, Hoboken, New Jersey, 2005.
[5] D. Grigori, F. Casati, M. Castellanos, U. Dayal, et al.
4 Converter Implementation Business process intelligence. Computers in Industry,
53(3):321–343, 2004.
[6] M. Gruninger. Ontology of the process specification lan-
The process model conversion involves two steps. guage. In S. Staab and R. Studer, (eds.) Handbook on
First, the oXPDL ontology is loaded, serving as the lan- Ontologies, pp. 575–592. Springer-Verlag, 2004.
guage grammar including the concept hierarchy, its at- [7] A. Haller, J. Gontarczyk, and P. Kotinurmi. Towards a
complete SCM Ontology - The Case of ontologising Roset-
tributes and their cardinalities and second, the XPDL
taNet. In Proc. of SAC. 2008.
instance are analysed. The complete conversion al- [8] A. Haller, W. Gaaloul, and M. Marmolowski. Analysis and
gorithm of an XML instance according to the XPDL mining of ontological process model instances. Tech. Rep.
schema is illustrated in the activity diagram in figure DERI-TR-2007-04-01, DERI, 2008.
2. The result of the conversion process is a knowledge [9] S. Jablonski. Mobile: A modular workflow model and ar-
base with the set of classes and properties from oXPDL chitecture. In Proc. of DYNMOD. 1994.
and the associated instances created based on the XML [10] I. Niles and A. Pease. Towards a standard upper ontology.
In Proc. of FOIS. 2001.
input.
[11] OMG. Mof 2.0/xmi mapping specification, v2.1. 2001.
[12] A. P. Sheth, W. M. P. van der Aalst, and I. B. Arpinar.
5 Conclusion Processes driving the networked economy. IEEE Concur-
rency, 7(3):18–31, 1999.
We have presented an approach to ontologise the [13] WfMC. Workflow Standard Process Definition Interface –
XPDL standard, resulting in our oXPDL ontology, ex- XML Process Definition Language. TR WFMC-TC-1025,
WfMC, 2005.
tended with workflow log modelling capabilities defined
[14] M. Uschold and M. Grüninger. Ontologies: principles,
in oXPDL+. We have explained the ontologisation
methods, and applications. Knowledge Engineering Re-
methodology based on a guiding set of “competence view, 11(2):93–155, 1996.
questions”, and have shown how oXPDL models can [15] A. Winter and C. Simon. Using gxl for exchanging busi-
answer these questions on an automatically translated ness process models. Inf. Syst. E-Business Management,
XPDL process model. 4(3):285–307, 2006.
86