Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/1890683.1890687acmotherconferencesArticle/Chapter ViewAbstractPublication PagesecoopConference Proceedingsconference-collections
research-article

Intensional changes avoid co-evolution!

Published: 22 June 2010 Publication History

Abstract

Modularization is key to support the maintainability of software systems. In some cases, however, maintenance requires certain modules to evolve together. This phenomenon complicates software maintainability and is commonly referred to as co-evolution.
In this paper, we tackle co-evolution in the domain of change-based feature-oriented programming (ChOP). In ChOP, feature modules -- each matching the implementation of one requirement -- are specified as sets of first-class change objects. Our solution is based on intensional changes: descriptive changes that are automatically evaluated with respect to the other feature modules before they are applied. We present a maintenance scenario and use it to show how intensional changes avoid co-evolution.

References

[1]
B. Adams. Co-evolution of Source Code and the Build System: Impact on the Introduction of AOSD in Legacy Systems. PhD thesis, Ghent University, Sint-Pietersnieuwstraat 41, B-9000 Ghent (Belgium), May 2008. ISBN 978-90-8578-203-2.
[2]
S. Apel, T. Leich, M. Rosenmüller, and G. Saake. Featurec++: On the symbiosis of feature-oriented and aspect-oriented programming. In R. Glück and M. R. Lowry, editors, GPCE, volume 3676 of Lecture Notes in Computer Science, pages 125--140. Springer, 2005.
[3]
D. S. Batory. A tutorial on feature oriented programming and the ahead tool suite. In GTTSE, pages 3--35, 2006.
[4]
L. Bergmans and M. Akşit. Composing crosscutting concerns using composition filters. Comm. ACM, 44(10):51--57, 2001.
[5]
T. D'Hondt, K. D. Volder, K. Mens, and R. Wuyts. Co-evolution of object-oriented software design and implementation. In SACT Symposium Proceedings. Kluwer Academic Publishers, 2000.
[6]
P. Ebraert. A bottom-up approach to program variation. PhD thesis, Vrije Universiteit Brussel, 2009.
[7]
P. Ebraert, T. D'Hondt, T. Molderez, and D. Janssens. Intensional changes: Modularizing crosscutting features. In ACM, editor, Proceedings of the 25th Annual ACM Symposium on Applied Computing, 2010.
[8]
P. Ebraert, J. Vallejos, P. Costanza, E. Van Paesschen, and T. D'Hondt. Change-oriented software engineering. In ICDL '07: Proceedings of the 2007 international conference on Dynamic languages, pages 3--24, New York, NY, USA, 2007. ACM.
[9]
P. Ebraert, J. Vallejos, Y. Vandewoude, Y. Berbers, and T. D'Hondt. Flexible features: Making feature modules more reusable. In Proceedings of the 24th Annual ACM Symposium on Applied Computing, 2009.
[10]
T. Elrad, M. Aksit, G. Kiczales, K. Lieberherr, and H. Ossher. Discussing aspects of aop. Communications of the ACM, 44(10):33--38, October 2001.
[11]
K. Gybels and J. Brichau. Arranging language features for more robust pattern-based crosscuts. In AOSD '03: Proceedings of the 2nd international conference on Aspect-oriented software development, pages 60--69, New York, NY, USA, 2003. ACM.
[12]
G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm, and W. G. Griswold. An overview of aspectJ. In Proceedings of the European Conference on Object-Oriented Programming, Lecture Notes in Computer Science, volume 2072, pages 327--353. Springer Verlag, 2001. http://aspectj.org.
[13]
G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J.-M. Loingtier, and J. Irwin. Aspect-oriented programming. In M. Akşit and S. Matsuoka, editors, 11th Europeen Conf. Object-Oriented Programming, volume 1241 of LNCS, pages 220--242. Springer Verlag, 1997.
[14]
J. Liu, D. Batory, and S. Nedunuri. Modeling interactions in feature oriented software designs. In S. Reiff-Marganiec and M. Ryan, editors, FIW, pages 178--197. IOS Press, 2005.
[15]
A. Marot and R. Wuyts. Detecting unanticipated aspect interferences at runtime with compositional intentions. In RAM-SE '09: Proceedings of the Workshop on AOP and Meta-Data for Software Evolution, pages 1--5, New York, NY, USA, 2009. ACM.
[16]
T. Mens and S. Demeyer. Software Evolution. Springer, 2008.
[17]
C. Prehofer. Feature-Oriented Programming: A Fresh Look at Objects. Lecture Notes in Computer Science, 1241:419--434, 1997.
[18]
J. L. Pryor and C. Marcos. Solving conflicts in aspectoriented applications. In In Proceedings of 4th Argentine Symposium in Software Engineering, Buenos Aires, 2003.
[19]
A. Restivo and A. Aguiar. Towards detecting and solving aspect conflicts and interferences using unit tests. In SPLAT '07: Proceedings of the 5th workshop on Software engineering properties of languages and aspect technologies, page 7, New York, NY, USA, 2007. ACM.
[20]
Y. Smaragdakis and D. Batory. Implementing reusable object-oriented components. In In the 5th Int. Conf. on Software Reuse (ICSR 98, pages 36--45. Society Press, 1998.
[21]
Y. Smaragdakis and D. Batory. Mixin layers: An object-oriented implementation technique for refinements and collaboration-based designs. ACM Transactions on Software Engineering and Methodology (TOSEM), 11(2):215--255, 2002.

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Other conferences
RAM-SE '10: Proceedings of the 7th Workshop on Reflection, AOP and Meta-Data for Software Evolution
June 2010
45 pages
ISBN:9781450305365
DOI:10.1145/1890683
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

  • CEKTRA
  • University of Maribor
  • AITO: Association Internationale pour les Technologies Objets

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 22 June 2010

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article

Conference

ECOOP '10
Sponsor:
  • AITO

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 64
    Total Downloads
  • Downloads (Last 12 months)2
  • Downloads (Last 6 weeks)0
Reflects downloads up to 17 Nov 2024

Other Metrics

Citations

View Options

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