Skip to main content

Efficient Code Synthesis from Function Blocks

  • Chapter
  • First Online:
Book cover Model-Driven Design Using IEC 61499
  • 1157 Accesses

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. 4DIAC-RTE (FORTE): IEC 61499 Compliant Runtime Environment (2010) PROFACTOR Produktionsforschungs GmbH. http://www.fordiac.org. Accessed 26 Aug 2014

  2. Aho AV, Lam MS, Sethi R, Ullman JD (2007) Compilers: Principles, Techniques, and Tools. Addison Wesley, Boston

    Google Scholar 

  3. 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

    Article  Google Scholar 

  4. Benveniste A, Berry G (1991) The Synchronous Approach to Reactive and Real-Time Systems. Proceedings of the IEEE 79(9):1270–1282

    Article  Google Scholar 

  5. Berry G (1999) The Constructive Semantics of Pure Esterel (Draft Book). ftp://ftp-sop.inria.fr/meije/esterel/papers/semantics.ps.gz

    Google Scholar 

  6. Function Block Development Kit (2008) Holobloc Inc. http://www.holobloc.com. Accessed 26 Aug 2014

  7. Hoare CAR (1985) Communicating Sequential Processes. Prentice Hall International, New Jersey

    MATH  Google Scholar 

  8. International Electrotechnical Commission (2005) International Standard IEC 61499-1: Function blocks – Part 1: Architecture. Geneva, 1st edn

    Google Scholar 

  9. International Electrotechnical Commission (2005) International Standard IEC 61499-2: Function blocks – Part 2: Software Tool Requirements. Geneva, 1st edn

    Google Scholar 

  10. 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

    Google Scholar 

  11. ISaGRAF (2008) ICS Triplex ISaGRAF Inc. http://www.isagraf.com. Accessed 26 Aug 2014

  12. Kahn G (1974) The Semantics of a Simple Language for Parallel Programming. In: Proceedings of the IFIP Congress. North-Holland, Stockholm, pp 471–475

    Google Scholar 

  13. 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

    Article  Google Scholar 

  14. 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

    Google Scholar 

  15. 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

    Article  Google Scholar 

  16. 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

    Google Scholar 

  17. 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

    Google Scholar 

  18. 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

    Google Scholar 

  19. 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

  20. 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

    Article  Google Scholar 

  21. 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

    Google Scholar 

  22. Yoong LH, Roop PS, Salcic Z (2009) Efficient Implementation of IEC 61499 Function Blocks. In: IEEE International Conference on Industrial Technology (ICIT), Gippsland

    Google Scholar 

  23. 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

    Article  MathSciNet  Google Scholar 

  24. 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

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics