Collaboration-based evolvable software implementations: Java and Hyper/J vs. C++-templates composition

  • Authors:
  • Nguyen Truong Thang;Takuya Katayama

  • Affiliations:
  • Japan Advanced Institute of Science and Technology;Japan Advanced Institute of Science and Technology

  • Venue:
  • Proceedings of the International Workshop on Principles of Software Evolution
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

Collaboration-based design is a methodology for de-coupling application aspects in the object-oriented world. Because collaborations are relatively orthogonal to each other, a collaboration can be implemented independently and reused in different context without any major change. Mixins and mixin layers are techniques to transform in a fairly straightforward manner the collaboration-based designs to the implementations. Subject-oriented programming (SOP) [3] and multi-dimensional separation of concerns (MDSOC) [6] are similar approaches to software development. The concepts of subject in SOP and concern in MDSOC cover the collaboration concept. Hyper/J[5] is a very useful tool for composing independently developed application aspects. This paper presents an attempt to implement layered design in Java and Hyper/J. In addition, it also compares this method with another method of composing mixin layers constructed by C++ templates [4].