Using Aspects to Model Volatile Concerns

  • Ana Moreira
  • João Araújo
  • Jon Whittle
  • Miguel Goulão
Chapter

Abstract

A rapidly changing market leads to software systems with highly volatile requirements. In many cases, new demands in software can often be met by extending the functionality of systems already in operation. By modularizing volatile requirements that can be altered at the client’s initiative or according to market demands, we can build a stepping-stone for management of requirements change. The volatility must be managed in a way that reduces the time and costs associated with updating a system to meet the new requirements. In this chapter, we present an approach for handling volatile concerns during early life cycle software modeling. The key insight is that techniques for aspect-oriented software development can be applied to modularize volatility and to weave volatile concerns into the base software artifacts.

References

  1. 1.
    J Araújo, J. Whittle, D.-K. Kim, Modeling and composing scenario-based requirements with aspects, in Paper presented at the 12th IEEE International Requirements Engineering Conference, 2004 (RE 2004), Kyoto, Japan, 2004, pp. 58–67Google Scholar
  2. 2.
    E. Baniassad, S. Clarke, Theme: an approach for aspect-oriented analysis and design, in Paper presented at the 26th International Conference on Software Engineering (ICSE'04), Edinburgh, Scotland, 2004, pp. 158–167Google Scholar
  3. 3.
    R. Chitchyan, A. Rashid, P. Sawyer, A. Garcia, M.P. Alarcon, J. Bakker, B. Tekinerdogan, S. Clarke, A. Jackson, Survey of Analysis and Design Approaches, AOSD-Europe, 2005, p. 259Google Scholar
  4. 4.
    L. Chung, B.A. Nixon, E. Yu, Non-functional Requirements in Software Engineering, vol. 5 (Kluwer Academic, Boston, MA, 2000)CrossRefMATHGoogle Scholar
  5. 5.
    S. Clarke, R.J. Walker, Composition patterns: an approach to designing reusable aspects, in Paper presented at the 23rd International Conference on Software Engineering (ICSE'2001), Toronto, ON, 2001, pp. 5–14Google Scholar
  6. 6.
    P. Clements, L. Northrop, Software Product Lines: Practices and Patterns, 3rd edn. (Addison Wesley Professional, New York, NY, 2001)Google Scholar
  7. 7.
    K. Czarnecki, U.W. Eisenecker, Generative Programming: Methods, Tools and Applications, 1st edn. (Addison-Wesley, New York, NY, 2000)Google Scholar
  8. 8.
    Å.G. Dahlstedt, A. Persson, Requirements interdependencies – moulding the State of Research into a Research Agenda, in Paper presented at the 9th International Workshop on Requirements Engineering – Foundation for Software Quality (REFSQ'03), Klagenfurt/Velden, Austria, 2003, pp. 55–64Google Scholar
  9. 9.
    D.G. Firesmith, Creating a project-specific requirements engineering process. J. Object Technol. 3(5), 31–44 (2004)CrossRefGoogle Scholar
  10. 10.
    R. France, D.-K. Kim, S. Ghosh, E. Song, A UML-based pattern specification technique. IEEE Trans. Softw. Eng. 30(3), 193–206 (2004)CrossRefGoogle Scholar
  11. 11.
    I. Jacobson, P.-W. Ng, Aspect-Oriented Software Development with Use Cases (Addison-Wesley Professional, New York, NY, 2005)Google Scholar
  12. 12.
    G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm, W.G. Griswold, An overview of AspectJ, in Paper presented at the 15th European Conference on Object-Oriented Programming (ECOOP 2001), Budapest, Hungary, 2001, pp. 327–354Google Scholar
  13. 13.
    J. Kienzle, N. Guelfi, S. Mustafiz, Crisis management systems: a case study for aspect-oriented modeling. Trans. Aspect Oriented Softw. Dev. 6210(2010), 1–22 (2010)Google Scholar
  14. 14.
    Y.K. Malaiya, J. Denton, Requirements volatility and defect density, in Paper presented at the 10th International Symposium on Software Reliability Engineering (ISSRE), Boca Raton, FL, 1999, pp. 285–294Google Scholar
  15. 15.
    A. Moreira, J. Araújo, Handling unanticipated requirements change with aspects, in Paper presented at the Software Engineering and Knowledge Engineering Conference (SEKE 2004), 2004, pp. 411–415Google Scholar
  16. 16.
    A. Moreira, J.L. Fiadeiro, L. Andrade, Requirements through coordination contracts, in Paper presented at the Advanced Information Systems Engineering, 2003, pp. 633–646Google Scholar
  17. 17.
    OMG, OMG Unified Modeling Language (OMG UML), Infrastructure, version 2.3, formal/2010-05-03 (Object Management Group Inc., 2010a), p. 226Google Scholar
  18. 18.
    OMG, OMG Unified Modeling Language (OMG UML), Superstructure, formal/2010-05-05 (Object Management Group Inc., 2010b), p. 758Google Scholar
  19. 19.
    A. Rashid, A. Moreira, J. Araújo, Modularisation and composition of aspectual requirements, in Paper presented at the 2nd International Conference on Aspect-Oriented Software Development (AOSD 2003), Boston, MA, 2003, pp. 11–20Google Scholar
  20. 20.
    A. Sampaio, R. Chitchyan, A, Rashid, P. Rayson, EA-Miner: a tool for automating aspect-oriented requirements identification, in Paper presented at the 20th IEEE/ACM International Conference on Automated Software Engineering (ASE 2005), Long Beach, CA, 2005, pp. 352–355Google Scholar
  21. 21.
    I. Sommerville, Software Engineering, 8th edn. (Addison-Wesley, New York, NY, 2006)Google Scholar
  22. 22.
    E. Yu, Modelling strategic relationships for process reengineering, PhD Thesis, University of Toronto, 1995Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Ana Moreira
    • 1
  • João Araújo
    • 1
  • Jon Whittle
    • 2
  • Miguel Goulão
    • 1
  1. 1.Departamento de InformáticaUniversidade Nova de LisboaCaparicaPortugal
  2. 2.Computing Science DepartmentUniversity of LancasterLancashireUK

Personalised recommendations