Skip to main content
Log in

A review of the application of component-based software development in open CNC systems

  • ORIGINAL ARTICLE
  • Published:
The International Journal of Advanced Manufacturing Technology Aims and scope Submit manuscript

Abstract

The development of open CNC systems is a popular topic in the past three decades. From the perspective of software engineering, most open CNC prototypes are developed based on the component-based software development (CBSD) approach. That is, they are constructed by composing functional or logical components. This paper retrospects the development of CBSD-based open CNC systems. These systems are analyzed from three aspects. For the component granularity aspect, CNC domain analysis and component reusability are discussed. For the component model aspect, component models used in open CNC systems are summarized, illustrated, and discussed. Likewise, for the software architecture aspect, architecture styles are summarized, described, and analyzed. But due to the diversity and platform dependency of component models, there is no widely accepted platform that can collect and execute heterogeneous CNC components. Service is an evolution of components. It makes a traditional component to be platform-independent and supports communication via message. Thus, a service-oriented architecture (SOA)-based universal open CNC platform is an attractive development trend of diverse CBSD-based open CNC systems. And its development is similar to the development of the CBSD-based system, but more complicated because it contains more domain logic. Therefore, this paper provides a technical foundation for developing SOA-based open CNC platform which is a part of novel automation patterns, such as cloud manufacturing and cyber-physical production system.

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
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20
Fig. 21
Fig. 22
Fig. 23
Fig. 24
Fig. 25
Fig. 26
Fig. 27
Fig. 28
Fig. 29
Fig. 30
Fig. 31
Fig. 32
Fig. 33
Fig. 34
Fig. 35
Fig. 36

Similar content being viewed by others

