• Title of article

    TraitRecordJ: A programming language with traits and records

  • Author/Authors

    Lorenzo Bettini، نويسنده , , Ferruccio Damiani، نويسنده , , Ina Schaefer، نويسنده , , Fabio Strocco، نويسنده ,

  • Issue Information
    ماهنامه با شماره پیاپی سال 2013
  • Pages
    21
  • From page
    521
  • To page
    541
  • Abstract
    Traits have been designed as units for fine-grained reuse of behavior in the object-oriented paradigm. Records have been devised to complement traits for fine-grained reuse of state. In this paper, we present the language TraitRecordJ, a Java dialect with records and traits. Records and traits can be composed by explicit linguistic operations, allowing code manipulations to achieve fine-grained code reuse. Classes are assembled from (composite) records and traits and instantiated to generate objects. We introduce the language through examples and illustrate the prototypical implementation of TraitRecordJ using Xtext, an Eclipse framework for the development of programming languages as well as other domain-specific languages. Our implementation comprises an Eclipse-based editor for TraitRecordJ with typical IDE functionalities, and a stand-alone compiler, which translates TraitRecordJ programs into standard Java programs. As a case study, we present the TraitRecordJ implementation of a part of the software used in a web-based information system previously implemented in Java.
  • Keywords
    JAVA , Type system , implementation , trait , Eclipse
  • Journal title
    Science of Computer Programming
  • Serial Year
    2013
  • Journal title
    Science of Computer Programming
  • Record number

    1080338