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

Aspectual mixin layers: aspects and features in concert

Published: 28 May 2006 Publication History

Abstract

Feature-Oriented Programming (FOP) decomposes complex software into features. Features are main abstractions in design and implementation. They reflect user requirements and incrementally refine one another. Although, features crosscut object-oriented architectures they fail to express all kinds of crosscutting concerns. This weakness is exactly the strength of aspects, the main abstraction mechanism of Aspect-Oriented Programming (AOP). In this article we contribute a systematic evaluation and comparison of both paradigms, AOP and FOP, with focus on incremental software development. It reveals that aspects and features are not competing concepts. In fact AOP has several strengths to improve FOP in order to implement crosscutting featuresSymmetrically, the development model of FOP can aid AOP in implementing incremental designs. Consequently, we propose the architectural integration of aspects and features in order to profit from both paradigms. We introduce aspectual mixin layers (AMLs), an implementation approach that realizes this symbiosis. A subsequent evaluation and a case study reveal that AMLs improve the crosscutting modularity of features as well as aspects become well integrated into incremental development style.

References

[1]
J. Aldrich. Open Modules: Modular Reasoning About Advice. In ECOOP, 2005.
[2]
S. Apel and K. Böhm. Towards the Development of Ubiquitous Middleware Product Lines. In ASE'04 SEM Workshop, volume 3437 of LNCS, 2005.
[3]
S. Apel et al. FeatureC++: On the Symbiosis of Feature-Oriented and Aspect-Oriented Programming. In GPCE, 2005.
[4]
S. Apel, T. Leich, and G. Saake. Aspect Refinement and Bounding Quantification in Incremental Designs. In APSEC, 2005.
[5]
S. Apel, T. Leich, and G. Saake. Mixin-Based Aspect Inheritance. Technical Report 10, Department of Computer Science, University of Magdeburg, Germany, 2005.
[6]
D. Batory and S. O'Malley. The Design and Implementation of Hierarchical Software Systems with Reusable Components. ACM TOSEM, 1(4), 1992.
[7]
D. Batory, J. N. Sarvela, and A. Rauschmayer. Scaling Step-Wise Refinement. IEEE TSE, 30(6), 2004.
[8]
J. Bosch. Superimposition: A Component Adaptation Technique. Information and Software Technology, 41(5), 1999.
[9]
A. Colyer and A. Clement. Large-Scale AOSD for Middleware. In AOSD, 2004.
[10]
A. Colyer, A. Rashid, and G. Blair. On the Separation of Concerns in Program Families. Technical report, Computing Department, Lancaster University, 2004.
[11]
K. Czarnecki and U. Eisenecker. Generative Programming: Methods, Tools, and Applications. Addison-Wesley, 2000.
[12]
S. Hanenberg and A. Schmidmeier. Idioms for Building Software Frameworks in AspectJ. In AOSD ACP4IS Workshop, 2003.
[13]
S. Hanenberg and R. Unland. Parametric Introductions. In AOSD, 2003.
[14]
S. Herrmann. Object Teams: Improving Modularity for Crosscutting Collaborations. In NetObjectDays, 2002.
[15]
G. Kiczales et al. Aspect-Oriented Programming. In ECOOP, 1997.
[16]
G. Kiczales and M. Mezini. Aspect-Oriented Programming and Modular Reasoning. In ICSE, 2005.
[17]
G. Kniesel, T. Rho, and S. Hanenberg. Evolvable Pattern Implementations Need Generic Aspects. In ECOOP RAM-SE Workshop, 2004.
[18]
T. Leich, S. Apel, and G. Saake. Using Step-Wise Refinement to Build a Flexible Lightweight Storage Manager. In ADBIS, 2005.
[19]
K. Lieberherr, D. Lorenz, and M. Mezini. Programming with Aspectual Components. Technical report, College of Computer Science, Northeastern University, 1999.
[20]
K. Lieberherr, D. H. Lorenz, and J. Ovlinger. Aspectual Collaborations: Combining Modules and Aspects. The Computer Journal, 46(5), 2003.
[21]
D. Lohmann, G. Blaschke, and O. Spinczyk. Generic Advice: On the Combination of AOP with Generative Programming in AspectC++. In GPCE, 2004.
[22]
R. Lopez-Herrejon, D. Batory, and W. Cook. Evaluating Support for Features in Advanced Modularization Technologies. In ECOOP, 2005.
[23]
R. Lopez-Herrejon, D. Batory, and C. Lengauer. A Disciplined Approach to Aspect Composition. In ACM SIGPLAN PEPM Workshop, 2006.
[24]
N. Loughran and A. Rashid. Framed Aspects: Supporting Variability and Configurability for AOP. In ICSR, 2004.
[25]
N. McEachen and R. T. Alexander. Distributing Classes with Woven Concerns: An Exploration of Potential Fault Scenarios. In AOSD, 2005.
[26]
M. Mezini and K. Lieberherr. Adaptive Plug-and-Play Components for Evolutionary Software Development. In OOPSLA, 1998.
[27]
M. Mezini and K. Ostermann. Conquering Aspects with Caesar. In AOSD, 2003.
[28]
M. Mezini and K. Ostermann. Variability Management with Feature-Oriented Programming and Aspects. ACM SIGSOFT FSE-12, 2004.
[29]
M. Mezini, L. Seiter, and K. Lieberherr. Component Integration with Pluggable Composite Adapters. Software Architectures and Component Technology: The State of the Art in Research and Practice, 2000.
[30]
D. L. Parnas. Designing Software for Ease of Extension and Contraction. IEEE TSE, SE-5(2), 1979.
[31]
E. Pulvermüller, A. Speck, and A. Rashid. Implementing Collaboration-Based Designs Using Aspect-Oriented Programming. In TOOLS, 2000.
[32]
Y. Smaragdakis and D. Batory. Mixin Layers: An Object-Oriented Implementation Technique for Refinements and Collaboration-Based Designs. ACM TOSEM, 11(2), 2002.
[33]
O. Spinczyk, D. Lohmann, and M. Urban. AspectC++: An AOP Extension for C++. Software Developer's Journal, 2005(5), 2005.
[34]
P. Tarr et al. N Degrees of Separation: Multi-Dimensional Separation of Concerns. In ICSE, 1999.
[35]
N. Wirth. Program Development by Stepwise Refinement. CACM, 14(4), 1971.

