Functional Programming for the Internet of Things: A LoRa-MQTT Gateway written in Elixir

Networks for the Internet of Things typically use a gateway to provide connectivity between a low bit rate, low capability sensor network and the broader Internet. The gateway can be subject to very high traffic loads, many concurrent processes and needs to be highly reliable. Functional programming...

Celý popis

Uložené v:
Podrobná bibliografia
Vydané v:Australasian Telecommunication Networks and Applications Conference [proceedings] s. 214 - 217
Hlavní autori: Branch, Philip, Weinstock, Phillip
Médium: Konferenčný príspevok..
Jazyk:English
Vydavateľské údaje: IEEE 29.11.2023
Predmet:
ISSN:2474-154X
On-line prístup:Získať plný text
Tagy: Pridať tag
Žiadne tagy, Buďte prvý, kto otaguje tento záznam!
Abstract Networks for the Internet of Things typically use a gateway to provide connectivity between a low bit rate, low capability sensor network and the broader Internet. The gateway can be subject to very high traffic loads, many concurrent processes and needs to be highly reliable. Functional programming languages such as Erlang and Elixir have proven to be an effective programming paradigm for such scenarios, notably in large scale telecommunications switches. In this paper we report on our experiences of developing a gateway between a LoRa network and an MQTT broker using the functional programming language Elixir. Our experience suggests that the discipline imposed by functional programming results in a system that is more compact, supports concurrent processes well and is more reliable than similar systems developed using conventional languages. However, we also note that subsystems to support the development of such systems are primitive and that functional programming has a considerably steep learning curve. Nevertheless we conclude that functional programming has considerable potential for the Internet of Things and plan to continue research in this area.
AbstractList Networks for the Internet of Things typically use a gateway to provide connectivity between a low bit rate, low capability sensor network and the broader Internet. The gateway can be subject to very high traffic loads, many concurrent processes and needs to be highly reliable. Functional programming languages such as Erlang and Elixir have proven to be an effective programming paradigm for such scenarios, notably in large scale telecommunications switches. In this paper we report on our experiences of developing a gateway between a LoRa network and an MQTT broker using the functional programming language Elixir. Our experience suggests that the discipline imposed by functional programming results in a system that is more compact, supports concurrent processes well and is more reliable than similar systems developed using conventional languages. However, we also note that subsystems to support the development of such systems are primitive and that functional programming has a considerably steep learning curve. Nevertheless we conclude that functional programming has considerable potential for the Internet of Things and plan to continue research in this area.
Author Branch, Philip
Weinstock, Phillip
Author_xml – sequence: 1
  givenname: Philip
  surname: Branch
  fullname: Branch, Philip
  email: pbranch@swin.edu.au
  organization: Swinburne University of Technology,Department of Engineering Technologies,Melbourne,Australia
– sequence: 2
  givenname: Phillip
  surname: Weinstock
  fullname: Weinstock, Phillip
  email: pweinstock@swin.edu.au
  organization: Swinburne University of Technology,Department of Engineering Technologies,Melbourne,Australia
BookMark eNo1kMtOAjEUQKvRRET-wEV_YMbePmam7ggBJMFnxoQdaWduoQY6plOC_L0m6uosTnIW55pchC4gIRRYDsD03aJ-Gk-UViXknHGRAxNFpYQ6IyNd6kooJqAEUZ2TAZelzEDJ1RUZ9f0HYwwKKIRmA7KaHUKTfBfMjr7EbhPNfu_Dhrou0rRFuggJY8BEO0fr7Y_p7-mYLrs3kz2-1jWdm4RHc6LH6FPCQH2g053_8vGGXDqz63H0xyF5n03ryUO2fJ4vJuNl5gF0ypyz0ja2bThKZy3nCllpeMtbUcjSVByQK2GsdC02hStsA8yhMcJgAxqtGJLb365HxPVn9HsTT-v_GeIbPx5XgA
ContentType Conference Proceeding
DBID 6IE
6IL
CBEJK
RIE
RIL
DOI 10.1109/ITNAC59571.2023.10368535
DatabaseName IEEE Electronic Library (IEL) Conference Proceedings
IEEE Xplore POP ALL
IEEE Xplore All Conference Proceedings
IEEE Electronic Library (IEL)
IEEE Proceedings Order Plans (POP All) 1998-Present
DatabaseTitleList
Database_xml – sequence: 1
  dbid: RIE
  name: IEEE Electronic Library (IEL)
  url: https://ieeexplore.ieee.org/
  sourceTypes: Publisher
