"Developers who are using aspect-oriented programming will appreciate this contribution to aspect-oriented analysis and design. The authors are pioneers in this area and have elaborated on past research to produce a detailed methodology and notation for early aspects."-Ron Bodkin, Chief Technology Officer, New Aspects of Software"Aspect-orientation is a powerful approach for programming complex systems. There is a lot to be gained from applying this approach during modeling and designing, as well. The Theme approach in this book represents an important advancement in AOP adoption by providing practitioners means to apply aspect-orientation early on."-Ramnivas Laddad, Author of AspectJ in Action"Clarke & Baniassad have written an interesting book that shows how to use aspects to solve a difficult problem: composing independent program fragments with overlapping functionality. The included case studies well illustrate the principles. I recommend the book.-Charles B. Haley, Research Fellow, The Open University"This book presents a very useful set of techniques for helping software developers to identify the aspects. I am sure that this book will rapidly become a landmark reference for the software community!"-João M. Fernandes, Ph.D., Universidade do MinhoAspect-oriented software development (AOSD) is emerging as a viable approach for allowing the separate expression of multiple concerns along with "weaving" technologies for knitting together these separate expressions into coherent systems. Thanks to its great promise as an approach to simplifying the development of complex systems, many expert observers view AOSD as a worthwhile successor to the prevalent object-oriented paradigm.In this new book, two AOSD experts apply theory to the practical realm of real-world development. They explain the different kinds of aspects, help the reader identify them, and provide guidance on successful design and implementation. The result is an applicable and easy-to-digest methodology for simplifying and optimizing the development of software systems.Aspect-Oriented Analysis and Design: The Theme Approach will be particularly helpful for developers who are trying to answer the common questions of "What is an aspect?", "Which aspects should I be coding?", and "How do I design aspects?" Readers will come away with a starting point for thinking about aspects and accounting for them in requirements and design.Meanwhile, seasoned AO practitioners will learn more about different models of decomposition, identifying aspect functionality in requirements documentation, designing aspects, and how to map aspect designs to code. The authors' groundbreaking Theme approach to AOSD offers both a flexible way to identify aspect functionality and a UML-based design modeling language that can describe aspects independently of programming language.In short, practitioners and early adopters of AO alike will appreciate this book's practical information on how to make the significant shift to AOSD.© Copyright Pearson Education. All rights reserved.
Cited By
- Aydemir F and Dalpiaz F Supporting Collaborative Modeling via Natural Language Processing Conceptual Modeling, (223-238)
- Khan M, Sartaj H, Iqbal M, Usman M and Arshad N (2019). AspectOCL, Empirical Software Engineering, 24:4, (2674-2724), Online publication date: 1-Aug-2019.
- Fabry J, Zambrano A and Gordillo S (2016). Expressing aspectual interactions in design, Software and Systems Modeling (SoSyM), 15:3, (881-905), Online publication date: 1-Jul-2016.
- Jepsen J and Kindler E The Event Coordination Notation Revised Selected Papers of the International Workshops on Behavior Modeling -- Foundations and Applications - Volume 6368, (133-164)
- Phalnikar R and Jinwala D (2015). Analysis of Conflicting User Requirements in Web Applications Using Graph Transformation, ACM SIGSOFT Software Engineering Notes, 40:2, (1-7), Online publication date: 3-Apr-2015.
- Alam O and Kienzle J Incremental software design modelling Proceedings of the 2013 Conference of the Center for Advanced Studies on Collaborative Research, (325-339)
- Persson M, Törngren M, Qamar A, Westman J, Biehl M, Tripakis S, Vangheluwe H and Denil J A characterization of integrated multi-view modeling in the context of embedded and cyber-physical systems Proceedings of the Eleventh ACM International Conference on Embedded Software, (1-10)
- Araújo J, Goulão M, Moreira A, Simão I, Amaral V and Baniassad E Advanced modularity for building SPL feature models Proceedings of the 28th Annual ACM Symposium on Applied Computing, (1246-1253)
- Farias K, Garcia A, Whittle J, Chavez C and Lucena C Evaluating the effort of composing design models Proceedings of the 15th international conference on Model Driven Engineering Languages and Systems, (676-691)
- Farias K, Garcia A and Lucena C Evaluating the impact of aspects on inconsistency detection effort Proceedings of the 15th international conference on Model Driven Engineering Languages and Systems, (219-234)
- Zhang G Aspect-oriented modeling of mutual exclusion in UML state machines Proceedings of the 8th European conference on Modelling Foundations and Applications, (162-177)
- Linehan É, O'Toole E and Clarke S (2012). Model-driven automation for simulation-based functional verification, ACM Transactions on Design Automation of Electronic Systems, 17:3, (1-25), Online publication date: 1-Jun-2012.
- Bálik J and Vranić V Symmetric aspect-orientation Proceedings of the 2012 workshop on Next Generation Modularity Approaches for Requirements and Architecture, (7-12)
- Zhang G and Hölzl M Weaving semantic aspects in HiLA Proceedings of the 11th annual international conference on Aspect-oriented Software Development, (263-274)
- Van Landuyt D, Op de beeck S, Truyen E and Joosen W Domain-Driven discovery of stable abstractions for pointcut interfaces Transactions on Aspect-Oriented Software Development IX, (1-52)
- Long D, Gibbs C, Horspool N and Coady Y HiLPR Proceedings of the 18th Conference on Pattern Languages of Programs, (1-14)
- Fabry J, Zambrano A and Gordillo S Expressing aspectual interactions in design Proceedings of the 14th international conference on Model driven engineering languages and systems, (93-107)
- Wimmer M, Schauerhuber A, Kappel G, Retschitzegger W, Schwinger W and Kapsammer E (2011). A survey on UML-based aspect-oriented design modeling, ACM Computing Surveys, 43:4, (1-33), Online publication date: 1-Oct-2011.
- Pires P, Delicato F, Pinto M, Fuentes L and Marinho É Software evolution in AOSD Proceedings of the 14th international ACM Sigsoft symposium on Component based software engineering, (193-198)
- Zhang G and Hölzl M Aspect-Oriented modeling of web applications with HiLA Proceedings of the 11th international conference on Current Trends in Web Engineering, (211-222)
- Kindler E Integrating behaviour in software models Proceedings of the Third Workshop on Behavioural Modelling, (41-48)
- Gottardi T, Delosso Penteado R and Vieira de Camargo V A process for aspect-oriented platform-specific profile checking Proceedings of the 2011 international workshop on Early aspects, (1-5)
- Driver C, Reilly S, Linehan É, Cahill V and Clarke S (2011). Managing embedded systems complexity with aspect-oriented model-driven engineering, ACM Transactions on Embedded Computing Systems, 10:2, (1-26), Online publication date: 1-Dec-2010.
- Boucké N, Weyns D and Holvoet T (2010). Composition of architectural models, Journal of Systems and Software, 83:11, (2108-2127), Online publication date: 1-Nov-2010.
- Kramer M and Kienzle J Mapping aspect-oriented models to aspect-oriented code Proceedings of the 2010 international conference on Models in software engineering, (125-139)
- Morin B, Klein J, Kienzle J and Jézéquel J Flexible model element introduction policies for aspect-oriented modeling Proceedings of the 13th international conference on Model driven engineering languages and systems: Part II, (63-77)
- Johannes J and Aßmann U Concern-based (de)composition of model-driven software development processes Proceedings of the 13th international conference on Model driven engineering languages and systems: Part II, (47-62)
- Rodríguez-Echeverría R, Conejero J, Linaje M, Preciado J and Sánchez-Figueroa F Re-engineering legacy web applications into rich internet applications Proceedings of the 10th international conference on Web engineering, (189-203)
- Kindler E Model-based software engineering Proceedings of the Second International Workshop on Behaviour Modelling: Foundation and Applications, (1-8)
- Lopez-Herrejon R and Egyed A Detecting inconsistencies in multi-view models with variability Proceedings of the 6th European conference on Modelling Foundations and Applications, (217-232)
- Firmenich S, Rossi G, Urbieta M, Gordillo S, Challiol C, Nanard J, Nanard M and Araujo J (2010). Engineering concern-sensitive navigation structures, concepts, tools and examples, Journal of Web Engineering, 9:2, (157-185), Online publication date: 1-Jun-2010.
- Júnior J, Penteado R and de Camargo V An overview and an empirical evaluation of UML-AOF Proceedings of the 2010 ACM Symposium on Applied Computing, (2289-2296)
- Zambrano A, Fabry J, Jacobson G and Gordillo S Expressing aspectual interactions in requirements engineering Proceedings of the 2010 ACM Symposium on Applied Computing, (2161-2168)
- Penim A and Araújo J Identifying and modeling aspectual scenarios with theme and MATA Proceedings of the 2010 ACM Symposium on Applied Computing, (287-291)
- Hovsepyan A, Scandariato R, Van Baelen S, Berbers Y and Joosen W From aspect-oriented models to aspect-oriented code? Proceedings of the 9th International Conference on Aspect-Oriented Software Development, (85-96)
- Farias K, Garcia A and Whittle J Assessing the impact of aspects on model composition effort Proceedings of the 9th International Conference on Aspect-Oriented Software Development, (73-84)
- Bombonatti D and Melnikoff S Survey on early aspects approaches Proceedings of the 4th WSEAS international conference on Computer engineering and applications, (137-142)
- Van Landuyt D, Truyen E and Joosen W Discovery of stable abstractions for aspect-oriented composition in the car crash management domain Transactions on aspect-oriented software development VII, (375-422)
- Kienzle J, Al Abed W, Fleurey F, Jézéquel J and Klein J Aspect-oriented design with reusable aspect models Transactions on aspect-oriented software development VII, (272-320)
- Hölzl M, Knapp A and Zhang G Modeling the car crash crisis management system using HiLA Transactions on aspect-oriented software development VII, (234-271)
- McNeile A and Roubtsova E Aspect-oriented development using protocol modeling Transactions on aspect-oriented software development VII, (115-150)
- Mussbacher G, Amyot D, Araújo J and Moreira A Requirements modeling with the aspect-oriented user requirements notation (AoURN) Transactions on aspect-oriented software development VII, (23-68)
- Van Landuyt D, Truyen E and Joosen W Discovery of stable abstractions for aspect-oriented composition in the car crash management domain Transactions on aspect-oriented software development VII, (375-422)
- Kienzle J, Al Abed W, Fleurey F, Jézéquel J and Klein J Aspect-oriented design with reusable aspect models Transactions on aspect-oriented software development VII, (272-320)
- Hölzl M, Knapp A and Zhang G Modeling the car crash crisis management system using HiLA Transactions on aspect-oriented software development VII, (234-271)
- McNeile A and Roubtsova E Aspect-oriented development using protocol modeling Transactions on aspect-oriented software development VII, (115-150)
- Mussbacher G, Amyot D, Araújo J and Moreira A Requirements modeling with the aspect-oriented user requirements notation (AoURN) Transactions on aspect-oriented software development VII, (23-68)
- Zhang G Aspect-oriented modeling of adaptive web applications with HiLA Proceedings of the 7th International Conference on Advances in Mobile Computing and Multimedia, (331-335)
- Menkyna R and Vranić V Aspect-Oriented change realization based on multi-paradigm design with feature modeling Proceedings of the 4th IFIP TC 2 Central and East European conference on Advances in Software Engineering Techniques, (40-53)
- Boulanger F, Jacquet C, Hardebolle C and Rouis E Modeling heterogeneous points of view with modhel'x Proceedings of the 2009 international conference on Models in Software Engineering, (310-324)
- Zhang G and Hölzl M HiLA Proceedings of the 2009 international conference on Models in Software Engineering, (104-118)
- Klein J, Kienzle J, Morin B and Jézéquel J Aspect Model Unweaving Proceedings of the 12th International Conference on Model Driven Engineering Languages and Systems, (514-530)
- Mussbacher G, Amyot D and Whittle J Refactoring-Safe Modeling of Aspect-Oriented Scenarios Proceedings of the 12th International Conference on Model Driven Engineering Languages and Systems, (286-300)
- Mussbacher G and Amyot D Extending the user requirements notation with aspect-oriented concepts Proceedings of the 14th international SDL conference on Design for motes and mobiles, (115-132)
- Mussbacher G and Amyot D Heterogeneous pointcut expressions Proceedings of the 2009 ICSE Workshop on Aspect-Oriented Requirements Engineering and Architecture Design, (8-13)
- Garcia A, Figueiredo E, Sant'Anna C, Pinto M and Fuentes L Representing architectural aspects with a symmetric approach Proceedings of the 15th workshop on Early aspects, (25-30)
- Galpin D, Driver C and Clarke S Modelling hardware verification concerns specified in the e language Proceedings of the 8th ACM international conference on Aspect-oriented software development, (207-212)
- Kienzle J, Al Abed W and Klein J Aspect-oriented multi-view modeling Proceedings of the 8th ACM international conference on Aspect-oriented software development, (87-98)
- Van Landuyt D, Op de beeck S, Truyen E and Joosen W Domain-driven discovery of stable abstractions for pointcut interfaces Proceedings of the 8th ACM international conference on Aspect-oriented software development, (75-86)
- Zhang Y, Yang H, Chen J and Meng X Themes4BPEL Proceedings of the 11th international conference on Advanced Communication Technology - Volume 1, (534-539)
- Navasa A, Pérez-Toledano M and Murillo J (2009). An ADL dealing with aspects at software architecture stage, Information and Software Technology, 51:2, (306-324), Online publication date: 1-Feb-2009.
- Baldi P, Lopes C, Linstead E and Bajracharya S (2008). A theory of aspects as latent topics, ACM SIGPLAN Notices, 43:10, (543-562), Online publication date: 27-Oct-2008.
- Baldi P, Lopes C, Linstead E and Bajracharya S A theory of aspects as latent topics Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications, (543-562)
- Rashid A and Chitchyan R Aspect-oriented requirements engineering Proceedings of the 13th international workshop on Early Aspects, (35-41)
- Kindler E and Schmelter D Aspect-oriented modelling from a different angle Proceedings of the 2008 AOSD workshop on Aspect-oriented modeling, (7-12)
- Jeanneret C, France R and Baudry B A reference process for model composition Proceedings of the 2008 AOSD workshop on Aspect-oriented modeling, (1-6)
- Munnelly J and Clarke S Infrastructure for ubiquitous computing Proceedings of the 2008 AOSD workshop on Aspects, components, and patterns for infrastructure software, (1-7)
- Boucke N and Holvoet T (2008). View composition in multiagent architectures, International Journal of Agent-Oriented Software Engineering, 2:1, (3-33), Online publication date: 1-Jan-2008.
- Zhang G, Hölzl M and Knapp A Enhancing UML state machines with aspects Proceedings of the 10th international conference on Model Driven Engineering Languages and Systems, (529-543)
- Whittle J, Moreira A, Araújo J, Jayaraman P, Elkhodary A and Rabbi R An expressive aspect composition language for UML state diagrams Proceedings of the 10th international conference on Model Driven Engineering Languages and Systems, (514-528)
- Jayaraman P, Whittle J, Elkhodary A and Gomaa H Model composition in product lines and feature interaction detection using critical pair analysis Proceedings of the 10th international conference on Model Driven Engineering Languages and Systems, (151-165)
- Szala & and Madeyski L The impact of test-driven development on software development productivity Proceedings of the 14th European conference on Software Process Improvement, (200-211)
- Torres D, Fernandez A, Rossi G and Gordillo S Fostering groupware tailorability through separation of concerns Proceedings of the 13th international conference on Groupware: design implementation, and use, (143-156)
- Cottenier T, van den Berg A and Elrad T Joinpoint inference from behavioral specification to implementation Proceedings of the 21st European conference on Object-Oriented Programming, (476-500)
- Ginzburg J, Rossi G, Urbieta M and Distante D Transparent interface composition in web applications Proceedings of the 7th international conference on Web engineering, (152-166)
- Carton A, Clarke S, Senart A and Cahill V Aspect-Oriented Model-Driven Development for Mobile Context-Aware Computing Proceedings of the 1st International Workshop on Software Engineering for Pervasive Computing Applications, Systems, and Environments
- Meier S, Reinhard T, Stoiber R and Glinz M Modeling and Evolving Crosscutting Concerns in ADORA Proceedings of the Early Aspects at ICSE: Workshops in Aspect-Oriented Requirements Engineering and Architecture Design
- Hanenberg S, Stein D and Unland R From aspect-oriented design to aspect-oriented programs Proceedings of the 6th international conference on Aspect-oriented software development, (49-62)
- Chitchyan R, Rashid A, Rayson P and Waters R Semantics-based composition for aspect-oriented requirements engineering Proceedings of the 6th international conference on Aspect-oriented software development, (36-48)
- Salvaneschi P Improving functional testing through aspects Proceedings of the 10th international conference on Early aspects: current challenges and future directions, (39-54)
- Mussbacher G, Amyot D, Whittle J and Weiss M Flexible and expressive composition rules with aspect-oriented use case maps (AoUCM) Proceedings of the 10th international conference on Early aspects: current challenges and future directions, (19-38)
- Joncheere N The service creation environment Proceedings of the 5th workshop on Software engineering properties of languages and aspect technologies, (4-es)
- Groher I and Voelter M XWeave Proceedings of the 10th international workshop on Aspect-oriented modeling, (35-40)
- Fuentes L and Sánchez P Towards executable aspect-oriented UML models Proceedings of the 10th international workshop on Aspect-oriented modeling, (28-34)
- Klein J, Fleurey F and Jézéquel J Weaving multiple aspects in sequence diagrams Transactions on aspect-oriented software development III, (167-199)
- Mussbacher G, Amyot D and Weiss M Visualizing early aspects with use case maps Transactions on aspect-oriented software development III, (105-143)
- Van Den Berg K, Conejero J and Hernández J Analysis of crosscutting in early software development phases based on traceability Transactions on aspect-oriented software development III, (73-104)
- Niu N and Easterbrook S Analysis of early aspects in requirements goal models Transactions on aspect-oriented software development III, (40-72)
- Brichau J, Chitchyan R, Clarke S, D'Hondt E, Garcia A, Haupt M, Joosen W, Katz S, Noye J, Rashid A and Sudholt M (2006). A Model Curriculum for Aspect-Oriented Software Development, IEEE Software, 23:6, (53-61), Online publication date: 1-Nov-2006.
- Kit L, Man C and Baniassad E Isolating and relating concerns in requirements using latent semantic analysis Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications, (383-396)
- Bübl F Keeping track of crosscutting requirements in UML models via context-based constraints Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications, (530-541)
- Kit L, Man C and Baniassad E (2006). Isolating and relating concerns in requirements using latent semantic analysis, ACM SIGPLAN Notices, 41:10, (383-396), Online publication date: 16-Oct-2006.
- Rashid A and Moreira A Domain models are NOT aspect free Proceedings of the 9th international conference on Model Driven Engineering Languages and Systems, (155-169)
- Georg G, Houmb S and Ray I Aspect-Oriented Risk Driven Development of Secure Applications 20th Annual IFIP WG 11.3 Working Conference on Data and Applications Security on Data and Applications Security XX - Volume 4127, (282-296)
- Eler M and Masiero P Aspects as components Proceedings of the 9th international conference on Reuse of Off-the-Shelf Components, (411-414)
- Silva L, Huzita E and Tait T Comparing Approaches in AORE through ISO/IEC 9126 Proceedings of the 2006 conference on New Trends in Software Methodologies, Tools and Techniques: Proceedings of the fifth SoMeT_06, (146-156)
- Nakajima S and Tamai T Aspect-oriented software design with a variant of UML/STD Proceedings of the 2006 international workshop on Scenarios and state machines: models, algorithms, and tools, (44-50)
- Alencar F, Castro J, Moreira A, Araújo J, Silva C, Ramos R and Mylopoulos J Integration of aspects with i* models Proceedings of the 8th international Bi conference on Agent-oriented information systems IV, (183-201)
- Pearce D and Noble J Relationship aspects Proceedings of the 5th international conference on Aspect-oriented software development, (75-86)
- Stein D, Hanenberg S and Unland R Expressing different conceptual models of join point selections in aspect-oriented design Proceedings of the 5th international conference on Aspect-oriented software development, (15-26)
- Noble J and Biddle R Postmodern prospects for conceptual modelling Proceedings of the 3rd Asia-Pacific conference on Conceptual modelling - Volume 53, (11-20)
- Jackson A and Clarke S Towards a generic aspect oriented design process Proceedings of the 2005 international conference on Satellite Events at the MoDELS, (110-119)
- Cottenier T, van den Berg A and Elrad T Modeling aspect-oriented compositions Proceedings of the 2005 international conference on Satellite Events at the MoDELS, (100-109)
Index Terms
- Aspect-Oriented Analysis and Design
Recommendations
Aspect-oriented programming
ESEC/FSE-9: Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineeringAspect-oriented programming (AOP) is a technique for improving separation of concerns in software design and implementation. AOP works by providing explicit mechanisms for capturing the structure of crosscutting concerns. This tutorial shows how to use ...
Aspect-oriented requirements engineering: approaches and techniques
DATA '18: Proceedings of the First International Conference on Data Science, E-learning and Information SystemsAspect Oriented Software Development (AOSD) builds on the concept of Separation of Concerns (SoC). It improves software modularity by encapsulating crosscutting concerns into new units called aspects. Aspect Oriented Requirements Engineering (AORE) is ...