The Community for Technology Leaders
RSS Icon
Issue No.12 - December (2009 vol.58)
pp: 1599-1614
Partha S. Roop , The University of Auckland, Auckland
Valeriy Vyatkin , The University of Auckland, Auckland
Zoran Salcic , The University of Auckland, Auckland
IEC 61499 has been endorsed as the standard for modeling and implementing distributed industrial process measurement and control systems. The standard prescribes the use of function blocks for designing systems in a component-oriented approach. The execution model of a basic function block and the manner for event/data connections between blocks are described therein. Unfortunately, the standard does not provide exhaustive specifications for function block execution. Consequently, multiple standard-compliant implementations exhibiting different behaviors are possible. This not only defeats the purpose of having a standard but also makes verification of function block systems difficult. To overcome this, we propose synchronous semantics for function blocks and show its feasibility by translating function blocks into a subset of Esterel, a well-known synchronous language. The proposed semantics avoids causal cycles common in Esterel and is proved to be reactive and deterministic under any composition. Moreover, verification techniques developed for synchronous systems can now be applied to function blocks.
Compilation, Esterel, function blocks, IEC 61499, synchronous semantics.
Partha S. Roop, Valeriy Vyatkin, Zoran Salcic, "A Synchronous Approach for IEC 61499 Function Block Implementation", IEEE Transactions on Computers, vol.58, no. 12, pp. 1599-1614, December 2009, doi:10.1109/TC.2009.128
[1] Int'l Standard IEC 61499-1: Function Blocks—Part 1: Architecture, first ed., Int'l Electrotechnical Commission, Jan. 2005.
[2] Int'l Standard IEC 61131-3: Programmable Controllers—Part 3: Programming Languages, second ed., Int'l Electrotechnical Commission, 2003.
[3] V. Vyatkin, IEC 61499 Function Blocks for Embedded and Distributed Control Systems Design, pp. 28-29, ISA, 2007.
[4] Function Block Development Kit, Holobloc, Inc., http:/www., July 2005.
[5] K. Thramboulidis and A. Zoupas, “Real-Time Java in Control and Automation: A Model Driven Development Approach,” Proc. 10th IEEE Int'l Conf. Emerging Technologies and Factory Automation (ETFA), pp. 39-46, Sept. 2005.
[6] 4DIAC-RTE (FORTE): IEC 61499 Compliant Runtime Environment, PROFACTOR Produktionsforschungs GmbH, http:/, 2007.
[7] Function Block Execution Runtime (Fuber),, 2009.
[8] J. Chouinard and R. Brennan, “Software for Next Generation Automation and Control,” Proc. Fourth IEEE Int'l Conf. Industrial Informatics (INDIN), pp. 886-891, Aug. 2006.
[9] C. Sünder, A. Zoitl, J.H. Christensen, V. Vyatkin, R.W. Brennan, A. Valentini, L. Ferrarini, T. Strasser, J.L. Martinez-Lastra, and F. Auinger, “Usability and Interoperability of IEC 61499 Based Distributed Automation Systems,” Proc. Fourth IEEE Int'l Conf. Industrial Informatics (INDIN), pp. 31-37, Aug. 2006.
[10] G. Čengić, O. Ljungkrantz, and K. Åkesson, “Formal Modeling of Function Block Applications Running in IEC 61499 Execution Runtime,” Proc. 11th IEEE Int'l Conf. Emerging Technologies and Factory Automation (ETFA), Sept. 2006.
[11] L. Ferrarini and C. Veber, “Implementation Approaches for the Execution Model of IEC 61499 Applications,” Proc. Second IEEE Int'l Conf. Industrial Informatics (INDIN), pp. 612-617, June 2004.
[12] L.H. Yoong, P. Roop, V. Vyatkin, and Z. Salcic, “Synchronous Execution of IEC 61499 Function Blocks Using Esterel,” Proc. Fifth IEEE Int'l Conf. Industrial Informatics (INDIN), pp. 1189-1194, July 2007.
[13] Esterel Studio User Manual, Version 5.2, Esterel Technologies SA, Nov. 2004.
[14] The Esterel v7 Reference Manual: Version v7_30 for Esterel Studio 5.3, Esterel Technologies SA, Dec. 2005.
[15] G.D. Plotkin, “A Structural Approach to Operational Semantics,” J. Logic and Algebraic Programming, vols. 60/61, no. 1, pp. 17-140, 2004.
[16] G. Berry, The Constructive Semantics of Pure Esterel (Draft Book), http://www-sop.inria.fresterel.or, 1999.
[17] V. Vyatkin, “Execution Semantic of Function Blocks based on the Model of Net Condition/Event Systems,” Proc. Fourth IEEE Int'l Conf. Industrial Informatics (INDIN), Aug. 2006.
[18] D. Harel and A. Naamad, “The STATEMATE Semantics of Statecharts,” ACM Trans. Software Eng. and Methodology, vol. 5, no. 4 pp. 293-333, Oct. 1996.
[19] A. Benveniste, P. Caspi, S.A. Edwards, N. Halbwachs, P.L. Guernic, and R. de Simone, “The Synchronous Languages 12Years Later,” Proc. IEEE, vol. 91, no. 1 pp. 64-83, Jan. 2003.
[20] C. Huizing and R. Gerth, “Semantics of Reactive Systems in Abstract Time,” Proc. Real-Time: Theory in Practice, REX Workshop, pp. 291-314, 1992.
[21] F. Boussinot and R. de Simone, “The SL Synchronous Language,” IEEE Trans. Software Eng., vol. 22, no. 4 pp. 256-266, Apr. 1996.
[22] V. Vyatkin and V. Dubinin, “Sequential Axiomatic Model for Execution of Basic Function Blocks in IEC 61499,” Proc. Fifth IEEE Int'l Conf. Industrial Informatics (INDIN), pp. 1183-1188, July 2007.
[23] C. André, F. Boulanger, and A. Girault, “Software Implementation of Synchronous Programs,” Proc. Second Int'l Conf. Application of Concurrency to System Design (ACSD), pp. 133-142, June 2001.
[24] S.A. Seshia, R.K. Shyamasundar, A.K. Bhattacharjee, and S.D. Dhodapkar, “A Translation of Statecharts to Esterel,” Proc. World Congress on Formal Methods (2), A. Sangiovanni-Vincentelli and J.Sifakis, eds., pp. 983-1007, Sept. 1999.
[25] N. Halbwachs, F. Lagnier, and P. Raymond, “Synchronous Observers and the Verification of Reactive Systems,” Proc. Third Int'l Conf. Methodology and Software Technology (AMAST '93), pp.83-96, 1994.
[26] V. Vyatkin, H.-M. Hanisch, and T. Pfeiffer, “Object-Oriented Modular Place/Transition Formalism for Systematic Modeling and Validation of Industrial Automation Systems,” Proc. IEEE Int'l Conf. Industrial Informatics (INDIN), pp. 224-232, Aug. 2003.
[27] M.-P. Stanica and H. Guéguen, “A Timed Automata Model of IEC 61499 Basic Function Blocks Semantic,” Proc. Euromicro European Conf. Real-Time Systems (ECRTS), July 2003.
[28] V. Dubinin and V. Vyatkin, “Towards a Formal Semantic Model of IEC 61499 Function Blocks,” Proc. Fourth IEEE Int'l Conf. Industrial Informatics (INDIN), Aug. 2006.
[29] V. Dubinin, V. Vyatkin, and H.-M. Hanisch, “Modelling and Verification of IEC 61499 Applications Using Prolog,” Proc. 11th IEEE Int'l Conf. Emerging Technologies and Factory Automation (ETFA), Sept. 2006.
[30] C. Schnakenbourg, J.-M. Faure, and J.-J. Lesage, “Towards IEC 61499 Function Block Diagrams Verification,” Proc. IEEE Int'l Conf. Systems, Man and Cybernetics, Oct. 2002.
[31] P.L. Guernic, T. Gautier, M.L. Borgne, and C.L. Maire, “Programming Real Time Applications with SIGNAL,” Proc. IEEE, vol. 79, no. 9 pp. 1321-1336, Sept. 1991.
[32] F. Boniol, “Synchronous Communicating Reactive Processes,” Proc. Second AMAST Workshop Real-Time Systems, June 1995.
[33] F. Jiménez-Fraustro and E. Rutten, “A Synchronous Model of IEC 61131 PLC Languages in Signal,” Proc. 13th Euromicro Conf. Real-Time Systems (ECRTS), pp. 135-142, June 2001.
[34] C. André and M.-A. Péraldi, “Grafcet and Synchronous Languages,” Asia-Pacific Information Infrastructure, vol. 27, no. 1, pp. 95-205, 1993.
[35] A. Girault and C. Ménier, “Automatic Production of Globally Asynchronous Locally Synchronous Systems,” Proc. Second Int'l Workshop Embedded Software (EMSOFT), A. Sangiovanni-Vincentelli and J. Sifakis, eds., pp. 266-281, Oct. 2002.
[36] F. Gruian, P. Roop, Z. Salcic, and I. Radojevic, “The SystemJ Approach to System Level Design,” Proc. Fourth Int'l Conf. Formal Methods and Models for Codesign (MEMOCODE), July 2006.
19 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool