Skip to main content

Aspects across Software Life Cycle: A Goal-Driven Approach

  • Chapter
Transactions on Aspect-Oriented Software Development VI

Abstract

Goal modeling fits model-driven engineering (MDE) in that it captures stakeholder concerns and the interdependencies using concepts that are much less bound to the underlying implementation technology and are much closer to the problem languages. Aspect-oriented software development (AOSD) provides language constructs to facilitate the representation of multiple perceptions and to alleviate tangling and scattering concerns. Synthesis of AOSD and MDE not only manages software complexity but also improves productivity, as well as model quality and longevity. In this paper, we propose a model-driven framework for tracing aspects from requirements to implementation and testing, where goal models become engineering assets and straightforward model-to-code transformation bridges the gap between domain concepts and implementation technologies. We test our hypotheses and evaluate the framework’s applicability and usefulness with a case study of an open-source e-commerce platform written in PHP.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Baniassad, E., Clements, P.C., Araújo, J., Moreira, A., Rashid, A., Tekinerdoğan, B.: Discovering early aspects. IEEE Software 23(1), 61–70 (2006)

    Article  Google Scholar 

  2. Booch, G., Rumbaugh, J., Jacobson, I.: The Unified Modeling Language: User Guide. Addison-Wesley, Reading (1999)

    Google Scholar 

  3. Bratman, M.: Intention, Plans, and Practical Reason. Harvard Univ. Press, Cambridge (1987)

    Google Scholar 

  4. Bresciani, P., Giorgini, P., Giunchiglia, F., Mylopoulos, J., Perini, A.: Towards an agent oriented approach to software engineering. In: Wkshp on Objects and Agents (2001)

    Google Scholar 

  5. Castro, J., Kolp, M., Mylopoulos, J.: Towards requirements-driven information systems engineering: the Tropos project. Information Systems 27(6), 365–389 (2002)

    Article  MATH  Google Scholar 

  6. Chung, L., Nixon, B.A., Yu, E., Mylopoulos, J.: Non-Functional Requirements in Software Engineering. Kluwer Academic Publishers, Dordrecht (2000)

    MATH  Google Scholar 

  7. Cleland-Huang, J., Settimi, R., Zou, X., Solc, P.: The detection and classification of non-functional requirements with application to early aspects. In: Intl. RE Conf., pp. 39–48 (2006)

    Google Scholar 

  8. Dardenne, A., van Lamsweerde, A., Fickas, S.: Goal-directed requirements acquisition. Sci. Comput. Programming 20(1-2), 3–50 (1993)

    Article  MATH  Google Scholar 

  9. Fransella, F., Bell, R., Bannister, D.: A Manual for Repertory Grid Technique, 2nd edn. John Wiley & Sons, Ltd., Chichester (2004)

    Google Scholar 

  10. Ganter, B., Wille, R.: Formal Concept Analysis. Springer, Heidelberg (1996)

    MATH  Google Scholar 

  11. Giorgini, P., Mylopoulos, J., Nicchiarelli, E., Sebastiani, R.: Reasoning with goal models. In: Spaccapietra, S., March, S.T., Kambayashi, Y. (eds.) ER 2002. LNCS, vol. 2503, pp. 167–181. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  12. Goal-oriented requirement language (GRL): http://www.cs.toronto.edu/km/GRL/ (last accessed on February 20, 2009)

  13. Gray, J., Lin, Y., Zhang, J.: Automating change evolution in model-driven engineering. Computer 39(2), 51–58 (2006)

    Article  Google Scholar 

  14. Grundy, J.: Aspect-oriented requirements engineering for component-based software systems. In: Intl. Symp. on RE, pp. 84–91 (1999)

    Google Scholar 

  15. Jacobson, I.: Use cases and aspects – working seamlessly together. Journal of Object Technology 2(4), 7–28 (2003)

    Google Scholar 

  16. Katz, S., Rashid, A.: From aspectual requirements to proof obligations for aspect-oriented systems. In: Intl. RE Conf., pp. 48–57 (2004)

    Google Scholar 

  17. Kiczales, G., Lamping, J., Menhdhekar, 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)

    Chapter  Google Scholar 

  18. Leite, J., Yu, Y., Liu, L., Yu, E., Mylopoulos, J.: Quality-based software reuse. In: Pastor, Ó., Falcão e Cunha, J. (eds.) CAiSE 2005. LNCS, vol. 3520, pp. 535–550. Springer, Heidelberg (2005)

    Google Scholar 

  19. Lesiecki, N.: Unit test your aspects – eight new patterns for verifying crosscutting behavior. IBM Developer Works (2005)

    Google Scholar 

  20. Ludewig, J.: Models in software engineering – an introduction. Softw. and Systems Modeling 2(1), 5–14 (2003)

    Article  Google Scholar 

  21. Mylopoulos, J., Chung, L., Nixon, B.: Representing and using nonfunctional requirements: a process-oriented approach. IEEE Trans. Softw. Eng. 18(6), 483–497 (1992)

    Article  Google Scholar 

  22. Nguyen, T., Munson, E., Boyland, J., Thao, C.: An infrastructure for development of object-oriented, multi-level configuration management services. In: Intl. Conf. Softw. Eng., pp. 215–224 (2005)

    Google Scholar 

  23. Niu, N., Easterbrook, S.: Analysis of early aspects in requirements goal models: a concept-driven approach. In: Rashid, A., Aksit, M. (eds.) Transactions on AOSD III. LNCS, vol. 4620, pp. 40–72. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  24. Niu, N., Easterbrook, S.: Discovering aspects in requirements with repertory grid. In: Early Aspects Wkshp at ICSE, pp. 35–41 (2006)

    Google Scholar 

  25. Niu, N., Easterbrook, S.: So, you think you know others’ goals? a repertory grid study. IEEE Software 24(2), 53–61 (2007)

    Article  Google Scholar 

  26. Niu, N., Easterbrook, S., Yu, Y.: A taxonomy of asymmetric requirements aspects. In: Moreira, A., Grundy, J. (eds.) Early Aspects Workshop 2007 and EACSL 2007. LNCS, vol. 4765, pp. 1–18. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  27. Nuseibeh, B.: Crosscutting requirements. In: Intl. Conf. on AOSD, pp. 3–4 (2004)

    Google Scholar 

  28. Open OME (organization modelling environment): http://www.cs.toronto.edu/km/openome/ (last accessed on February 20, 2009)

  29. osCommerce: http://www.oscommerce.org/ (last accessed on February 20, 2009)

  30. osCommerce’s phpAspect portal: http://www.cs.toronto.edu/~yijun/aspectPHP (last accessed on February 20, 2009)

  31. Rashid, A., Sawyer, P., Moreira, A., Araújo, J.: Early aspects: a model for aspect-oriented requirements engineering. In: Intl. RE Conf., pp. 199–202 (2002)

    Google Scholar 

  32. Parnas, D.: On the criteria to be used in decomposing systems into modules. Comm. ACM 15(12), 1053–1058 (1972)

    Article  Google Scholar 

  33. PHPUnit: http://phpunit.sourceforge.net/ (last accessed on February 20, 2009)

  34. pspell: http://php.net/manualen/ref.pspell.php (last accessed on February 20, 2009)

  35. Röttger, S., Zschaler, S.: Tool support for refinement of non-functional specifications. Softw. and Systems Modeling 6(2), 185–204 (2007)

    Article  Google Scholar 

  36. Schmidt, D.C.: Model-driven engineering. Computer 39(2), 25–31 (2006)

    Article  Google Scholar 

  37. Selic, B.: The pragmatics of model-driven development. IEEE Software 20(5), 19–25 (2003)

    Article  Google Scholar 

  38. Sendall, S., Kozaczynski, W.: Model transformation: the heart and soul of model-driven software development. IEEE Software 20(5), 42–45 (2003)

    Article  Google Scholar 

  39. Shoham, Y.: Agent-oriented programming. Technical Report STAN-CS-1335-90, Stanford Univ. (1990)

    Google Scholar 

  40. Tarr, P.L., Ossher, H., Harrison, W.H., Sutton, S.M.: N degrees of separation: multi-dimensional separation of concerns. In: Intl. Conf. on Softw. Eng., pp. 107–119 (1999)

    Google Scholar 

  41. van Lamsweerde, A.: Goal-oriented requirements engineering: a guided tour. In: Intl. Symp. on RE, pp. 249–262 (2001)

    Google Scholar 

  42. YAXX: http://yaxx.sourceforge.net/ (last accessed on February 20, 2009)

  43. Yin, R.: Case Study Research: Design and Methods. Sage Publications, Thousand Oaks (2003)

    Google Scholar 

  44. Yu., E.: Towards modelling and reasoning support for early-phase requirements engineering. In: Intl. Symp. on RE, pp. 226–235 (1997)

    Google Scholar 

  45. Yu, Y., do Prado Leite, J.C.S., Mylopoulos, J.: From goals to aspects: discovering aspects from requirements goal models. In: Intl. RE Conf., pp. 38–47 (2004)

    Google Scholar 

  46. Yu, Y., Niu, N., González-Baixauli, B., Mylopoulos, J., Easterbrook, S., do Prado Leite, J.C.S.: Requirements Engineering and Aspects. In: Lyytinen, K., Loucopoulos, P., Mylopoulos, J., Robinson, B. (eds.) Design Requirements Engineering: A Ten-Year Perspective (to appear, 2009)

    Google Scholar 

  47. Yu, Y., Niu, N., González-Baixauli, B., Candillon, W., Mylopoulos, J., Easterbrook, S., do Prado Leite, J.C.S., Vanwormhoudt, G.: Tracing and validating goal aspects. In: Intl. RE Conf., pp. 53–56 (2007)

    Google Scholar 

  48. Zave, P., Jackson, M.: Four dark corners of requirements engineering. ACM TOSEM 6(1), 1–30 (1997)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2009 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Niu, N., Yu, Y., González-Baixauli, B., Ernst, N., Sampaio do Prado Leite, J.C., Mylopoulos, J. (2009). Aspects across Software Life Cycle: A Goal-Driven Approach. In: Katz, S., Ossher, H., France, R., Jézéquel, JM. (eds) Transactions on Aspect-Oriented Software Development VI. Lecture Notes in Computer Science, vol 5560. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-03764-1_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-03764-1_3

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-03763-4

  • Online ISBN: 978-3-642-03764-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics