Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
research:adi [2009/10/30 13:55] – jfabry | research:adi [2012/10/26 17:34] (current) – [AO Design in the Slot Machine Domain] jfabry | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | One line of research within PLEIAD is the topic of Aspects, Dependencies and Interactions. [[people: | ||
+ | |||
+ | --------------- | ||
+ | |||
+ | ===== AO Requirements modeling in the Slot Machine Domain ===== | ||
+ | |||
+ | We have studied the expressive capabilities for aspect interactions of selected AORE approaches. | ||
+ | Our first case study is the Slot Machine (SM) domain. This has been published as part of ACM SAC 2009 [1]. | ||
+ | Below you will find links to | ||
+ | the requirements for SMs and the output resulting from the application of two AORE approaches: | ||
+ | Theme/Doc [2] and Multi-Dimensional Separation of Concerns for Requirements Engineering [3]. | ||
+ | |||
+ | |||
+ | The [[research: | ||
+ | |||
+ | The [[research: | ||
+ | |||
+ | The [[research: | ||
+ | |||
+ | [1] A. Zambrano, J. Fabry, G. Jacobson, and S. Gordillo. Expressing aspectual interactions in requirements engineering: | ||
+ | |||
+ | [2] E. Baniassad and S. Clarke. Theme: An approach for aspect-oriented analysis and | ||
+ | design. In ICSE ’04: Proceedings of the 26th International Conference on Software | ||
+ | Engineering, | ||
+ | |||
+ | [3] A. Moreira, A. Rashid, and J. Araujo. Multi-dimensional separation of concerns | ||
+ | in requirements engineering. In Proc. 13th IEEE International Conference on | ||
+ | Requirements Engineering, | ||
+ | |||
+ | ===== AO Design in the Slot Machine Domain ===== | ||
+ | |||
+ | In the Slot Machine domain, we also studied the expressive capabilities for aspect interactions of selected AO Design appraches: Theme/UML [1] and Motorola WEAVR [2]. The results of this study: [[http:// | ||
+ | |||
+ | [1] S. Clarke, E. Baniassad: Aspect-Oriented Analysis and Design. The Theme Approach. Object Technology Series, Addison-Wesley, | ||
+ | |||
+ | [2] T. Cottenier, A. van den Berg, T. Elrad: Motorola weavr: Aspect and model- driven engineering. Journal of Object Technology 6(7), 51–88 (2007) | ||
+ | |||
+ | --------------- | ||
+ | |||
+ | |||
+ | ===== AspectMaps: A Scalable Visualization of Join Point Shadows ===== | ||
+ | |||
+ | The implicit invocation mechanism of AOP introduces an additional layer of | ||
+ | complexity in the construction of a system. This can make it harder to | ||
+ | understand how base system and aspects interact and thus how the | ||
+ | system will behave. For example, when writing | ||
+ | pointcut definitions, | ||
+ | aspect will intervene in the base code. This can then lead to | ||
+ | situations where the pointcut either captures too many join points | ||
+ | (false positives), or where certain join points that were intended to | ||
+ | be captured, are not (false negatives). | ||
+ | is the so-called //fragile pointcut problem// (Kellens et.al., ECOOP 2006). | ||
+ | |||
+ | AspectMaps is a software visualization tool built | ||
+ | to aid the understanding of aspect-oriented software systems. It provides a scalable visualization | ||
+ | of implicit invocation. AspectMaps visualizes selected join point | ||
+ | shadows (a.k.a. shadow points): locations in the source code that at | ||
+ | run-time produce a join point. AspectMaps visualizes the shadow points | ||
+ | where an aspect will execute, and if multiple aspects will execute, | ||
+ | the order in which they are specified to run. This results in a | ||
+ | visualization that clearly shows how aspects cross-cut the base code, | ||
+ | as well as how they interact at each join point. AspectMaps is a | ||
+ | scalable visualization mainly due to its use of selective structural | ||
+ | zooming. The structure of source code is shown at different levels of | ||
+ | granularity, | ||
+ | |||
+ | More information on AspectMaps can be found [[research: | ||
+ | |||
+ | --------------- | ||
+ | |||
+ | ===== Aspect Coordination for Web Applications in Java and Ruby ===== | ||
+ | |||
+ | This work is by [[people: | ||
+ | |||
+ | This work is reported in the paper with the same name, accepted at the [[http:// | ||
+ | |||
+ | --------------- | ||
+ | |||