You are on page 1of 73

Coloured Petri Nets

The purpose of this discussion is to develop a


representation scheme for AT systems.
The domain of reference for AT systems is rich and
wide ranging with many factors to consider.
Any representation of this world of AT , must be able
to embody these many factors and be able to mark the
changes which inform AT outcomes.
The Weaknesses of Traditional
Petri Nets
Their primary aim is to represent the dynamic
aspects of system behaviour and because of this
they do not have anything other than very simple
capacity to represent entities of the domain of
application.
Data representation is limited to tokens which
are indistinguishable from each other.
Clearly this is inadequate for representing AT
systems.
Coloured Petri Nets
In order to represent data representing the context of AT
a richer scheme is required.
This extended data definition capacity is offered by an
extension of traditional Petri nets known as Coloured
Petri Nets.
Coloured Petri Nets have got their name because they
allow the use of tokens that carry data values and can
hence be distinguished from each other
This is in contrast to traditional Petri nets, which have
only one kind of token . These tokens by convention are
drawn as black, uncoloured dots..
Coloured Petri Nets

Coloured Petri Nets combine the strength of


Petri nets with the strength of programming
languages.
Petri nets provide the primitives for the
description of the synchronisation of concurrent
processes, while programming languages
provide the primitives for the definition of data
types and the manipulation of data values.
Characteristics of Coloured Petri
Nets
Like traditional Petri Nets Coloured Petri Nets
consist of Places Transitions, connected by Arcs.
(forming a bi-partite graph).
They are a combination of text and graphics.
Places
Places are specified with the following
inscriptions:
Name (for identification).
Colour set (specifying the type of tokens
which may reside on the place).
Initial marking (multi-set of token colours)
Transitions
Each transition has the following
inscriptions:
Name (for identification).
Guard (boolean expression containing
some of the variables).
Arcs
Each arc has the following inscriptions:
Arc expression (containing some of the
variables).
When the arc expression is evaluated it
yields a multi-set of token colours.
Example
Marking
Place P2 is empty.
The marking at P1 consists of 2 tokens of type integer
whose value is 3 and
2 tokens of type integer whose value is 8.
On T1 is the guard X > 5. This is a barrier to T1
happening, in that T1 will only pass if the assignment to
X under the occurrence in question is greater than 5.
As we will see these guards on transitions will play an
important part in representing the barriers to the
performance of activities .
There are 2 places P1 and P2. and a transition T1
Transition Guard
On T1 is the guard X > 5. This is a barrier
to T1 happening, in that T1 will only pass if
the assignment to X under the occurrence
in question is greater than 5.
As we will see these guards on transitions
will play an important part in representing
the barriers to the performance of
activities .
The Arc Expression
On the arc between P1 and T1 is the atomic
expression consisting of a variable X to which
may be bound one of the input tokens in P1.
Such a binding is called an occurrence.
The expression on the output arc from T1 to P2
represents the state change which takes place
across transition T1. In this example it embodies
an increment of 1 on the variable X
Firing A CPN ---- Consider
In this example
On place P1 there are 5 colour tokens. of
type Integer. There are three tokens with
value 8 and two with value 5.
On the arc between place P1 and
Transition T1 there is a variable
expression X. Tokens from place P1 can
be taken from P1 and bound to this
variable expression.
X is bound to one of the
Integer tokens with value 8
Guards on the expression
The expression X > 5 at transition T1 is known
as a guard and must be satisfied by the
incoming token values.
If the incoming tokens do not satisfy the guard
then the transition cannot happen.

In this case X has value 8 which is > 5 so the


transition can take place
If the guard is satisfied, then the transition
may happen and the token is passed to
the output place P2 . The token is modified
with those changes that are specified in
the expression on the output arc.
In this case this expression is X + 3. which
specifies that 3 is to be added to the token
bound to X
X is assigned the value 8 + 3
A token with value 11 is output
Occurrence
The passage of tokens across transitions from
place to place through this process of binding,
satisfying guards and modifying data is called an
occurrence.
The occurrence will be blocked if the guard is
not satisfied by the incoming tokens.
So if an input token with value 5 was bound to X
then the transition could not occur.
The guard is a barrier to the transition
happening.
In this case the guard acts as a
barrier
The transition cannot happen because the
guard is not satisfied.
CPNS and AT systems.

