Abstract
At different stages of the aspect development lifecycle, there are different properties of aspects that need to be considered. Currently, there is no integrated approach to defining the appropriate characteristics of aspects at the appropriate stage, or of tracing decisions made for evolution purposes. Our focus is on the early aspects stages of development — requirements analysis, architecture design, and detailed design — where there are already many different approaches that provide useful constructs and mechanisms to capture the different properties of aspects that are in play at the relevant stage. However, it is difficult to move between stages using different approaches. In this paper, we describe an aspect mapping from requirements to architecture to design: in particular, Theme/Doc (requirements), CAM (architecture) and Theme/UML (design). The mapping includes heuristics to guide as to the right time to specify the right aspect properties. In addition, it allows aspect decisions captured at each stage to be refined at later stages as appropriate. While this provides an integrated approach for aspect specification, it is not enough to facilitate the traceability of aspect decisions. To this end, we also describe a means to record decisions that capture the alternatives considered and the decision justification. This information is crucial for managing aspect evolution at the right time.
This work has been supported by European Commission grant IST-2-004349: European Network of Excellence on Aspect-Oriented Software Development (AOSD-Europe), 2004–2008.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Filman, R., Elrad, T., Clarke, S., Aksit, M. (eds.): Aspect-Oriented Software Development. Addison-Wesley, Reading (2004)
Chitchyan, R., Rashid, A., Sawyer, P., Garcia, A., Pinto, M., Bakker, J., Tekinerdogan, B., Clarke, S., Jackson, A.: Report synthesizing state-of-the-art in aspect-oriented requirements engineering, architectures and design. AOSD-Europe Deliverable D11. Lancaster University (May 2005), http://www.aosd-europe.net/deliverables/d11.pdf
Clarke, S., Baniassad, E.: Aspect-Oriented Analysis and Design: The Theme Approach. Addison-Wesley, Reading (2005)
Pinto, M., Fuentes, L., Troya, J.M.: A Dynamic Component and Aspect-Oriented Platform. The Computer Journal 48(4), 401–442 (2005)
Sendall, S., Strohmeier, A.: Specifying Concurrent System Behaviour and Timing Constraints using OCL and UML. In: Gogolla, M., Kobryn, C. (eds.) «UML» 2001 – The Unified Modeling Language. Modeling Languages, Concepts, and Tools. LNCS, vol. 2185, pp. 391–405. Springer, Heidelberg (2001)
Rashid, A., Moreira, A., Araújo, J.: Modularisation and Composition of Aspectual Requirements. In: Proceedings of the 2nd International Conference on Aspect-Oriented Software Development (AOSD), Boston, USA, pp. 11–20 (March 2003)
Jacobson, I.: Object-Oriented Software Engineering: A Use Case Driven Approach, 1st edn. Addison-Wesley, Reading (1992)
Soeiro, E., Brito, I., Moreira, A.: An XML-Based Language for Specification and Composition of Aspectual Concerns. In: Proceedings of the 8th International Conference on Enterprise Information Systems (ICEIS), Paphos, Cyprus, December 2006, pp. 410–419 (2006)
Brinksma, E. (ed.): Information Processing Systems - Open Systems Interconnection - LOTOS - A Formal Description Technique Based on the Temporal Ordering of Observational Behaviour. ISO 8807 (1988)
Lamsweerde, A.V., Dardenne, A., Delcourt, B., Dubisy, F.: The KAOS Project: Knowledge Acquisition in Automated Specification of Software. In: American Association for Artificial Intelligence (AAAI). Spring Symposium Series, Stanford University, USA, pp. 59–62 (March 1991)
Garcia, A., Chavez, C., Batista, T., Sant’anna, C., Kulesza, U., Rashid, A., Lucena, C.: On the Modular Representation of Architectural Aspects. In: Gruhn, V., Oquendo, F. (eds.) EWSA 2006. LNCS, vol. 4344, pp. 82–97. Springer, Heidelberg (2006)
Pessemier, N., Seinturier, L., Duchien, L.: Components, ADL and AOP: Towards a Common Approach. In: Odersky, M. (ed.) ECOOP 2004. LNCS, vol. 3086, Springer, Heidelberg (2004)
Pérez, J., Ramos, I., Jaén, J., Letelier, P., Navarro, E.: PRISMA: Towards Quality, Aspect-Oriented and Dynamic Software Architectures. In: Proceedings of the 3rd International Conference on Quality Software (QSIC), Dallas, USA, pp. 59–66 (November 2003)
Szyperski, C.: Component Software: Beyond Object-Oriented Programming, 2nd edn. Addison-Wesley, Reading (2002)
Jacobson, I., Booch, G., Rumbaugh, J.: The Unified Software Development Process, 1st edn. Addison-Wesley, Reading (1999)
Rumbaugh, J.R, Blaha, M.R, Lorensen, W., Eddy, F., Premerlani, W.: Object-Oriented Modeling and Design. Prentice Hall, Englewood Cliffs (1990)
Shaller, D., Mellor, S.J.: Object Oriented Systems Analysis: Modeling the World in Data. Prentice Hall, Englewood Cliffs (1988)
D’Souza, D.F, Wills, A.C.: Objects, Components, and Frameworks with UML: The Catalysis Approach. Addison-Wesley, Reading (1998)
Chitchyan, R., Pinto, M., Fuentes, L., Rashid, A.: Relating AO Requirements to AO Architecture. In: Proceedings of the 7th Workshop on Early Aspects (EA), at the 20th International Conference on Objects-Oriented Programming, Systems and Applications (OOPSLA), San Diego, USA (October 2005)
Moreira, A., Rashid, A., Araújo, J.: Multi-Dimensional Separation of Concerns in Requirements Engineering. In: Proceedings of 13th International Conference on Requirements Engineering (RE), Paris, France, August-September 2005, pp. 285–296 (2005)
Jackson, A., Sánchez, P., Fuentes, L., Clarke, S.: Towards Traceability from AO Architecture Design to AO Design. In: Proceedings of the 8th Workshop on Early Aspects: Traceability of Aspects in the Early Life Cycle (EA), at the 5th International Conference on Aspect-Oriented Software Development, Bonn, Germany (March 2006)
Pinto, M., Fuentes, L., Troya, J.M.: Supporting the Development of CAM/DAOP Applications: An Integrated Development Process. Software: Practice and Experience 37(1), 21–64 (2007)
Jones, C.: Software Assessments, Benchmarks, and Best Practices, 1st edn. Addison-Wesley, Reading (2000)
Han, Y., Kniesel, G., Cremers, A.B.: A Meta Model and Modelling Notation for AspectJ. In: Proceedings of the 5th Workshop on Aspect-oriented Modelling with UML (AOM), at the 7th International Conference on Unified Modelling Language - the Language and its applications (UML), Lisbon, Portugal (October 2004)
Herrmann, S.: Composable Designs with UFA. In: Proceedings of the 1st Workshop on Aspect-oriented Modelling (AOM), at the 1st International Conference on Aspect-Oriented Software Development (AOSD), Enschede, The Netherlands (April 2002)
Barais, O., Duchien, L., Cariou, E., Pessemier, N., Seinturier, L.: TranSAT: A Framework for the Specifcation of Software Architecture Evolution. In: Odersky, M. (ed.) ECOOP 2004. LNCS, vol. 3086, Springer, Heidelberg (2004)
Baros, J.P., Gomes, L.: Activities as Behaviour Aspects. In: Proceedings of the 2nd Workshop on Aspect-oriented Modelling (AOM), at the 2nd International Conference on Unified Modelling Language - the Language and its Applications (UML), Dresden, Germany (September-October 2002)
Grundy, J.: Multi-Perspective Specification, Design And Implementation Of Software Components Using Aspects. International Journal of Software Engineering and Knowledge Engineering 10(6), 713–734 (2000)
Jacobson, I., Ng, P.: Aspect-Oriented Software Development with Use Cases. Adisson-Wesley, Reading (2004)
Magno, J., Moreira, A.: Concern Interactions and Tradeoffs: Preparing Requirements to Architecture. In: Thomas, D. (ed.) ECOOP 2006. LNCS, vol. 4067, Springer, Heidelberg (2006)
Sánchez, P., Magno, J., Fuentes, L., Moreira, A., Araújo, J.: Towards MDD Transformations from AO requirements to AO architecture. In: Gruhn, V., Oquendo, F. (eds.) EWSA 2006. LNCS, vol. 4344, pp. 159–174. Springer, Heidelberg (2006)
Parnas, D.L.: On the Criteria to be used in Decomposing Systems into Modules. Communications of the ACM 15(12), 1053–1058 (1972)
Katara, M., Katz, S.: Architectural Views of Aspects. In: Proceedings of the 2nd International Conference on Aspect-Oriented Software Development (AOSD), Boston, USA, pp. 1–10 (March 2003)
Maletic, J.I., Collard, M.L., Simoes, B.: An XML-Based Approach to Support the Evolution of Model-to-Model Traceability Links. In: Proceedings of the 3rd International Workshop on Traceability in Emerging Forms of Software Engineering (TEFSE), at the 20th International Conference on Automated Software Engineering (ASE), Long Beach USA, November 2005, pp. 67–72 (2005)
Sabetzadeh, M., Easterbrook, S.: Traceability in Viewpoint Merging: A Model Management Perspective. In: Proceedings of the 3rd International Workshop on Traceability in Emerging Forms of Software Engineering (TEFSE), at the 20th International Conference on Automated Software Engineering (ASE), Long Beach USA, November 2005, pp. 44–49 (2005)
Van den Berg, K., Tekinerdogan, B., Nguyen, H.: Analysis of Crosscutting in Model Transformations. In: Proceedings of the 2nd ECMDA Workshop on Traceability (ECMDA-TW), at 2nd European Conference on Model Driven Architecture – Foundations and Applications (ECMDA-FA), SINTEF Report (A219), Bilbao, Spain, July 2006, pp. 51–54 (2006)
Bass, L., Clements, P., Kazman, R.: Software architecture in practice. Addison-Wesley, Reading (1997)
Van Landuyt, D., Jackson, A., Op de beeck, S., Grégoire, J., Scandariato, R., Joosen, W., Clarke, S.: Aspectual vs. Component-based Decomposition: A Quantitative Study. In: Proceedings of the 1st Workshop on Aspects in Architectural Description (AARCH), at the 6th International Conference on Aspect-Oriented Software Development (AOSD), Vancouver, Canada (March 2007)
Van Landuyt, D., Jackson, A., Op de beeck, S., Grégoire, J., Scandariato, R., Joosen, W., Clarke, S.: Aspectual vs. Component-based Decomposition: Comparing the maintainability of AO and CB design: A Quantitative Study. In: Proceedings of the 1st Workshop on Aspects in Architectural Description (AARCH), at the 6th International Conference on Aspect-Oriented Software Development (AOSD), Vancouver, Canada (March 2007)
Sant’Anna, C., Lobato, C., Kulesza, U., García, A., Chavez, C., Lucena, C.: On the Quantitative Assessment of Modular Multi-Agent System Architectures. In: Proceedings of the Special Track on Multiagent Systems and Software Architecture (MASSA), at the 7th Net.ObjectDays Conference, Erfurt, Germany, September 2006, pp. 111–135 (2006)
Sant’Anna, C., Figueiredo, E., Garcia, A., Lucena, C.: On the Modularity Assessment of Software Architectures: Do my architectural concerns count? In: Proceedings of the 1st Workshop on Aspects in Architectural Description (AARCH), at the International Conference on Aspect-Oriented Software Development (AOSD), Vancouver, Canada (March 2007)
Tekinerdogan, B., Sant’Anna, C., Garcia, A., Figueiredo, E., Pinto, M., Fuentes L.: General Architectural Evaluation Process Metrics, AOSD-Europe Deliverable D85, University of Twente (May 2007), http://www.aosd-europe.net/deliverables/d85.pdf
Lopes, C.V., Bajracharya, S.K.: Assessing Aspect Modularizations Using Design Structure Matrix and Net Option Value. In: Rashid, A., Aksit, M. (eds.) Transactions on Aspect-Oriented Software Development I. LNCS, vol. 3880, pp. 1–35. Springer, Heidelberg (2006)
Garcia, A., Sant’Anna, C., Figueiredo, E., Kulesza, U., Lucena, C., von Staa, A.: Modularizing Design Patterns with Aspects: A Quantitative Study. In: Rashid, A., Aksit, M. (eds.) Transactions on Aspect-Oriented Software Development I. LNCS, vol. 3880, pp. 36–74. Springer, Heidelberg (2006)
Ramesh, B., Dhar, V.: Supporting Systems Development by Capturing Deliberations During Requirements Engineering. IEEE Transactions on Software Engineering 18(6), 498–510 (1992)
Potts, C., Burns, G.: Recording the reasons for design decisions. In: Proceedings of the 10th International Conference on Software Engineering (ICSE), Singapore, April 1998, pp. 418–427 (1988)
Blazer, R., Cheatham, T., Green, C.: Software technology in the 90s: using a new paradigm. IEEE Computer 16, 39–45 (1983)
Brooks, F.P.: No Silver Bullet: Essence and Accidents of Software Engineering. Computer 20(4), 10–19 (1987)
Ahn, S., Chong, K.: A: Feature-Oriented Requirements Tracing Method: A Study of Cost-benefit Analysis. In: Proceedings of International Conference on Hybrid Information Technology (ICHIT), Cheju Island, Korea, November 2006, pp. 611–616 (2006)
Heindl, M., Biffl, S.: A case study on value-based requirements tracing. In: Gilbert, H., Handschuh, H. (eds.) FSE 2005. LNCS, vol. 3557, pp. 60–69. Springer, Heidelberg (2005)
Boehm, B., Huang, L.G.: Value-Based Software Engineering: A Case Study. Computer 36(3), 33–41 (2003)
Ramesh, B., Jarke, M.: Toward reference models for requirements traceability. IEEE Transactions on Software Engineering 27(1), 58–93 (2001)
Beydeda, S., Book, M., Gruhn, V.(eds.): Model-driven Software Development. Springer, Heidelberg (2005)
Stahl, T., Voelter, M.: Model-Driven Software Development: Technology, Engineering, Management. John Wiley & Sons, Chichester (2006)
Lieberherr, K., Lorenz, D., Mezini, M.: Programming with Aspectual Components, Technical Report NU-CCS99 -01, Northeastern University (March 1999)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Sánchez, P., Fuentes, L., Jackson, A., Clarke, S. (2007). Aspects at the Right Time. In: Rashid, A., Aksit, M. (eds) Transactions on Aspect-Oriented Software Development IV. Lecture Notes in Computer Science, vol 4640. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-77042-8_3
Download citation
DOI: https://doi.org/10.1007/978-3-540-77042-8_3
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-77041-1
Online ISBN: 978-3-540-77042-8
eBook Packages: Computer ScienceComputer Science (R0)