{"title":"Disruption-free software updates in automation systems","authors":"M. Wahler, M. Oriol","doi":"10.1109/ETFA.2014.7005075","DOIUrl":null,"url":null,"abstract":"Automation systems must primarily be deterministic and reliable, especially in safety-critical environments. With recent trends such as mass customization or Industry 4.0, there is an increasing need for automation systems to be dynamic. Changing parts of the software of today's automation systems, however, typically requires rebooting the controller, which makes software updates a complex and costly endeavor often despised by operators. This article presents an approach to updating the software of automation systems at runtime without disrupting the system's operation. This is achieved with a combination of a component-based architecture, cyclic application execution, and a state transfer mechanism between the original and the updated version of a component. We validate our solution with a case study in which we update the control algorithm of a magnetic levitation device running at cycles of 1 kHz without dropping the ball.","PeriodicalId":20477,"journal":{"name":"Proceedings of the 2014 IEEE Emerging Technology and Factory Automation (ETFA)","volume":null,"pages":null},"PeriodicalIF":0.0000,"publicationDate":"2014-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"13","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 2014 IEEE Emerging Technology and Factory Automation (ETFA)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ETFA.2014.7005075","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 13
Abstract
Automation systems must primarily be deterministic and reliable, especially in safety-critical environments. With recent trends such as mass customization or Industry 4.0, there is an increasing need for automation systems to be dynamic. Changing parts of the software of today's automation systems, however, typically requires rebooting the controller, which makes software updates a complex and costly endeavor often despised by operators. This article presents an approach to updating the software of automation systems at runtime without disrupting the system's operation. This is achieved with a combination of a component-based architecture, cyclic application execution, and a state transfer mechanism between the original and the updated version of a component. We validate our solution with a case study in which we update the control algorithm of a magnetic levitation device running at cycles of 1 kHz without dropping the ball.