At one level Assistive technology is used by


somebody in some context to do something.
That is it is characterised by a person performing an
occupation in some environment using technology to
assist them. (PEO).
It is about a human performing an activity with
Assistive technology.(HAAT)
How can CPNS model people
performing activities..
It is necessary to:
Represent features of the person and the
factors that impact on their capacity and
performance of the activity.

Characterise the activity in terms of its


requirements on the person or barriers to its
performance.
Represent the outcomes or changes that take
place as a result of the activity being performed.
The following intuitive CPN is put
forward to represent activities
In other words
The activity is represented by a transition. The
personal Features and factors relevant to the
activity are represented by a set of tokens at the
input place.
Barriers to the performance of the activity are
represented as guards on the transition.
Outcomes of the activity are captured by the
specified state change of the transition.
Sub- elements of activity CPN

1: The set of tokens at PLACE 1 representing


the person performing the activity and the
factors that influence their ability and capacity to
perform that activity.
2: The Activity itself at TRANSITION 1
3: The guards and barriers to performing that
activity at TRANSITION 1
4: The outcomes of making a cup of tea.
Tokens at PLACE 1
The set of tokens at PLACE 1
representing the person performing the
activity and the factors that influence their
ability and capacity to perform that activity.
The Activity
Guards and Barriers
Outcomes
Tasks and Subtasks
CPNs can represent the sub tasks of a
task , the steps of an algorithm, the
subroutines of a routine. For example
consider.
Unfolds to become
When all the guards etc are
expanded , it becomes
Role of AT in Activity
Performance
So what does AT do.
In terms of Activity, what contribution can
AT make to the overall performance of the
activity.
AT devices are many and varied in
terms of their application .
Reviews of AT databases such as Abledata and
Eastin (refs) show that AT devices have
application in many environments, such as the
Home/Local Environment, the Community, in
Education and employment and for
Leisure/Social/Recreation.
Furthermore AT devices vary considerably in
terms of their functionality and what they can
contribute to Activity Performance (Ref)
Different ways AT can contribute to
activity performance.

1: AT can perform that activity autonomously.


Example robotic vacuum cleaner.
2: AT can perform the activity semi-autonomously.
e.g. standard vacuum cleaner
3: AT can facilitate the performance of activity by
removing one or more barrier to that activity.
For example if products are out of reach then we can
use a mechanical grip
4: AT can enable the performance of an activity by
adapting the environment in which activity is performed.
e.g. Having lower work surfaces can facilitate
performance of kitchen based activities for a wheel chair
bound person.
5: At can be used to restore or establish capacity within
an individual with respect to Activity Performance.For
example an automatic can opener could provide
someone with the ability to open cans and bottles,
thereby allowing them to participate in food preparation.
Categories of Assistive Technology
Assistive technology may be high or low tech.
High technology includes devices which
incorporate electronics or microchips to perform
some function.
Low technology does not require a power
source. An example of high technology is a
computer. An example of low technology would
be a pair of eyeglasses or a hand operated
reaching device.
Categories of AT
Hard technology is technology which is tangible versus soft technology
which cannot be seen. An example of hard technology is a calculator. An
example of soft technology is a computer program which assists with
cognition, decision making, and concept formation.
Appliances are examples of AT which do an entire task alone. Tools, on the
other hand are ATs which assist an individual in task performance.
Adaptive/assistive technology is used to help an individual versus
rehabilitative/educational technology is used to teach an individual. (Cook &
Hussey, 1996; Trefler & Hobson,1997).
Minimal technology, i.e. a wrist support for eating, supports an individual in
task performance whereas maximal technology performs a task for the
individual, i.e. a robotic arm feeding an individual.
Role of AT

From the preceding discussion it is clear that the term AT


