• Corpus ID: 13985739

Object Specialization through Behavioral Re ection and Crosscutting Annotation

  title={Object Specialization through Behavioral Re ection and Crosscutting Annotation},
  author={Hisham H. Muhammad and Ana Paula L{\"u}dtke Ferreira},
In object-oriented systems, classes and objects often evolve into complex entities, and still, speci cation of features is still done mostly in a method-by-method basis. This paper presents a novel technique for object specialization. It consists of a series of language constructs which perform re ective transformations in compile-time. These are based on annotations added to method signatures called signals, through which sets of methods from an object can be referred to collectively. This way… 

Figures from this paper



Synthesizing objects

This paper argues that the current OO technology does not support reuse and configurability in an effective way. This problem can be addressed by augmenting OO analysis and design with feature

An Overview of AspectJ

AspectJ provides support for modular implementation of a range of crosscutting concerns, and simple extensions to existing Java development environments make it possible to browse the crosscutting structure of aspects in the same kind of way as one browses the inheritance structure of classes.

Aspect-oriented programming

This tutorial shows how to use AOP to implement crosscutting conerns in a concise modular way and includes a description of their underlying model, in terms of which a wide range of AOP languages can be understood.

Declarative Program Transformation: A Deforestation Case-Study

The aim of deforestation transformations is to automatically transform a modular-specified program into an efficient-implementable one that gets rid of intermediate data structure constructions that occur when two functions are composed.

Explicit programming

This paper presents explicit programming, an approach that enables a developer to introduce new vocabulary into the source to capture a design concept explicitly, and introduces ELIDE, a tool that supports explicit programming in Java.

A metaobject protocol for C++

This paper presents a metaobject protocol (MOP) for C++ that avoids penalties on runtime performance by adopting a new meta-architecture in which the metaobjects control the compilation of programs instead of being active during program execution.

The art of the Metaobject Protocol

A new approach to programming language design is presented, which resolves fundamental tensions between elegance and efficiency, and a metaobject protocol is presented that gives users the ability to incrementally modify the language's behavior and implementation.

C++ Programming Language

Bjarne Stroustrup makes C even more accessible to those new to the language, while adding advanced information and techniques that even expert C programmers will find invaluable.

Semantics of context-free languages

  • D. Knuth
  • Computer Science
    Mathematical systems theory
  • 2005
The implications of this process when some of the attributes of a string are “synthesized”, i.e., defined solely in terms of attributes of thedescendants of the corresponding nonterminal symbol, while other attributes are ‘inherited’, are examined.

The Art of Compiler Design: Theory and Practice

1. Grammars: The Chomsky Hierarchy 2. Parsers and Context-Free Languages 3. Scanners and Regular Languages 4. Semantic Analysis and Attribute GramMars.