may vary the way in which its internal hydraulics
work, but as long as there is no change in the fre-
quency at which the caps can be moved or the way in
which it is triggered, the rest of the system need not
be concerned. However, if a change to the hydraulics
affects, say, the power consumption, or the timing at
which the caps can be moved, then there is a need to
collaborate in order to reconfigure the system appro-
priately. This means that the formal description of the
system becomes an important element of the collab-
oration, as it is the place where interactions between
the components are expressed and analysed. This will
also provide a means for standardising the terminol-
ogy used.
This means that our point of distinction from other
approaches is to use the food processing plant as a
concrete case study of how to organise collabora-
tion between a diverse group of people. In particu-
lar, supervision of the plant is often where the need
for collaboration arises. For example, a new man-
ager may need to have an overview of what the plant
does and how the various components work together.
This overview may result in some changes in the man-
agement of the plant, such as prioritising electronics
over hydraulics due to the availability of local exper-
tise. In general, there may be mismatches between
skills required for the plant and the local availability
of qualified personnel, or imperfections in some com-
ponents that require some subtle changes to the way
the plant operates. Suppliers may change over the
lifetime of the plant, or come from various different
parts of the world, which, together with local market
factors (taxes, exchange rates etc.) may vary the way
in which components are valued. Naturally recalling
and exchanging components is much less preferable
than adapting existing ones to changing conditions.
It is also worth noting that collaboration may
come in a number of forms. One is collabora-
tion across disciplines, but there is also a need to
collaborate over temporal differences (e.g. compo-
nents that change over time), distance (e.g. mining
operations controlled from hundreds of kilometres
away), or across phases as in the well-known V-model
(ISO26262). There may be many forms of collabora-
tion, and it is important to allow as wide a variety of
collaboration as possible.
A further pragmatic issue is that the semantics
must be sufficiently simple so that it can be readily
understood by a wide variety of professionals. This
means that temporal logics and other semantically
rich formalisms are not appropriate in our context.
Whilst such formalisms are well-known in software
engineering, it is highly likely that people outside the
formal methods community will find them too diffi-
cult to use. This means that our semantics will be
based around finite state automata, and particular vari-
ants such as timed automata (Alur and Dill 1994).
This also has the advantage of being able to switch be-
tween levels of abstraction. For example, if we wish
to focus our attention on the gripper, rather than the
system of the piston, lever, conveyor and gripper, then
it is relatively straightforward to consider the gripper
as the configuration of a number of components, such
as the gripper arm itself, the pin that moves vertically
up and down, and the mechanism that moves the grip-
per horizontally.
A key observation is that we are interested in vali-
dation of the current configuration, no matter what the
current stage of development may be. This is in the
same spirit as the V-model, in that at any point in the
process, we are able to identify validation issues, and
potentially address them. This is another reason for
keeping the semantics relatively simple, as it is more
focused on the interaction between components than
on the particular properties of the components them-
selves.
While the number of components in our example
is small, and hence can be manually reconfigured as
need be, in general it will be a lot more difficult to
revise and validate a particular configuration of the
plant. For this reason we anticipate using satisfiability
modulo theory (SMT) solvers and related technolo-
gies in order to analyse configurations of the plant.
This seems particularly appropriate given the poten-
tially global nature of the control mechanisms made
possible by the Raspberry Pis, and in particular the
way in which the overall properties of a configuration
can be inferred from the properties of individual com-
ponents. The problem of determining an appropriate
architectural configuration can then be transformed
into a problem of determining whether a specific for-
mula is satisfiable or not, which can then be provided
as input to an SMT solver.
2 EXAMPLE SYSTEM
As shown in Figures 2 and 3, we focus on a partic-
ular part of the Festo installation. A column of bot-
tle caps (which can be seen in the left of Figure 3) is
supplied, and the bottom cap in this column is pushed
forward by the piston so that it is underneath the pneu-
matic lever. The lever then descends and collects the
cap, rotates through around 135
◦
before halting and
dropping the cap on the conveyor. The conveyor then
moves the cap around 30cm to the other end, where
the gripper then descends, collects the cap and places
it on a rotating platform (to the right of Figure 4),
Formal Behavioural Models to Facilitate Distributed Development and Commissioning in Industrial Automation
365