An IEC 61499 Based Approach For Distributed Batch Process Control

You might also like

You are on page 1of 7

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/4292367

An IEC 61499 Based Approach for Distributed Batch Process Control

Conference Paper · July 2007


DOI: 10.1109/INDIN.2007.4384752 · Source: IEEE Xplore

CITATIONS READS
25 2,885

4 authors, including:

Kleanthis Thramboulidis Nikolaos Papakonstantinou


University of Patras VTT Technical Research Centre of Finland
142 PUBLICATIONS   2,040 CITATIONS    49 PUBLICATIONS   311 CITATIONS   

SEE PROFILE SEE PROFILE

Kari Koskinen
Aalto University
93 PUBLICATIONS   828 CITATIONS   

SEE PROFILE

Some of the authors of this publication are also working on these related projects:

UML4IoT - Industrial Automation Thing View project

Cyber-Physical Microservices View project

All content following this page was uploaded by Nikolaos Papakonstantinou on 31 May 2014.

The user has requested enhancement of the downloaded file.


5th IEEE International Conference on Industrial Informatics INDIN’07, 23 -27 July, 2007, Vienna, Austria

“©2007 IEEE. Personal use of this material is permitted. However, permission to reprint/republish this material for advertising or
promotional purposes or for creating new collective works for resale or redistribution to servers or lists, or to reuse any copy-
righted component of this work in other works must be obtained from the IEEE.”

An IEC 61499 Based Approach for Distributed Batch


Process Control
K. Thramboulidis1, Member, IEEE, S. Sierla2, N. Papakonstantinou1, K. Koskinen2 Member, IEEE,
1
Electrical & Computer Engineering, University of Patras, Greece.
2
Information Systems in Automation, Helsinki University of Technology, Finland.
e-mail : thrambo@ece.upatras.gr, ssierla@cc.hut.fi, npapakonsta@upnet.gr, kari.o.koskinen@hut.fi

Abstract—The Function Block (FB) construct has been switching cost from the ISA SP88 [5] industrially accepted
adopted by recent IEC standards for the design of reusable, family of standards, to IEC61499. We are not aware of any
interoperable, distributed control applications. In this paper, other work that examines the applicability of the IEC61499
an approach to exploit the benefits of this paradigm in batch FB model in the batch process domain.
process control is presented. A hybrid approach that inte- The remainder of this paper is organized as follows: In
grates the FB model with the Unified Modeling Language is
section 2, a brief introduction to the IEC61499 FB model is
exploited and customized to the batch domain taking as start-
ing point the industrially accepted SP88 standard. A toolset given, along with a reference to the hybrid approach that
was customized to support the presented approach and dem- was adopted in the context of this work. The issues in-
onstrate the applicability of the IEC61499 Function Block volved in introducing new standards to the batch domain
model in batch processing. Research experience with indus- are discussed from a practitioners’ perspective in section 3;
trial engineers in the context of IEC 61499 and SP88 is used to these considerations are used to motivate our choice of re-
motivate a development methodology that is sufficiently search arrangements and laboratory system. In section 4,
straightforward and efficient. The Java-based IEC61499- the proposed development process for batch control is pre-
compliant run-time environment used for the execution of the sented. Section 5 describes the Java-based IEC61499-
control application is briefly described.
compliant run-time environment used to deploy and exe-
cute the application. Finally the paper is concluded in the
Index Terms—IEC61499, Function Block, batch processing,
SP88, PFC, UML in control, FB run-time environment. last section.

I. INTRODUCTION II. THE IEC61499 FUNCTION BLOCK MODEL

