|
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
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked 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 Baniassad , Paul C. Clements , Joao Araujo , Ana Moreira , Awais Rashid , Bedir Tekinerdogan, Discovering Early Aspects, IEEE Software, v.23 n.1, p.61-70, January 2006
[doi> 10.1109/MS.2006.8]
|
| |
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
|
|
| |
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
|
|
| |
9
|
|
| |
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
|
|
| |
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
|
|
 |
16
|
|
| |
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 , Sajid Dalvi, From domain models to architecture frameworks, Proceedings of the 1997 symposium on Software reusability, p.75-80, May 17-20, 1997, Boston, Massachusetts, United States
|
| |
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
|
|
| |
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
|
|
| |
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
|
|
| |
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 Sullivan , William G. Griswold , Yuanyuan Song , Yuanfang Cai , Macneil Shonle , Nishit Tewari , Hridesh Rajan, Information hiding interfaces for aspect-oriented design, Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering, September 05-09, 2005, Lisbon, Portugal
|
| |
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
|
|
| |
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
|
|
|