Classpects unifying aspect- and object-oriented language design
The contribution of this work is the design, implementation, and early evaluation of a programming language that unifies classes and aspects. We call our new module construct the classpect. We make three basic claims. First, we can realize a unified design without significantly compromising the expr...
Gespeichert in:
| Veröffentlicht in: | Proceedings of the 27th international conference on Software engineering S. 59 - 68 |
|---|---|
| Hauptverfasser: | , |
| Format: | Tagungsbericht |
| Sprache: | Englisch |
| Veröffentlicht: |
New York, NY, USA
ACM
15.05.2005
|
| Schriftenreihe: | ACM Conferences |
| Schlagworte: |
Software and its engineering
> Software creation and management
> Software development techniques
> Object oriented development
Software and its engineering
> Software notations and tools
> Development frameworks and environments
> Object oriented frameworks
Software and its engineering
> Software notations and tools
> General programming languages
> Language features
> Classes and objects
Software and its engineering
> Software notations and tools
> General programming languages
> Language features
> Modules
> packages
|
| ISBN: | 1581139632, 9781581139631 |
| Online-Zugang: | Volltext |
| Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
| Zusammenfassung: | The contribution of this work is the design, implementation, and early evaluation of a programming language that unifies classes and aspects. We call our new module construct the classpect. We make three basic claims. First, we can realize a unified design without significantly compromising the expressiveness of current aspect languages. Second, such a design improves the conceptual integrity of the programming model. Third, it significantly improves the compositionality of aspect modules, expanding the program design space from the two-layered model of AspectJ-like languages to include hierarchical structures. To support these claims, we present the design and implementation of Eos-U, an AspectJ-like language based on C# that supports classpects as the basic unit of modularity. We show that Eos-U supports layered designs in which classpects separate integration concerns flexibly at multiple levels of composition. The underpinnings of our design include support for aspect instantiation under program control, instance-level advising, advising as a general alternative to object-oriented method invocation and overriding, and the provision of a separate join-point-method binding construct. |
|---|---|
| ISBN: | 1581139632 9781581139631 |
| DOI: | 10.1145/1062455.1062483 |

