Download:
by Stephan Herrmann, Technische Universität Berlin
In: Third German workshop on aspect-oriented software development, SIG object-oriented software development, German Informatics Society, 2003. URL http://www.objectteams.org
http://www.cs.uni-essen.de/dawis/conferences/GI_AOSD_2003/papers/Herrmann.pdf
Add To MetaCart
Abstract:
introduce invisible links and control flows in an application, which are perceived as an obstacle to understandability, predictability and safety. The resulting trade-off between flexibly structuring crosscutting concerns and rigorously pursuing program safety impedes the usefulness of AOSD for many fields of application. The model of Object Teams combines ideas from many programming languages providing greater expressiveness than each of its predecessors. In this position paper it is argued, that Object Teams also provide strong concepts for encapsulation, which help for modular reasoning about aspect-oriented programs developed in this model. 1 Object Teams in a nutshell The Object Teams programming model [7, 14] has its roots in the concept of Aspectual Components [11]. It has gone through several iterations [12, 5, 6, 17] before its current incarnation as ObjectTeams/Java, an implementation based on a combination of a modified Java compiler and a runtime system performing load-time byte-code adaptation using JMangler [10]. Object Teams combine the expressive power for aspect-oriented software composition in the style of many existing programming languages with a lean language design, which requires the programmer to learn only a minimum of new concepts and syntactical constructs.
Citations
|
483
|
Self: the power of simplicity, in
– Ungar, Smith
- 1987
|
|
336
|
Subject-Oriented Programming (a critique of pure objects
– Harrison, Ossher
- 1993
|
|
178
|
Ownership types for flexible alias protection
– Clarke, Potter, et al.
- 1998
|
|
79
|
Programming with Aspectual Components
– Lieberherr, Lorenz, et al.
- 1999
|
|
58
|
Family polymorphism
– Ernst
- 2001
|
|
49
|
Object Teams: Improving Modularity for Crosscutting Collaborations
– Herrmann
- 2003
|
|
44
|
gbeta – a Language with Virtual Attributes, Block Structure, and Propagating, Dynamic Inheritance
– Ernst
- 1999
|
|
39
|
Dynamically composable collaborations with delegation layers
– Ostermann
- 2002
|
|
37
|
JMangler - A Framework for Load-Time Transformation of Java Class Files
– KNIESEL, COSTANZA, et al.
- 2001
|
|
25
|
Universes: A type system for alias and dependency control
– Müller, Poetzsch-Heffter
- 2001
|
|
23
|
Dynamic Object-Based Inheritance with Subtyping
– Kniesel
- 2000
|
|
21
|
Confined Types in Java
– Vitek, Bokowski
|
|
20
|
PIROL: a case study for multidimensional separation of concerns in software environments
– Herrmann, Mezini
- 2000
|
|
13
|
Software Architecture and Component Technology: State of the Art in Research and Practice, chapter Component Integration with Pluggable Composite Adapters
– Mezini, Seiter, et al.
- 2001
|
|
9
|
Combining composition styles in the evolvable language LAC
– Herrmann, Mezini
- 2001
|
|
7
|
Encapsulation = Visibility + Accessibility
– Kniesel
- 1996
|
|
3
|
Homepage of ruby object teams. http://robjectteam.sf.net
– Veit
|