DeliveryMethod fulltext_linktorsrc
Discipline Engineering
EISBN 9798350317138
EISSN 2474-154X
EndPage 217
ExternalDocumentID 10368535
Genre orig-research
GroupedDBID 6IE
6IF
6IH
6IK
6IL
6IM
6IN
AAJGR
AAWTH
ABLEC
ADZIZ
ALMA_UNASSIGNED_HOLDINGS
BEFXN
BFFAM
BGNUA
BKEBE
BPEOZ
CBEJK
CHZPO
IEGSK
IPLJI
OCL
RIE
RIL
RNS
ID FETCH-LOGICAL-i119t-ffb4bcbdc2e4fbb225e07a2d2d3647a821e253ab4fdec6f6bc10feaa3aec19eb3
IEDL.DBID RIE
IngestDate Wed Aug 27 02:23:02 EDT 2025
IsPeerReviewed false
IsScholarly false
Language English
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-i119t-ffb4bcbdc2e4fbb225e07a2d2d3647a821e253ab4fdec6f6bc10feaa3aec19eb3
PageCount 4
ParticipantIDs ieee_primary_10368535
PublicationCentury 2000
PublicationDate 2023-Nov.-29
PublicationDateYYYYMMDD 2023-11-29
PublicationDate_xml – month: 11
  year: 2023
  text: 2023-Nov.-29
  day: 29
PublicationDecade 2020
PublicationTitle Australasian Telecommunication Networks and Applications Conference [proceedings]
PublicationTitleAbbrev ITNAC
PublicationYear 2023
Publisher IEEE
Publisher_xml – name: IEEE
SSID ssj0001616390
Score 1.8746825
Snippet Networks for the Internet of Things typically use a gateway to provide connectivity between a low bit rate, low capability sensor network and the broader...
SourceID ieee
SourceType Publisher
StartPage 214
SubjectTerms Codes
Elixir
Functional Programming
Internet of Things
Libraries
Logic gates
LoRa
MQTT
Protocols
Robustness
Telecommunication traffic
Telecommunications
Title Functional Programming for the Internet of Things: A LoRa-MQTT Gateway written in Elixir
URI https://ieeexplore.ieee.org/document/10368535
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1LS8NAEF5s8aAXXxXf7MFrarJJ9uGtlBYFLVUi9Fb2MQsBTSSm6s93N2mtHjx4C5ssCTtsZubb-b5B6BISk7pfAASRFCxIeBgH3LoshRsaSmZZrHTbbIJNJnw2E9MlWb3hwgBAU3wGfX_ZnOWbUi88VOZ2uJdLj9MO6jBGW7LWGlChLrQQ4apaJxRXt9lkMExFynweSOL-avqvRiqNHxnv_PMLdlFvzcjD029fs4c2oNhH2z_EBA_QbOxcVIvs-Ud91dWLu4FdVIpdlIdb7A9qXFrcduu8xgN8Vz7K4P4hy_ASR8MfVV67QBrnBR4955951UNP41E2vAmWfROCPIpEHVirEqWV0QQSq5TbsRAySQwxXixechIBSWOpEmtAU0udOUILUsYSdCRcdn2IukVZwBHCSlpipGQhNV6pj0sGVBDKXVio3RvEMer5RZq_ttIY89X6nPwxfoq2vCk8mY-IM9StqwWco039Xudv1UVj0C9BmqLU
linkProvider IEEE
linkToHtml http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV3JTsMwELWgIAEXtiJ2fOAaSJzFMbeqatWKNiooSL1VXsZSJEhQSIHPx05aCgcO3CInciKPnJl5nvcGoWsIVGh-AeB4nFEniF3fibXJUmIVuZxq6gvZNJugSRJPp2yyIKvXXBgAqIvP4MZe1mf5qpBzC5WZHW7l0v1wHW2EQUDchq61glQiE1wwd1mv47LbYZp0uiELqc0EiX-znOBXK5Xak_R3__kNe6i94uThybe32UdrkB-gnR9ygodo2jdOqsH27KO27urF3MAmLsUmzsMN-gcVLjRu-nXe4Q4eFY_cGT-kKV4gafijzCoTSuMsx73n7DMr2-ip30u7A2fROcHJPI9VjtYiEFIoSSDQQpg9Cy7lRBFl5eJ5TDwgoc9FoBXISEfGIK4Gzn0O0mMmvz5CrbzI4RhhwTVRnFM3UlarL-YUIkai2ASG0ryBnaC2XaTZayOOMVuuz-kf41doa5COR7PRMLk_Q9vWLJbaR9g5alXlHC7QpnyvsrfysjbuF-c5phs
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=proceeding&rft.title=Australasian+Telecommunication+Networks+and+Applications+Conference+%5Bproceedings%5D&rft.atitle=Functional+Programming+for+the+Internet+of+Things%3A+A+LoRa-MQTT+Gateway+written+in+Elixir&rft.au=Branch%2C+Philip&rft.au=Weinstock%2C+Phillip&rft.date=2023-11-29&rft.pub=IEEE&rft.eissn=2474-154X&rft.spage=214&rft.epage=217&rft_id=info:doi/10.1109%2FITNAC59571.2023.10368535&rft.externalDocID=10368535