An interface mechanism for encapsulating weaving in class-based AOP

Naoyasu Ubayashi, Akihiro Sakai, Tetsuo Tamai

Research output: Contribution to conferencePaper

Abstract

Aspect-oriented programming (AOP) separates crosscutting concerns from primary concerns. These concerns are woven together by a weaver. Although AOP provides a good module mechanism, it is not necessarily easy for a programmer to understand the overall behavior of a woven program. To deal with this problem, we propose a new kind of information hiding mechanism called weavinginterface that encapsulates weaving in class-based AOP in which all kinds of concerns are described in classes. Weaving-interfaces are completely separated from concerns described as classes. A programmer who designs how to compose concerns does not have to know the detail of class definitions, but has only to be aware of weaving-interfaces. On the other hand, a programmer who designs each concern does not have to know how to be composed, but has only to be aware of weaving-interfaces.

Original languageEnglish
DOIs
Publication statusPublished - Dec 1 2007
Externally publishedYes
Event5th Workshop on Software Engineering Properties of Languages and Aspect Technologies, SPLAT 2007, Held at the 6th International Conference on Aspect-Oriented Software Development - Vancouver, BC, Canada
Duration: Mar 12 2007Mar 16 2007

Other

Other5th Workshop on Software Engineering Properties of Languages and Aspect Technologies, SPLAT 2007, Held at the 6th International Conference on Aspect-Oriented Software Development
CountryCanada
CityVancouver, BC
Period3/12/073/16/07

    Fingerprint

All Science Journal Classification (ASJC) codes

  • Computational Theory and Mathematics
  • Software

Cite this

Ubayashi, N., Sakai, A., & Tamai, T. (2007). An interface mechanism for encapsulating weaving in class-based AOP. Paper presented at 5th Workshop on Software Engineering Properties of Languages and Aspect Technologies, SPLAT 2007, Held at the 6th International Conference on Aspect-Oriented Software Development, Vancouver, BC, Canada. https://doi.org/10.1145/1233843.1233851