File Download

There are no files associated with this item.

  Links for fulltext
     (May Require Subscription)
Supplementary

Conference Paper: EffectiveAdvice: Disciplined advice with explicit effects

TitleEffectiveAdvice: Disciplined advice with explicit effects
Authors
KeywordsAop
Interference
Mixins
Monads
Parametricity
Issue Date2010
Citation
Aosd.10 - 9Th International Conference On Aspect-Oriented Software Development, 2010, p. 109-120 How to Cite?
AbstractAdvice 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 Identifierhttp://hdl.handle.net/10722/188487
References

 

DC FieldValueLanguage
dc.contributor.authorOliveira, BCDSen_US
dc.contributor.authorSchrijvers, Ten_US
dc.contributor.authorCook, WRen_US
dc.date.accessioned2013-09-03T04:08:42Z-
dc.date.available2013-09-03T04:08:42Z-
dc.date.issued2010en_US
dc.identifier.citationAosd.10 - 9Th International Conference On Aspect-Oriented Software Development, 2010, p. 109-120en_US
dc.identifier.urihttp://hdl.handle.net/10722/188487-
dc.description.abstractAdvice 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.languageengen_US
dc.relation.ispartofAOSD.10 - 9th International Conference on Aspect-Oriented Software Developmenten_US
dc.subjectAopen_US
dc.subjectInterferenceen_US
dc.subjectMixinsen_US
dc.subjectMonadsen_US
dc.subjectParametricityen_US
dc.titleEffectiveAdvice: Disciplined advice with explicit effectsen_US
dc.typeConference_Paperen_US
dc.identifier.emailOliveira, BCDS: oliveira@comp.nus.edu.sgen_US
dc.identifier.authorityOliveira, BCDS=rp01786en_US
dc.description.naturelink_to_subscribed_fulltexten_US
dc.identifier.doi10.1145/1739230.1739244en_US
dc.identifier.scopuseid_2-s2.0-77952277111en_US
dc.relation.referenceshttp://www.scopus.com/mlt/select.url?eid=2-s2.0-77952277111&selection=ref&src=s&origin=recordpageen_US
dc.identifier.spage109en_US
dc.identifier.epage120en_US
dc.identifier.scopusauthoridOliveira, BCDS=12239474400en_US
dc.identifier.scopusauthoridSchrijvers, T=8870481000en_US
dc.identifier.scopusauthoridCook, WR=11939670900en_US

Export via OAI-PMH Interface in XML Formats


OR


Export to Other Non-XML Formats