Standby redundant control using Erlang/OTP and JADE for a manufacturing cell.

Date
2019-04
Journal Title
Journal ISSN
Volume Title
Publisher
Stellenbosch : Stellenbosch University
Abstract
ENGLISH ABSTRACT: In past decades, the manufacturing sector has been characterised by intense competition resulting from globalisation and shifting customer requirements. This has led to the pursuit of approaches and paradigms that better handle the requirements of modern manufacturers. This pursuit has culminated in the recent focus on the Industry 4.0 and Industrial Internet of Things (IIoT) paradigms. The future manufacturing systems envisioned by these paradigms are increasingly complex. The reliability or availability of complex systems is a concern since complexity increases the likelihood of unexpected failure modes. Holonic systems show great promise for managing this complexity, but they may contain holons that represent single points of failure. The availability of these holons can be improved through standby redundancy. This dissertation evaluates the hypothesis that Erlang/OTP provides an effective platform for implementing standby redundancy in a distributed holonic manufacturing cell. Erlang is a functional programming language designed for the development of fault-tolerant soft real-time control systems. The Open Telecom Platform (OTP) is a set of Erlang libraries that simplifies the development of large complex systems. OTP is such a central feature of Erlang that they are typically referred to collectively, as Erlang/OTP. Erlang/OTP’s standby redundancy effectiveness is evaluated in two stages. First, it is evaluated through the implementation of standby redundancy for a monolithic station controller, the performance of which is benchmarked against the claims of an existing commercial solution. This implementation is representative of standby redundancy for singular resource holons. The evaluation shows that the Erlang/OTP implementation can handle the same failure modes as the commercial solution and achieves a similar changeover time. Furthermore, it shows that Erlang/OTP is suitable for implementing standby redundancy at a software level for embedded devices that do not provide such mechanisms at a hardware level. Next, Erlang/OTP’s effectiveness for standby redundancy in a distributed holonic cell controller is evaluated through a case study comparison of an Erlang/OTP implementation and a Java Agent Development (JADE) framework implementation. JADE is a popular Multi-Agent System framework and has in many respects become the de facto standard for holonic control implementations in academic research. The two implementations are compared using a set of quantitative and qualitative criteria. The comparison demonstrates that the Erlang/OTP implementation outperforms the JADE implementation for all the standby-redundant performance metrics. This is attributed to the centrality of fault-tolerance in Erlang and OTP. The comparison suggests that more development effort may be required for a standby-redundant Erlang/OTP holonic implementation, since Erlang/OTP does not contain the same degree of supporting communication and protocol infrastructure as an established framework like JADE. However, Erlang/OTP’s superior performance outweighs this shortcoming and the comparison concludes that Erlang/OTP provides a better platform for implementing standby redundancy than JADE. The findings of both evaluations confirm that Erlang/OTP provides an effective platform for implementing standby redundancy in a distributed holonic controller for a manufacturing cell. Using Erlang/OTP, the ability to combine standby redundancy and holonic control has the potential to improve controller availability for the complex distributed systems envisioned by Industry 4.0 and IIoT.
AFRIKAANSE OPSOMMING: Vir die afgelope dekades is die vervaardigingsektor gekenmerk deur intense kompetisie, voortgebring deur globalisering en veranderende kliëntvereistes. Hierdie kompetisie het gelei tot die strewe na benaderings en paradigmas wat die vereistes van moderne vervaardigers beter bevredig. Hierdie strewe het uitgeloop op die onlangse fokus op Industrie 4.0 en die Industrial Internet of Things (IIoT) paradigmas. Toekomstige vervaardigingstelsels, soos beoog deur hierdie paradigmas, is toenemend kompleks. Die betroubaarheid en beskikbaarheid van komplekse stelsels wek kommer omdat die kompleksiteit die waarskynlikheid van onverwagte falingsmodusse verhoog. Holoniese stelsels is belowend vir die hantering van hierdie kompleksiteit, maar sulke stelsels mag steeds enkelfalingspunte bevat. Die beskikbaarheid van hierdie stelsels kan verbeter word deur bystandsoortolligheid. Hierdie proefskrif evalueer die hipotese dat Erlang/OTP ‘n doeltreffende platform bied vir die implementering van bystandsoortolligheid in ‘n verspreide, holoniese vervaardigingsel. Erlang is ‘n funksionele programmeringstaal wat ontwerp is vir die ontwikkeling van fout-verdraagsame, sagte-waretyd-beheerstelsels. Die Open Telecom Platform (OTP) is ‘n versameling Erlang programmateke wat die ontwikkeling van groot, komplekse stelsels vergemaklik. OTP is só ‘n sentrale deel van Erlang dat hul gewoonlik saam na verwys word as Erlang/OTP. Die doeltreffendheid van Erlang/OTP se bystandsoortolligheid word in twee fases geëvalueer. Eers word dit geëvalueer deur die implementasie van bystandsoortolligheid vir ‘n monolitiese werkstasiebeheerder, waarvan die verrigting met ‘n bestaande kommersiële oplossing vergelyk word. Hierdie implementasie is verteenwoordigend van die gebruik van Erlang/OTP om ‘n enkele hulpbron (resource) holon te implementeer. Die evaluasie wys dat die Erlang/OTP implementasie dieselfde falingsmodusse as die kommersiële oplossing kan hanteer en eenderse oorgangstye behaal. Verder wys dit dat Erlang/OTP gepas is vir die implementasie van bystandsoortolligheid in ‘n sagteware-vlak vir ingebedde toestelle wat nie vir sulke meganismes op ‘n hardware-vlak voorsiening maak nie. Volgende is Erlang/OTP se doeltreffendheid vir bystandsoortolligheid in ‘n verspreide holoniese selbeheerder geëvalueer deur middel van ‘n gevallestudievergelyking tussen implementasies in die Erlang/OTP en Java Agent Development (JADE) raamwerke. JADE is ‘n gewilde raamwerk vir multi-agentstelsels en het die de facto standaard vir holoniese beheerimplementasies in akademiese navorsing geword. Die twee implementasies word vergelyk deur gebruik te maak van ‘n stel kwantitatiewe en kwalitatiewe kriteria. Die vergelyking demonstreer dat die Erlang/OTP implementasie die JADE implementasie uitpresteer in al die bystandsoortolligheid-werkverrigtingsmaatstawwe. Dit kan toegeskryf word aan die sentraliteit van fout-verdraagsaamheid in Erlang en OTP. Die vergelyking dui wel daarop dat meer ontwikkelingsmoeite benodig mag word om bystandsoortolligheid in Erlang/OTP te implementeer, aangesien Erlang/OTP nie dieselfde vlak van ondersteunende kommunikasie- en protokolinfrastruktuur voorsien as ‘n gevestigde raamwerk soos JADE nie. Tog oortref die werkverrigting van Erlang/OTP hierdie tekortkoming en die vergelyking bereik die gevolgtrekking dat Erlang/OTP ‘n beter platform vir bystandsoortolligheid bied as JADE. Die bevindinge van beide evaluasies bevestig dat Erlang/OTP ‘n doeltreffende platform vir die implementasie van bystandsoortolligheid in ‘n verspreide, holoniese beheerder vir ‘n vervaardigingstelsel bied. Die kombinasie van bystandsoortolligheid en holoniese beheer in Erlang/OTP het die potensiaal om beheerderbeskikbaarheid vir komplekse, verspreide stelsels, soos beoog deur Industrie 4.0 en IIOT, te verbeter.
Description
Thesis (PhD)--Stellenbosch University, 2019.
Keywords
ERLANG (Computer program language), Electronic commerce -- Computer programme, Intelligent agents (Computer software), Computational intelligence, Artificial intelligence, Robotics, Manufacturing processes -- Automation, Computer integrated manufacturing systems, Expert systems (Computer science), Manufacturing processes -- Automation, UCTD
Citation