Abstract
Cyber-physical systems (CPS) are integrations of computation and control with sensing and actuation of the physical environment. Typically, such systems consist of embedded computers that monitor and control physical processes in a feedback loop. While modern electronic systems are increasingly characterized as CPS, their design and synthesis still rely on traditional methods, which lack systematic and automated techniques for accomplishment.
Recently, IEC 61499 has been proposed as a standard for designing industrial process-control and measurement systems. It prescribes a component-based approach for developing industrial automation software using function blocks. Executable code can then be automatically generated and simulated from these function blocks. This bodes well for designers of CPS, who are more likely to be experts in specific industrial domains, rather than in computer science. The intuitive graphical nature and automatic code synthesis of IEC 61499 programs will alleviate the programming burden of industrial engineers, while ensuring more reliable software. While software synthesis from IEC 61499 programs is not new, the generation of efficient code from them has been wanting. This has made it difficult for function blocks to be used in software development for resource-constrained embedded controllers commonly employed in CPS. To address this, we present an approach that can generate very efficient code from function block descriptions. Experimental results from a benchmark suite shows that our approach produces substantially faster and smaller code compared to existing techniques.
- Aho, A. V., Lam, M. S., Sethi, R., and Ullman, J. D. 2007. Compilers: Principles, Techniques, and Tools. Addison Wesley, Boston, MA. Google ScholarDigital Library
- Atlee, J. M. and Gannon, J. 1993. State-based model checking of event-driven system requirements. IEEE Trans. Softw. Engin. 19, 1, 24--40. Google ScholarDigital Library
- Benveniste, A., Caspi, P., Edwards, S. A., Halbwachs, N., Guernic, P. L., and de Simone, R. 2003. The synchronous languages 12 years later. Proc. IEEE 91, 1, 64--83.Google ScholarCross Ref
- Berry, G. 1999. The constructive semantics of pure Esterel. (Draft Book).Google Scholar
- Berry, G., Kishinevsky, M., and Singh, S. 2003. System level design and verification using a synchronous language. In IEEE/ACM International Conference on Computer-aided Design (ICCAD). 433--439. Google ScholarDigital Library
- Bouali, A., Dion, B., and Konishi, K. 2005. Using formal verification in real-time embedded software development. In Proceedings of the JSAE Annual Congress. 5--8.Google Scholar
- Čengić, G., Ljungkrantz, O., and Åkesson, K. 2006. Formal modeling of function block applications running in IEC 61499 execution runtime. In Proceedings of the 11th IEEE International Conference on Emerging Technologies and Factory Automation (ETFA).Google ScholarCross Ref
- Eker, J., Janneck, J. W., Lee, E. A., Liu, J., Liu, X., Ludwig, J., Neuendorffer, S., Sachs, S., and Xiong, Y. 2003. Taming heterogeneity—the Ptolemy approach. Proc. IEEE 91, 1, 127--144.Google ScholarCross Ref
- Esterel EDA Technologies SAS. 2007. Esterel Studio User Manual, Version 6.0. Esterel EDA Technologies SAS, Elancourt.Google Scholar
- Esterel Technologies SA. 2005. The Esterel v7 Reference Manual: Version v7_30 for Esterel Studio 5.3. Esterel Technologies SA, Villeneuve-Loubet, France.Google Scholar
- Ferrarini, L. and Veber, C. 2004. Implementation approaches for the execution model of IEC 61499 applications. In Proceedings of the 2nd IEEE International Conference on Industrial Informatics (INDIN). 612--617.Google Scholar
- Festo Didactic. 2010. Distributing station: Getting started with MPS. Festo Didact. http://www.festo-didactic.com/my-en/learning-systems/mps-the-modular-production-system/stations/distributing- station-getting-started-with-mps.htm.Google Scholar
- Glidepath. 2010. Glidepath—Airport Baggage Handling, Cargo Handling, Parcel Sortation and Software Control Systems. Glidepa. http://www.glidepathgroup.com.Google Scholar
- Holobloc Inc. 2010. Function Block Development Kit. Holobloc Inc, http://www.holobloc.com.Google Scholar
- ICS Triplex ISaGRAF Inc. 2010. ISaGRAF. ICS Triplex ISaGRAF Inc, http://www.isagraf.com.Google Scholar
- IEEE 1003.1 2004. Standard for Information Technology—Portable Operating System Interface (POSIX): System Interfaces. IEEE 1003.1.Google Scholar
- International Electrotechnical Commission. 2003. International Standard IEC 61131-3: Programmable Controllers -- Part 3: Programming Languages 2nd Ed. International Electrotechnical Commission, Geneva.Google Scholar
- International Electrotechnical Commission. 2005a. International Standard IEC 61499-1: Function Blocks -- Part 1: Architecture, 1st Ed. International Electrotechnical Commission, Geneva.Google Scholar
- International Electrotechnical Commission. 2005b. International Standard IEC 61499-2: Function Blocks -- Part 2: Software Tool Requirements, 1st Ed. International Electrotechnical Commission, Geneva.Google Scholar
- Ju, L., Huynh, B. K., Roychoudhury, A., and Chakraborty, S. 2008. Performance debugging of Esterel specifications. In Proceedings of the 6th IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS). ACM, 173--178. Google ScholarDigital Library
- Krstić, M., Grass, E., Gürkaynak, F. K., and Vivet, P. 2007. Globally asynchronous locally synchronous circuits: Overview and outlook. IEEE Design Test Comput. 24, 5, 430--441. Google ScholarDigital Library
- Lastra, J. L. M., Godinho, L., Lobov, A., and Tuokko, R. 2005. An IEC 61499 application generator for scan-based industrial controllers. In Proceedings of the 3rd IEEE International Conference on Industrial Informatics (INDIN).Google Scholar
- Lee, E. A. 2008. Cyber physical systems: Design challenges. In Proceedings of the 11th IEEE International Symposium on Object Oriented Real-Time Distributed Computing (ISORC). 363--369. Google ScholarDigital Library
- Nokia Corporation. 2010. Qt -- A cross-platform application and UI framework. Nokia Corporation. http://qt.nokia.com.Google Scholar
- PROFACTOR Produktionsforschungs GmbH. 2010. 4DIAC-RTE (FORTE): IEC 61499 Compliant Runtime Environment. PROFACTOR Produktionsforschungs GmbH. http://www.fordiac.org.Google Scholar
- Puchol, C. 1995. A solution to the generalized railroad crossing problem in Esterel. Tech. rep. UTCS-TR95-05, Department of Computer Science, University of Texas at Austin, Austin. Google ScholarDigital Library
- Ramesh, S. 1998. Communicating reactive state machines: Design, model and implementation. In Proceedings of the IFAC Workshop on Distributed Computer Control Systems.Google ScholarCross Ref
- Roop, P. S., Andalam, S., von Hanxleden, R., Yuan, S., and Traulsen, C. 2009. Tight WCRT analysis of synchronous C programs. In Proceedings of the International Conference on Compilers, Architecture, and Synthesis for Embedded systems (CASES). ACM, Grenoble, 205--214. Google ScholarDigital Library
- Selic, B. 2003. The pragmatics of model-driven development. IEEE Softw. 20, 5, 19--25. Google ScholarDigital Library
- Sünder, C., Zoitl, A., Christensen, J. H., Colla, M., and Strasser, T. 2007. Execution models for the IEC 61499 elements composite function block and subapplication. In Proceedings of the 5th IEEE International Conference on Industrial Informatics (INDIN). 1169--1175.Google Scholar
- Thramboulidis, K. and Doukas, G. 2007. Innovative Algorithms and Techniques in Automation, Industrial Electronics and Telecommunications. Springer, 223--228. Google ScholarDigital Library
- Vyatkin, V. and Chouinard, J. 2008. On comparisons of the ISaGRAF implementation of IEC 61499 with FBDK and other implementations. In Proceedings of the 6th IEEE International Conference on Industrial Informatics (INDIN). 289--294.Google Scholar
- Vyatkin, V. and Dubinin, V. 2007. Sequential axiomatic model for execution of basic function blocks in IEC 61499. In Proceedings of the 5th IEEE International Conference on Industrial Informatics (INDIN). 1183--1188.Google Scholar
- Yoong, L. H., Roop, P. S., Vyatkin, V., and Salcic, Z. 2009. A synchronous approach for IEC 61499 function block implementation. IEEE Trans. Comput. 58, 12, 1599--1614. Google ScholarDigital Library
- Yoong, L. H. and Shaw, G. D. 2010. Auckland Function Block Benchmark. University of Auckland. http://www.ece.auckland.ac.nz/~pretzel/Auckland_FB_Benchmark.Google Scholar
- Zoitl, A., Grabmair, G., Auinger, F., and Sünder, C. 2005. Executing real-time constrained control applications modelled in IEC 61499 with respect to dynamic reconfiguration. In Proceedings of the 3rd IEEE International Conference on Industrial Informatics (INDIN). Perth, 62--67.Google Scholar
Index Terms
- Implementing constrained cyber-physical systems with IEC 61499
Recommendations
A Synchronous Approach for IEC 61499 Function Block Implementation
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 ...
Debugging Cyber-Physical Systems with Pharo: An Experience Report
IWST '17: Proceedings of the 12th edition of the International Workshop on Smalltalk TechnologiesCyber-Physical Systems (CPS) integrate sensors and actuators to collect data and control entities in the physical world. Debugging CPS systems is hard due to the time-sensitive nature of a distributed applications combined with the lack of control on ...
Verifying IEC 61499 Function Blocks Using Esterel
IEC 61499 is an international standard that prescribes the use of function blocks for designing industrial-process control systems. Function blocks enable control software to be developed using an intuitive standard's-based graphical framework. The ...
Comments