Abstract
This chapter presents techniques for automatically generating code from IEC 61499 function blocks. While software synthesis from function blocks is in itself not new, the generation of efficient code from it is challenging. This is particularly so for the synthesis of distributed programs, as most existing techniques rely on features of a specific run-time environment to facilitate this. Instead of a run-time environment, this chapter proposes a globally asynchronous locally synchronous (GALS) model to implement distributed function block systems. This model provides an abstract way to view communication between function blocks without implying any particular implementation yet. This abstraction can then be subsequently refined to obtain various implementations with different trade-offs. This is done using an approach that is fully compatible with the standard’s notion of communication function blocks, which abstract underlying communication mechanisms from the application. For centralized programs, the synthesized code may be fully synchronous, which results in very efficient deterministic programs.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
4DIAC-RTE (FORTE): IEC 61499 Compliant Runtime Environment (2010) PROFACTOR Produktionsforschungs GmbH. http://www.fordiac.org. Accessed 26 Aug 2014
Aho AV, Lam MS, Sethi R, Ullman JD (2007) Compilers: Principles, Techniques, and Tools. Addison Wesley, Boston
Balarin F, Chiodo M, Giusto P, Hsieh H, Jurecska A, Lavagno L, Sangiovanni-Vincentelli A, Sentovich EM, Suzuki K (1999) Synthesis of Software Programs for Embedded Control Applications. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 18(6):834–849
Benveniste A, Berry G (1991) The Synchronous Approach to Reactive and Real-Time Systems. Proceedings of the IEEE 79(9):1270–1282
Berry G (1999) The Constructive Semantics of Pure Esterel (Draft Book). ftp://ftp-sop.inria.fr/meije/esterel/papers/semantics.ps.gz
Function Block Development Kit (2008) Holobloc Inc. http://www.holobloc.com. Accessed 26 Aug 2014
Hoare CAR (1985) Communicating Sequential Processes. Prentice Hall International, New Jersey
International Electrotechnical Commission (2005) International Standard IEC 61499-1: Function blocks – Part 1: Architecture. Geneva, 1st edn
International Electrotechnical Commission (2005) International Standard IEC 61499-2: Function blocks – Part 2: Software Tool Requirements. Geneva, 1st edn
International Electrotechnical Commission (2007) Technical Report IEC/TR 61158-1: Industrial Communication Networks – Fieldbus Specification – Part 1: Overview and Guidance for the IEC 61158 and IEC 61784 Series. Geneva, 2nd edn
ISaGRAF (2008) ICS Triplex ISaGRAF Inc. http://www.isagraf.com. Accessed 26 Aug 2014
Kahn G (1974) The Semantics of a Simple Language for Parallel Programming. In: Proceedings of the IFIP Congress. North-Holland, Stockholm, pp 471–475
Krstić M, Grass E, GĂ¼rkaynak FK, Vivet P (2007) Globally Asynchronous Locally Synchronous Circuits: Overview and Outlook. IEEE Design & Test of Computers 24(5):430–441
Lastra JLM, Godinho L, Lobov A, Tuokko R (2005) An IEC 61499 Application Generator for Scan-Based Industrial Controllers. In: 3rd IEEE International Conference on Industrial Informatics (INDIN), 80–85, Perth, Australia
Malik A, Salcic Z, Roop PS, Girault A (2010) SystemJ: A GALS Language for System Level Design. Computer Languages, Systems & Structures 36(4):317–344
Potop-Butucaru D, Caillaud B (2005) Correct-by-Construction Asynchronous Implementation of Modular Synchronous Specifications. In: 5th International Conference on Application of Concurrency to System Design (2005)ACSD 2005, St. Malo, pp 48–57
Sangiovanni-Vincentelli A, Sgroi M, Lavagno L (2000) Formal Models for Communication-Based Design. In: Proceedings of the 11th International Conference on Concurrency Theory (CONCUR), Springer, Lecture Notes in Computer Science, pp 29–47
Santos AA, de Sousa M (2008) Framework for Management of Replicated IEC 61499 Applications. In: IEEE International Conference on Emerging Technologies and Factory Automation (ETFA), Hamburg, pp 200–206
Standard for Information Technology—Portable Operating System Interface (posix): System Interfaces (2004) IEEE. http://standards.ieee.org/develop/wg/POSIX.html. Accessed 26 Aug 2014
Tripakis S, Pinello C, Benveniste A, Sangiovanni-Vincentelli A, Caspi P, Natale MD (2008) Implementing Synchronous Models on Loosely Time Triggered Architectures. IEEE Transactions on Computers 57(10):1300–1314
Vyatkin V, Chouinard J (2008) On Comparisons of the ISaGRAF Implementation of IEC 61499 with FBDK and Other Implementations. In: 6th IEEE International Conference on Industrial Informatics (INDIN), Daejeon, pp 289–294
Yoong LH, Roop PS, Salcic Z (2009) Efficient Implementation of IEC 61499 Function Blocks. In: IEEE International Conference on Industrial Technology (ICIT), Gippsland
Yoong LH, Roop PS, Vyatkin V, Salcic Z (2009) A Synchronous Approach for IEC 61499 Function Block Implementation. IEEE Transactions on Computers 58(12):1599–1614
Yoong LH, Roop PS, Salcic Z (2012) Implementing Constrained Cyber-Physical Systems with IEC. ACM Transactions on Embedded Computing 11(4):78:1–78:22
Author information
Authors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer International Publishing Switzerland
About this chapter
Cite this chapter
Yoong, L.H., Roop, P.S., Bhatti, Z.E., Kuo, M.M.Y. (2015). Efficient Code Synthesis from Function Blocks. In: Model-Driven Design Using IEC 61499. Springer, Cham. https://doi.org/10.1007/978-3-319-10521-5_5
Download citation
DOI: https://doi.org/10.1007/978-3-319-10521-5_5
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-10520-8
Online ISBN: 978-3-319-10521-5
eBook Packages: EngineeringEngineering (R0)