skip to main content
10.1145/1029894.1029915acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
Article

Variability management with feature-oriented programming and aspects

Published: 31 October 2004 Publication History

Abstract

This paper presents an analysis of feature-oriented and aspect-oriented modularization approaches with respect to variability management as needed in the context of system families. This analysis serves two purposes. On the one hand, our analysis of the weaknesses of feature-oriented approaches (FOAs for short) emphasizes the importance of crosscutting modularity as supported by the aspect-oriented concepts of pointcut and advice. On the other hand, by pointing out some of AspectJ's weaknesses and by demonstrating how Caesar, a language which combines concepts from both AspectJ and FOAs, is more effective in this context, we also demonstrate the power of appropriate support for layer modules.

References

[1]
C. Anderson, S. Drossopoulou, E. Ernst, and K. Ostermann. Virtual classes with dependent types. In preparation, 2004.]]
[2]
D. Batory and S. O'Malley. The design and implementation of hierarchical software systems with reusable components. ACM Transactions on Software Engineering and Methodology, 1(4):355--398, 1992.]]
[3]
D. Batory, J. N. Sarvela, and A. Rauschmayer. Scaling step-wise refinement. International Conference on Software Engineering (ICSE '03), 2003.]]
[4]
L. Bergmans and M. Aksit. Composing multiple concerns using composition filters, 2001. Available at trese.cs.utwente.nl/composition_filters/.]]
[5]
C. Bockisch, M. Haupt, M. Mezini, and K. Ostermann. Virtual Machine Support for Dynamic Join Points. In AOSD 2004 Proceedings. ACM Press, 2004.]]
[6]
E. Ernst. Propagating class and method combination. In Proceedings ECOOP'99, LNCS 1628, pages 67--91. Springer-Verlag, 1999.]]
[7]
E. Ernst. Family polymorphism. In Proceedings ECOOP '01, LNCS 2072, pages 303--326. Springer, 2001.]]
[8]
J. Hannemann and G. Kiczales. Design pattern implementation in Java and AspectJ. In Proceedings OOPSLA '02. ACM SIGPLAN Notices 37(11), pages 161--173. ACM, 2002.]]
[9]
S. Herrmann. Object teams: Improving modularity for crosscutting collaborations. In Proceedings of Net.ObjectDays, Erfurt, Germany, 2002.]]
[10]
U. Hölzle. Integrating independently-developed components in object-oriented languages. In Proceedings ECOOP '93, LNCS 707, pages 36--56. Springer, 1993.]]
[11]
G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm, and W. G. Griswold. An overview of AspectJ. In Proceedings of ECOOP '01, 2001.]]
[12]
G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J.-M. Loingtier, and J. Irwin. Aspect-oriented programming. In Proceedings ECOOP'97, LNCS 1241, pages 220--242. Springer, 1997.]]
[13]
K. Lieberherr, D. Lorenz, and M. Mezini. Programming with aspectual components. Technical Report NU-CCS-99-01, Northeastern University, March 1999.]]
[14]
K. Lieberherr, D. Lorenz, and J. Ovlinger. Aspectual collaborations -- combining modules and aspects. Journal of British Computer Society, 2003.]]
[15]
D. C. Luckham, J. L. Kenney, L. M. Augustin, J. Vera, D. Bryan, and W. Mann. Specification and analysis of system architecture using Rapide. IEEE Transactions on Software Engineering, 21(4):336--355, 1995.]]
[16]
O. L. Madsen and B. Moller-Pedersen. Virtual classes: A powerful mechanism in object-oriented programming. In Proceedings of OOPSLA '89. ACM SIGPLAN Notices 24(10), pages 397--406, 1989.]]
[17]
J. Magee and J. Kramer. Dynamic structure in software architecture. In Proceedings of the ACM SIGSOFT '96 Symposium on Foundations of Software Engineering (FSE), 1996.]]
[18]
M. Mattson, J. Bosch, and M. E. Fayad. Framework integration problems, causes, solutions. Communications of the ACM, 42(10):80--87, October 1999.]]
[19]
S. McDirmid, M. Flatt, and W. Hsieh. Jiazzi: New age components for old fashioned Java. In Proceedings of OOPSLA '01, ACM SIGPLAN Notices 36(11), pages 211--222, 2001.]]
[20]
N. Medvidovic, P. Oreizy, and R. N. Taylor. Reuse of off-the-shelf components in C2-style architectures. In Proceedings of International Conference on Software Engineering (ICSE) '97, pages 692--700. IEEE Computer Society, 1997.]]
[21]
M. Mezini and K. Lieberherr. Adaptive plug-and-play components for evolutionary software development. In Proceedings OOPSLA '98. ACM SIGPLAN Notices 33(10), pages 97--116, 1998.]]
[22]
M. Mezini and K. Ostermann. Integrating independent components with on-demand remodularization. In Proceedings OOPSLA '02, ACM SIGPLAN Notices 37(11), pages 52--67, 2002.]]
[23]
M. Mezini and K. Ostermann. Conquering aspects with Caesar. In Proceedings Conference on Aspect-Oriented Software Development (AOSD) '03, pages 90--99. ACM, 2003.]]
[24]
M. Mezini, L. Seiter, and K. Lieberherr. Component integration with pluggable composite adapters. In M. Aksit, editor, Software Architectures and Component Technology: The State of the Art in Research and Practice. Kluwer, 2001.]]
[25]
K. Ostermann. Dynamically composable collaborations with delegation layers. In Proceedings of ECOOP '02. LNCS 2374, pages 89--110. Springer, 2002.]]
[26]
A. Popovici, T. Gross, and G. Alonso. Dynamic weaving for aspect-oriented programming. In Proceedings AOSD '02, pages 141--147. ACM, 2002.]]
[27]
M. Shaw and D. Garlan. Software Architecture: Perspectives on an Emerging Discipline. PrenticeHall, 1996.]]
[28]
Y. Smaragdakis and D. Batory. Implementing layered designs with mixin-layers. In Proceedings of ECOOP '98, LNCS 1445, pages 550--570, 1998.]]
[29]
C. Szyperski. Independently extensible systems -- software engineering potential and challenges. In Proceedings 19th Australian Computer Science Conference. Australian Computer Science Communications, 1996.]]
[30]
P. Tarr, H. Ossher, W. Harrison, and S. M. Sutton. N degrees of separation: Multi-dimensional separation of concerns. In Proceedings International Conference on Software Engineering (ICSE) '99, pages 107--119. ACM Press, 1999.]]
[31]
E. Truyen, B. Vanhaute, W. Joosen, P. Verbaeten, and B. N. Joergensen. Dynamic and selective combination of extensions in component-based applications. In Proceedings of the International Conference on Software Engineering (ICSE) '01, pages 233--242. IEEE Computer Society, 2001.]]

