Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1509239.1509251acmconferencesArticle/Chapter ViewAbstractPublication PagesmodularityConference Proceedingsconference-collections
research-article

Domain-driven discovery of stable abstractions for pointcut interfaces

Published: 02 March 2009 Publication History

Abstract

The benefits of defining explicit pointcut interfaces in aspect-oriented applications have been advocated by many. A pointcut interface exposes a set of crosscutting abstract behaviours (as named pointcut signatures) that multiple aspects in the application can use. In accordance with the dependency inversion and stable dependencies principles, a pointcut interface should expose only stable abstractions in order to maximally promote its reuse across a family of applications.
In this paper, we propose a domain-driven architecture method for designing such stable pointcut interfaces. The method employs systematic reengineering of use case models to discover stable abstractions that are anchored in the domain model of the application. During architecture design, these stable domain abstractions are mapped to pointcut interfaces. As part of this mapping activity, the architecture is constrained to ensure that the pointcut interfaces can be implemented correctly.
We have applied this method in two applications, where we validate that pointcut interfaces can be reused for implementing the composition logic of different aspects without requiring modification to their pointcut signatures. Moreover, the method consistently yields pointcut interface hierarchies.

References

[1]
Jonathan Aldrich. Open modules: Modular reasoning about advice. In ECOOP, pages 144--168, 2005.
[2]
João Araújo, Ana Moreira, Isabel Brito, and Awais Rashid. Aspect-oriented requirements with UML. In Mohamed Kandé, Omar Aldawud, Grady Booch, and Bill Harrison, editors, Workshop on Aspect-Oriented Modeling with UML, 2002.
[3]
João Araújo and Ana M. D. Moreira. An aspectual use-case driven approach. In Ernesto Pimentel, Nieves R. Brisaboa, and Jaime Gómez, editors, JISBD, pages 463--468, 2003.
[4]
Elisa L. A. Baniassad, Paul C. Clements, João Araújo, Ana Moreira, Awais Rashid, and Bedir Tekinerdogan. Discovering early aspects. IEEE Software, 23(1):61--70, 2006.
[5]
Olivier Barais, Eric Cariou, Laurence Duchien, Nicolas Pessemier, and Lionel Seinturier. Transat: A framework for the specification of software architecture evolution. In ECOOP First International Workshop on Coordination and Adaptation Techniques for Software Entities (WCAT04), Oslo, Norway, jun 2004.
[6]
L. Bass, P. Clements, and R. Kazman. Software Architecture in Practice. Addison-Wesley, second edition, 2003.
[7]
Ruzanna Chitchyan, Mónica Pinto, Awais Rashid, and Lidia Fuentes. Compass: Composition-centric mapping of aspectual requirements to architecture. Transactions on Aspect-Oriented Software Development IV, pages 3--53, 2007.
[8]
S. Clarke and E. Baniassad. Aspect-Oriented Analysis and Design: the Theme Approach. Addison-Wesley Reading, 2005.
[9]
Eric Evans. Domain-Driven Design: Tackling Complexity in the Heart of Software. Addison-Wesley, 2004.
[10]
Robert B. France, Indrakshi Ray, Geri Georg, and Sudipto Ghosh. Aspect-oriented approach to early design modelling. IEE Proceedings -- Software, 151(4):173--186, 2004.
[11]
Martin L. Griss. Implementing product-line features by composing aspects. In Patrick Donohoe, editor, SPLC, pages 271--289. Kluwer, 2000.
[12]
Stephan Gudmundson and Gregor Kiczales. Addressing practical software development issues in aspectj with a pointcut interface. In Advanced Separation of Concerns, 2001.
[13]
Stephan Herrmann, Christine Hundt, and Katharina Mehner. Mapping use case level aspects to object teams/java. In OOPSLA Workshop on Early Aspects, 2004.
[14]
Martin E. Nordberg III. Aspect-oriented dependency inversion. In Workshop on Advanced Separation of Concerns in Object-Oriented Systems at OOPSLA, 2001.
[15]
Ivar Jacobson and Pan-Wei Ng. Aspect-Oriented Software Development with Use Cases. Addison-Wesley, 1st edition, December 2004.
[16]
Mika Katara and Shmuel Katz. Architectural views of aspects. In AOSD '03: Proceedings of the 2nd international conference on Aspect-oriented software development, pages 1--10, New York, NY, USA, 2003. ACM.
[17]
Andy Kellens, Kim Mens, Johan Brichau, and Kris Gybels. Managing the evolution of aspect-oriented software with model-based pointcuts. In Dave Thomas, editor, ECOOP, volume 4067 of Lecture Notes in Computer Science, pages 501--525. Springer, 2006.
[18]
C. Koppen and M. Stoerzer. Pcdiff: attacking the fragile pointcut problem. In First European Interactive Workshop on Aspects in Software (EIWAS), 2004.
[19]
Uirá Kulesza, Er Alves, Ro Garcia, Carlos J. P. De Lucena, and Paulo Borba. Improving extensibility of object-oriented frameworks with aspect-oriented programming. In Proc. of the 9th Intl Conf. on Software Reuse (ICSR'06, pages 231--245, 2006.
[20]
Uirá Kulesza, Er Alves, Ro Garcia, Alberto Costa Neto, Elder Cirilo, Carlos J. P. De Lucena, and Paulo Borba. Mapping features to aspects: A model-based generative approach. In Early Aspects: Current Challenges and Future Directions, volume 4765 of LNCS. Springer, 2007.
[21]
Bert Lagaisse, Bart De Win, Wouter Joosen, and Johan Van Oeyen. E-finance case study: analysis and requirements. CW-Report 438, DistriNet, KULeuven, March 2006.
[22]
Dimitri Van Landuyt, Steven Op de beeck, Bas Kemper, Eddy Truyen, and Wouter Joosen. Building a next-generation digital publishing platform using aosd; \textithttp://distrinet.cs.kuleuven.be/projects/digitalpublishing/.
[23]
Dimitri Van Landuyt, Steven Op de beeck, Eddy Truyen, and Wouter Joosen. An aspect--oriented architecture for the e-finance case study; http://distrinet.cs.kuleuven.be/projects/aoarchitectureefinance/.
[24]
Jacques Meekel, Thomas B. Horton, Robert B. France, Charlie Mellone, and Sajid Dalvi. From domain models to architecture frameworks. In SSR '97: Proceedings of the 1997 symposium on Software reusability, pages 75--80, New York, NY, USA, 1997. ACM.
[25]
Kim Mens, Andy Kellens, Frédéric Pluquet, and Roel Wuyts. Co-evolving code and design with intentional views: A case study. Computer Languages, Systems & Structures, 32(2-3):140--156, 2006.
[26]
Freddy Munoz, Benoit Baudry, and Olivier Barais. Improving maintenance in aop through an interaction specification framework. In ICSM, pages 77--86. IEEE, 2008.
[27]
Nan Niu and Steve Easterbrook. Analysis of early aspects in requirements goal models: A concept-driven approach. Transactions on Aspect-Oriented Software Development III, pages 40--72, 2007.
[28]
Bashar Nuseibeh. Weaving together requirements and architectures. IEEE Computer, 34(3):115--117, 2001.
[29]
M. Pinto and L. Fuentes. AO-ADL: An ADL for describing aspect-oriented architectures. In Early Aspects: Current Challenges and Future Directions, volume 4765 of LNCS. Springer, 2007.
[30]
Awais Rashid, Ana M. D. Moreira, and João Araújo. Modularisation and composition of aspectual requirements. In AOSD, pages 11--20, 2003.
[31]
Jonathan Sillito, Christopher Dutchyn, Andrew David Eisenberg, and Kris De Volder. Use case level pointcuts. In Martin Odersky, editor, ECOOP, volume 3086 of Lecture Notes in Computer Science, pages 244--266. Springer, 2004.
[32]
Ian Sommerville. Software Engineering. Pearson, 2008.
[33]
Geórgia Sousa, Sérgio Soares, Paulo Borba, and Jaelson Castro. Separation of crosscutting concerns from requirements to design: Adapting the use case driven approach. In In Proc. Early Aspects Workshop at AOSD, 2004.
[34]
Kevin J. Sullivan, William G. Griswold, Yuanyuan Song, Yuanfang Cai, Macneil Shonle, Nishit Tewari, and Hridesh Rajan. Information hiding interfaces for aspect-oriented design. In Michel Wermelinger and Harald Gall, editors, ESEC/SIGSOFT FSE, pages 166--175. ACM, 2005.
[35]
Tom Tourwé. On the existence of the aosd-evolution paradox. In In AOSD Workshop on Software Engineering Properties of Languages for Aspect Technologies, 2003.
[36]
Markus Völter and Iris Groher. Product line implementation using aspect-oriented and model-driven software development. In SPLC, pages 233--242. IEEE Computer Society, 2007.
[37]
Dean Wampler. Aspect-oriented design principles: Lessons from object-oriented design. In Proceedings of the 2007 AOSD conference. Object Mentor, Inc., Feb. 2007.
[38]
Yijun Yu, Julio Cesar Sampaio do Prado Leite, and John Mylopoulos. From goals to aspects: Discovering aspects from requirements goal models. In RE, pages 38--47. IEEE Computer Society, 2004.

Cited By

View all
  • (2021)Stability in Software Engineering: Survey of the State-of-the-Art and Research DirectionsIEEE Transactions on Software Engineering10.1109/TSE.2019.292561647:7(1468-1510)Online publication date: 1-Jul-2021
  • (2013)A design rule language for aspect-oriented programmingJournal of Systems and Software10.1016/j.jss.2013.03.10486:9(2333-2356)Online publication date: 1-Sep-2013
  • (2012)Domain-Driven discovery of stable abstractions for pointcut interfacesTransactions on Aspect-Oriented Software Development IX10.5555/2434958.2434960(1-52)Online publication date: 1-Jan-2012
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
AOSD '09: Proceedings of the 8th ACM international conference on Aspect-oriented software development
March 2009
278 pages
ISBN:9781605584423
DOI:10.1145/1509239
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 02 March 2009

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. domain-driven architecture
  2. reusable pointcut interfaces
  3. stable domain abstractions

Qualifiers

  • Research-article

Conference

AOSD '09

Acceptance Rates

Overall Acceptance Rate 41 of 139 submissions, 29%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)4
  • Downloads (Last 6 weeks)0
