skip to main content
10.1145/1119655.1119678acmotherconferencesArticle/Chapter ViewAbstractPublication PagesmodularityConference Proceedingsconference-collections
Article

Using aspects to support the software process: XP over Eclipse

Published: 20 March 2006 Publication History

Abstract

Usually, aspects enhance a software product by being composed - or woven - into it. Here, on the other hand, we use aspects to support the software development process itself. The underlying system, i.e., the system to which the aspects are woven, is not the software product but the environment where it is developed. We define aspects to support both software process management and software process modeling. As we show, the aspects can monitor, enforce, or even partially implement compliance with desired development practices. They also provide a basis for a precise description of a software development process. As a case-study, we consider Extreme Programming (XP) and the Eclipse platform. XP is a software development methodology described by underlying values, principles and practices. We present examples of AspectJ aspects that support XP guidelines such as "compose tests before coding" or "provide rapid feedback". Their abstract definitions are shown to be platform independent and correspond to the XP ontology. Their concrete implementation and weaving is connected to Eclipse, an open-source development environment. The design and a prototype implementation of aspects for XP over Eclipse is described.

References

[1]
Jonathan Aldrich. Open modules: A proposal for modular reasoning in aspect-oriented programming. In Curtis Clifton, Ralf Lämmel, and Gary T. Leavens, editors, FOAL: Foundations Of Aspect-Oriented Languages, pages 7--18, March 2004.
[2]
S. Bandinelli, M. Braga, A. Fugetta, and L. Lavazza. The architecture of SPADE-1 process-centered SEE. In B. Warboys, editor, Software Process Technology Proceedings of the 3rd European Software Process Modeling Workshop, pages 15-30, Villard de Lans, France, 1994. Springer.
[3]
Kent Beck. Extreme Programming Explained: Embrace Change. Addison-Wesley, Reading, Massachusetts, 2000.
[4]
Israel Z. Ben-Shaul and Gail E. Kaiser. A paradigm for decentralized process modeling and its realization in the Oz environment. In Proceedings of the Sixteenth International Conference on Software Engineering, pages 179--188. IEEE Computer Society Press, May 1994.
[5]
Andy Clement, Adrian Colyer, and Mik Kersten. Aspect-oriented programming with AJDT. In Jan Hannemann, Ruzanna Chitchyan, and Awais Rashid, editors, Analysis of Aspect-Oriented Software (ECOOP 2003), July 2003.
[6]
Bill Curtis, Marc I. Kellner, and Jim Over. Process modeling. Communications of the ACM, 35(9):75--90, September 1992.
[7]
Eclipse. http://www.eclipse.org/.
[8]
Christer Fernström. Process WEAVER: Adding process support to UNIX. In Proceedings of the Second International Conference on the Software Process, pages 12--26. IEEE Computer Society Press, February 1993.
[9]
Eclipse Process Framework. http://www.eclipse.org/epf/.
[10]
Alfonso Fuggetta. Software process: a roadmap. In ICSE - Future of SE Track, pages 25--34, 2000.
[11]
William G. Griswold, Kevin Sullivan, Yuanyuan Song, Macneil Shonle, Nishit Tewari, Yuanfang Cai, and Hridesh Rajan. Modular software design with crosscutting interfaces. IEEE-SOFTWARE, 23(1):51--60, 2006.
[12]
Volker Gruhn. Process-centered software engineering environments, a brief history and future challenges. Ann. Software Eng, 14(1--4):363--382, 2002.
[13]
Watts Humphrey. Managing the Software Process. Addison-Wesley, 1989.
[14]
JUnit. http://www.junit.org.
[15]
G. Junkermann, B. Peuschel, W. Schäfer, and S. Wolf. MERLIN: Supporting cooperation in software development through a knowledge-based environment. In B. Nuseibeh A. Finkelstein, J. Kramer, editor, Software Process Modelling and Technology, pages 103--129. John Wiley and Sons, 1994.
[16]
G. E. Kaiser. Experience with Marvel. In D. E. Perry, editor, Proceedings of the 5th International Software Process Workshop, pages 82--84, October 1989.
[17]
Gregor Kiczales, Erik Hilsdale, Jim Hugunin, Mik Kersen, Jeffrey Palm, and William G. Griswold. An overview of AspectJ. In Proceedings European Conference on Object-Oriented Programming, volume 2072 of Lecture Notes in Computer Science, pages 327--353, Berlin, Heidelberg, and New York, 2001. Springer-Verlag.
[18]
Balachander Krishnamurthy and Naser S. Barghouti. Provence: a process visualization and enactment environment. In Ian Sommerville and Manfred Paul, editors, Proceedings of the Fourth European Software Engineering Conference, pages 451--465. Lecture Notes in Computer Science Nr. 717, Springer---Verlag, 1993.
[19]
Philippe Kruchten. The Rational Unified Process. Addison-Wesley, third edition, 2004.
[20]
Martin Lippert. AJEER: an AspectJ-Enabled Eclipse Runtime. In OOPSLA Companion, pages 23--24, 2004.
[21]
Harold Ossher, William H. Harrison, and Peri L. Tarr. Software engineering tools and environments: A roadmap. In ICSE - Future of SE Track, pages 261--277, 2000.
[22]
Leon Osterweil. Software processes are software too. In Proceedings of the Ninth International Conference on Software Engineering, pages 2--13. IEEE Computer Society Press, 1987.
[23]
R. Q. Reis, C. A. Lima Reis, H. Schlebbe, and D. J. Nunes. Towards an aspect-oriented approach to improve the reusability of software process models. In Awais Rashid, Bedir Tekinerdoǧan, Ana Moreira, Joao Araujo, Jeff Gray, Jan Gerben Wijnstra, and Paul Clements, editors, Workshop on Early Aspects: Aspect-Oriented Requirements Engineering and Architecture Design (AOSD-2002), March 2002.
[24]
Steven P. Reiss. Connecting tools using message passing in the Field environment. IEEE-SOFTWARE, 7(4):57--66, July 1990.
[25]
Mati Shomrat and Amiram Yehudai. Obvious or not? Regulating architectural decisions using aspect-oriented programming. In Gregor Kiczales, editor, Proc. 1st Int' Conf. on Aspect-Oriented Software Development (AOSD-2002), pages 3--9. ACM Press, April 2002.
[26]
Daniel H. Steinberg and Daniel W. Palmer. Extreme Software Engineering: A Hands-On Approach. Pearson/Prentice Hall, 2004.
[27]
S. Sutton, D. Heimbigner, and L. Osterweil. APPL/A: A language for software process programming. ACM Transactions on Software Engineering and Methodology, 4(3):221--286, July 1995.

