MetaCart Sign in to MyCiteSeerX

Include Citations | Advanced Search | Help

Disambiguated Search | Include Citations | Advanced Search | Help

N Degrees of Separation: Multi-Dimensional Separation of Concerns (1999) [296 citations — 7 self]

by Peri Tarr ,  Harold Ossher ,  William Harrison ,  Stanley M. Sutton ,  Jr.
Add To MetaCart

Abstract:

Done well, separation of concerns can provide many software engineering benefits, including reduced complexity, improved reusability, and simpler evolution. The choice of boundaries for separate concerns depends on both requirements on the system and on the kind(s) of decomposition and composition a given formalism supports. The predominant methodologies and formalisms available, however, support only orthogonal separations of concerns, along single dimensions of composition and decomposition. These characteristics lead to a number of well-known and difficult problems. This paper describes a new paradigm for modeling and implementing software artifacts, one that permits separation of overlapping concerns along multiple dimensions of composition and decomposition. This approach addresses numerous problems throughout the software lifecycle in achieving wellengineered, evolvable, flexible software artifacts and traceability across artifacts. Keywords Hypermodules; hyperslices; software...

Citations

3853 Design Patterns: Elements of Reusable Object-Oriented Software – Gamma, Helm, et al. - 1995
1446 The Java Language Specification – Gosling, Joy, et al.
1078 Aspect-oriented programming – Kiczales, Lamping, et al. - 1997
972 Program slicing – Weiser - 1984
852 On the Criteria to be Used in Decomposing Systems into Modules – Parnas - 1972
707 The Unified Modeling Language Reference Manual – Rumbaugh, Jacobson, et al. - 1998
421 C.: Objects, Components and Frameworks with UML: The Catalysis Approach – D’Souza, Wills - 1998
343 Subject-oriented programming (a critique of pure objects – Harrison, Ossher - 1993
241 A.: A Framework for Expressing the Relationships Between Multiple Views in Requirements Specifications – Nuseibeh, Kramer, et al. - 1994
208 Connecting tools using message passing in the field environment – Reiss - 1990
137 D: A Language Framework for Distributed Programming – Lopes - 1997
128 Using role components to implement collaborationbased designs – VanHilst, Notkin - 1996
118 Adaptive plug-and-play components for evolutionary software development – Mezini, Lieberherr - 1998
108 Specifying reusable components using contracts – Holland - 1992
95 Toward megaprogramming – Wiederhold, Wegner, et al. - 1992
47 Issues encountered in building a flexible software development environment: Lessons from the Arcadia project – Kadia - 1992
37 Mediators: Easing the Design and Evolution of Integrated Systems – Sullivan - 1994
27 System design by composing structures of interacting objects – Andersen, Reenskaug
21 Operation-level composition: A case in (join) point – Ossher, Tarr - 1998
18 SubjectOriented Programming: Supporting Decentralized Development of Objects – Ossher, Harrison, et al. - 1994
15 Specifying Subject-Oriented Composition – Ossher, Kaplan, et al. - 1996
11 Feature Engineering – Turner, Fuggetta, et al. - 1998
2 Online material on adaptive programming, demeter/java, and APPCs. http://www.ccs.neu.edu/research/demeter – Group - 1998
2 Specifying subject-oriented composition. TAPOS – Ossher, Kaplan, et al. - 1996
1 Aspect-oriented programming tutorial notes – Kiczales, Lopes - 1998
1 Adding Implicit Invocagtion to Languages: Three Approaches – Notkin, Garlan, et al. - 1993