Meta-Modeling and Automatic Code Generation for Computer Aided Development of Logic Control Systems
Abstract
This article discusses some aspects of the computer aided development of logic control systems, namely the creation of a meta-model, a domain specific language serving as a base for the system modeling, as well as the formal rules for automatic transformation of the models designed by the experts using this meta-model into simulation models, a source PLC code and the relevant documentation. The problem is defined and proved as important from the point of view of the contemporary industrial software development in order to achieve more readable designs, which are later easier to be modified, to shorten the system development time, to obtain a fast proof-of-concept and to lessen the possibility of having errors in the design. Furthermore, some directions are pointed out regarding the possible future extension of the used techniques towards automatic testing and validation of the developed logic control systems.
Keywords
automatic code generation, domain specific modeling, logic control systems, meta-modeling
Meta-modelowanie oraz automatyczne generowanie kodu w projektowaniu komputerowym logicznych systemów sterowania
Streszczenie
W artykule omówiono wybrane aspekty rozwoju komputerowego wspomagania systemów sterowania logicznego, a mianowicie: utworzenie meta-modelu oraz języka konkretnego obszaru zastosowań, będącego podstawą do modelowania systemu, jak i formalnych zasad automatycznego przekształcenia modeli zaprojektowanych przez ekspertów za pomocą meta-modelu do modeli symulacyjnych, kodu źródłowego dla sterowników PLC oraz odpowiedniej do potrzeb dokumentacji. W artykule zaprezentowana jego istotność z punktu widzenia tworzenia współczesnego oprogramowania przemysłowego, w celu osiągnięcia bardziej czytelnych wzorów, które następnie mogą być prosto modyfikowane, co przyczynia się do skrócenia czasu opracowania systemu, uzyskania tak zwanego proof-of-concept w krótkim czasie tak, aby zminimalizować występowanie błędów w projekcie. Ponadto, niektóre kierunki są wskazane w odniesieniu do ewentualnego przyszłego rozszerzenia zakresu stosowanych technik do celów automatycznego testowania i walidacji opracowanych systemów sterowania logicznego.
Słowa kluczowe
automatyczne generowanie kodu, meta-modelowanie, modelowanie specyficzne dla dziedziny zastosowań, systemy sterowania logicznego
Bibliography
- Baerisch S., Domain-Specific Model-Driven Testing, 1st edition, GWV Fachverlage GmbH, 2010.
- Berruet P., Lallican J., Rossi A., Philippe J., Generation of Control for Conveying Systems Based on Component Approach, IEEE International Conference on Systems, Man and Cybernetics, 2007, 1408–1414, DOI: 10.1109/ICSMC.2007.4413766.
- Braun S., Obermeier M., Vogel-Heuser B., Usability Challenges in the Design Workflow of Reusable PLC Software for Machine and Plant Automation, 9th International Multi–Conference on Systems, Signals and Devices, 2012, 1–6, DOI: 10.1109/SSD.2012.6198055.
- Estevez E., Marcos M., Model-Based Validation of Industrial Control Systems, IEEE Transactions on Industrial Informatics, Vol. 8, No. 2, 2012, 302–310, DOI: 10.1109/TII.2011.2174248.
- Gomes L., Lourenco J., Rapid Prototyping of Graphical User Interfaces for Petri-Net-Based Controllers, IEEE Transactions on Industrial Electronics, Vol. 57, No. 5, 2010, 1806–1813, DOI: 10.1109/TIE.2009.2031188.
- Guttel K., Weber P., Fay A., Automatic Generation of PLC Code Beyond the Nominal Sequence, IEEE International Conference on Emerging Technologies and Factory Automation, 2008, 1277–1284, DOI: 10.1109/ETFA.2008.4638565.
- Iriondo N., Estevez E., Marcos M., Automatic Generation of the Supervisor Code for Industrial Switched-Mode Systems, IEEE Transactions on Industrial Informatics, Vol. 9, No. 4, 2013, 1868–1878, DOI: 10.1109/TII.2012.2227491.
- Jung E., Kapoor C., Batory D., Automatic Code Generation for Actuator Interfacing from a Declarative Specification, International Conference on Intelligent Robots and Systems, 2005, 2839–2844, DOI: 10.1109/IROS.2005.1545465.
- Kelly S., Tolvanen J., Domain-Specific Modeling: Enabling Full Code Generation, Wiley-IEEE Computer Society Press, 1st edition, 2008.
- Krunic M., Letvencuk I., Povazan I., Krunic V., An Approach to Model Driven Development and Automatic Source Code Generation of GUI Controls, 11th International Symposium on Intelligent Systems and Informatics, IEEE, 2013, 63–68, DOI: 10.1109/SISY.2013.6662544.
- Kundu D., Samanta D., Mall R., Automatic Code Generation from Unified Modeling Language Sequence Diagrams, “Software, IET”, Vol. 7, No. 1, 2013, 12–28, DOI: 10.1049/iet-sen.2011.0080.
- Mizuoka K., Koga M., MDA Development of Manufacturing Execution System Based on Automatic Code Generation, Proceedings of SICE Annual Conference, 2010, 3103–3106.
- Mosterman P., Automatic Code Generation: Facilitating New Teaching Opportunities in Engineering Education, 36th Annual Frontiers in Education Conference, 2006, 1–6, DOI: 10.1109/FIE.2006.322699.
- Mozumdar M., Gregoretti F., Lavagno L., Vanzago L., Olivieri S., A Framework for Modeling, Simulation and Automatic Code Generation of Sensor Network Application, 5th Annual IEEE Communications Society Conference on Sensor, Mesh and Ad Hoc Communications and Networks, 2008, 515–522, DOI: 10.1109/SAHCN.2008.68.
- Otto A., Hellmann K., IEC 61131: A General Overview and Emerging Trends, “Industrial Electronics Magazine”, Vol. 3, No. 4, 2009, 27–31, 10.1109/MIE.2009.934793.
- Papadopoulos G., Automatic Code Generation: A Practical Approach, 30th International Conference on Information Technology Interfaces, 2008, 861–866, DOI: 10.1109/ITI.2008.4588524.
- Santos A., Cardoso J., Diniz P., Ferreira D., Petrov Z., Specifying Dynamic Adaptations for Embedded Applications Using a DSL, Embedded Systems Letters, IEEE, Vol. 6, No. 3, 2014, 49–52, DOI: 10.1109/LES.2014.2321325.
- Tyugu E., Grigorenko P., Components in Model-Based Software Development, Computer Science and Information Technologies, 2013, 1–8, DOI: 10.1109/CSITechnol.2013.6710367.
- Vogel-Heuser B., Witsch D., Katzke U., Automatic Code Generation from a UML Model to IEC 61131–3 and System Configuration Tools, International Conference on Control and Automation, Vol. 2, 2005, 1034–1039, DOI: 10.1109/ICCA.2005.1528274.
- Werner B., Object-Oriented Extensions for IEC 61131–3, Industrial Electronics Magazine, IEEE, Vol. 3, No. 4, 2009, 36–39, DOI: 10.1109/MIE.2009.934795.
- International Electrotechnical Commission – [www.iec.ch].