![](bg2.png)
fore they are actually executed (e.g., to see if too much
resources will be used or undesirable effects will oc-
cur) which will then feedback into the design of the
workflow. In order to predict the behaviours of these
workflows, we might require detailed knowledge of
the device. Realistically, we can only assume some
knowledge about the device such as some of their ob-
servable properties. Our more recent work (Loke,
2004) provided a formalization of what it means to
say that the behaviour of devices and device ecology
workflows are predictable: the behaviour of a device
ecology workflow is predictable if the behaviour of
the individual devices are predictable, and the more
predictable each device is, the more predictable the
device ecology workflow will be - our formaliza-
tion tells us precisely how much more predictable the
workflow will be. However, we have not considered
in detail how properties of these workflows can be
represented and analyzed.
In this paper, we investigate an alternative mod-
elling using Petri nets for the observable states of de-
vices and device ecology workflows. We show how
existing Petri net theory can be used to analyze the
behaviour of the devices and their workflows.
The next section explains the notion of workflows
in device ecologies. Then, section 3 explains a Petri
net model of devices and device ecology workflows.
In section 4, we identify useful properties of device
ecology workflows and then consider how Petri net
analysis techniques can be applied to analyse these
properties. We conclude in section 5 with future
work.
2 WORKFLOWS IN DEVICE
ECOLOGY
The environment of a device is not only other devices
but also human users and the Web resources that it can
connect to. We consider several examples of devices
working together and interacting with Web resources
(e.g., Web services).
Mentioned in the UPnP whitepaper is a script that,
on detecting that a master switch has changed to “on”,
will turn the heater on to a preset temperature, start
the answering machine playing new messages, turn
the stereo system on set to a favourite station, raise
the window blinds, turn the TV to the news station,
and turn on the light in the foyer. In this case, the
devices effectively work together, as orchestrated by
some central coordinator, in order to create the right
atmosphere and provide the right services (of inform-
ing the user of the new phone messages and news),
even though the individual devices might not be aware
of this global goal.
Devices might interact directly with one another
and with the user. An example is quoted from Berger
1
concerning Thalia appliances, short for Thinking and
Linking Intelligent Appliances: “When you set your
Thalia alarm clock to wake you at a certain time, it
will notify the coffee maker to adjust the time for
your morning cup of java. The alarm clock will let
you know if you forgot to put the water in the cof-
fee maker. It will also tell the blanket with a brain
when to turn off. In the morning, the alarm clock will
greet you with the current news and weather. As you
are making the pancakes, the kitchen console will au-
tomatically adjust the recipe for the number of por-
tions you need. Your HomeHelper kitchen console
will store shopping lists, calendars, and telephone
numbers that can be downloaded to your HandHelper
PDA.”
Smart appliances might interact with applications
and services across the Internet. For example, the
fridge can order food that has run out by connect-
ing to a Web service or negotiate with other appli-
ances about resource (e.g., power and networking)
consumption. Devices might seek human approval for
more critical tasks.
Devices can work together with other devices, the
user or Web resources in accomplishing its goals, ei-
ther as initiated by users or by proactive smart de-
vices. Such workflows might or might not involve
devices, users and Web resources, depending on the
application semantics. The simpler workflows might
involve only one device or two devices, but larger
workflows can involve a larger number of devices, as
we saw in the examples above.
As an illustration, we consider a workflow device
ecology workflow involving a television, a coffee-
boiler, bedroom lights, bathroom lights, and a news
Web service accessed over the Internet. Figure 1 de-
scribes this workflow. The dashed arrows represent
sequencing, the boxes are tasks, the solid arrow rep-
resents a control link for synchronization across con-
current activities, and free grouping of sequences (i.e.,
the boxes grouped into the large box) represents con-
current sequences.
This workflow is initiated by a wake-up notice from
Janes alarm clock which we assume here is issued
to the Device Ecology Workflow Engine (which we
call the Decoflow Engine) when the alarm clock rings.
This notice initiates the entire workflow. Subsequent
to receiving this notice, five activities are concurrently
started: retrieve news from the Internet and display is
on the television, switch on the television, boil coffee,
switch on the bedroom lights, and switch on the bath-
room lights. Note the synchronization arrow from
Switch On TV to Display News on TV, which en-
1
http://www.aarp.org/computers-
features/Articles/a2002-07-10-
computers
features appliances.html
ANALYZING OBSERVABLE BEHAVIOURS OF DEVICE ECOLOGY WORKFLOWS
79