Cited By

View all
  • (2022)Features, believe it or not!Proceedings of the 26th ACM International Systems and Software Product Line Conference - Volume A10.1145/3546932.3546989(32-42)Online publication date: 12-Sep-2022
  • (2019)Using Structural and Parametric Polymorphism in the Creation of Digital TwinsAutomatic Documentation and Mathematical Linguistics10.3103/S000510551902005553:2(81-84)Online publication date: 1-Mar-2019
  • (2015)A Case Study on Model-Driven Development and Aspect-Oriented Programming: Benefits and LiabilitiesSoftware Technologies10.1007/978-3-319-25579-8_16(269-290)Online publication date: 17-Oct-2015
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SIGSOFT '04/FSE-12: Proceedings of the 12th ACM SIGSOFT twelfth international symposium on Foundations of software engineering
October 2004
282 pages
ISBN:1581138555
DOI:10.1145/1029894
  • cover image ACM SIGSOFT Software Engineering Notes
    ACM SIGSOFT Software Engineering Notes  Volume 29, Issue 6
    November 2004
    275 pages
    ISSN:0163-5948
    DOI:10.1145/1041685
    Issue’s Table of Contents
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: 31 October 2004

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. aspect-oriented
  2. feature-oriented
  3. product lines
  4. variability management

Qualifiers

  • Article

Conference

SIGSOFT04/FSE-12
Sponsor:

Acceptance Rates

Overall Acceptance Rate 17 of 128 submissions, 13%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)7
  • Downloads (Last 6 weeks)2
Reflects downloads up to 27 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2022)Features, believe it or not!Proceedings of the 26th ACM International Systems and Software Product Line Conference - Volume A10.1145/3546932.3546989(32-42)Online publication date: 12-Sep-2022
  • (2019)Using Structural and Parametric Polymorphism in the Creation of Digital TwinsAutomatic Documentation and Mathematical Linguistics10.3103/S000510551902005553:2(81-84)Online publication date: 1-Mar-2019
  • (2015)A Case Study on Model-Driven Development and Aspect-Oriented Programming: Benefits and LiabilitiesSoftware Technologies10.1007/978-3-319-25579-8_16(269-290)Online publication date: 17-Oct-2015
  • (2014)Abstract delta modellingMathematical Structures in Computer Science10.1017/S096012951200094125:3(482-527)Online publication date: 10-Nov-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
  • (2013)Service Oriented Solution Modeling and Variation Propagation Analysis Based on Architectural Building BlocksInternational Journal of Web Services Research10.4018/ijwsr.201310010210:4(39-61)Online publication date: 1-Oct-2013
  • (2013)Trading obliviousness for modularity with cooperative aspect-oriented programmingACM Transactions on Software Engineering and Methodology10.1145/2491509.249151622:3(1-46)Online publication date: 30-Jul-2013
  • (2013)A design feature-based approach to deriving program code from featuresProceedings of the 7th International Workshop on Variability Modelling of Software-Intensive Systems10.1145/2430502.2430510(1-6)Online publication date: 23-Jan-2013
  • (2013)Language-Independent and Automated Software Composition: The FeatureHouse ExperienceIEEE Transactions on Software Engineering10.1109/TSE.2011.12039:1(63-79)Online publication date: Jan-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
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media