Skip to main content
Log in

OSAI: A Component-Based Open Software Architecture for Modern Industrial Control Systems

  • Research Article-Systems Engineering
  • Published:
Arabian Journal for Science and Engineering Aims and scope Submit manuscript

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.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10

Similar content being viewed by others

Notes

  1. https://github.com/nucleron/matiec

  2. https://github.com/rttrorg/rttr

  3. https://www.eclipse.org/sirius/

  4. https://github.com/opencontainers/runc

  5. https://www.omg.org/spec/DDS/

  6. CAN in Automation (CiA)

  7. https://opendds.org/

References

  1. 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)

  2. Beckhoff: Twincat 3 extended automation. http://download.beckhoff.com/download/Document/catalog/ (2018). Accessed June 10, 2021

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

  4. 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)

  5. Burke, B., Monson-Haefel, R.: Enterprise JavaBeans 3.0. O’Reilly Media, Inc. (2006)

  6. 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)

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

    Article  Google Scholar 

  8. 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)

  9. 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)

    Article  Google Scholar 

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

  11. 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)

    Article  Google Scholar 

  12. 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)

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

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

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

  16. Frey, G.: Automatic implementation of petri net based control algorithms on plc. In: American Control Conference (2000)

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

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

    Article  Google Scholar 

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

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

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

  22. 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)

    Article  Google Scholar 

  23. Jammes, F.; Smit, H.: Service-oriented paradigms in industrial automation. IEEE Trans. Indus. Inform. 1(1), 62–70 (2005)

    Article  Google Scholar 

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

  25. 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)

  26. 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)

  27. 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)

  28. Lu, Y.: Industry 4.0: A survey on technologies, applications and open research issues. Journal of Industrial Information Integration 6, 1–10 (2017)

  29. Mahmood, S.; Lai, R.; Kim, Y.S.: Survey of component-based software development. IET Softw 1(2), 57–66 (2007)

    Article  Google Scholar 

  30. 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)

  31. Merkel, D.: Docker: lightweight linux containers for consistent development and deployment. Linux J 2014(239), 2 (2014)

    Google Scholar 

  32. 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)

  33. 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)

  34. 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)

  35. 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)

  36. 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)

    Article  Google Scholar 

  37. Rana, T.: Ex-man component model for component-based software construction. Arab. J. Sci. Eng. 45(4), 2915–2928 (2020)

    Article  Google Scholar 

  38. Sessions, R.: COM and DCOM: Microsofts vision for distributed objects. Wiley, New York (1998)

    Google Scholar 

  39. 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)

  40. 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)

  41. 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)

  42. 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)

  43. 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)

  44. 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)

    Article  Google Scholar 

  45. Vyatkin, V.: Software engineering in industrial automation: state-of-the-art review. IEEE Trans. Indus. Inform. 9(3), 1234–1249 (2013)

    Article  Google Scholar 

  46. 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)

  47. 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)

Download references

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

Authors

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

Correspondence to Yanhong Huang.

Ethics declarations

Conflict of interest

The authors declare that they have no conflict of interest.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s13369-021-06123-3

Keywords

Navigation