MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  Object confinement in Object Teams—reconciling encapsulation and flexible integration [1 citations — 0 self]

Download:
Download as a PDF
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