Towards a Unified Programming Language
ECOOP '00 Proceedings of the 14th European Conference on Object-Oriented Programming
The when, why and why not of the BETA programming language
Proceedings of the third ACM SIGPLAN conference on History of programming languages
Design of a class library for association relationships
LCSD '07 Proceedings of the 2007 Symposium on Library-Centric Software Design
COOMP 2011: first international workshop on combined object-oriented modeling and programming
Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion
SAM'12 Proceedings of the 7th international conference on System Analysis and Modeling: theory and practice
Content over container: object-oriented programming with multiplicities
Proceedings of the 2013 ACM international symposium on New ideas, new paradigms, and reflections on programming & software
Hi-index | 0.00 |
A cornerstone in the object-oriented paradigm is the abstraction mechanisms transcending analysis, design, and implementation. The notions of class, object, behaviour, and inheritance are supported in both design notations and through programming language constructs in object-oriented languages. An association is a declarative mechanism to associate objects, and it is well known from analysis and design notations. However, associations are not matched by a programming language construct. This paper eliminates the semantic gap between design and implementation by proposing a programming language construct to support associations directly. An important issue in designing such a language construct is to make it as efficient and flexible as a manual translation to pointers and containers, and that it gives added benefits compared to a manual translation. Our association compiler can generate code that is as efficient as hand produced code, and it is our experience that it is easier to make changes to program structure andimplementation when using language supported associations.