References

  1. Kief HB, Roschiwal HA, Schwarz K (2015) CNC-Handbuch 2015/2016: CNC, DNC, CAD, CAM, FFS, SPS, RPD, LAN, CNC-Maschinen, CNC-Roboter Antriebe, Simulation. Carl Hanser Verlag GmbH Co KG, Fachwortverzeichnis

    Google Scholar 

  2. Siemens A (2009) Milling with sinumerik 5-axis machining. SINUMERIK 5-axis machining, Manual

  3. Siemens A (2019) Sinumerik one - the digital native cnc. https://new.siemens.com/global/en/markets/machinebuilding/machine-tools/cnc4you/fokus-digitalisierung/sinumerik-one.html

  4. Bandari YK, Williams SW, Ding J, Martina F (2015) Additive manufacture of large structures: robotic or cnc systems. In: Proceedings of the 26th international solid freeform fabrication symposium, Austin, pp 12–14

  5. Flynn JM, Shokrani A, Newman ST, Dhokia V (2016) Hybrid additive and subtractive machine tools–research and industrial developments. Int J Mach Tools Manuf 101:79–101

    Google Scholar 

  6. Rauch M, Hascoët JY, Simoes V, Hamilton K (2014) Advanced programming of machine tools: interests of an open cnc controller within a step-nc environment. Int J Mach Machinab Mater 7 15(1–2):2–17

    Google Scholar 

  7. Shackleford WP, Proctor FM (2001) Use of open source distribution for a machine tool controller. In: Sensors and controls for intelligent manufacturing, international society for optics and photonics, vol 4191, pp 19–30

  8. Wang G, Shang X, Yan Y, Allen JK, Mistree F (2018) A tree-based decision method for the configuration design of reconfigurable machine tools. J Manuf Syst 49:143–162

    Google Scholar 

  9. Pritschow G, Altintas Y, Jovane F, Koren Y, Mitsuishi M, Takata S, Van Brussel H, Weck M, Yamazaki K (2001) Open controller architecture–past, present and future. CIRP Ann 50(2):463–470

    Google Scholar 

  10. Lutz P, Sperling W, Fichtner D, Mackay R (1997) Osaca—the vendor neutral control architecture. In: Proc. European conf. integration in manufacturing, pp 247–256

  11. Michaloski JL, Birla S, Weinert GF, Yen CJ (1998) Framework for component-based cnc machines. In: Sensors and controls for intelligent machining, agile manufacturing, and mechatronics, international society for optics and photonics, vol 3518, pp 132–144

  12. Sawada C, Akira O (1997) Open controller architecture osec-ii: architecture overview and prototype systems. In: 1997 IEEE 6th International conference on emerging technologies and factory automation proceedings, EFTA’97. IEEE, pp 543–550

  13. LinuxCNC (2018) About linuxcnc. http://linuxcnc.org/docs/2.7/html/getting-started/about-linuxcnc.html

  14. Kirk K (2018) PC-based control for. http://www.beckhoff.com.cn/CNC/

  15. Szyperski C, Gruntz D, Murer S (2002) Component software: beyond object-oriented programming. Pearson Education

  16. Heineman GT, Crnkovic I, Schmidt HW, Stafford JA, Szyperski C, Wallnau K (2001) Component-based software engineering

  17. Jalender B, Govardhan A, Premchand P (2011) Breaking the boundaries for software component reuse technology. Int J Comput Appl 13(6):37–41

    Google Scholar 

  18. Petritsch H (2006) Service-oriented architecture (soa) vs. component based architecture. Vienna University of Technology. Vienna, p 18

  19. Lowy J (2007) Programming WCF services. O’Reilly Media, Inc.

  20. Brecher C, Verl A, Lechler A, Servos M (2010) Open control systems: state of the art. Prod Eng 4(2–3):247–254

    Google Scholar 

  21. Flammini A, Ferrari P, Marioli D, Sisinni E, Taroni A (2009) Wired and wireless sensor networks for industrial applications. Microelectron J 40(9):1322–1336

    Google Scholar 

  22. Xu X (2012) From cloud computing to cloud manufacturing. Robot Comput-Integr Manuf 28(1):75–86

    Google Scholar 

  23. Davis J, Edgar T, Porter J, Bernaden J, Sarli M (2012) Smart manufacturing, manufacturing intelligence and demand-dynamic performance. Comput Chem Eng 47:145–156

    Google Scholar 

  24. Prinz F, Schoeffler M, Lechler A, Verl A (2019) A novel i4 0-enabled engineering method and its evaluation. Int J Adv Manuf Technol 102(5–8):2245–2263

    Google Scholar 

  25. Ding K, Chan FT, Zhang X, Zhou G, Zhang F (2019) Defining a digital twin-based cyber-physical production system for autonomous manufacturing in smart shop floors. Int J Prod Res 57(20):6315–6334

    Google Scholar 

  26. Monostori L, Kádár B, Bauernhansl T, Kondoh S, Kumara S, Reinhart G, Sauer O, Schuh G, Sihn W, Ueda K (2016) Cyber-physical systems in manufacturing. Cirp Ann 65(2):621–641

    Google Scholar 

  27. Adamson G, Wang L, Holm M, Moore P (2017) Cloud manufacturing–a critical review of recent development and future trends. Int J Comput Integr Manuf 30(4-5):347–380

    Google Scholar 

  28. Xu X (2017) Machine tool 4.0 for the new era of manufacturing. Int J Adv Manuf Technol 92(5–8):1893–1900

    Google Scholar 

  29. Lechler A, Verl A (2017) Software defined manufacturing extends cloud-based control. In: ASME 2017 12th International manufacturing science and engineering conference collocated with the JSME/ASME 2017 6th international conference on materials and processing. American Society of Mechanical Engineers Digital Collection

  30. Verl A, Lechler A, Schlechtendahl J (2012) Glocalized cyber physical production systems. Prod Eng 6 (6):643–649

    Google Scholar 

  31. Kanagwa B, Mugisa EK (2007) A comparison of service oriented architecture with other advances in software architectures. Strengthening the Role of ICT in Development, p 405

  32. Kung-kiu L, et al. (2017) An introduction to component-based software development, vol 3. # N/A

  33. Kirk K (2009) Reuse: is the dream dead? https://dzone.com/articles/reuse-dream-dead

  34. Suh SH, Kang SK, Chung DH, Stroud I (2008) Theory and design of CNC systems. Springer Science & Business Media

  35. Siemens A (2006) Configuring the ncu. SINUMERIK 840D, Manual

  36. Aho AV, Lam MS, Sethi R, Ullman JD (2006) Compilers: principles, techniques and tools, 2nd edn. Addison-Wesley Longman Publishing Co. Inc

  37. Xu XW, Newman ST (2006) Making cnc machine tools more open, interoperable and intelligent—a review of the technologies. Comput Ind 57(2):141–152

    Google Scholar 

  38. Xu X, Nee AYC (2009) Advanced design and manufacturing based on STEP. Springer Science & Business Media

  39. Hardwick M, Zhao YF, Proctor FM, Nassehi A, Brail A (2013) A roadmap for step-nc-enabled interoperable manufacturing. In: International journal of advanced manufacturing technology

  40. Ridwan F, Xu X (2013) Advanced cnc system with in-process feed-rate optimisation. Robot Comput Integr Manuf 29(3):12–20

    Google Scholar 

  41. Rauch M, Laguionie R, Hascoet JY, Suh SH (2012) An advanced step-nc controller for intelligent machining processes. Robot Comput Integr Manuf 28(3):375–384

    Google Scholar 

  42. Valilai OF, Houshmand M (2010) Infelt step: an integrated and interoperable platform for collaborative cad/capp/cam/cnc machining systems based on step standard. Int J Comput Integr Manuf 23(12):1095–1117

    Google Scholar 

  43. Um J, Suh SH, Stroud I (2016) Step-nc machine tool data model and its applications. Int J Comput Integr Manuf 29(10):1058–1074

    Google Scholar 

  44. Rostan M (2008) Industrial ethernet technologies: overview. In: ETG Industrial ethernet seminar series. Nuremberg

  45. Siemens A (2006) Guide for the sinumerik 840d sl machine configuring. SINUMERIK 840D sl, SINAMICS S120, Manual

  46. LinuxCNC (2007) Emc components. http://wiki.linuxcnc.org/cgi-bin/wiki.pl?EMC_Components

  47. LinuxCNC (2019) Hal introduction. http://linuxcnc.org/docs/2.7/html/hal/intro.html

  48. Staroveški T, Brezak D, Udiljak T (2013) Linuxcnc–the enhanced machine controller: application and an overview. Tehnički vjesnik 20(6):1103–1110

    Google Scholar 

  49. Wang W, Zhou K (2017) An extensible nc program interpreter for open cnc systems. Int J Adv Manuf Technol 2:1–13

    Google Scholar 

  50. Yusof Y, Latif K (2015) New interpretation module for open architecture control based cnc systems. Procedia CIRP 26:729–734

    Google Scholar 

  51. Yusof Y, Latif K (2016) New technique for the interpretation of iso 14649 and 6983 based on open cnc technology. Int J Comput Integr Manuf 29(2):136–148

    Google Scholar 

  52. Bin L, Yun-fei Z, Xiao-qi T (2004) A research on open cnc system based on architecture/component software reuse technology. Comput Ind 55(1):73–85

    Google Scholar 

  53. Park S, Kim SH, Cho H (2006) Kernel software for efficiently building, re-configuring, and distributing an open cnc controller. Int J Adv Manuf Technol 27(7-8):788–796

    Google Scholar 

  54. Wang CS, Wiegers T, Vergeest JS (2011) An implementation of intelligent cnc machine tools. In: Applied mechanics and materials, vol 44. Trans Tech Publ, pp 557–561

  55. Li Y, Liu Q, Xiong J, Wang J (2015) Research on data-sharing and intelligent cnc machining system. In: 2015 IEEE international conference on mechatronics and automation (ICMA). IEEE, pp 625–630

  56. Han Z, Jin H, Li M, Fu H (2015) An open modular architecture controller based online chatter suppression system for cnc milling. Mathematical problems in Engineering

  57. Birla S, Faulkner D, Michaloski J, Sorenson S, Weinert G, Yen J (2001) Reconfigurable machine controllers using the omac api. In: Proceedings of the CIRP 1st international conference on reconfigurable manufacturing, vol 1, Ann Arbor

  58. Crnkovic I, Sentilles S, Vulgarakis A, Chaudron MR (2010) A classification framework for software component models. IEEE Trans Softw Eng 37(5):593–615

    Google Scholar 

  59. Ardalis (2019)

  60. Ježek K (2010) Component compatibility in terms of extra-functional properties: technical report no. dcse/tr-2010-06

  61. Sentilles S (2012) Managing extra-functional properties in component-based development of embedded systems. PhD thesis, Pau

  62. Strasser T, Zoitl A (2016) Basic principles of IEC 61499 reference model. Distributed control applications: guidelines, design patterns, and application examples with the IEC 61499

  63. Lau KK, Safie L, Stepan P, Tran C (2011) A component model that is both control-driven and data-driven. In: International Acm Sigsoft symposium on component based software engineering

  64. Sapienza G, Sentilles S, Crnkovic I, Seceleanu T (2016) Extra-functional properties composability for embedded systems partitioning. In: International ACM sigsoft symposium on component-based software engineering

  65. Buschmann F, Meunier R, Rohnert H, Sommerlad P, Stal M (1996) Pattern-oriented soft-ware architecture, volume 1: a system of patterns

  66. Seceleanu C, Crnkovic I (2013) Component models for reasoning. Computer 46(11):40–47

    Google Scholar 

  67. John K, Michael S (2018) Component object model (com). https://docs.microsoft.com/zh-cn/windows/desktop/com/component-object-model--com--portal

  68. Frølund S, Koistinen J (1998) Quality-of-service specification in distributed object systems. Distrib Syst Eng 5(4):179

    Google Scholar 

  69. Lau KK, Ukis V (2006) Defining and checking deployment contracts for software components. In: International symposium on component-based software engineering. Springer, pp 1–16

  70. Feljan J, Lednicki L, Maras J, Petričić A, Crnković I (2009) Dices technical report classification and survey of component models. Tech. rep., Technical report

  71. OMG (2006) Corba component model specification. https://www.omg.org/spec/CCM/4.0/PDF

  72. Wang N, Parameswaran K, Kircher M, Schmidt DC (2000) Applying reflective middleware techniques to optimize a qos-enabled corba component model implementation. In: Proceedings 24th annual international computer software and applications conference. COMPSAC2000. IEEE, pp 492–499

  73. Soetens P (2006) A software framework for real-time and distributed robot and machine control. Doktorarbeit Katholieke Universiteit Leuven, Belgien

    Google Scholar 

  74. Balasubramanian K (2006) Composition in the corba component model

  75. Zhang C, Guo L, Lan H (2006) Open cnc system components implementation based on ccm. Manuf Technol Mach Tool 38(2):25–28

    Google Scholar 

  76. Zhang Cr, Liu L, Guo Ln (2007) Development of open cnc system components application based on corba component model [j]. Modular Machine Tool & Automatic Manufacturing Technique, 2

  77. Hongxing W, Xinming D, Youdong C, Xiaoliang Z (2008) Research of open cnc system based on corba. In: 2008 Fifth IEEE international symposium on embedded computing. IEEE, pp 364–369

  78. Microsoft (2018) Com+ (component services). https://docs.microsoft.com/en-us/windows/win32/cossdk/component-services-portal

  79. Löwy J (2001) COM and NET component services. O’Reilly Media, Inc.

  80. Lowy J (2005) Programming NET components: design and build. NET applications using component-oriented programming. O’Reilly Media, Inc.

  81. Mahnke W, Leitner SH, Damm M (2009) OPC unified architecture. Springer Science & Business Media

  82. Beckhoff (2019) Twincat 3 — extended automation (xa). http://www.beckhoff.com/twincat/

  83. Han Zy, Wang Yz, Fu Hy et al (2007) Development of a pc-based open architecture software-cnc system. Chin J Aeronaut 20(3):272–281

    Google Scholar 

  84. Zhou Z, Xie J, Chen Y, Chen B, Qiu Z, Wong Y, Zhang Y (2004) The development of a fieldbus-based open-cnc system. Int J Adv Manuf Technol 23(7–8):507–513

    Google Scholar 

  85. Liu Y, Wang Yz, Fu Hy (2008) An open architecture motion controller for cnc machine tools. In: 2008 2nd International symposium on systems and control in aerospace and astronautics. IEEE, pp 1–4

  86. Tu NTT, Cuong ND, Tan VV, Thang HQ (2010) Research and development of opc client-server architectures for manufacturing and process automation. In: Proceedings of the 2010 symposium on information and communication technology, SoICT 2010, Hanoi, Viet Nam, August 27-28, 2010

  87. Microsoft (2019) Common language runtime (clr) overview. https://docs.microsoft.com/zh-cn/dotnet/standard/clr

  88. Microsoft (2019) .net framework guide. https://docs.microsoft.com/zh-cn/dotnet/framework/

  89. Microsoft (2017) Assembly contents. https://docs.microsoft.com/en-us/dotnet/framework/app-domains/assembly-contents

  90. Microsoft (2017) Assembly manifest. https://docs.microsoft.com/en-us/dotnet/framework/app-domains/assembly-manifest

  91. Microsoft (2017) Metadata and self-describing components. https://docs.microsoft.com/en-us/dotnet/standard/metadata-and-self-describing-components

  92. Microsoft (2016) What is ”managed code”. https://docs.microsoft.com/en-us/dotnet/standard/managed-code

  93. Sun P, Liu Q, Ding J, Pi S (2017) Open cnc system design for multiple intelligent functions based on twincat and. net framework. In: 2017 IEEE International conference on mechatronics and automation (ICMA). IEEE, pp 910–915

  94. Zabiński T, Maczka T (2010) Human system interface for manufacturing control—industrial implementation. In: 3rd International conference on human system interaction. IEEE, pp 350–355

  95. Thramboulidis K (2013) Iec 61499 vs. 61131: a comparison based on misperceptions. J Softw Eng Appl 6 (8):405–415

    Google Scholar 

  96. Lewis R (2001) Modelling control systems using IEC 61499: applying function blocks to distributed systems. 59, Iet

  97. Vyatkin V (2011) IEC 61499 function blocks for embedded and distributed control systems design

  98. Minhat M, Vyatkin V, Xu X, Wong S, Al-Bayaa Z (2009) A novel open cnc architecture based on step-nc data model and iec 61499 function blocks. Robot Comput Integr Manuf 25(3):560–569

    Google Scholar 

  99. Xue-mei H (2010) Distributed and reconfigurable step-nc controller design of compliant to iec 61499 standard. Comput Integr Manuf Syst 12:16

    Google Scholar 

  100. Wang L, Jin W, Feng HY (2006) Embedding machining features in function blocks for distributed process planning. Int J Comput Integr Manuf 19(5):443–452

    Google Scholar 

  101. Elias D, Yusof Y, Minhat M (2012) Interoperable cnc machine via function block and step-nc data model for milling operation. In: Applied mechanics and materials, vol 229. Trans Tech Publ, pp 2365–2369

  102. Du S, Dong Y, Yi H, Yan H (2009) A component model and layered system architecture for reconfigurable cnc systems. In: International conference on information & automation

  103. Du S, Dong Y (2009) Research on component technology for reconfigurable cnc system. In: International conference on computational intelligence & software engineering

  104. Denton W (2003) How to make a faceted classification and put it on the web. See http://www.miskatonicorg/library/facet-web-howtohtml

  105. Henning M (2006) The rise and fall of corba. Queue 4(5):28–34

    Google Scholar 

  106. patterns M, Practices (2009) Microsoft application architecture guide. Microsoft Press

  107. Kautz O, Roth A, Rumpe B (2018)

  108. Brambilla M, Cabot J, Wimmer M (2017) Model-driven software engineering in practice. Synth Lect Softw Eng 3(1):1–207

    Google Scholar 

  109. OMG (2020) Mda - the architecture of choice for a changing world. https://www.omg.org/mda/

  110. Li D, Li F, Huang X, Lai Y, Zheng S (2010) A model based integration framework for computer numerical control system development. Robot Comput Integr Manuf 26(4):333–343

    Google Scholar 

  111. Kübler K, Scheifele S, Scheifele C, Riedel O (2018) Model-based systems engineering for machine tools and production systems (model-based production engineering). Procedia Manuf 24:216–221

    Google Scholar 

  112. Liu J, Fu Y, Han Z, Fu H (2015) Design of an industrial ethernet based embedded open architecture cnc system. In: 2015 International conference on estimation, detection and information fusion (ICEDIF). IEEE, pp 413–417

  113. Morales-Velazquez L, de Jesus Romero-Troncoso R, Osornio-Rios RA, Herrera-Ruiz G, Cabal-Yepez E (2010) Open-architecture system based on a reconfigurable hardware–software multi-agent platform for cnc machines. J Syst Arch 56(9):407–418

    Google Scholar 

  114. Microsoft (2008) Hard real-time with venturcom rtx on microsoft windows xp and windows xp embedded. https://docs.microsoft.com/en-us/previous-versions/windows/embedded/ms838583(v=winembedded.5)

  115. Zhou L, Yuan JL, Gao P, Ren YH (2014) A new architecture of open cnc system based on compiling mode. Int J Adv Manuf Technol 73(9–12):1597–1603

    Google Scholar 

  116. Yao YX, Yu SZ (2007) A novel architecture for compiled-type software cnc system. Key Eng Mater 339:5

    Google Scholar 

  117. Wang L, Orban P, Cunningham A, Lang S (2004) Remote real-time cnc machining for web-based manufacturing. Robot Comput Integr Manuf 20(6):563–571

    Google Scholar 

  118. Zhang X, Tang X, Chen J, Zhou H, Wu T (2007) Hierarchical real-time networked cnc system based on the transparent model of industrial ethernet. Int J Adv Manuf Technol 34(1–2):161– 167

    Google Scholar 

  119. Richards M (2015) Software architecture patterns. O’Reilly Media, Incorporated

  120. Tanenbaum AS, Bos H (2015) Modern operating systems. Pearson

  121. Steve S (2019) Overview of asp.net core mvc. https://docs.microsoft.com/zh-cn/aspnet/core/mvc/overview?view=aspnetcore-2.2

  122. Stephen W (2008) Understanding models, views, and controllers (c#). https://docs.microsoft.com/en-us/aspnet/mvc/overview/older-versions-1/overview/understanding-models-views-and-controllers-cs

  123. Charlie R (2011) Scaling isomorphic javascript code. https://blog.nodejitsu.com/scaling-isomorphic-javascript-code/

  124. Lou T, et al. (2016) A comparison of android native app architecture–mvc, mvp and mvvm

  125. Pan HH, Jiang JJ, Chen L, Sun HT, Tan HQ (2011) A scalable graphics user interface architecture for cnc application based - on wpf and mvvm. Adv Mater Res 317–319:1931–1935

    Google Scholar 

  126. Jiang JJ, Tan HQ, Yao B (2012) A multi-platform compatible and open software architecture for computer numerical control systems. In: Advanced materials research, vol 468. Trans Tech Publ, pp 430–433

  127. Soni S, Dhete P, Patil S, Meshram DB (2012) Industrial automation using windows presentation foundation & model view view-model pattern. Int J Adv Res Comput Eng Technol 1:149–152

    Google Scholar 

  128. Brown S (2014) Software architecture for developers. Barnes & Noble

  129. Wang T, Wang L, Liu Q (2011) A three-ply reconfigurable cnc system based on fpga and field-bus. Int J Adv Manuf Technol 57(5–8):671–682

    Google Scholar 

  130. Xu XW (2006) Realization of step-nc enabled machining. Robot Comput Integr Manuf 22(2):144–153

    MathSciNet  Google Scholar 

  131. Othman MA, Jamaludin Z, Minhat M (2019) Intelligent control of cnc system based on iec 61499 function block technology. In: Symposium on intelligent manufacturing and mechatronics. Springer, pp 176–185

  132. Liu Y, Guo X, Li W, Yamazaki K, Kashihara K, Fujishima M (2007) An intelligent nc program processor for cnc system of machine tool. Robot Comput Integr Manuf 23(2):160–169

    Google Scholar 

  133. Correa JE, Toombs N, Ferreira PM (2017) A modular-architecture controller for cnc systems based on open-source electronics. J Manuf Syst, 44

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Yingxue Yao.

Additional information

Publisher’s note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Liu, L., Yao, Y. & Li, J. A review of the application of component-based software development in open CNC systems. Int J Adv Manuf Technol 107, 3727–3753 (2020). https://doi.org/10.1007/s00170-020-05258-1

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00170-020-05258-1

Keywords

Navigation