Software Plans A Multidimensional Approach for Fine-Grained Tangling of Concerns in Code
نویسندگان
چکیده
To date, research in separation of concerns has focused on the development of language abstractions having a syntax for encapsulating concerns and a semantics for automatically integrating them. These mechanisms are effective at separating concerns at the granularity of the abstraction but fail at a finer level of granularity. In this paper, we characterize the nature of concern interactions and argue that finegrained tangling is inevitable and cannot be addressed using encapsulation-based approaches. Instead, we present software plans, a language-independent, editor-based approach that allows concerns to be separately implemented and tangled in a principled way. Our approach is multidimensional in that orthogonal concerns are implemented in separate plans and fine-grained in that it can be used to separate concerns down to the character level. We also present Spotlight, a prototype editor that realizes the software plans approach.
منابع مشابه
Recovering Multi-Dimensionality From Legacy Software
Even in the most well-designed systems, some modules are difficult to maintain due to tangling of multiple concerns within a single monolithic codebase. Software plans have been proposed as an alternative multi-dimensional representation of software in which the programmer can implement independent concerns in separate views of the code. This reduces the difficulty of maintenance by allowing th...
متن کاملUntangling Regulatory Text: Multidimensional Separation of Concerns and Task-Oriented Linking
Regulatory text is a complex network of information distinguished by technical language, large volume, and tangled concepts formed by embedded cross-references. Scattering and tangling add to the cognitive pressures on users of regulatory text. Multidimensional Separation of Concerns (MDSOC) is a software engineering method aimed at untangling source code objects that contain cross-cutting, ove...
متن کاملAn Early Approach to Identify and Classify Crosscutting Concerns in Aspect-Oriented Requirement Engineering (AORE) for Better Software Modularity
n this era of science and technology, where dependability on computer based systems is increasing, the size of software code is also increasing due to diverse nature of user requirements. Large software systems must have understandable code and impact of change should also be known otherwise it would be quite reasonable to say that software is very complex. The software complexity can be minimi...
متن کاملProviding multidimensional decomposition in object-oriented analysis and design
In this paper we argue that the explicit capture of crosscutting concerns in code should be the natural consequence of good and clean modularity in analysis and design, based on fine-grained (multidimensional) functional decomposition, and not the result of a corrective measure due to a tangled implementation. Aspect-Oriented Software Development (AOSD) is an emerging paradigm that builds on th...
متن کاملAn aspect-oriented software architecture for code mobility
Mobile agents have come forward as a technique for tackling the complexity of open distributed applications. However, the pervasive nature of code mobility implies that it cannot be modularized using only object-oriented (OO) concepts. In fact, developers frequently evidence the presence of mobility tangling and scattering in their modules. Despite these problems, they usually rely on OO applic...
متن کامل