Superimpositions and aspect-oriented programming

被引:20
|
作者
Sihman, M [1 ]
Katz, S [1 ]
机构
[1] Technion Israel Inst Technol, Dept Comp Sci, IL-32000 Haifa, Israel
来源
COMPUTER JOURNAL | 2003年 / 46卷 / 05期
关键词
D O I
10.1093/comjnl/46.5.529
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
The ideas of a classic distributed superimposition are used to design a new object-oriented version incorporating aspects. A superimposition is a collection of generic parameterized aspects and new classes (often singleton concrete classes). Superimpositions can be combined, either sequentially or in a merge, to create new ones. Superimpositions also include specifications about assumed properties of basic programs to which the superimposition can be applied and desired properties added by the superimposition. These specifications are used to define proof obligations for the correctness of superimpositions and to check feasibility of combining superimpositions. SuperJ, a notation and an implemented preprocessor over AspectJ, is described. SuperJ can be used to apply a superimposition to a basic system, generating concrete aspects from generic aspects and then weaving them to basic classes. Superimpositions are separately declared, specified and verified. Among the examples used to demonstrate the approach are a termination detection algorithm, a version of the Dining Philosophers Problem and a monitoring superimposition that gathers statistics on basic objects.
引用
收藏
页码:529 / 541
页数:13
相关论文
共 50 条
  • [1] Superimpositions and aspect-oriented programming
    [J]. Katz, S. (katz@cs.technion.ac.il), 1600, Oxford University Press (46):
  • [2] Aspect-oriented programming
    Lopes, CV
    Kiczales, G
    [J]. TECHNOLOGY OF OBJECT-ORIENTED LANGUAGES AND SYSTEMS - TOOLS 34, PROCEEDINGS, 2000, : 461 - 461
  • [3] Aspect-oriented programming
    Bergmans, L
    Lopes, CV
    [J]. OBJECT-ORIENTED TECHNOLOGY, 1999, 1743 : 288 - 313
  • [4] Aspect-oriented programming
    Kiczales, G
    [J]. ICSE 05: 27th International Conference on Software Engineering, Proceedings, 2005, : 730 - 730
  • [5] Aspect-oriented programming
    Lopes, CV
    Kiczales, G
    [J]. TECHNOLOGY OF OBJECT-ORIENTED LANGUAGES - TOOLS 33, PROCEEDINGS, 2000, : 468 - 468
  • [6] Aspect-oriented programming
    Murphy, C
    Schwanninger, C
    [J]. IEEE SOFTWARE, 2006, 23 (01) : 20 - 23
  • [7] Aspect-oriented programming
    Kiczales, G
    Lamping, J
    Mendhekar, A
    Maeda, C
    Lopes, C
    Loingtier, JM
    Irwin, J
    [J]. ECOOP'97: OBJECT-ORIENTED PROGRAMMING, 1997, 1241 : 220 - 242
  • [8] Aspect-oriented programming
    Elrad, Tzilla
    Filman, Robert E.
    Bader, Atef
    [J]. Communications of the ACM, 2001, 44 (10) : 29 - 32
  • [9] Aspect-Oriented Programming Reloaded
    Rebelo, Henrique
    Leavens, Gary T.
    [J]. PROCEEDINGS OF THE 21ST BRAZILIAN SYMPOSIUM ON PROGRAMMING LANGUAGES (SBLP 2017), 2017,
  • [10] Aspect-oriented programming with AspectJ
    Colyer, A
    Clement, A
    [J]. IBM SYSTEMS JOURNAL, 2005, 44 (02) : 301 - 308