Abstract
ICS (industrial control system) has gone through constant evolution in both hardware and software with the growing complexity of control applications. The generalization for these control systems has been a trend, and the hardware platform for ICS is getting multifunctional. Therefore, it is necessary to apply methods and technologies from the general software domain to handle this. CBSE (component-based software engineering) can promote reusability during software development and decouple the system with scalability. Existing component-based methods for ICS lack support for advanced function with modern technologies, and traditional software architectures are not flexible enough and usually vendor specific, which brings difficulties to system integration. In this paper, we propose an Open Software Architecture for Industry based on a novel component model. The motivation is to provide a component-based method for ICS and an open framework for various application parts and multi-vendor cooperation. We concern about three aspects including reusability, openness, and flexibility. Meanwhile, a flexible runtime architecture for the component model that supports isolation and real-time performance also matters. We also implement a simple real-life case based on the component model and software architecture we design and evaluate real-time and communication performance.
Similar content being viewed by others
References
Balasubramanian, J., Natarajan, B., Schmidt, D.C., Gokhale, A., Parsons, J., Deng, G.: Middleware support for dynamic component updating. In: OTM Confederated International Conferences On the Move to Meaningful Internet Systems, pp. 978–996. Springer (2005)
Beckhoff: Twincat 3 extended automation. http://download.beckhoff.com/download/Document/catalog/ (2018). Accessed June 10, 2021
Bruyninckx, H., Klotzbücher, M., Hochgeschwender, N., Kraetzschmar, G., Gherardi, L., Brugali, D.: The brics component model: a model-based development paradigm for complex robotics software systems. In: Proceedings of the 28th Annual ACM Symposium on Applied Computing, pp. 1758–1764. ACM (2013)
Bures, T., Hnetynka, P., Plasil, F.: Sofa 2.0: Balancing advanced features in a hierarchical component model. In: Fourth International Conference on Software Engineering Research, Management and Applications (SERA’06), pp. 40–48. IEEE (2006)
Burke, B., Monson-Haefel, R.: Enterprise JavaBeans 3.0. O’Reilly Media, Inc. (2006)
Calvo, I., Pérez, F., Etxeberria, I., Morán, G.: Control communications with dds using iec61499 service interface function blocks. In: 2010 IEEE 15th Conference on Emerging Technologies & Factory Automation (ETFA 2010), pp. 1–4. IEEE (2010)
Candido, G.; Colombo, A.W.; Barata, J.; Jammes, F.: Service-oriented infrastructure to support the deployment of evolvable production systems. IEEE Trans. Indus. Inform. 7(4), 759–767 (2011)
Cannata, A., Gerosa, M., Taisch, M.: Socrades: A framework for developing intelligent systems in manufacturing. In: IEEE International Conference on Industrial Engineering & Engineering Management (2009)
Crnkovic, I.; Sentilles, S.; Vulgarakis, A.; Chaudron, M.R.: A classification framework for software component models. IEEE Trans. Softw. Eng. 37(5), 593–615 (2010)
Cutts, G., Rattigan, S.: Using petri nets to develop programs for plc systems. In: Application & Theory of Petri Nets, International Conference, Sheffield, Uk, June (1992)
Doukas, G.; Thramboulidis, K.: A real-time-linux-based framework for model-driven engineering in control and automation. IEEE Trans. Indus. Electron. 58(3), 914–924 (2009)
Dubinin, V., Vyatkin, V., Pfeiffer, T.: Engineering of validatable automation systems based on an extension of uml combined with function blocks of iec 61499. In: Proceedings of the 2005 IEEE International Conference on Robotics and Automation, pp. 3996–4001. IEEE (2005)
Emmerich, W., Kaveh, N.: Component technologies: Java beans, com, corba, rmi, ejb and the corba component model. In: Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineering, pp. 311–312 (2001)
Feljan, J.; Lednicki, L.; Maras, J.; Petricic, A.; Crnkovic, I.: Classification and survey of component models. Mälardalen University, Mälardalen Real-Time Research Centre (2009)
Fouquet, F., Morin, B., Fleurey, F., Barais, O., Plouzeau, N., Jezequel, J.M.: A dynamic component model for cyber physical systems. In: Proceedings of the 15th ACM SIGSOFT symposium on Component Based Software Engineering, pp. 135–144. ACM (2012)
Frey, G.: Automatic implementation of petri net based control algorithms on plc. In: American Control Conference (2000)
Fürst, S., Mössinger, J., Bunzel, S., Weber, T., Kirschke-Biller, F., Heitkämper, P., Kinkelin, G., Nishikawa, K., Lange, K.: Autosar–a worldwide standard is on the road. In: 14th International VDI Congress Electronic Systems for Vehicles, Baden-Baden, vol. 62, p. 5 (2009)
Goldschmidt, T.; Hauck-Stattelmann, S.; Malakuti, S.; Grüner, S.: Container-based architecture for flexible industrial control applications. J. Syst. Arch. 84, 28–36 (2018)
Gruner, S., Malakuti, S., Schmitt, J., Terzimehic, T., Wenger, M., Elfaham, H.: Alternatives for flexible deployment architectures in industrial automation systems. In: 2018 IEEE 23rd International Conference on Emerging Technologies and Factory Automation (ETFA), vol. 1, pp. 35–42. IEEE (2018)
Hanninen, K., Maki-Turja, J., Nolin, M., Lindberg, M., Lundback, J., Lundback, K.L.: The rubus component model for resource constrained real-time systems. In: 2008 International Symposium on Industrial Embedded Systems, pp. 177–183. IEEE (2008)
Hansson, H., Åkerholm, M., Crnkovic, I., Torngren, M.: Saveccm-a component model for safety-critical real-time systems. In: Proceedings. 30th Euromicro Conference, 2004., pp. 627–635. IEEE (2004)
Hudedmani, M.G.; Umayal, R.; Kabberalli, S.K.; Hittalamani, R.: Programmable logic controller (plc) in automation. Adv. J. Grad. Res. 2(1), 37–45 (2017)
Jammes, F.; Smit, H.: Service-oriented paradigms in industrial automation. IEEE Trans. Indus. Inform. 1(1), 62–70 (2005)
Joy, A.M.: Performance comparison between linux containers and virtual machines. In: 2015 International Conference on Advances in Computer Engineering and Applications, pp. 342–346. IEEE (2015)
Katzke, U.; Vogel-Heuser, B.; Ieee, M.: Combining uml with iec 61131–3 languages to preserve the usability of graphical notations in the software development of complex automation systems. Ifac Proceedings Volumes 40(16), 90–94 (2007)
Lau, K.K.: Software component models: Past, present and future. In: Proceedings of the 17th international ACM Sigsoft symposium on Component-based software engineering, pp. 185–186 (2014)
Lau, K.K., Wang, Z.: A taxonomy of software component models. In: 31st EUROMICRO Conference on Software Engineering and Advanced Applications, pp. 88–95. IEEE (2005)
Lu, Y.: Industry 4.0: A survey on technologies, applications and open research issues. Journal of Industrial Information Integration 6, 1–10 (2017)
Mahmood, S.; Lai, R.; Kim, Y.S.: Survey of component-based software development. IET Softw 1(2), 57–66 (2007)
Maruyama, Y., Kato, S., Azumi, T.: Exploring the performance of ros2. In: Proceedings of the 13th International Conference on Embedded Software, p. 5. ACM (2016)
Merkel, D.: Docker: lightweight linux containers for consistent development and deployment. Linux J 2014(239), 2 (2014)
Moller, A., Akerholm, M., Fredriksson, J., Nolin, M.: Evaluation of component technologies with respect to industrial requirements. In: Proceedings. 30th Euromicro Conference, 2004., pp. 56–63. IEEE (2004)
Neto, L., Gonçalves, G.M.: Component models for embedded systems in industrial cyber-physical systems. In: INTELLI 2018: The Seventh International Conference on Intelligent Systems and Applications (2018)
Oriol, M., Wahler, M., Steiger, R., Stoeter, S., Vardar, E., Koziolek, H., Kumar, A.: Fasa: a scalable software framework for distributed control systems. In: Proceedings of the 3rd international ACM SIGSOFT symposium on Architecting Critical Systems, pp. 51–60. ACM (2012)
Park, M.J., Kim, D.K., Kim, W.T., Park, S.M.: Dynamic software updates in cyber-physical systems. In: 2010 International Conference on Information and Communication Technology Convergence (ICTC), pp. 425–426. IEEE (2010)
Pop, T.; Hnětynka, P.; Hošek, P.; Malohlava, M.; Bureš, T.: Comparison of component frameworks for real-time embedded systems. Knowledge Inform. Syst. 40(1), 127–170 (2014)
Rana, T.: Ex-man component model for component-based software construction. Arab. J. Sci. Eng. 45(4), 2915–2928 (2020)
Sessions, R.: COM and DCOM: Microsofts vision for distributed objects. Wiley, New York (1998)
Shaw, M.: Truth vs. knowledge: the difference between what a component does and what we know it does. In: Proceedings of the 8th International Workshop on Software Specification and Design, pp. 181–185. IEEE (1996)
Sunder, C., Zoitll, A., Christensen, J.H., Steininger, H., Rritsche, J.: Considering iec 61131-3 and iec 61499 in the context of component frameworks. In: 2008 6th IEEE International Conference on Industrial Informatics, pp. 277–282. IEEE (2008)
Thramboulidis, K.C.: Using uml in control and automation: a model driven approach. In: 2nd IEEE International Conference on Industrial Informatics, 2004. INDIN’04. 2004, pp. 587–593. IEEE (2004)
Twenty-eight years of component-based software engineering: Vale, T., Crnkovic, I., De Almeida, E.S., Neto, P.A.D.M.S., Cavalcanti, Y.C., de Lemos Meira, S.R. Journal of Systems and Software 111, 128–148 (2016)
Vanwormhoudt, G., Flissi, A.: Ciao: a component model and its osgi framework for dynamically adaptable telephony applications. In: Proceedings of the 16th International ACM Sigsoft symposium on Component-based software engineering, pp. 23–32. ACM (2013)
Vogel-Heuser, B.; Diedrich, C.; Fay, A.; Jeschke, S.; Kowalewski, S.; Wollschlaeger, M.; Göhner, P.: Challenges for software engineering in automation. J. Softw. Eng. Appl. 7(05), 440 (2014)
Vyatkin, V.: Software engineering in industrial automation: state-of-the-art review. IEEE Trans. Indus. Inform. 9(3), 1234–1249 (2013)
Wahler, M., Richter, S., Oriol, M.: Dynamic software updates for real-time systems. In: Proceedings of the 2nd International Workshop on Hot Topics in Software Upgrades, pp. 1–6 (2009)
Yang, J., Sandström, K., Nolte, T., Behnam, M.: Data distribution service for industrial automation. In: Proceedings of 2012 IEEE 17th International Conference on Emerging Technologies & Factory Automation (ETFA 2012), pp. 1–8. IEEE (2012)
Funding
This work was partially supported by Shanghai Science and Technology Committee Rising-Star Program (No. 18QB1402000) and Science and Technology Commission of Shanghai Municipality Project (No. 18ZR1411600).
Author information
Authors and Affiliations
Contributions
Yan Wang was involved in methodology, investigation, and writing—original draft; Gang Zhu was involved in methodology, experiment, and writing—original draft; Jianqi Shi was involved in conceptualization, resources, and writing—review and editing; Yanhong Huang was involved in conceptualization, resources, and writing—review and editing; and Xin Guo was involved in conceptualization and supervision.
Corresponding author
Ethics declarations
Conflict of interest
The authors declare that they have no conflict of interest.
Rights and permissions
About this article
Cite this article
Wang, Y., Zhu, G., Shi, J. et al. OSAI: A Component-Based Open Software Architecture for Modern Industrial Control Systems. Arab J Sci Eng 47, 3805–3819 (2022). https://doi.org/10.1007/s13369-021-06123-3
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s13369-021-06123-3