Reflects downloads up to 15 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2021)Stability in Software Engineering: Survey of the State-of-the-Art and Research DirectionsIEEE Transactions on Software Engineering10.1109/TSE.2019.292561647:7(1468-1510)Online publication date: 1-Jul-2021
  • (2013)A design rule language for aspect-oriented programmingJournal of Systems and Software10.1016/j.jss.2013.03.10486:9(2333-2356)Online publication date: 1-Sep-2013
  • (2012)Domain-Driven discovery of stable abstractions for pointcut interfacesTransactions on Aspect-Oriented Software Development IX10.5555/2434958.2434960(1-52)Online publication date: 1-Jan-2012
  • (2012)A Systematic Review on Aspects in Software Architecture DesignProceedings of the 2012 31st International Conference of the Chilean Computer Science Society10.1109/SCCC.2012.10(21-28)Online publication date: 12-Nov-2012
  • (2012)Domain-Driven Discovery of Stable Abstractions for Pointcut InterfacesTransactions on Aspect-Oriented Software Development IX10.1007/978-3-642-35551-6_1(1-52)Online publication date: 2012
  • (2011)A system of patterns for reusable aspect librariesTransactions on aspect-oriented software development VIII10.5555/2028556.2028559(46-107)Online publication date: 1-Jan-2011
  • (2011)A System of Patterns for Reusable Aspect LibrariesTransactions on Aspect-Oriented Software Development VIII10.1007/978-3-642-22031-9_2(46-107)Online publication date: 2011
  • (2010)Discovery of stable abstractions for aspect-oriented composition in the car crash management domainTransactions on aspect-oriented software development VII10.5555/1986548.1986558(375-422)Online publication date: 1-Jan-2010
  • (2010)Discovery of stable abstractions for aspect-oriented composition in the car crash management domainTransactions on aspect-oriented software development VII10.5555/1980562.1980572(375-422)Online publication date: 1-Jan-2010
  • (2010)Discovery of Stable Abstractions for Aspect-Oriented Composition in the Car Crash Management DomainTransactions on Aspect-Oriented Software Development VII10.1007/978-3-642-16086-8_10(375-422)Online publication date: 2010

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media