An article accepted by the International Conference on Formal Aspects of Component Software (October 2019), Amsterdam, by Christopher Esterhuyse and Hans-Dieter Hiep.
Programming Internet applications has essentially remained unchanged since the1980s. The Berkeley Software Distribution (BSD) implementation allows applications to create sockets for communication over the Internet, e.g. Transmission Control Protocol over Internet Protocol (TCP/IP), that either listen for incoming connections or are connected outward, resulting in a bi-directional, reliable channel between two peers on the outer edges of the network. Applications consequently control the stream of data into the sending side of a channel, to be received in order by the other side of the channel. Although applications of the 1980s were process-driven, performing send and receive operations by cooperating with an operating system responsible for scheduling application processes. More recently, applications have become event-driven, allowing for more fine-grained scheduling decisions by applications themselves. However, the essence of programming Internet applications remains based on controlling a channel be-tween two peers in a network…
Full article available on CWI’s Institutional Repository.