In the future, the Internet will need to support an even wider variety of applications, stakeholders, resources, endpoint devices, communication functions, service guarantees, and resource policies than it does today. Consequently, from applications and middleware at the top of the Internet stack all the way down to the physical resources, there is a need for more elaborate technology, with both flexibility and predictability.
One approach to achieving both flexibility and predictability is compositionality. The basic idea of a compositional theory is well-known in formal methods. The theory defines the parts of a basic module. Through axioms and theorems, it expresses their semantics and other properties. The theory also defines how modules can be composed to make more complex assemblies. Axioms and theorems also provide the semantics and properties of module compositions. In this way, individual modules can be customized for flexibility and diversity of goals, while the compositional theory makes it possible to reason uniformly about assemblies of them.
Contemporary networking is badly in need of these benefits. In addition, although real networks are vastly more complex than any theory can be, compositional thinking would benefit the practice of networking in two important ways:
"Report of the DIMACS Working Group on Abstractions for Network Services, Architecture, and Implementation" (Jennifer Rexford and Pamela Zave; ACM SIGCOMM Computer Communications Review 43(1):56-59, January 2013) summarizes the motivation and results of a workshop in May 2012.
For researchers in formal methods and software engineering, "Formal methods and networking: Former success, current failure" (Pamela Zave, position paper for the NSF, December 2012) explains why networking and network software should be an important focus of effort in the future. See also "Internet evolution and the role of software engineering" (Pamela Zave; The Future of Software Engineering, Sebastian Nanz, editor, Springer, 2011), which describes many aspects of these ideas in more detail.
|We call it the "geomorphic view" because the complex arrangement of layers in a network resembles the arrangement of layers in the earth's crust.|
This paper is currently the best introduction to the geomorphic view: