ABSTRACT
As bases for object-orientation, both class-based and prototype-based organization have limitations. We argue that roles have significant benefits as a foundation for organizing objects. We further argue that these benefits can be realised most flexibly using logic meta-programming. Additional benefits from this approach are to reduce redundancy and subsume aspects.
- Reenskaug, T., Working with Objects: The OORAM Software Engineering Method. 1995. Greenwich, Connecticut: Manning Publications.Google Scholar
- Taivalsaari, A., On the notion of Inheritance. ACM Computing Surveys. 1996. 28(3): p. 438--479. Google ScholarDigital Library
- Steimann, F., On the Representation of Roles in Object Oriented and Conceptual Modelling. Data & Knowledge Engineering. 2000. 35(1): p. 83--106. Google ScholarDigital Library
- Lieberman, H., Using prototypical objects to implement shared behaviour in object-oriented systems. SIGPLAN Notices. 1986. 21(11): p. 214--223. Google ScholarDigital Library
- Ungar, D. and R.B. Smith, Self, the Power of Simplicity. Lisp and Symbolic Computation. 1991. 4(3): p. 45--55. Google ScholarDigital Library
- Scharli, N., et al. Traits: Decomposable Units of Behaviour. in ECOOP 2003 European Conference on Object-Oriented Programming. 2003. Springer Verlag.Google Scholar
- Smith, R.B. and D. Ungar, A Simple and Unifying Approach to Subjective Objects. Theory and Practice of Object Systems. 1996. 2(3): p. 161--178. Google ScholarDigital Library
- Chambers, C., et al., Parents are shared parts of Objects: Inheritance and encapsulation in Self. Lisp and Symbolic Computation. 1991. 4(3): p. 207--222. Google ScholarDigital Library
- Kendall, E.A., Role Model Designs and Implementations with Aspect Oriented Programming. OOPSLA. 1999. Google ScholarDigital Library
- Eco, E., The search for the perfect language (Ricerca della lingua netta cultura europa). 1995. Oxford, Blackwell.Google Scholar
- Bardou, D. and C. Dony, Split Objects: a disciplined use of delegation within objects. ACM SIGPLAN Notices - Proceedings of 11th ACM Sigplan Conference on Object-oriented programming, Systems, Languages and Applications. 1996. 31(10): p. 122--137. Google ScholarDigital Library
- Gottlob, G., M. Schrefl, and B. Rock, Extending object-oriented systems with roles. ACM Transaction on Information Systems. 1996. 14(3): p. 268--296. Google ScholarDigital Library
- Gybels, K., Using a logic language to express cross-cutting through dynamic joinpoints. Proceedings of Second German Workshop on Aspect-Oriented Software Development. Technical Report IAI-TR-2002-1. 2002.Google Scholar
- Czarnecki, K. and U. Eisenecker, Generative Programming: Methods Techniques and Applications. 1999. Addison Wesley: Reading, MA. Google ScholarDigital Library
- Lopez, C.V. and W.L. Hursch, Separation of Concerns. College of Computer Science, NorthEastern University, Boston, MA. 1995.Google Scholar
- Filman, R.E. and D.P. Friedman. Aspect Oriented Programming is Quantification and Obliviousness. in Workshop on Advanced Separation of Concerns, OOPSLA. 2000. Minneapolis.Google Scholar
- Ossher, H., et al., Subject-Orineted Composition Rules. OOPSLA ACM SIGPLAN. 1995. 30(10): p. 235--250. Google ScholarDigital Library
- Kiczales, K. Aspect Oriented Programming. in ECOOP 97 Proceedings of European Conference on Object Oriented Programming. 1997. Springer Verlag.Google Scholar
- Gedenryd, H., Beyond Inheritance, Aspects and Roles: A unified Scheme for Object and Program Composition. Department of Computing, Open University Technical Report TR 2002/09. 2002.Google Scholar
- Gedenryd, H., Holland S. and Morse, D.R. Meeting the Software Engineering Challenges of Interacting with Dynamic and Ad-hoc Computing Environments. Department of Computing, Open University Technical Report TR 2002/08. 2002.Google Scholar
Index Terms
- Reflective composition: the declarative composition of roles to unify objects, roles, and aspects
Recommendations
Using roles to model crosscutting concerns
AOSD '13: Proceedings of the 12th annual international conference on Aspect-oriented software developmentIn object oriented languages the problem of crosscutting concerns, due to limitations in the composition mechanisms, is recurrent. In order to reduce this problem we propose to use roles as a way of composing classes that extends the Object Oriented ...
The power of symmetry: unifying inheritance and generative programming
OOPSLA '03: Companion of the 18th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applicationsI present the Ohmu language, a unified object model which allows a number of "advanced" techniques such as aspects, mixin layers, parametric polymorphism, and generative components to be implemented cleanly using two basic concepts: block structure and ...
A model for web services composition based on QoS and providers' benefit
WiCOM'09: Proceedings of the 5th International Conference on Wireless communications, networking and mobile computingTo deal with the problems such as Web Services selection algorithm, availability of Web Services composition and QoS(Quality of Service) guarantee, presents a model for Web Services composition based on QoS and providers' benefit. In this model, the ...
Comments