Understanding fault-tolerant distributed systems
Communications of the ACM
The X-Kernel: An Architecture for Implementing Network Protocols
IEEE Transactions on Software Engineering
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
A structured TCP in standard ML.
SIGCOMM '94 Proceedings of the conference on Communications architectures, protocols and applications
Concurrent programming in ERLANG (2nd ed.)
Concurrent programming in ERLANG (2nd ed.)
A readable TCP in the Prolac protocol language
Proceedings of the conference on Applications, technologies, architectures, and protocols for computer communication
Reliability Issues in Computing System Design
ACM Computing Surveys (CSUR)
Optimising TCP/IP connectivity
ERLANG '07 Proceedings of the 2007 SIGPLAN workshop on ERLANG Workshop
Automatic testing of TCP/IP implementations using QuickCheck
Proceedings of the 8th ACM SIGPLAN workshop on ERLANG
Hi-index | 0.00 |
Functional languages are not often associated with the development of network stacks, mainly due to the lower performance and lack of support for system programming than more conventional languages such as C. However, there are functional languages that offer features which make it easier to develop network protocols than using a more conventional approach based on an imperative language. Erlang, for instance, offers support for distribution, concurrency and soft real time built-in into the language. All those features are desirable to ease the development of network protocol implementations. It is also possible to implement a reasonably efficient network stack in this language, provided some precautions are taken in the design. By using Erlang distribution it is possible to support fault tolerant distributed Tcp connections that take advantage of the distributed nature of the applications implemented in Erlang to provide low cost synchronization, with just some support from the application itself.