Explore chapters and articles related to this topic
Parallel Computing Programming Basics
Published in Vivek Kale, Parallel Computing Architectures and APIs, 2019
An Erlang program typically consists of thousands of processes, divided into worker and monitoring processes. Worker processes have links to monitoring processes, which form an error-propagation channel in case the worker process fails. This classification of process types as described in the Erlang Open Telecom Platform system suggests monitoring trees that hold a protocol which is initiated once a failure is detected. A failure of a working process is interpreted as the inability to perform a desired computation. Thus, a new (easier) approach for solving the problem is typically instantiated. In order to fork a process to run in parallel to the calling process, the spawn command must be used. This initiates a new process and reports its process ID, which can then be used as a communication address.
Internet of Things-Compliant Platforms for Inter-Networking Metamaterials
Published in Christos Liaskos, The Internet of Materials, 2020
RabbitMQ[10] is an open-source message-broker software that originally implemented the Advanced Message Queuing Protocol (AMQP) and has since been extended with a plug-in architecture to support Streaming Text Oriented Messaging Protocol (STOMP), MQ Telemetry Transport (MQTT), and other protocols. The RabbitMQ server program is written in the Erlang programming language and is built on the Open Telecom Platform framework for clustering and failover. Client libraries to interface with the broker are available for all major programming languages. RabbitMQ has TLS and clustering support.
Comparison of Erlang/OTP and JADE implementations for standby redundancy in a holonic controller
Published in International Journal of Computer Integrated Manufacturing, 2019
G. T. Hawkridge, A. H. Basson, K. Kruger
Erlang is a functional programming language designed for the development of fault-tolerant soft real-time control systems (Armstrong 1996). OTP (Open Telecom Platform), a key feature of Erlang, is a set of libraries that simplify the development of large complex systems (Armstrong 2010, 73). Erlang/OTP is not well known within the manufacturing systems’ academic community, but it has an impressive industrial track record. Initially developed by Ericsson, Erlang/OTP has been used in several successful, large-scale products such as the AXD301 switch (Armstrong 2003). Erlang and OTP were public released as open source software in 1998. Since then, its use has provided several companies with competitive advantages, leading to a rapidly growing user community. A prominent example of the competitive advantage that Erlang/OTP can provide is WhatsApp, which used Erlang/OTP to develop a high-reliability, massively-scalable messaging service that serves more than 450 million users (O’Connell 2014).