=Paper=
{{Paper
|id=None
|storemode=property
|title=Shaken not Stirred: Mixing Semantics into XPDL
|pdfUrl=https://ceur-ws.org/Vol-682/paper5.pdf
|volume=Vol-682
|dblpUrl=https://dblp.org/rec/conf/esws/UrenWS10
}}
==Shaken not Stirred: Mixing Semantics into XPDL==
Shaken not Stirred: Mixing Semantics into XPDL
Philip Webster & Victoria Uren Marcus Ständer
University of Sheffield Technische Universität Darmstadt
Department of Computer Science Fachgebiet Telekooperation
Regent court Hochschulstr. 10
211 Portobello 64289 Darmstadt, Germany
Sheffield S1 4DP
{P.Webster,V.Uren}@dcs.shef.ac.uk staender@tk.informatik.tu-darmstadt.de
ABSTRACT
Ubiquitous computing requires lightweight approaches to
coordinating tasks distributed across smart devices. We are 1. INTRODUCTION
currently developing a semantic workflow modelling approach Imagine a stylish apartment in the not so distant future. Bob, a
that blends the proven robustness of XPDL with semantics to young IT consultant, has invited his boss to dinner. To impress
support proactive behaviour. We illustrate the potential of the her, he plans to serve dry martinis: four parts gin, one part dry
model through an example based on mixing a dry martini. vermouth and a green olive, chilled to the dew point and shaken
or stirred according to her preference. Luckily for Bob’s career
Categories and Subject Descriptors prospects he has invested in several “smart” consumer products
D.3.3 [Programming Languages]: Language Constructs and that will assist him in creating the perfect cocktail, rather than a
Features – datatypes and structures, I.0 [Computing shot of lukewarm gin with a medicinal aftertaste.
Methodologies]: General, J.7 [Computers in Other Systems]: The SmartProducts project is investigating the technologies
Consumer Products, required to make scenarios such as this one a reality. The project
envisages systems in which some smart products would
General Terms incorporate sensors that can gather environmental data; in this
paper, a cocktail shaker incorporating a temperature sensor is
Languages
taken as an example. Some smart products would also have
enough capacity to reason over ontologies or execute workflows;
Keywords in this paper, this kind of product is illustrated by a device called
XPDL, Ubiquitous computing, Semantic workflows. the Cocktail Guide. Wireless communication would be used to
exchange information between different products in ad hoc
ubiquitous environments. Workflows would provide a means to
Permission to make digital or hard copies of all or part of this work for model tasks that involve a sequence of activities, and to
personal or classroom use is granted without fee provided that copies are coordinate activities being carried out by several products in
not made or distributed for profit or commercial advantage and that copies cooperation with human users.
bear this notice and the full citation on the first page. To copy otherwise,
or republish, to post on servers or to redistribute to lists, requires prior It has been said that modelling behaviour as workflows causes
specific permission and/or a fee. “users to lose control over their work and work to lose the benefit
SBPM2010, May 30–31, 2010, Heraklion, Crete, Greece. of the insights which users bring” [Dourish 1996]. This is a risk
for commercialisation of smart products because, unlike a
business environment where employees can be compelled to
comply with workflow related practises, whether they like them or
not, buying a smart cocktail shaker is a voluntary act. Therefore,
to enhance the experience of using these products, we propose to
add semantic descriptions to workflows to allow ubiquitous
systems to copy the users’ capability of creating links to objects,
combining and reasoning. Ultimately the aim would be to deliver
proactive behaviour based on context information from the
environment, for example, recommending workflows to the user,
or identifying smart products in the vicinity, which could carry
out a given workflow activity.
Annotated workflows have already been investigated in the fields
of business process management, semantic web services and
grids; a review is provided by [Lautenbacher 2007]. All these
fields are characterised by something that the ubiquitous
29
computing environment we have described notably lacks, which is orchestration of participants or services. It is expected that control
access to industrial strength computer processing power. By of process execution will be transferred between the participating
contrast SmartProducts’ technology needs to be deployed on devices, rather than being managed by a centralised workflow
consumer products. This means that cost is a major factor in the execution engine. The SmartProducts consortium agreed with the
selection of electronic. Even a component costing one euro would statement by [Kunze 2006] that a centralised engine may become
significantly increase the final cost of some smaller smart a "single point of failure" and potentially become a "bottleneck
products. These commercial considerations mean that, for the during execution time". All Smart Products developed for the
purposes of current research, we are aiming at working with project communicate over local wireless networks, and may have
gumstix (http://www.gumstix.com). Gumstix is an open source low communications bandwidth. SmartProducts differs from
specification for a computer on a circuit board about the size of a DEMAC in that the process definitions are not transferred from
stick of chewing gum. The targeted gumstix have a 600 MHz device to device as execution progresses. Consequently, the
processor and 256 MB of SDRAM [SmartProducts D6.2.1], transactional and error handling additions made to XPDL in
Although the actual electronics used when products go into DEMAC are not required in our case.
production would most probably not be gumstix, they provide a
readily available research platform of about the right size and SUPER (http://www.ip.super.org) is an integrated project
complexity. providing tools to support the creation and execution of
semantically-enhanced workflows. The SUPER project also uses
Running a workflow execution engine on a gumstix platform is a annotations to provide additional information in workflows. They
big leap from current standards, and in this example we assume use links to ontologies, goals, web services and more [SUPER
that the workflow execution will be controlled by the PDA device 2009] to allow semantic workflow composition, relate
which hosts the Cocktail Guide. Our first step towards achieving input/output to their ontology and allow inclusion of web services.
semantic workflows executing on small devices has been to
develop a lighter weight modelling approach than those that The project provides an Eclipse-derived editor based on the
currently exist. This paper presents the work we have done so far. WSMO Studio editor (http://www.wsmostudio.org/) called
BPMO Editor [Dimitrov 2007] which allows a user to create
Section 2 discusses related work, especially work on semantic workflow process definitions using BPMN (Business Process
annotation of workflows. Section 3 presents the details of our Modelling Notation) or EPC (Event-driven process chain) or to
proposed approach, with discussion of some of the design choices load existing process definitions in these formats and to then add
that were made. Section 4 illustrates functionality the annotated semantic annotation to components of the model, based on
workflows should support using the running example. In Section 5 individuals from an OWL (Web Ontology Language) ontology
we present conclusions. definition. Process definitions created using the BPMO editor are
then converted to BPEL by a plugin for execution on a workflow
2. Related Work execution engine. However, this approach is closely connected to
Modeling task related behavior has been studied extensively the software composition of different services and not to the
because of its obvious commercial importance. Methods that have distribution of workflows on different products, having limited
been considered include task models such as GOMS [Card 1983] resources, e.g. being able to execute one workflow at a time only.
and CTT [Paterno 1997], graph models including Petri Nets
The approach to process definition, annotation and execution in
[Salimifard 2001], and process definition languages like BPEL
SmartProducts differs from the work presented for SUPER in a
[IBM 2007] and XPDL [WfMC 2008]. Since especially the latter
number of areas. The foremost difference is the human-centric
ones have been standards for some time now, they are often used
approach that is central to the SmartProducts platform - products
as bases for manual, semi-automated or fully automated systems.
are intended to assist a human user to complete a task rather than
In the literature there are basically two different concepts for such
being a set of services to be orchestrated. BPEL has weaker
process models: business processes and workflows. The term
support for human participants - this was added initially as a
“business process” thereby describes processes that are focused on
vendor extension (BPEL4People), whereas BPMN and the XPDL
high level descriptions, where objectives play an important role,
serialisation format have human participant capabilities included
while the term “workflow” slides more into the direction of grid
as standard. This difference in scope between BPEL and BPMN
computing, which is much more close to technical details of the
affected the choice of execution engine, and had knock-on effects
environment. Due to the kind of processes in smart environments,
on the choice of process definition languages and tools that could
we stick to the term workflow.
be used without incurring complexity and performance issues.
There are many related projects, which are using workflow
technology combined with semantic information. DEMAC Beyond the human participant emphasis, technical reasons also
[Kunze 2006] for example uses DPDL, an extension of XPDL. influenced the selection of a non-BPEL engine. SmartProducts
DPDL allows annotations about required devices to be attached to uses a workflow execution engine that can execute BPMN
the different participants of a workflow and thus allows the (serialised as XPDL) directly, thus eliminating the need for a
system to choose appropriate devices during runtime. A possible BPMN-to-BPEL translation layer. Much research into BPMN to
problem with such an approach can appear if something changes, BPEL translation has been done, with emphasis on various
e.g. a new device with previously unknown capabilities is techniques for preserving the characteristics of a BPMN process
deployed in the environment. Suddenly the annotation could be diagram when converted to a BPEL executable model. Depending
unsuitable, since it no longer describes the best suitable product. on the modeling style used when creating a BPMN diagram, the
resulting BPEL produced by a conversion algorithm may have
The SmartProducts approach is similar in some respects to the increased complexity (Recker, J. C. M., 2006) and associated loss
approach taken by Kunze, Zaplata and Lamersdorf [Kunze 2006] of human comprehensibility, due to the conceptual mismatch
in that cooperation between devices is emphasised over between the two languages. The solution preferred by
30
SmartProducts was to use XPDL as the serialisation format for suitable base for such descriptions [Kunze 2007]. The
BPMN process diagrams, and also as the execution format development is eased since XPDL supports many workflow
processed by the workflow engine. This eliminated the patterns, which are often used while modeling, directly [van der
complexity issues that would be faced if a conversion were Aalst 2003]. Further, since XPDL is based on the business process
required between the definition and execution phases. modeling notation BPMN [OMG 2009], the workflows can be
visualized using standardized human readable graph
In addition, the BPEL approach places heavy emphasis on visualizations. There are several open source editors available
the use of Web Services to perform execution of the individual (e.g. JaWE), which help developing the workflows. During
blocks of activity in a diagram, and relies on XML-based formats runtime, this visualization eases tracking of the current state of a
for service invocation and data transfer. By comparison, the workflow. Using the XPDL standards also allows developers to
BPMN/XPDL approach allows code to be associated directly with embed their own code into the workflows and thus automate
the activities represented in a process definition. In the XPDL processes by directly steering certain hardware or call own
model, implementation of remote calls is left to the developers. software from within the workflow. To further extend the power
This was an advantage for SmartProducts, as the platform is
of the language, the WfMC has designed XPDL to be extensible.
intended to run on a distributed set of resource contrsained There are tags like the ExtendedAttributes, which can be used to
devices, with no central 'master' process co-ordinator. Typical append data to different parts of the workflows.
SmartProducts devices may be smart kettles or smart ovens, and
as such will have relatively slow CPUs and small amounts of Consequently, our proposed model is an extension of XPDL using
memory, making efficient methods for data transfer and semantic annotation to link in the ontologies. This approach aims
processing very important. Use of a full Web Services framework to blend the power of semantics with the proven capabilities of
would massively restrict the functionality of the SmartProducts XPDL.
devices, as the WSDL and SOAP processing overhead would be
much greater than the overhead imposed by the alternative 3.2 Role of Rules
lightweight embedded middleware used in SmartProducts. Each In a first step, the workflows get annotated with information
device can execute relevant portions of a process directly in a concerning when to start that workflow. Usually there are two
small and functional embedded workflow execution engine, with possible ways to automatically start a workflow: (1) having a big
inter-participant communication achieved via the use of a workflow that permanently runs and that covers every possible
communication middleware layer (MundoCore) which is also situation and then starts sub workflows or (2) trigger workflows
embedded on the devices. from outside. Basically both opportunities are based on the
definition of a set of rules. In our approach we directly attach
Thus, while the SUPER project's implementation was guided by these rules to the headers of the workflows. The purpose of
the requirements imposed by the aim to satisfy the needs of large attaching annotations and trigger rules to the workflow itself is
enterprises seeking to control and monitor commercial business data transfer. It packages the semantic, non-semantic and
processes on centralised workflow execution servers, the workflow information together so that they can be conveniently
SmartProducts implementation is aimed at a radically different stored, e.g., on a new smart product when it is shipped or on a
environment: clusters of small devices working together with a website that provides new workflows to smart product owners.
human user to achieve goals specific to the human user The workflows can be treated as simple XPDL and, if more
participating in the process - with the added flexibility that the powerful computing facilities are available, semantic annotations
human can influence the execution path and non-human and rules can be transferred to them for reasoning.
participant binding dynamically during process execution, rather
than at process definition time. At the time of writing, the rule language that will be used for the
SmartProducts infrastructure remains undecided: the web standard
Further approaches like NEXUS (http://www.nexus.uni-
SWRL (http://www.w3.org/Submission/SWRL/) and Jess
stuttgart.de) or ASTRO (http://astroproject.org) also provide the
(http://www.jessrules.com/) are candidates. To minimize
ability to use semantic information. Unfortunately central
computational requirements, it is likely that a forward chaining
workflow management or missing possibilities to describe the
rule engine will be used.
elements of a workflow flexibly enough make them not
completely suitable for our SmartProducts setting. The format of rules will be determined by the reasoner selection
but we can assume for the purpose of discussion that they may
3. SEMANTIC WORKFLOW MODEL take a form such as:
In this section we detail the semantic workflow model and discuss IF (conditions) THEN (parameters)
our design decisions.
Where the conditions are Boolean expressions containing context
3.1 The Process Definition Language values from the SmartProducts environment and the parameters
One of the central issues in creating smart environments is the are optional context values that identify additional data that the
modeling and handling of processes. These processes require a workflow may require during its execution.
semantically well defined language allowing developers to define Workflow identifiers are not explicitly included in the definition
for example the organizational structures of the different steps, the of rules given above. This is deliberate – the SmartProducts
participants or how to use automation capabilities of some smart platform will be used in environments where devices from
product. Thus, process descriptions range from a very high level multiple product vendors co-operate to complete a process. Each
view down to very system specific details. Regarding the vendor may choose to include a number of process definitions
established standards for process modeling, like BPEL [SRC], with their product, and vendors may not conform to a restrictive
JPDL[SRC] or XPDL [WfMC 2008] it has shown that XPDL is a set of rules for defining workflow identifiers. For this reason, the
31
SmartProducts runtime will generate the identifiers used by the images. While the metadata is put into extended attributes,
process execution engine, eliminating the possibility of conflicts internal data is stored in workflow variables.
by ensuring uniqueness. Vendors may still include their own
workflow identifiers, but these will not be the ones used during
execution. Adding annotations
All trigger rules will be removed from the process definitions and
stored elsewhere, in the trigger component, while the workflows
To allow such annotations, WfMC’s XPDL standard defines the
themselves will be located in a process repository. Workflow ExtendedAttribute element as follows:
identifiers will thus be made unique within a SmartProducts
environment without the need to impose restrictions on vendors.
For the initial design, we reuse the concept of formal parameters “6.4.14.1. Extended Elements and Attributes
used in the XPDL standard. When the workflow is started, so- The primary method to support such extensions is by the use of
called actual parameters are mapped to the formal parameters, extended attributes. Extended attributes are those defined by the
allowing the execution engine to pass required information, like user or vendor, where necessary, to express any additional entity
the user that issued a workflow. Since these parameter signatures characteristics. XPDL schema supports namespace-qualified
form the “interfaces” of the workflows, they can later be extensions to all the XPDL elements. The XPDL elements can be
described by standards like the Web Service Description extended by adding new child elements, and new attributes.”
Language (WSDL) to allow workflows to be used more [WfMC 2008]
dynamically.
We have identified two situations in which rules are required. The
first is for recommending workflows. This will happen outside of Other options within XPDL, such as ExternalReference, have too
the workflow engine. Therefore rules of this type will be added to restricted scopes of use. Extended attributes are a flexible
workflows as annotations so that they can be extracted and approach that we have used to add semantic annotations by
reasoned with to determine the proactive behaviour in the developing a "vocabulary" of different types of extended
ubiquitous environment. The second situation concerns rules that attributes. They can be added to any kind of XPDL element.
are required in order to control the flow of an executing workflow. Therefore annotations could be added in the workflow header if
XPDL already has facilities to add rules of this kind to transitions. they apply to the whole workflow or be attached to specific XPDL
We propose to reuse this feature rather than add semantic rules to elements such as activities, applications, participants, performers
transitions. or transitions if a more precisely scoped annotation is required.
However, so far, we are only annotating activities, applications
The workflow triggering rules should support the proactive and participants. Performers and transitions should not have to be
recommendation of workflows to the user. Default rules for the modeled explicitly for reasons explained below.
triggering of workflows may be attached to workflows when they The WfMC guidelines imply that it is also possible to define
are originally created and shipped to the user. A default rule for ExtendedElements, for example an Application element could be
the dry martini could be that it should not be recommended before defined for smart product software. However in practice we
6pm or to anyone under the age of 18. Individual users may wish cannot find evidence of this being done. Therefore we propose to
to supplement these default rules with personal preferences, for define a vocabulary of extended attributes and guidelines for their
example permitting the suggestion of cocktails from midday use specifying which kinds of elements they can be attached to.
onwards at weekends and on holidays or, for users who abstain
from alcohol, rules that ensure they are only offered nonalcoholic In SmartProducts, lists are used in ExtendedAttributes. This
cocktails. permits multiple values to be added to one workflow element with
a given semantic annotation. In practice, this can be used to
3.3 Annotation provide a list of expected tools or devices that could be used by a
Annotation provides the opportunity to add both semantic and participant to complete an activity, or it could refer to a list of
nonsemantic metadata. This could be of the following kinds: ingredients to be used for a given step in a recipe.
• URIs (linking to instances of an ontology) (semantic) This approach realizes a SmartProducts metadata element set,
• Locally defined tags, required because an ontology will which is more controlled than totally free annotations in which
any extended attributes could be attached to any element. As a
never be complete (could become semantic if fused with starting point we propose three named extended attributes,
the ontology) PRODUCT_CLASS, METADATA and ACTIVTY, which are
• Snippets of text that could be presented to the end user defined in table 1. The workflow elements these can be attached
to are outlined below.
during workflow execution (not semantic)
• Links to other resources such as images (not semantic)
Participant – participants that are smart products can be
• Rules (semantic)
annotated with:
The annotation approach that we propose uses existing XPDL
conventions. In principle we make use of two different kinds of • PRODUCT_CLASS
information when processing a workflow. Informational metadata • METADATA
such as required capabilities of a product, semantic information The Participant PRODUCT_CLASS annotation should not be
about the activity, etc. and information that directly belongs to the used to provide an exhaustive list of acceptable devices that may
information flow of the workflow, like text, names, or links to
32
be used to perform an activity – rather, it enumerates the preferred 4. WORKED EXAMPLE
devices as envisaged by the process designer. The flexibility of An example of a typical SmartProducts scenario is presented to
the SmartProducts platform permits users to utilize alternative illustrate the use of the semantic annotations added to XPDL, and
devices not explicitly defined within the process definition. It may how the SmartProducts platform makes use of this additional
also be possible for a user to use a non-smart device to perform an information to allow new functionality to be implemented. These
activity, and if the workflow engine was designed to strictly reject examples refer to the workflow which is illustrated in figure 1.
any non-specified devices, the process would be stalled
indefinitely in these cases.
Activity – activities that are performed by smart products can be
annotated with:
• PRODUCT_CLASS
• ACTIVITY
• METADATA Figure 1: A workflow for creating a Dry Martini
4.1 Selection of Workflow
Application – applications describing smart products software Imagine Bob can remember that the very stylish cocktail favoured
can be annotated with: by James Bond, includes gin, but he can’t remember what it is
• PRODUCT_CLASS called. He turns to his Cocktail Guide, a piece of software that is
• ACTIVITY installed on his PDA, and which can handle the execution of
cocktail-making workflows. A search for gin quickly pulls up a
• METADATA list of cocktails, which include the ingredient gin. This is possible
The XPDL Performer element is not annotated, as this serves only because the XPDL Activity elements have been annotated with
as a link between a Participant and an Actvity (both of which are METADATA ExtendedAttributes that draws on a domain
already capable of accepting SmartProducts annotations). The ontology that describes the typical ingredients of cocktails.
XPDL Transition element is also not annotated, as the aim of
The following example shows the SmartProducts annotations
SmartProducts is centred on the performance of activities rather
added to the ‘add gin to mixing glass’ step in the creation of a dry
than the flow of the process. The use of expressions as conditions
Martini.
in transitions is considered sufficiently flexible for the project.
It makes sense to have a place in a workflow where people can
store trigger rules that they write to define context conditions that barman
would trigger that flow. These could then be extracted from the
workflow and added to the Ubiquitous Data Store. We propose
the use of ExtendedAttribute to embed a trigger rule into the
Annotation name Description
A product type or types as
PRODUCT_CLASS class it should be possible
to identify substitute
products with similar
functionality.
An instance or instances 4.2 Selection of Devices
from a related domain The smart devices in Bob’s house are wireless enabled. Therefore
METADATA ontology, excluding the Cocktail Guide can recognize which devices are available in
products and activities. It the apartment. Each device can broadcast a semantic description,
supports domain specific which specifies the kinds of action it can perform and the kinds of
annotation. contextual information it can provide. The workflows are
A type of action that is similarly annotated with semantic metadata which describe the
required to complete an actions required to complete activities and context information
activity. This supports the required to coordinate the process.
ACTIVITY
identification of products
based on their capabilities The constrained hardware of ubiquitous computing environments
rather than their type. will compel us to keep the reasoning we do lightweight and to
prove that “a little semantics goes a long way” [Hendler 2003].
33
The kinds of lightweight reasoning tasks that will be needed are This therefore is the element we propose to use. The example
detailed below. below illustrates DataField syntax.
Semantic Querying: Semantic reasoning is required to match the
needs expressed in the workflow annotations against the
capabilities of the devices in the environment. In our running
example, Bob’s apartment contains two alternative devices for
which can perform mixing and detect temperature.
Mapping: Just as nobody can be compelled to buy a smart
cocktail shaker, nobody can be compelled to buy all their
appliances from the same manufacturer (see the discussion on
vendor specific rules in section 3.2). Consequently, different Take four parts gin, one part dry
appliances with similar capabilities will be described differently.
vermouth and place in a cocktail shaker with ice
Taking a semantic approach therefore has clear advantages. Ad
hoc mapping techniques can be envisaged which could recognize
that “Blending” in one ontology is similar to “Mixing” in another.
The example below attaches a metadata URI to a Participant
element. The scope of this annotation is restricted to the
participant. This example comes from the header of a workflow
about making a dry Martini: the annotation identifies that a mixer
4.4 Incorporating Context
To be drinkable the dry martini must be sufficiently chilled. The
can be used and that there are two smart activities that may be
carried out by a compatible mixer. Here there is a choice between workflow is written in such a way that it will not proceed to the
a shaken or stirred Martini. serving step until it has confirmation that the drink has reached
the right temperature. Bob’s smart cocktail shaker contains a
temperature sensor, and the workflow execution engine can make
and designers of workflows should only need to specify when
they react on context changes. In the example above they should
the action.
5. Conclusions
A review of the approaches to semantic annotation of process
4.3 Guiding the user definitions taken so far in existing research led us to conclude that
Bob’s Cocktail Guide, can guide him through the dry martini the SmartProducts platform would need to develop a new
recipe step by step. This will be achieved by using sections of text approach. This approach makes use of the capabilities of a
and images embedded in the workflow, which can be relayed to standard process definition serialisation format (XPDL) that also
Bob through his preferred communication screen; in this case the has good support as a language that can be executed by process
T.V. set in his living room. engines. Semantic annotation functionality was added to improve
retrieval of appropriate workflows and to support functionality
The workflow model requires a way in which to store sections of
such as identifying products that can compete a given activity.
the original text or diagrams. It is common practice in XPDL to
store such text in variables using the XPDL element DataFields.
34
This paper presents the initial effort that has been made toward [IBM 2007] IBM, B. Systems, Microsoft, SAP, and Siebel. Web
this goal. A working version of the system, which includes a services business process execution language (WS-BPEL, BPEL),
newly-defined set of annotations that can be applied to XPDL has version 2.0 specification, 2007
been presented. In additional work not presented here, an editor [Kunze 2007] Kunze, C., Zaplata, S., & Lamersdorf, W. (2007).
prototype that provides support linking of individuals from Mobile processes: Enhancing cooperation in distributed mobile
ontologies to process definition components, and a workflow environments. Journal of Computers, 2(1), 1–11.
engine that can execute semantically-enhanced process definitions
are being developed. Future work will enhance the expressiveness [Lautenbacher 2007] Florian Lautenbacher, Bernhard Bauer, A
and flexibility of the annotation system while also retaining the Survey on Workflow Annotation & Composition Approaches,
ability to use the annotated workflows on lightweight devices co- Proceedings of the Workshop on Semantic Business Process and
operating with a human user. Product Lifecycle Management (SemBPM) in the context of the
European Semantic Web Conference (ESWC), pp. 12-23, 7th
June 2007, Innsbruck, Austria
6. REFERENCES
[Bowman 1993] Bowman, M., Debray, S. K., and Peterson, L. L. [Ouyang 2008] Ouyang C., Dumas M., van der Aalst W.M.P., et
1993. Reasoning about naming systems. ACM Trans. Program. al. (2008). Pattern-based translation of BPMN process models to
Lang. Syst. 15, 5 (Nov. 1993), 795-825. DOI= BPEL Web services. International Journal of Web Services
http://doi.acm.org/10.1145/161468.161471. Research. 5 (1), 42-62.
[Brown 2003] Brown, L. D., Hua, H., and Gao, C. 2003. A widget [Paterno 1997] Paternò F, Mancini C, Meniconi S.
framework for augmented interaction in SCAPE. In Proceedings ConcurTaskTrees: A diagrammatic notation for specifying task
of the 16th Annual ACM Symposium on User interface Software models. In: Proceedings of the IFIP TC13 International
and Technology (Vancouver, Canada, November 02 - 05, 2003). Conference on Human-Computer Interaction table of contents, pp.
UIST '03. ACM Press, New York, NY, 1-10. DOI= 362 - 369 1997
http://doi.acm.org/10.1145/964696.964697 [Recker 2006] Recker, J. C. M., Jan. (2006). On the Translation
[Card 1983] Card S, Moran T, Newell A, 1983. The psychology between BPMN and BPEL: Conceptual Mismatch between
of human-computer interaction. Lawrence Erlbaum Associates Process Modeling Languages.
Inc., 1983 [Salimfard 2001] Salimifard K, Wright M. Petri net-based
[Dimitrov 2007] Dimitrov, M., Simov, A. Stein, S., Konstantinov, modelling of workflow systems: An overview. European journal
M. 2007 A BPMO Based Semantic Business Process Modelling of operational research. 2001;134(3):664–676.
Environment, Proceedings of the Workshop on Semantic Business [Sannella 1994] Sannella, M. J. 1994 Constraint Satisfaction and
Process and Product Lifecycle Management (SBPM-2007), Vol- Debugging for Interactive User Interfaces. Doctoral Thesis. UMI
251, CEUR-WS, June 2007, ISSN 1613-0073 Order Number: UMI Order No. GAX95-09398., University of
[Ding 1997] Ding, W. and Marchionini, G. 1997 A Study on Washington.
Video Browsing Strategies. Technical Report. University of [SmartProducts D6.2.1] D6.2.1: Initial Architecture and
Maryland at College Park. Specification of Platform Core Services, SmartProducts, 2010
[Dourish 1996] Dourish, P., Holmes, J., MacLean, A., [Spector 1989] Spector, A. Z. 1989. Achieving application
Marqvardsen, P., & Zbyslaw, A. (1996). Freeflow: mediating requirements. In Distributed Systems, S. Mullender, Ed. Acm
between representation and action in workflow systems. In Press Frontier Series. ACM Press, New York, NY, 19-33. DOI=
Proceedings of the 1996 ACM conference on Computer supported http://doi.acm.org/10.1145/90417.90738
cooperative work (p. 198). ACM. Retrieved from
http://portal.acm.org/citation.cfm?id=240252. [Tavel 2007] Tavel, P. 2007 Modeling and Simulation Design.
AK Peters Ltd.
[Forman 2003] Forman, G. 2003. An extensive empirical study of
feature selection metrics for text classification. J. Mach. Learn. [WfMC 2008] The Workflow Management Coalition
Res. 3 (Mar. 2003), 1289-1305. Specification, Workflow Management Coalition, Workflow
Standard Process Definition Interface-- XML Process Definition
[Fröhlich 2000] Fröhlich, B. and Plate, J. 2000. The cubic mouse: Language, Document Number WFMC-TC-1025, Document
a new device for three-dimensional input. In Proceedings of the Status – Final Approved, October 10, 2008, Version 2.1a
SIGCHI Conference on Human Factors in Computing Systems
(The Hague, The Netherlands, April 01 - 06, 2000). CHI '00. [Yu 1989] Y.T. Yu, M.F. Lau, "A comparison of MC/DC,
ACM Press, New York, NY, 526-531. DOI= MUMCUT and several other coverage criteria for logical
http://doi.acm.org/10.1145/332040.332491 decisions", Journal of Systems and Software, 2005, in press.
[Hendler 2003] On Beyond Ontology, Keynote talk, International
Semantic Web Conference 2003.
35