File Download
There are no files associated with this item.
Links for fulltext
(May Require Subscription)
- Publisher Website: 10.1145/1739230.1739244
- Scopus: eid_2-s2.0-77952277111
Supplementary
-
Citations:
- Scopus: 0
- Appears in Collections:
Conference Paper: EffectiveAdvice: Disciplined advice with explicit effects
Title | EffectiveAdvice: Disciplined advice with explicit effects |
---|---|
Authors | |
Keywords | Aop Interference Mixins Monads Parametricity |
Issue Date | 2010 |
Citation | Aosd.10 - 9Th International Conference On Aspect-Oriented Software Development, 2010, p. 109-120 How to Cite? |
Abstract | Advice is a mechanism, widely used in aspect-oriented languages, that allows one program component to augment or modify the behavior of other components. When advice and other components are composed together they become tightly coupled, sharing both control and data flows. However this creates important problems: modular reasoning about a component becomes very difficult; and two tightly coupled components may interfere with each other's control and data flows. This paper presents EffectiveAdvice, a disciplined model of advice, inspired by Aldrich's Open Modules, that has full support for effects. With EffectiveAdvice, equivalence of advice, as well as base components, can be checked by equational reasoning. The paper describes EffectiveAdvice as a Haskell library in which advice is modeled by mixin inheritance and effects are modeled by monads. Interference patterns previously identified in the literature are expressed as combinators. Parametricity, together with the combinators, is used to prove two harmless advice theorems. The result is an effective semantic model of advice that supports effects, and allows these effects to be separated with strong non-interference guarantees, or merged as needed. Copyright 2010 ACM. |
Persistent Identifier | http://hdl.handle.net/10722/188487 |
References |
DC Field | Value | Language |
---|---|---|
dc.contributor.author | Oliveira, BCDS | en_US |
dc.contributor.author | Schrijvers, T | en_US |
dc.contributor.author | Cook, WR | en_US |
dc.date.accessioned | 2013-09-03T04:08:42Z | - |
dc.date.available | 2013-09-03T04:08:42Z | - |
dc.date.issued | 2010 | en_US |
dc.identifier.citation | Aosd.10 - 9Th International Conference On Aspect-Oriented Software Development, 2010, p. 109-120 | en_US |
dc.identifier.uri | http://hdl.handle.net/10722/188487 | - |
dc.description.abstract | Advice is a mechanism, widely used in aspect-oriented languages, that allows one program component to augment or modify the behavior of other components. When advice and other components are composed together they become tightly coupled, sharing both control and data flows. However this creates important problems: modular reasoning about a component becomes very difficult; and two tightly coupled components may interfere with each other's control and data flows. This paper presents EffectiveAdvice, a disciplined model of advice, inspired by Aldrich's Open Modules, that has full support for effects. With EffectiveAdvice, equivalence of advice, as well as base components, can be checked by equational reasoning. The paper describes EffectiveAdvice as a Haskell library in which advice is modeled by mixin inheritance and effects are modeled by monads. Interference patterns previously identified in the literature are expressed as combinators. Parametricity, together with the combinators, is used to prove two harmless advice theorems. The result is an effective semantic model of advice that supports effects, and allows these effects to be separated with strong non-interference guarantees, or merged as needed. Copyright 2010 ACM. | en_US |
dc.language | eng | en_US |
dc.relation.ispartof | AOSD.10 - 9th International Conference on Aspect-Oriented Software Development | en_US |
dc.subject | Aop | en_US |
dc.subject | Interference | en_US |
dc.subject | Mixins | en_US |
dc.subject | Monads | en_US |
dc.subject | Parametricity | en_US |
dc.title | EffectiveAdvice: Disciplined advice with explicit effects | en_US |
dc.type | Conference_Paper | en_US |
dc.identifier.email | Oliveira, BCDS: oliveira@comp.nus.edu.sg | en_US |
dc.identifier.authority | Oliveira, BCDS=rp01786 | en_US |
dc.description.nature | link_to_subscribed_fulltext | en_US |
dc.identifier.doi | 10.1145/1739230.1739244 | en_US |
dc.identifier.scopus | eid_2-s2.0-77952277111 | en_US |
dc.relation.references | http://www.scopus.com/mlt/select.url?eid=2-s2.0-77952277111&selection=ref&src=s&origin=recordpage | en_US |
dc.identifier.spage | 109 | en_US |
dc.identifier.epage | 120 | en_US |
dc.identifier.scopusauthorid | Oliveira, BCDS=12239474400 | en_US |
dc.identifier.scopusauthorid | Schrijvers, T=8870481000 | en_US |
dc.identifier.scopusauthorid | Cook, WR=11939670900 | en_US |