Aspect-Oriented Software Development and Software Process

  • Stanley M. SuttonJr.
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3840)

Abstract

Aspect orientation is an increasingly promising approach to software development. It affords benefits deriving from advanced separation of concerns, including concern modeling, encapsulation, extraction, and composition. These may enable the development and evolution of software on a higher semantic level, with unprecedented control and flexibility. Aspect orientation may hold similar benefits for software process. Aspect orientation has implications for process on three levels: aspect-oriented products, aspect-oriented processes, and aspect-oriented process languages. It also facilitates insight into how the software-process spectrum may be unified. Macroprocess and microprocess concerns do not overlap, but some relationship between them is necessary. The relating of macroprocess concerns and microprocess concerns is the concern of a mesoprocess level, the principal home for process engineering, the purpose of which is to realize the ends of the macro level in terms of the means provided by the micro level. Aspect orientation should also benefit to a rigorous, orderly, and effective discipline of process engineering.

Keywords

Process Language Software Process Product Family Defense Advance Research Project Agency Capability Maturity Model 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Akşit, M., Wakita, K., Bosch, J., Bergmans, L., Yonezawa, A.: Abstracting object-interactions using composition-filters. In: Guerraoui, R., Riveill, M., Nierstrasz, O. (eds.) ECOOP-WS 1993. LNCS, vol. 791, pp. 152–184. Springer, Heidelberg (1994)CrossRefGoogle Scholar
  2. 2.
    AOP for Business Rules. Website (2003), http://ssel.vub.ac.be/br/index.php
  3. 3.
    AOSD.net. Website (2005), http://www.aosd.net
  4. 4.
    Baniassad, E., Clarke, S.: Finding aspects in requirements with Theme/Doc. In: Early Aspects 2004: Aspect-Oriented Requirements Engineering and Architecture Design Workshop (AOSD) (2004), http://trese.cs.utwente.nl/workshops/early-aspects-2004/Papers/Baniassad-Clarke.pdf
  5. 5.
    Bass, L., Klein, M., Northrop, L.: Identifying aspects using architectural reasoning. In: Early Aspects 2004: Aspect-Oriented Requirements Engineering and Architecture Design Workshop (AOSD), Lancaster, UK (2004), http://trese.cs.utwente.nl/workshops/early-aspects-2004/Papers/BassEtAl.pdf
  6. 6.
    BEA Systems. aspectwerkz-workshopkit Project home (Website), https://aspectwerkz-workshopkit.projects.dev2dev.bea.com/
  7. 7.
    Brito, I., Moreira, A.: Integrating the NFR framework in a RE model. In: Early Aspects 2004: Aspect-Oriented Requirements Engineering and Architecture Design Workshop (AOSD) (Lancaster, UK) (2004), http://trese.cs.utwente.nl/workshops/early-aspects-2004/Papers/BritoMoreira.pdf
  8. 8.
    Clarke, S., Harrison, W., Ossher, H., Tarr, P.: Subject-oriented design: Towards improved alignment of requirements, design and code. In: 14th Conf. Object-oriented Programming, Systems, Languages, and Applications (OOPSLA), pp. 325–339. ACM, New York (1999)CrossRefGoogle Scholar
  9. 9.
    Coady, Y., Kiczales, G., Feeley, M., Smolyn, G.: Using AspectC to Improve the Modularity of Path-Specific Customization in Operating System Code. In: Proceedings of the 8th European Software Engineering Conference held jointly with 9th ACM SIGSOFT International Symposium on Foundations of Software Engineering, pp. 88–98 (2001)Google Scholar
  10. 10.
    Defense Advanced Research Projects Agency (DARPA). Program Composition for Embedded Systems (Website) (1999), http://www.darpa.mil/baa/baa00-23.htm
  11. 11.
    Eclipse AspectJ Development Tools Technology Subproject (Website) (2005), http://www.eclipse.org/aspectj/
  12. 12.
    Eclipse AspectJ Technology Project (Website) (2005), http://www.eclipse.org/aspectj/
  13. 13.
    Eclipse Concern Manipulation Environment Technology Project (Website) (2005), http://www.eclipse.org/cme/
  14. 14.
    Eclipse.org (Website), http://www.eclipse.org
  15. 15.
    Elrad, T., Filman, R.E., Bader, A.: Aspect-oriented programming. Comm. ACM 44(10), 29–32 (2001)CrossRefGoogle Scholar
  16. 16.
    Fraunhofer Institute Computer Architecture and Software Technology FIRST. TOPPrax – Applying Aspect-Oriented Programming in Commercial Software Development (Website) (2005), http://www.first.fraunhofer.de/en/topprax
  17. 17.
    Griswold, W.: Aspect Browser for Eclipse (Website), http://www-cse.ucsd.edu/users/wgg/Software/AB/
  18. 18.
    Harrison, W., Ossher, H.: Subject-oriented programming—a critique of pure objects. In: 8th Conf. Object-oriented Programming, Systems, Languages, and Applications (OOPSLA), Washington, D.C., pp. 411–428. ACM, New York (1993)CrossRefGoogle Scholar
  19. 19.
    Harrison, W., Ossher, H., Sutton Jr., S., Tarr, P.: Concern Modeling in the Concern Manipulation Environment. IBM Systems Journal, Special Issue on Open Source Software (2005) (to appear)Google Scholar
  20. 20.
    Harrison, W., Ossher, H., Tarr, P.: Software engineering tools and environments: A roadmap. In: Conf. Future of Software Engineering (Limerick), pp. 261–277. ACM, New York (2000)Google Scholar
  21. 21.
    IBM. Concern Manipulation Environment (CME): a flexible, extensible, interoperable environment for AOSD, http://www.research.ibm.com/cme/
  22. 22.
  23. 23.
    ISPW. Proceedings of 10th International Software Process Workshop, Dijon, France, June 17-19, 1996, p. 119. IEEE, Los Alamitos (1998)Google Scholar
  24. 24.
    Jacobson, I., Ng, P.-W.: Aspect-Oriented Software Development with Use Cases. Addison-Wesley Object Technology Series, p. 464 (2004)Google Scholar
  25. 25.
    Janzen, D., De Volder, K.: Navigating Code without Getting Lost. In: 2nd International Conference on Aspect-Oriented Software Development, pp. 178–187. ACM, New York (2003)CrossRefGoogle Scholar
  26. 26.
    JBoss. JBoss Aspect Oriented Programming (Website) (2005), http://www.jboss.org/products/aop
  27. 27.
    Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: Getting started with AspectJ. Comm. ACM 44(10), 59–65 (2001)CrossRefGoogle Scholar
  28. 28.
    Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J.-M., Irwin, J.: Aspect-oriented programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  29. 29.
    Kimelman, D., Kruskal, V., Ossher, H., Roth, T., Tarr, P.: HyperProbe(TM) - An Aspect-Oriented Instrumentation Tool for Troubleshooting Large-Scale Production Systems. In: Demonstration Abstract, 1st Int’l Conf. Aspect-Oriented Software Development, AOSD (2002), http://trese.cs.utwente.nl/aosd2002/index.php?content=hyperprobe
  30. 30.
    Lieberherr, K.: Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns. PWS Publishing Company (1996)Google Scholar
  31. 31.
    Lohmann, D., Ebert, J.: A generalization of the hyperspace approach using meta-models. In: Early Aspects 2003: Aspect-Oriented Requirements Engineering and Architecture Design Workshop (AOSD), Boston, USA (2003), http://www.cs.bilkent.edu.tr/AOSD-EarlyAspects/Papers/LohEbe.pdf
  32. 32.
    Nuseibeh, B., Kramer, J., Finkelstein, A.: Expressing the relationships between multiple views in requirements specification. In: 15th Int’l Conf. Software Engineering (ICSE) (Baltimore, Maryland), pp. 187–196. IEEE, Los Alamitos (1993)Google Scholar
  33. 33.
    Odgers, B., Thompson, S.: Aspect-Oriented Process Engineering (ASOPE). In: Moreira, M.D., Demeyer, S. (eds.) ECOOP 1999 Workshops. LNCS, vol. 1743, p. 295. Springer, Heidelberg (1999)Google Scholar
  34. 34.
  35. 35.
    Rajan, H., Sullivan, K.: Generalizing AOP for Aspect-Oriented Testing. In: Proceedings of the Fourth International Conference on Aspect-Oriented Software Development (AOSD), pp. 14–18 (2005)Google Scholar
  36. 36.
    Robillard, M., Murphy, G.: Concern Graphs: Finding and Describing Concerns Using Structural Pro-gram Dependencies. In: Proceedings of the 24th Int’l Conf. of on Soft. Eng., pp. 406–416 (2002)Google Scholar
  37. 37.
    Sabbah, D.: Aspects—From Promise to Reality. In: 3rd International Conference on Aspect-Oriented Software Development (AOSD), Lancaster, UK, pp. 1–2. ACM, New York (2004)CrossRefGoogle Scholar
  38. 38.
    Sereni, D., de Moor, O.: Static Analysis of Aspects. In: Proceedings of the 2nd International Conference on Aspect-Oriented Software Development, pp. 30–39. ACM, New York (2003)CrossRefGoogle Scholar
  39. 39.
    Software Engineering Institute (SEI). The Capability Maturity Model: Guidelines for Improving the Software Process, p. 464. Addison-Wesley Professional, Reading (1995)Google Scholar
  40. 40.
    Software Engineering Institute (SEI). A Framework for Software Product Line Practice Version 4.2 (2004), http://www.sei.cmu.edu/plp/framework.html#outline
  41. 41.
    Spinczyk, O., Gal, A.S., Schröder-Preikschat, W.: AspectC++: An Aspect-Oriented Extension to C++. In: Proceedings of the Fortieth International Conference on Tools Pacific: Objects for internet, mobile and embedded applications, vol. 10, pp. 53–60 (2002), see also http://www.aspectc.org/
  42. 42.
    Sutton Jr., S., Osterweil, L.: The Design of a Next-Generation Process Language. In: Jazayeri, M. (ed.) ESEC 1997 and ESEC-FSE 1997. LNCS, vol. 1301, pp. 142–158. Springer, Heidelberg (1997)Google Scholar
  43. 43.
    Sutton Jr., S.M., Rouvellou, I.: Advanced separation of concerns for component evolution. In: Workshop on Engineering Complex Object-Oriented Systems for Evolution, Tampa, Florida (2001), http://www.dsg.cs.tcd.ie/ecoose/oopsla2001/papers.shtml
  44. 44.
    Sutton Jr., S., Rouvellou, I.: Modeling of software concerns in Cosmos. In: Kiczales, G. (ed.) 1st Int’l Conf. Aspect-Oriented Software Development (AOSD), pp. 127–133. ACM, New York (2002)CrossRefGoogle Scholar
  45. 45.
    Tarr, P., Ossher, H., Harrison, W., Sutton Jr., S.: degrees of separation: Multi-dimensional separation of concerns. In: 21st Int’l Conf. Software Engineering (ICSE), Los Angeles, pp. 107–119. IEEE, Los Alamitos (1999)Google Scholar
  46. 46.
    Tarr, P., Ossher, H., Sutton Jr., S.: Hyper/J: Multi-Dimensional Separation of Concerns for Java, Tutorial (2001), http://www.netobjectdays.org/pdf/01/slides/tutorial/sutton.pdf
  47. 47.
    Tekinerdogan, B.: ASAAM: aspectual software architecture analysis method. In: Early Aspects 2003: Aspect-Oriented Requirements Engineering and Architecture Design Workshop (AOSD) (2003), http://www.cs.bilkent.edu.tr/AOSD-EarlyAspects/Papers/Tekinerdogan.pdf
  48. 48.
    Wagelaar, D.: A concept-based approach for early aspect modelling. In: Early Aspects 2003: Aspect-Oriented Requirements Engineering and Architecture Design Workshop (AOSD) (2003), http://www.cs.bilkent.edu.tr/AOSD-EarlyAspects/Papers/Wagelaar.pdf
  49. 49.
    Wise, A., Cass, A., Lerner, B., McCall, E., Osterweil, L., Sutton Jr., S.: Using Little-JIL to Coordinate Agents in Software Engineering. In: 15th IEEE International Conference on Automated Software Engineering (ASE 2000) Proceedings, pp. 155–164. IEEE, Los Alamitos (2000)Google Scholar
  50. 50.
    Zhao, J.: Data-Flow-Based Unit Testing of Aspect-Oriented Programs. In: Proceedings of the 27th Annual IEEE International Computer Software and Applications Conference (COMPSAC 2003) (2003)Google Scholar
  51. 51.
    Zhu, J.: Personnel communication. IBM Research (2005), zhujun@cn.ibm.comGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Stanley M. SuttonJr.
    • 1
  1. 1.IBM T. J. Watson Research CenterHawthorneUSA

Personalised recommendations