Cited By

View all
  • (2018)A hybrid approach for aspect‐oriented business process modelingJournal of Software: Evolution and Process10.1002/smr.193130:8Online publication date: 9-Aug-2018
  • (2014)Software Architectures and Software ProcessesSoftware Architecture 210.1002/9781118945087.ch6(209-239)Online publication date: 3-Jun-2014
  • (2011)Making aspects naturalProceedings of the tenth international conference on Aspect-oriented software development10.1145/1960275.1960312(285-300)Online publication date: 21-Mar-2011
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
AOSD '06: Proceedings of the 5th international conference on Aspect-oriented software development
March 2006
247 pages
ISBN:159593300X
DOI:10.1145/1119655
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

  • AOSD-Europe: European Network of Excellent on Aspect-oriented Software Development

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 20 March 2006

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Eclipse
  2. aspects
  3. extreme programming
  4. software process

Qualifiers

  • Article

Conference

AOSD06
Sponsor:
  • AOSD-Europe

Acceptance Rates

Overall Acceptance Rate 41 of 139 submissions, 29%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)2
  • Downloads (Last 6 weeks)0
Reflects downloads up to 26 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2018)A hybrid approach for aspect‐oriented business process modelingJournal of Software: Evolution and Process10.1002/smr.193130:8Online publication date: 9-Aug-2018
  • (2014)Software Architectures and Software ProcessesSoftware Architecture 210.1002/9781118945087.ch6(209-239)Online publication date: 3-Jun-2014
  • (2011)Making aspects naturalProceedings of the tenth international conference on Aspect-oriented software development10.1145/1960275.1960312(285-300)Online publication date: 21-Mar-2011
  • (2011)Applying AOSE Concepts to Model Crosscutting Variability in Variant-Rich ProcessesProceedings of the 2011 37th EUROMICRO Conference on Software Engineering and Advanced Applications10.1109/SEAA.2011.58(334-338)Online publication date: 30-Aug-2011
  • (2009)The HighspectJ frameworkProceedings of the 8th workshop on Aspects, components, and patterns for infrastructure software10.1145/1509276.1509282(19-24)Online publication date: 2-Mar-2009
  • (2009)Metaproperty aspectsProceedings of the 8th ACM international conference on Aspect-oriented software development10.1145/1509239.1509273(231-242)Online publication date: 2-Mar-2009
  • (2009)Process AspectProceedings of the International Conference on Software Process: Trustworthy Software Development Processes10.1007/978-3-642-01680-6_13(124-135)Online publication date: 16-May-2009
  • (2009)Overview of Software Processes and Software EvolutionAn Approach to Modelling Software Evolution Processes10.1007/978-3-540-79464-6_2(8-33)Online publication date: 2009
  • (2008)Towards IDE support for abstract thinkingProceedings of the 2nd international workshop on The role of abstraction in software engineering10.1145/1370164.1370167(9-13)Online publication date: 11-May-2008
  • (2008)The TDD-Guide Training and Guidance Tool for Test-Driven DevelopmentAgile Processes in Software Engineering and Extreme Programming10.1007/978-3-540-68255-4_7(63-72)Online publication date: 2008

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