How Layering Protocol Software Violates Separation of Concerns
نویسندگان
چکیده
We show how layering in communication software violates the principle of separating concerns. Examples illustrate that layering couples receiver-and sender functions, sharing message headers among layers creates dependencies between layers that largely compromise re-usability, QoS management is scattered over all layers, and layers are tightly coupled with the sub-system that executes it. Layering hence leads often to large and hardly re-usable modules, tangles possibly independent parts of code, and makes implemented protocols difficult and error-prone to extend.
منابع مشابه
DiPS: A Unifying Approach for Developing System Software
In this paper we unify three essential features for flexible system software: a component oriented approach, self-adaptation and separation of concerns. We propose DiPS (Distrinet Protocol Stack), a component framework, which offers components, an anonymous interaction model and connectors to handle non-functional aspects such as concurrency. DiPS has effectively been used in industrial protoco...
متن کاملHow to Handle Interacting Concerns?
Concerns in software applications can range from general-purpose concerns such as tracing, synchronization or error handling, to more specific ones such as scheduling in simulation domains or time constraints in real-time systems. An appropriate separation of concerns is supposed to reduce software complexity and improve software evolution, by keeping track of different decomposition criteria (...
متن کاملMulti - Dimensional Separation of Concerns in HyperspaceHarold
LIMITED DISTRIBUTION NOTICE This report has been submitted for publication outside of IBM and will probably be copyrighted if accepted for publication. It has been issued as a Research Report for early dissemination of its contents. In view of the transfer of copyright to the outside publisher, its distribution outside of IBM prior to publication should be limited to peer communications and spe...
متن کاملComponent Behavior Synthesis for Critical Systems,
Component-based architectures are widely used in embedded systems. For managing complexity and improving quality separation of concerns is one of the most important principles. For one component, separation of concerns is realized by defining the overall component functionality by separated protocol behaviors. One of the main challenges of applying separation of concerns is the later automatic ...
متن کاملSeparation of concerns in hybrid component and agent systems
Modularising requirements is a classic problem of software engineering; concerns often overlap, requiring multiple dimensions of decomposition to achieve separation. Whenever complete modularity is unachievable, it is important to provide principled approaches to the decoupling of concerns. To this end, this paper discusses the Socially Situated Agent Architecture (SoSAA) a complete constructio...
متن کامل