Cited By

View all
  • (2017)Empirical assessment of two approaches for specifying software product line use case scenariosSoftware and Systems Modeling (SoSyM)10.1007/s10270-015-0471-316:1(97-123)Online publication date: 1-Feb-2017
  • (2016)An object model for a dynamic mixin based languageProceedings of the 31st Annual ACM Symposium on Applied Computing10.1145/2851613.2851755(1986-1992)Online publication date: 4-Apr-2016
  • (2015)The safety of dynamic mixin compositionProceedings of the 30th Annual ACM Symposium on Applied Computing10.1145/2695664.2695938(1992-1999)Online publication date: 13-Apr-2015
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ICSE '06: Proceedings of the 28th international conference on Software engineering
May 2006
1110 pages
ISBN:1595933751
DOI:10.1145/1134285
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 28 May 2006

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. aspect-oriented programming
  2. collaborations
  3. component techniques
  4. feature-oriented programing

Qualifiers

  • Article

Conference

ICSE06
Sponsor:

Acceptance Rates

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)8
  • Downloads (Last 6 weeks)1
Reflects downloads up to 09 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2017)Empirical assessment of two approaches for specifying software product line use case scenariosSoftware and Systems Modeling (SoSyM)10.1007/s10270-015-0471-316:1(97-123)Online publication date: 1-Feb-2017
  • (2016)An object model for a dynamic mixin based languageProceedings of the 31st Annual ACM Symposium on Applied Computing10.1145/2851613.2851755(1986-1992)Online publication date: 4-Apr-2016
  • (2015)The safety of dynamic mixin compositionProceedings of the 30th Annual ACM Symposium on Applied Computing10.1145/2695664.2695938(1992-1999)Online publication date: 13-Apr-2015
  • (2015)JPI feature models - Exploring a JPI and FOP symbiosis for software modeling2015 34th International Conference of the Chilean Computer Science Society (SCCC)10.1109/SCCC.2015.7416583(1-6)Online publication date: Nov-2015
  • (2014)A Framework for Goal-Oriented Discovery of Resources in the RESTful ArchitectureIEEE Transactions on Systems, Man, and Cybernetics: Systems10.1109/TSMCC.2013.225923144:6(796-803)Online publication date: Jun-2014
  • (2014)A quantitative and qualitative assessment of aspectual feature modules for evolving software product linesScience of Computer Programming10.1016/j.scico.2014.03.00696:P2(230-253)Online publication date: 15-Dec-2014
  • (2014)On the use of feature-oriented programming for evolving software product lines - A comparative studyScience of Computer Programming10.1016/j.scico.2013.10.01093(65-85)Online publication date: 1-Nov-2014
  • (2013)Separation of concerns in feature diagram languagesACM Computing Surveys10.1145/2501654.250166545:4(1-23)Online publication date: 30-Aug-2013
  • (2013)The crosscutting impact of the AOSD Brazilian research communityJournal of Systems and Software10.1016/j.jss.2012.08.03186:4(905-933)Online publication date: 1-Apr-2013
  • (2013)An aspect-oriented language for feature-modelingJournal of Ambient Intelligence and Humanized Computing10.1007/s12652-013-0201-z5:3(343-356)Online publication date: 23-Jul-2013
  • 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