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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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)
Booch, G., Rumbaugh, J., Jacobson, I.: The Unified Modeling Language: User Guide. Addison-Wesley, Reading (1999)
Bratman, M.: Intention, Plans, and Practical Reason. Harvard Univ. Press, Cambridge (1987)
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)
Castro, J., Kolp, M., Mylopoulos, J.: Towards requirements-driven information systems engineering: the Tropos project. Information Systems 27(6), 365–389 (2002)
Chung, L., Nixon, B.A., Yu, E., Mylopoulos, J.: Non-Functional Requirements in Software Engineering. Kluwer Academic Publishers, Dordrecht (2000)
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)
Dardenne, A., van Lamsweerde, A., Fickas, S.: Goal-directed requirements acquisition. Sci. Comput. Programming 20(1-2), 3–50 (1993)
Fransella, F., Bell, R., Bannister, D.: A Manual for Repertory Grid Technique, 2nd edn. John Wiley & Sons, Ltd., Chichester (2004)
Ganter, B., Wille, R.: Formal Concept Analysis. Springer, Heidelberg (1996)
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)
Goal-oriented requirement language (GRL): http://www.cs.toronto.edu/km/GRL/ (last accessed on February 20, 2009)
Gray, J., Lin, Y., Zhang, J.: Automating change evolution in model-driven engineering. Computer 39(2), 51–58 (2006)
Grundy, J.: Aspect-oriented requirements engineering for component-based software systems. In: Intl. Symp. on RE, pp. 84–91 (1999)
Jacobson, I.: Use cases and aspects – working seamlessly together. Journal of Object Technology 2(4), 7–28 (2003)
Katz, S., Rashid, A.: From aspectual requirements to proof obligations for aspect-oriented systems. In: Intl. RE Conf., pp. 48–57 (2004)
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)
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)
Lesiecki, N.: Unit test your aspects – eight new patterns for verifying crosscutting behavior. IBM Developer Works (2005)
Ludewig, J.: Models in software engineering – an introduction. Softw. and Systems Modeling 2(1), 5–14 (2003)
Mylopoulos, J., Chung, L., Nixon, B.: Representing and using nonfunctional requirements: a process-oriented approach. IEEE Trans. Softw. Eng. 18(6), 483–497 (1992)
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)
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)
Niu, N., Easterbrook, S.: Discovering aspects in requirements with repertory grid. In: Early Aspects Wkshp at ICSE, pp. 35–41 (2006)
Niu, N., Easterbrook, S.: So, you think you know others’ goals? a repertory grid study. IEEE Software 24(2), 53–61 (2007)
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)
Nuseibeh, B.: Crosscutting requirements. In: Intl. Conf. on AOSD, pp. 3–4 (2004)
Open OME (organization modelling environment): http://www.cs.toronto.edu/km/openome/ (last accessed on February 20, 2009)
osCommerce: http://www.oscommerce.org/ (last accessed on February 20, 2009)
osCommerce’s phpAspect portal: http://www.cs.toronto.edu/~yijun/aspectPHP (last accessed on February 20, 2009)
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)
Parnas, D.: On the criteria to be used in decomposing systems into modules. Comm. ACM 15(12), 1053–1058 (1972)
PHPUnit: http://phpunit.sourceforge.net/ (last accessed on February 20, 2009)
pspell: http://php.net/manualen/ref.pspell.php (last accessed on February 20, 2009)
Röttger, S., Zschaler, S.: Tool support for refinement of non-functional specifications. Softw. and Systems Modeling 6(2), 185–204 (2007)
Schmidt, D.C.: Model-driven engineering. Computer 39(2), 25–31 (2006)
Selic, B.: The pragmatics of model-driven development. IEEE Software 20(5), 19–25 (2003)
Sendall, S., Kozaczynski, W.: Model transformation: the heart and soul of model-driven software development. IEEE Software 20(5), 42–45 (2003)
Shoham, Y.: Agent-oriented programming. Technical Report STAN-CS-1335-90, Stanford Univ. (1990)
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)
van Lamsweerde, A.: Goal-oriented requirements engineering: a guided tour. In: Intl. Symp. on RE, pp. 249–262 (2001)
YAXX: http://yaxx.sourceforge.net/ (last accessed on February 20, 2009)
Yin, R.: Case Study Research: Design and Methods. Sage Publications, Thousand Oaks (2003)
Yu., E.: Towards modelling and reasoning support for early-phase requirements engineering. In: Intl. Symp. on RE, pp. 226–235 (1997)
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)
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)
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)
Zave, P., Jackson, M.: Four dark corners of requirements engineering. ACM TOSEM 6(1), 1–30 (1997)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)