encompasses many many different kinds of technologies which
impact on the AT user in numerous ways. For example we have
technology, such as a robotic vacuum cleaner (ref) which can
perform a task relatively autonomously to wall mounted handles and
grips which of themselves do not perform any task but do facilitate
the performance of tasks by enhancing the environment in which the
task is performed .
Similarly technology such as artificial prostheses do not perform a
task by themselves but restore bodily structure and capacity to the
individual which in turn enable the individual to perform some
activity .
Some technologies , such as a pencil grip,
impact positively on the objects involved in
the task or activity.
Yet other technologies such as audio
alarms provide extra functionality to task
objects which provide process information
for task monitoring.
AT as Intervention
The roles different technologies play
reflect to some degree, different
intervention strategies which someone like
an OT can make to increase occupational
performance.
1: Adapting the Task

When the Task method is altered the same task objects


are used in the same environment but the method of
performing the task is altered to make the task feasible
given the persons circumstances. Examples of this kind
of intervention, include one handed techniques (ref) for
tasks normally requiring two hands e.g. one handed
dressing or typing.
Mastering one handed methods require the capacity to
learn and practice is a necessary component of this
process.
2: Adapting the Environment

This intervention emphasizes selecting and


implementing an environment that enables the person to
perform with current skills and abilities (Dunn et al)
Examples of environmental adaptation include making
changes to a home , to facilitate a wheelchair user
perform every day activities. For example a bathroom
could be adapted by the provision of a higher toilet to
facilitate easier transfers, grab bars introduced for
standing pivot transfers and recessed plumbing and
drawers for easier access to the sink. (ref)
3 Prevent Barriers to Task
performance
Therapeutic interventions can prevent the occurrence or evolution of
barriers to performance in context.
Family members could be trained in a hierarchy of assists, for example
verbal cues, that can help maintain the remaining skills that a person with a
progressive dementing illness still has.
(Rogers et al 2000)
Of particular interest to this dissertation is the role assistive technology can
play.
Technology can help prevent barriers resultant from discrepancies in task
requirements and personal capacity. Consider a standard keyboard.
If someone with poor targeting abilities is repeatedly hitting two keys at once
, then a key guard can prevent this difficulty by placing raised borders
around each key button, which make it impossible to hit more than one key
at a time.
4 Create an Environment to
Enhance Performance.
This therapeutic choice focuses on providing enriched
contextual and task experiences that will enhance
performance.
Examples of these environments, include playgrounds
which have soft surfaces and safe equipment which
allow children to climb and swing and slide and push to
the limits of physical activity without an enhanced risk of
injuring themselves.
Another example is a garden with raised flower beds
(ref Holms et al)which allow ,say wheel chair users, tend
to the plants and enjoy the experience and rewards of
gardening.(Ref?)
5 Restore /Establish Capacities

There are many examples of therapeutic


intervention which will restore/ establish
capacities.
A physiotherapist may suggest a regime of
exercise in order to build up muscle tone and
strength.
A speech therapist may work out a series of
vocal exercises to improve articulation.
Technology too can provide
functional capacities
Augmentative communication devices such as the
Message Mate 2.0 provide means to deliver speech
output for communication purposes.
Indeed many AT devices fulfil similar roles of proving
functional capacity, across the domains of AT products
such as Communication, Activities of Daily Living, Work,
Leisure, Education and so on.
The level of functionality and the potential role AT can
play and how this impacts on CPN modelling of activity
and AT intervention is obviously a key concern of this
work and will be elaborated on in then next section.
Message Mate 20
CPNS and Activity
Adapt the TAsk
3 Prevent Barriers to Task
performance
5 Restore /Establish Capacities
AT and CPNs
How can the above roles be represented
using CPNs
Technology Offers Alternatives
Consider
We need to go from the bottom to the top
of a hill

To do this by walking need stamina, leg


strenght, steadiness

Or we could
Drive
Each way of going to the destination has its
own requirements

CPNs allow us to model this choice

We consider AT as an alternative way of


doing things if barriers are blocking our
way to doing it in the usual way
Consider the problem to write i.e.
generate text
This can be represented by the following
CPN
However if manual dexterity isnt
good then an alternative might be
considered

Maybe a computer system with voice


recognition
Now if some of the personal factors
do not meet the conditions in the
guard
CPNs can model solutions.
For example
If the person cannot use a PC then taking
a course might solve this problem

This can be represented as follows.

You might also like