Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.5555/381473.381474acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
Article

Composition patterns: an approach to designing reusable aspects

Published: 01 July 2001 Publication History

Abstract

Requirements such as distribution or tracing have an impact on multiple classes in a system. They are cross-cutting requirements, or aspects. Their support is, by necessity, scattered across those multiple classes. A look at an individual class may also show support for cross-cutting requirements tangled up with the core responsibilities of that class. Scattering and tangling make object-oriented software difficult to understand, extend and reuse. Though design is an important activity within the software lifecycle with well-documented benefits, those benefits are reduced when cross-cutting requirements are present. This paper presents a means to mitigate these problems by separating the design of cross-cutting requirements into composition patterns. Composition patterns require extensions to the UML, and are based on a combination of the subject-oriented model for composing separate, overlapping designs, and UML templates. This paper also demonstrates how composition patterns map to one programming model that provides a solution for separation of cross-cutting requirements in code—aspect-oriented programming. This mapping serves to illustrate that separation of aspects may be maintained throughout the software lifecycle.

References

[1]
S. Clarke. "Composing Design Models: An Extension to the UML". In Proc. of International Conference on the UML, pp. 338-352, 2000.
[2]
S. Clarke. Composition of Object-Oriented Software Design Models. PhD Thesis, Dublin City University, January 2001.
[3]
S. Clarke, W. Harrison, H. Ossher, and P. Tarr. "Subject-Oriented Design: Towards Improved Alignment of Requirements, Design and Code". In Proc. of OOPSLA, pp. 325-339, 1999.
[4]
S. Cook and J. Daniels. Designing Object Systems: Object-Oriented Modelling with Syntropy. Prentice Hall, 1993.
[5]
D. D'Souza and A. Wills. Objects, Components and Frameworks with UML. The Catalysis Approach. Addison-Wesley, 1998.
[6]
E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns. Elements of Reusable Object-Oriented Software. Addison-Wesley, 1994.
[7]
M. Griss. "Implementing Product Line Features by Composing Component Aspects". In Proc. of First International Software Product Line Conference, pp. 271-288, 2000.
[8]
W. Harrison and H. Ossher. "Subject-Oriented Programming (a critique of pure objects)". In Proc. of OOPSLA, pp. 411-428, 1993.
[9]
J. Herrero, F. S~nchez, F. Lucio, and M. Toro. "Introducing Separation of Aspects at Design Time". In Proc. of Aspects and Dimensions of Concerns Workshop at ECOOP, 2000.
[10]
W. Ho, F. Pennaneac'h, J. J~z~quel, and N. Plouzeau. "Aspect-Oriented Design with the UML". In Proc. of Multi-Dimensional Separation of Concerns Workshop at ICSE, pp. 60-64, 2000.
[11]
G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J. Loingtier, and J. Irwin. "Aspect-Oriented Programming". In Proc. of ECOOP, pp. 220-242, 1997.
[12]
C. Lopes and G. Kiczales. D: A Language Framework for Distributed Programming. Technical report SPL97-010. Xerox PARC, 1997. http://www.parc. xerox.com/csl/projects/aop/.
[13]
OMG. The Unified Modeling Language Specification. Version 1.3, June 1999.
[14]
H. Ossher, M. Kaplan, A. Katz, W. Harrison, and V. Kruskal. "Specifying Subject-Oriented Composition". In Theory and Practice of Object Systems 2(3):179-202, 1996.
[15]
T. Reenskaug, P. Wold, and O. Lehne. Working with Objects. The OORam Software Engineering Method. Manning Publications Co., 1995.
[16]
Y. Smaragdakis and D. Batory. "Implementing Layered Designs with Mixin Layers". In Proc. of ECOOP, pp. 550-570, 1998.
[17]
J. Suzuki and Y. Yamamoto. "Extending UML with Aspects: Aspect Support in the Design Phase". In Proc. of Aspect-Oriented Programming Workshop at ECOOP, 1999.
[18]
P. Tarr and H. Ossher. Hyper/J tm User and Installation Manual. http://www.research.ibm.com/ hyperspace.
[19]
M. VanHilst and D. Notkin. "Using Role Components to Implement Collaboration-Based Designs". In Proc. of OOPSLA, pp. 359-369, 1996.
[20]
R. Walker. Eliminating Cycles from Composed Class Hierarchies. Technical Report TR-00-09, Dept. of Computer Science, Univ. of British Columbia, 2000.
[21]
Xerox Corporation. AspectJ 0.7b3 Design Notes. http://www.aspectj.org.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ICSE '01: Proceedings of the 23rd International Conference on Software Engineering
July 2001
844 pages
ISBN:0769510507

Sponsors

Publisher

IEEE Computer Society

United States

Publication History

Published: 01 July 2001

Check for updates

Qualifiers

  • Article

Conference

ICSE01
Sponsor:
ICSE01: 23rd International Conference on Software Engineering
May 12 - 19, 2001
Ontario, Toronto, Canada

Acceptance Rates

ICSE '01 Paper Acceptance Rate 47 of 268 submissions, 18%;
Overall Acceptance Rate 276 of 1,856 submissions, 15%

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 13 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2018)Supporting the Composition of UML Component DiagramsProceedings of the XIV Brazilian Symposium on Information Systems10.1145/3229345.3229404(1-9)Online publication date: 4-Jun-2018
  • (2017)Aspect FramesProceedings of the 22nd European Conference on Pattern Languages of Programs10.1145/3147704.3147732(1-28)Online publication date: 12-Jul-2017
  • (2017)Aspectual templates in UMLSoftware and Systems Modeling (SoSyM)10.1007/s10270-015-0463-316:2(469-497)Online publication date: 1-May-2017
  • (2015)Detecting broken pointcuts using structural commonality and degree of interestProceedings of the 30th IEEE/ACM International Conference on Automated Software Engineering10.1109/ASE.2015.80(641-646)Online publication date: 9-Nov-2015
  • (2015)Evaluating the effort of composing design modelsSoftware and Systems Modeling (SoSyM)10.1007/s10270-014-0408-214:4(1349-1365)Online publication date: 1-Oct-2015
  • (2014)Effects of stability on model composition effortSoftware and Systems Modeling (SoSyM)10.1007/s10270-012-0308-213:4(1473-1494)Online publication date: 1-Oct-2014
  • (2013)Confluence of aspects for sequence diagramsSoftware and Systems Modeling (SoSyM)10.1007/s10270-011-0212-112:4(789-824)Online publication date: 1-Oct-2013
  • (2012)The aspect-aware design and implementation of the CiAO operating-system familyTransactions on Aspect-Oriented Software Development IX10.5555/2434958.2434965(168-215)Online publication date: 1-Jan-2012
  • (2011)A feature-based approach for modeling role-based access control systemsJournal of Systems and Software10.1016/j.jss.2011.03.08484:12(2035-2052)Online publication date: 1-Dec-2011
  • (2011)Reusing pattern solutions in modelingProceedings of the 4th international conference on Software Language Engineering10.1007/978-3-642-28830-2_8(139-159)Online publication date: 3-Jul-2011
  • Show More Cited By

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media