To address the increased demand for a more flexible de- A. IEC61499 basic constructs
velopment process in the control and automation domain, The FB, the basic construct of IEC61499, consists of a
the International Electro-technical Commission (IEC), has head and a body, as shown in figure 1(a). The head is con-
defined the basic concepts and a methodology for the de- nected to the event flows and the body to the data flows,
sign of modular, re-usable Distributed Control Systems while the functionality of the function block is provided by
(DCSs). The IEC61499 standard [1] defines the Function means of algorithms, which process inputs and internal data
Block (FB) as the main building block and the way that and generate output data. The sequencing of algorithm in-
FBs can be used to define robust, re-usable software com- vocations is defined in the FB type specification using a
ponents that constitute complex DCSs. variant of statecharts called Execution Control Chart (ECC)
However, the IEC FB model does not fully exploits cur- [1].
rent trends in software engineering, such as object technol-
ogy, model driven and component based development and
does not define the way that FB design models will be im-
plemented. A hybrid approach [2] that integrates the
IEC61499 FB model with the UML overcomes these limi-
tations. The Corfu framework (http://seg.ece.upatras.gr
/corfu) and the Archimedes System Platform
(http://seg.ece.upatras.gr/mim/archimedes.htm) provide the
infrastructure required for the exploitation of the hybrid ap-
proach in the development process of re-configurable (a) Function Block type
DCSs. The effectiveness of these platforms was demon- (b) Execution Control Chart
Fig. 1. Graphical representation of Function Block type.
strated by various case studies [3][4].
In the context of this work the applicability of the
An ECC consists of EC states, EC transitions and EC ac-
IEC61499 function block model in the batch process indus-
tions, as shown in fig. 1(b). An EC state may have zero or
try is examined. A methodology for the application of the
more associated EC actions, except from the initial state
FB model to the batch process domain is proposed. The
that shall have no associated EC actions. An EC action may
FESTO Mini Pulp Process (MPP), a laboratory system, is
have an associated algorithm and an event that will be is-
used to present a transformational approach that reduces the
sued after the execution of the algorithm. EC transitions are
5th IEEE International Conference on Industrial Informatics INDIN’07, 23 -27 July, 2007, Vienna, Austria

directed links that represent the transition of the FB in- opment approaches that face competition from specialized
stance from one state to another. An EC transition has an proprietary products. Practitioners are unlikely to consider
associated Boolean expression that may contain event in- these new standards before support is provided for domains
puts, data inputs, and internal variables. As soon as this ex- such as manufacturing, batch processes or continuous proc-
pression becomes true the EC transition fires. esses. Even if such support is present, practitioners are
FB instances are interconnected to form FB networks unlikely to be attracted by the best practices of software
(FBNs), as shown in fig. 2. A FBN may be executed on a engineering, if business goals can be met more easily with
single device but it is usually executed on a network of in- less elegant methods [10]. It is possible that the industry as
terconnected devices that are equipped with the proper exe- a whole will settle for inferior standards or proprietary so-
cution environment. lutions, resulting in serious losses for the entire community,
if individual companies do not have an adequate incentive
for standards adoption [11][12].
In this paper, a feasible migration path to the Corfu
framework and the Archimedes System Platform is pro-
posed for the batch industry. Such a path will be heavily
influenced by the existing investments of a company in
terms of knowledge, development tools and legacy soft-
ware [13]; the cost benefit analysis of a company depends
on the extent to which this investment can be utilized in the
process of adopting a new standard. Much of this domain
knowledge is embodied in the industrially accepted frame-
work for batch process control defined in the ISA SP88
Fig. 2. The control application as a network of interconnected FB in-
family of standards [5] and its IEC equivalent, IEC 61512
stances. [14]. The leading commercial batch control systems, In-
Batch, VisualBatch and OpenBatch, are fairly compliant to
B. A hybrid UML based approach for the FB model these standards as far as models and terminology is con-
cerned [15], so any SP88-based design patterns should be
Undoubtedly the IEC61499 standard is a significant step easily learnt and accepted by professionals.
to address the complexity of the next-generation control This research focuses on applying the design principles
applications. However, many open issues have to be ad- incorporated in the SP88 standard to support the straight-
dressed by the standard in order to be considered by indus- forward development of IEC 61499 based batch control
try as a mature approach for the next generation agile applications. These standards define physical, procedural
manufacturing systems [6]. The “hybrid approach” [2] and and control hierarchies that can be used to modularize the
the CORFU framework provide an effective development application; this task involves considerations that are not
process and supporting toolset to address many open issues present in manufacturing applications, because control
of the standard. This approach integrates UML with the loops often cross the boundaries of physical modules [7].
already well accepted by control engineers FB construct, to The Procedure Function Chart (PFC) of ISA SP88 is taken
cover the analysis and design phases of the development as a starting point for application development, and the
process. A model-driven approach is followed to move software design is heavily influenced by this standard. The
from analysis through design, to implementation. IBM’s proposed development guidelines should presumably be
Rational Rose is utilized to cover the analysis and early de- easily understood and accepted by industrial stakeholders,
sign phases. CORFU FBDK is used to automate the trans- and this has been validated by an experiment.
formation of the so created UML models to FB design
models. These design models are next translated to execu- B. Research Arrangements
table models following a fully automated model-to-model
transformation process supported by the Archimedes sys- The Festo Mini Pulp Process is a simplified laboratory
tem platform. version of the liquor circulation in pulp and paper processes
Any FB-based approach is not automatically accepted by (fig. 3). The liquor circulation was first described textually
professionals [7][8] and the broad range of design alterna- and then specified with the graphical PFC notation. The
tives permitted by IEC 61499 [9] must be carefully re- PFC specifies four levels: procedure, unit procedure, opera-
stricted to obtain a development methodology that is do- tion and phase. Each level is implemented with one or more
main-specific, straightforward and efficient. Such a meth- constructs from the lower level. For example, a phase might
odology was successfully piloted with professionals in a open or close a valve and an operation might open a route
one week laboratory experiment in June 2006, as described from one tank to another involving several valves. A unit
in section 3. This was the motivation for applying the hy- procedure contains the sequence for one part of the process
brid approach to the batch processing domain. such as filling a tank or cooking under certain temperature
and pressure. The example procedure was composed of a
III. THE BATCH DOMAIN sequence of five unit procedures: impregnation, black liq-
uor fill, white liquor fill, cooking and discharge.
A. Introducing New Standards into the Batch Domain The impregnation unit procedure, which is shown in fig-
ure 4, is used to illustrate the application and the PFC nota-
The UML and IEC 61499 offer generic software devel-
tion; in a later section, the corresponding part of the control
5th IEEE International Conference on Industrial Informatics INDIN’07, 23 -27 July, 2007, Vienna, Austria

application will be presented. The internals of the unit pro- decided that the experiment should be repeated using the
cedure are described as a sequence of operations such as CORFU ESS.
EM2_OP1 and EM5_OP1. The parallel lines are split and
join conditions that permit the concurrent execution of op- IV. THE DEVELOPMENT PROCESS
erations; the flow of control will stop at the lower set of
lines until all operations have been completed. The first The objective of the proposed approach is to automate as
three operations in impregnation are responsible for open- much as possible the transformation of PFC models to
ing a route from tank T200 to the digester T300 and for IEC61499 FB models that can next be executed on FB
turning on a pump. Then, the execution pauses until the compliant run-time environments. For this transformation
surface level inside T300 reaches the LS+300 sensor. Then process the hybrid approach is fully exploited.
the outlet of T300 is closed, the pressure increases inside
the tank since the pump is still working. After a delay of Ti,
the pump is turned off, so the pipe that was opened previ-
ously is closed. After these operations are completed, the
digester is depressurized by opening the exit valve at the
top for 2 seconds.

Fig. 3. The FESTO MPP Piping and instrumentation diagram (P&ID).


Fig. 4. Procedural Function Chart (PFC) of the impregnation unit proce-
C. A Pilot Project dure.

An IEC 61499 based control application for the Festo A. Transforming PFCs to use cases
MPP was developed by teams of professionals and re-
searchers during a one week event at the Helsinki Univer- In a first step PFC diagrams are transformed to use cases
sity of Technology in June 2006. One goal for the event [18] that are constructed using a commercially available
was to have team members produce compatible compo- UML CASE tool. Use cases by their definition are nor-
nents that could be integrated in a straightforward way in mally used for the specification of interactive systems. A
order to construct the application. The second goal was to use case, as defined in [19] is “a coherent unit of function-
validate that our proposed engineering methodology is ade- ality provided by a classifier (system, subsystem, or class)
quate, sufficiently easy to learn and efficient to apply. Pre- as manifested by sequences of messages exchanged among
vious research has shown that practitioners will not adhere the system and one or more outside users (represented as
to methodologies that are inflexible, time-consuming or actors), together with actions performed by the system.”
prescriptive [16][17]. Therefore, the engineering methodol- Our first attempt to follow this definition and exploit our
ogy was presented as guidelines, which were a set of ex- experience from applying use cases in continuous
amples that illustrated PFC constructs and corresponding production systems such as the FESTO MPS [20], resulted
IEC 61499 designs. Participants were able to apply these in a rather false application of the use case concept in the
guidelines successfully when they had the opportunity to Festo MPP. A use case was defined for each event of any
occasionally resort to the help of more experienced team PFC describing a unit procedure. The application of this
members working in the roles of project manager, system approach resulted in three use cases for the impregnation
engineer and tester. These roles were assigned to invited unit procedure with the third one partially covering some of
participants who were given a two-day training before the the functionality of the next unit procedure, i.e., the ‘Black
event. liquor fill’. The so generated use cases represent functional-
Due to the guidelines, designer productivity and team- ity provided by the system and are described by means of
work was much more efficient than in previous events, and messages exchanged among the system and one or more
both academic and industrial participants stated that the outside entities (valves, tanks, pumps, etc.) represented as
clear guidelines kept them engaged in productive work in- actors. However, this approach does not result in modular
stead of speculation on subtle design decisions. It was then reusable units of functionality. This was the motivation for
5th IEEE International Conference on Industrial Informatics INDIN’07, 23 -27 July, 2007, Vienna, Austria

proposing a slightly different technique of using use cases ing the architecture of the control application should be
in batch systems. According to this, we mainly focus on the taken during this time. We will next refer to the design al-
specification of a unit of functionality or piece of behavior ternatives that can be considered at this stage. During this
provided by the classifier and we loosely apply the other stage, the system’s class diagram is also automatically cre-
constraint that is based on the initiating object that should ated through the OID’s construction process.
be an actor as stated in the use case definition; a use case
Use case name: Impregnation
“describes a complete sequence initiated by an object (as
The system opens T200toT300 and T300toT200 paths to fill the digester
modeled by an actor) [19]. with impregnation liquor from T200. When the Digester is filled the sys-
Our purpose in using use cases with batch systems is to tem closes the T300toT200 path and resets the impregnation timer so the
represent, at this level of development, quantized pieces of pressure in Digester is raised. When the impregnation timer expires the
functionality that is available to users but not necessarily system closes the T200toT300 path and opens the T200toT300 to depres-
surize digester. When the depressurization timer expires the system closes
initiated by them. A classifier can be used to initiate a use the T200toT300 path and the use case is terminated.
case. This classifier may be the previous use case but since
this introduces dependencies between use cases, a specific Fig. 6. Example use case of high level granularity for the Festo MPP.
class or subsystem that should capture the specific sequenc-
ing of use cases of the current configuration of the batch For each use case, a first-level OID is initially created to
system is proposed to be used. This approach provides also capture the interactions with the mechanical process [2]. A
more flexibility in the re-configuration process of the batch detailed-OID is next constructed to capture the design deci-
system. sions made at this phase. Fig. 7 presents the OID of the
The user has at its disposal chunks of functionality de- “filling of digester” use case. For the generation of this
scribed in terms of use cases to configure and re-configure OID we assume the existence of one FB type for each me-
the batch system to meet its changing requirements. This chanical unit involved in the specific use case. This FB will
provides the infrastructure that allows the control engineer be constructed by the mechanical unit vendor to encapsu-
to work for re-configuration purposes at the use case level. late the logic required to control the specific mechanical
Figure 5 presents three such use cases that have resulted unit and provide an IEC61499-compliant interface for it.
from applying this approach to the impregnation unit pro- For example ValveFB is the FB type for valves and
cedure of figure 4, to capture quantized pieces of function- PumpFB the corresponding FB type for pumps. The fOD-
ality. Alternatively if such a low level of granularity in Controller is defined to capture the control logic of the use
functionality is not required for the specific batch system or case. To reduce the complexity of this FB type an interme-
subsystem, a use case corresponding to each unit procedure diate level of coordination and synchronization hierarchy
can be defined. The “impregnation” use case shown in Fig. can be introduced. The T200toT300 controller FB type was
6 is an example of such a higher level of granularity use defined to capture all the coordination logic of the me-
case. However, if the low level use cases have already been chanical units, i.e., valves and pumps that compose the pipe
described as shown in figure 5, the description of the im- that connects the T200 impregnation liquor tank with T300
pregnation use case will be quite different from the one digester. This FB provides a higher level coordination be-
shown in fig.6. It will simply define the order of execution tween system’s components and simplifies the application
of previously defined use cases. It should also be noted that development process by providing higher level commands
only a simplified form of these use cases is given with fo- for opening and closing the whole pipe. A problem that
cus on the mainline behavior ignoring alternate sequences, arises when applying this grouping is that some pipes such
exceptional behavior and errors. as the T200toT300 and the T400toT300 share the same
valve i.e., valve V301. We decided to assign the valve to
Use case name: Fill the digester with impregnation liquor one controller (T200toT300) and provide an interface to it
The system opens T200toT300 and T300toT200 paths. It next activates the so as to allow the other controller (T400toT300) to request
pump of T200toT300 path. When T300 Digester notifies the system
(through LS+300) that it is full, the system closes the T300toT200 path as
for the use of the valve. Another approach is to consider the
well as the T200toT300 path and the use case is terminated. valve V301 independent and give each controller the ability
Use case name: Pressurize digester to directly access the valve. In this case mutual exclusion
The system opens the T200toT300 path and activates its pump. It resets the issues should be resolved appropriately. The approach
impregnation timer so the pressure in Digester is raised. When the impreg-
nation timer expires the system closes the T200toT300 path and the use
adopted by the SP88 standard to address these issues, by
case is terminated. decomposing the physical equipment hierarchy to units and
Use case name: Depressurize digester equipment modules, does not provide obvious solutions to
The system opens the T200toT300 path and sets the depressurization ti- the above mentioned decisions.
mer. When the depressurization timer expires the system closes the
OIDs are simplified if IEC61499 compliant mechanical
T200toT300 path and the use case is terminated.
units (industrial process terminators, IPTs) are used. In this
Fig. 5. Use cases of low level granularity for the Festo MPP. case the IPT has embedded the corresponding FB type in-
stance and there is no need to represent it in the OID. Corfu
B. Using OIDs for use case realization FBDK in its new version supports both types of IPTs giv-
Object Interaction diagrams (OIDs) are next constructed ing more flexibility at the design level and a better integra-
as a first realization of use cases. At this phase the extensi- tion of the application design specs with system’s layer de-
bility mechanisms of UML [21] were utilized to get 61499 sign specs.
domain concepts into the modeling space. This phase is the
most challenging since most of the design decisions regard-
5th IEEE International Conference on Industrial Informatics INDIN’07, 23 -27 July, 2007, Vienna, Austria

C. Moving to Function Block design specs time environment that simplifies development of the net-
work connected equipment.
The resulting UML model of the control application is
exported in XMI format that is supported by most of the
UML case tools to support model interchange. These XMI
models are imported into the Corfu FBDK and automati-
cally transformed to FB network diagrams. Fig. 8 shows the
automatically created FBN diagram for the “filling of di-
gester” use case. FBNs are next merged to create the com-
plete FBN diagram of the control application. The resulting
FBN is very difficult to understand and verify, so the con-
cept of leveled FBN proposed in [3] was adopted. “Using
interface” as well as “implementation interface” as defined
in [3] can be exploited to get a leveled FBN that greatly
simplifies the development, testing and verification process
of the design model.

Fig. 8. FB network diagram of the “filling of digester” use case.

The execution environment that is the non real time ver-


sion of the one presented in [24] allows the deployment of
distributed control applications over the Internet, so as to
enable life-cycle management remotely and securely over a
network of Java-based devices. It is composed of a set of
classes that provide the infrastructure required by a Java
based execution environment to support deployment and
predictable execution of FB based design specifications as
well as run-time re-configuration. Between the most impor-
tant classes of this category are: DeploymentManagerEntity
(DME), DataConnection Manager (DCM), and the Event-
Connection Manager (ECM). The DME communicates
Fig. 7. Object Interaction Diagram (OID) of the “filling of digester” use through TCP/IP with the Engineering Support System
case (part). (ESS) and provides to the ESS the functionality required to
download FB types, create FB instances, and their connec-
FB type specifications and FBN specifications are saved tions, etc., to setup and initiate the execution of this part of
in XML format that is accessible by Archimedes model the control application that have to be executed on the spe-
transformers that allow the fully automated generation cific device. During the establishment of an event connec-
process of the executable model as well as its deployment tion between two FB instances, the DME subscribes the
on the target network of interconnected nodes. Our target consumer FB to the ECM by calling the subscribe()
execution environment for the Festo MPP case study is method. The application launcher can subscribe an FB in-
based on the DS80C400 embedded board. More informa- stance to more than one output events that allows an FB to
tion on the Festo MPP case study can be found at receive notifications from multiple event producer FB in-
http://seg.ece.upatras. gr/seg/dev/FestoMPP.htm stances. Fig. 9 presents the most important components of
the Java-AXE package and their interconnection in the de-
velopment process of the executable control application.
V. A JAVA-BASED FUNCTION BLOCK EXECUTION The Java-AXE implementation Framework is a set of
ENVIRONMENT
classes that are re-used by the FB2Java model interpreters
To provide an execution environment for the IEC61499 to generate the executable model of the FB based design
FB model we selected the commercially available embed- specifications. FBtype, BasicFBType, ECC, ECState, In-
ded board DS80C400-KIT that is based on the DS80C400 putEventMonitor, etc. are among the most important
Network Microcontroller [22]. The DS80C400 network classes of this framework. During run-time when an FB in-
microcontroller offers the highest integration available in stance reaches the point in its ECC where it should signal
an 8051 device. It is equipped with a full application- its output events, the fire() method, notifies the ECM for
accessible TCP IPv4/6 network stack that supports up to 32 the specific event. The ECM, which is an active object
simultaneous TCP connections and can transfer up to (thread), notifies the FB instances, which have subscribed
5Mbps through the Ethernet MAC. Its maximum system- for the particular event, writing the event to their inputE-
clock frequency of 75MHz results in a minimum instruc- ventMonitors. The consumer FB instance is awakened, it
tion cycle time of 54ns. The 24-bit addressing scheme sup- reads from the InputEventMonitor the input events and en-
ports up to 16MB of contiguous memory. The board is ters it’s ECC in order to check if any of its transition condi-
equipped with the TINI platform [23], a microcontroller- tions is satisfied.
based development platform with an extensible Java run-
5th IEEE International Conference on Industrial Informatics INDIN’07, 23 -27 July, 2007, Vienna, Austria
Technologies and Factory Automation, (ETFA’06) Sept 2006,
Prague, Czech Republic.
[4] Doukas, G., K. Thramboulidis, Y, Koveos, “Using the Function
Block Model for Robotic Arm Motion Control”, in Proc. 14th
Mediterranean Conference on Control and Automation, Ancona,
Italy, June 28-30, 2006.
[5] ISA-S88.01-1995, Standard: Batch Control. Part 1: Models and
Terminology. The International Society for Measurement and
Control, 1995.
[6] K. Thramboulidis, “IEC 61499 in Factory Automation”, in Proc.
International Conference on Industrial Electronics, Technology &
Automation, (CISSE’05 - IETA), Dec. 10-20, 2005.
[7] J.P. Peltola, S.A. Sierla, M.P. Strömman, and K.O. Koskinen,
“Process Control with IEC 61499: Designers’ Choices at Differ-
ent Levels of the Application Hierarchy”, in Proc. IEEE Interna-
tional Conference on Industrial Informatics, 16-18 August 2006,
Singapore.
[8] M.P. Strömman, S.A. Sierla, J.P. Peltola, and K.O. Koskinen:
Fig. 9. The process of developing and deploying the Java-based execu-
“Professional designers’ adaptations of IEC 61499 to their indi-
table model from XML specifications of GB design models.
vidual work practices” in Proc ETFA’2006 11th IEEE Intern.
Conference on Emerging Technologies and Factory Automation,
VI. CONCLUSIONS September 20-22, 2006, Prague, Czech Republic.
[9] M.P. Strömman, S.A. Sierla, K.O. Koskinen, “Control Software
In this paper, an attempt to exploit the IEC61499 func- Reuse Strategies with IEC 61499”, in Proc. 10th IEEE Interna-
tion block model in the batch control domain is described. tional Conference on Emerging Technologies and Factory Auto-
mation, September 19-22, 2005, Catania, Italy
A methodology based on the SP88 standard has been vali- [10] J. Rost, “Software Engineering Theory in Practice”, IEEE Soft-
dated in an experiment with professionals, and subse- ware, vol. 22 no.2, pp. 94-96, 2005.
quently this methodology has been incorporated to a tool- [11] G.J. Browne, and N.M. Menon, “Network Effects and Social Di-
chain that automates most of the development process. The lemmas in Technology Industries”, IEEE Software, vol. 21 no. 5,
pp. 44-50, 2004.
new approach exploits the best practices of software engi- [12] J. Hurd, J. Isaak, J. “IT Standardization: The Billion Dollar Strat-
neering in the form of UML and IEC 61499, and the goal egy”, Journal of IT Standards & Standardization Research, vol. 3
has been to make this accessible to professional automation no. 1, pp. 68-74, 2005.
designers with minimal retraining. The software develop- [13] K. Zhu, K.L. Kraemer, V. Gurbaxani and S. Xin Xu, “Migration
to Open –Standard Interorganizational Systems: Network Effects,
ment approach presented here is a straightforward mapping Switching Costs, and Path Dependency”, MIS Quarterly, vol. 30,
from the PFC notation of SP88 to UML constructs, so de- pp. 515-538, Special Issue August 2006.
signers are not confronted with the bewildering range of [14] IEC 61512-1: Batch Control – Part 1: Models and terminology.
design options that must be considered when designing Final draft international standard, 1997, IEC.
[15] S. Kuikka, “A batch process management framework: Domain-
from scratch with UML or IEC 61499. specific, design pattern and software component based ap-
A laboratory system was utilized to demonstrate the ap- proach”, (doctoral dissertation) Espoo: VTT Publications, 1999,
plicability of the proposed approach. PFCs produced by ISBN 951-38-5542-2 (http://www.inf.vtt.fi/pdf/)
control engineers were utilized to get the systems use cases [16] J. Nandhakumar, and D.E. Avison, “The Fiction of Methodologi-
cal Development. A Field Study of Information Systems devel-
that are next realized using OIDs. The obtained UML mod- opment”, Information Technology & People, vol. 12 no. 2, pp.
els are automatically transformed to FB design specs that 176-91, 1999.
can be executed on the IEC61499-compliant Java Ar- [17] M. Goulielmos, “Systems development approach: transcending
chimedes execution environment (Java-AXE package). methodology.”, Informations Systems Journal, vol.14 no.4, pp.
363-386, 2004.
Even though the proposed transformational approach is [18] J. Lee, N., Xue, Analyzing User Requirements by Use Cases: A
not yet fully automated, it provides a promising way for Goal Driven Approach, IEEE Software, July/August 1999.
exploiting the big investments in industry based on PFCs [19] J. Rumbaugh, I. Jacobson, G. Booch, The Unified Modeling Lan-
and SP88. The switching cost is considerably reduced be- guage Reference Manual, Second Edition, Pearson Education,
Addison Wesley 2005
cause familiar concepts, terminology and design ap-
[20] The FESTO MPS case study, Available on line: http://seg.ece.
proaches from the batch domain remain useful in the con- upatras.gr/seg/dev/FestoMPS.htm
text of the proposed approach. The contribution of this pa- [21] OMG, UML 2.0 Superstructure Specification, 05-07-2004,
per has been specifically focused on this aspect of the Available on line: http://www.omg.org/docs/formal/05-07-04.pdf
switching cost, since according to our previous experience [22] DS80C400 Network Microcontroller, Available online at:
http://www.maxim-ic.com/quick_view2.cfm/qv_pk/360
with professionals, there is a tendency by many of them to
[23] Dallas Maxim, TINI Networked Microcontrollers, Available on-
reject the IEC 61499 standard simply because its learning line at: http://www.maxim-ic.com/products/microcontrollers/tini/
curve is perceived as being very steep. [24] Thramboulidis, K., A. Zoupas, “Real-Time Java in Control and
Automation: A Model Driven Development Approach”, in Proc.
10th IEEE Inter. Conference on Emerging Technologies and Fac-
REFERENCES
tory Automation, (ETFA'05), Catania, Italy, September 2005.
[1] IEC Technical Committee TC65/WG6, IEC61499 Industrial-
Process Measurement and Control – Spec., IEC Draft 2001.
[2] K. Thramboulidis, “Using UML in Control and Automation: A
Model Driven Approach”, in Proc. 2nd IEEE Intern. Conference
on Industrial Informatics, 24-26 June, 2004, Berlin, Germany.
[3] K. Thramboulidis, “Design Alternatives in the IEC 61499 Func-
tion Block Model”, in Proc. 11th IEEE Int. Conf. on Emerging

View publication stats

You might also like