Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/512035.512043acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
Article

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

Published: 19 May 2002 Publication History
  • Get Citation Alerts
  • 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].

    References

    [1]
    G. Bracha and W. Cook. Mixin-Based Inheritance. ECOOP/OOSPLA 90, 303-311.
    [2]
    J. Gosling, B. Joy, G. Steele, G. Bracha. The Java(TM) Language Specification, 2nd edition. Addison-Wesley Inc., 2000.
    [3]
    W. Harrison, H. Ossher. Subject-Oriented Programming (a critique of pure objects). ACM OOPSLA 1993, 303 - 311.
    [4]
    Y. Smaragdakis and D. Batory. Implementing Layered Designs with Mixin Layers. Proc. ECOOP 98.
    [5]
    P. Tarr, H. Ossher. Hyper/J(TM) User and Installation Manual. IBM Research, IBM Corp., 2000.
    [6]
    P. Tarr, H. Ossher, W. Harrison, S. M. Sutton. N-degrees of separation: Multi-dimensional separation of concerns. ICSE'99, 109 - 117.
    [7]
    M. VanHils, D. Notkin. Using Role Components to Implement Collaboration-Based Designs. OOSPLA 96.

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    IWPSE '02: Proceedings of the International Workshop on Principles of Software Evolution
    May 2002
    155 pages
    ISBN:1581135459
    DOI:10.1145/512035
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 19 May 2002

    Permissions

    Request permissions for this article.

    Check for updates

    Qualifiers

    • Article

    Conference

    IWPSE02
    Sponsor:

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • 0
      Total Citations
    • 314
      Total Downloads
    • Downloads (Last 12 months)1
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 12 Aug 2024

    Other Metrics

    Citations

    View Options

    Get Access

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media