IEEE TRANSACTIONS ON INDUSTRIAL INFORMATICS, VOL. 8, NO. 2, MAY 2012 279
Semantics-Robust Design Patterns for IEC 61499
Victor N. Dubinin and Valeriy Vyatkin, Senior Member, IEEE
Abstract—The international standard IEC 61499 for the design
of distributed industrial control systems defines an abstract model
of function blocks (FB) which allows many different semantic
interpretations. As a consequence, in addition, so-called execution
models were proposed to specify the execution order of FBs. The
variety of models leads to the incompatibility of tools and hinders
the portability of automation software. To achieve a degree of
execution model independence, in this paper, design patterns are
suggested that make FB systems-robust to changes of execution
semantics. A semantic-robust pattern is defined for a particular
source execution model. The patterns themselves are implemented
by means of the FB apparatus and therefore are fairly universal.
The patterns can be defined and implemented using the FB trans-
formations expressed in terms of Attributed Graph Grammars.
Index Terms—Design patterns, IEC 61499, portability, refac-
toring, robustness, semantics, software engineering.
I. INTRODUCTION
T
HE MAIN trend in the development of industrial automa-
tion systems is the shift from centralized systems to dis-
tributed intelligent systems. This trend was reflected in the de-
velopment of a new international standard IEC 61499 [1], [2].
The standard supports the design paradigm based on function
blocks (FB). Despite the undeniable advantages of this concept,
it was discovered that the standard has some semantic ambigu-
ities [3]. This may lead to an unacceptable situation when the
same FB system will have different behavior when executed on
different platforms. This hinders the portability of automation
software developed following the IEC 61499 standard.
To resolve the semantic ambiguities of the standard, several
models of FB execution were proposed and implemented. These
include: the “nonpreemptive multithreaded resource” (NPMTR-
model) [4], the “interrupted multithreaded resource” (PMTR-
model), the model based on the sequential hypothesis [5], the
cyclic model [6], [7], the synchronous model [8], Petri net-based
models [9], as well as models implemented in runtimes Crons
[10], FUBER [11], and CEC [12]. In addition, there are models
proposed for the implementation of some elements of the stan-
dard, namely: for composite FBs [13] and basic FBs [5]. A few
efforts have been undertaken to categorize FB execution models
on the basis of various criteria. For example, in [3], two cri-
teria to identify so-called “implementation approaches” have
Manuscript received March 30, 2011; revised August 16, 2011, November
14, 2011, January 07, 2012; accepted January 09, 2012. Date of publication Feb-
ruary 03, 2012; date of current version April 11, 2012. This work was supported
in part by the FRFD under grant 3625072/9573 of the University of Auckland.
Paper no. TII-11-172.R3.
V. N. Dubinin is with the Department of Computer Science, University of
Penza, Penza 440026, Russia (e-mail: victor_n_dubinin@yahoo.com).
V. Vyatkin is with the Department of Electrical and Computer Engi-
neering, University of Auckland, Auckland 1142, New Zealand (e-mail:
v.vyatkin@auckland.ac.nz).
Digital Object Identifier 10.1109/TII.2012.2186820
Fig. 1. General pattern of the SRDPs application.
been chosen: 1) FB Scan Order and 2) Multitasking Implemen-
tation. However, as practice has shown, for the complete speci-
fication of FB execution models much more criteria are required
[24]. For specification of different FB execution models a spe-
cial graphical notation XNet, has been even proposed [36].
After the semantic problems have been pinpointed in a
number of research publications (e.g., [3] and [4]), the o3neida
community formed a taskforce to resolve them. As a result,
the compliance profile [14] has been developed. Based on the
recognition of existing practices, that document narrows the
variety of semantic interpretations down to three models of FB
implementation: sequential, parallel and cyclical. An overview
of these models can be found in [16]. However, the portability
between these models still remains a problem.
While elimination of the semantic ambiguities in IEC 61499
can be seen as the ultimate solution, in practice, it is hard to
expect or can take long time to achieve. There are already several
tools on the market compliant with the standard, but following
different execution models. The method, proposed in this paper
can immediately help in migrating applications from one tool
to another, for example, from ISaGRAF [17], implementing the
cyclic execution model, to NxtControl [18], implementing the
sequential model, or to the synchronous compiler [8].
To solve the portability problem, this paper proposes seman-
tics-robust design patterns (SRDP). As illustrated in Fig. 1, an
SRDP is applied to a function block application (FBA) origi-
nally designed to be executed in some source model (the orig-
inal FBA), and results in a functionally equivalent application
(the resulting FBA) that exhibits the same behavior in one, some,
or even an arbitrary target execution model.
Conceptually, the application of the SRDPs consists in
three steps: 1) adding some new (service) function blocks;
2) changing some function blocks in the original application;
and 3) changing some of their interconnections.
The function blocks of the original FBA and their counter-
parts in the resulting FBA will be referred to as working FBs, as
1551-3203/$31.00 © 2012 IEEE