• DocumentCode
    923308
  • Title

    Object-oriented software evolution

  • Author

    Lieberherr, Karl J. ; Xiao, Cun

  • Author_Institution
    Coll. of Comput. Sci., Northeastern Univ., Boston, MA, USA
  • Volume
    19
  • Issue
    4
  • fYear
    1993
  • fDate
    4/1/1993 12:00:00 AM
  • Firstpage
    313
  • Lastpage
    343
  • Abstract
    The authors review propagation patterns for describing object-oriented software at a higher level of abstraction than one used by today´s programming languages. A propagation pattern defines a family of programs from which one can select a member by giving a class dictionary graph that details the structure of behavior through part-of and inheritance relationships between classes. Three concepts are introduced: evolution histories, growth-plans and a propagation-directive calculus. Evolution histories describe a sequence of development phases of an object-oriented program, each phase being executable and therefore testable. To keep the programs flexible and short, they are described in terms of propagation patterns. Each phase of an evolution history is tested in small steps that are constrained by class dictionary graphs belonging to a growth-plan. Propagation directives are useful for describing both propagation patterns and growth-plans and are therefore endowed with sufficient expressiveness by being given a formal calculus applicable to object-oriented programming in general. A propagation directive is a succinct description of a family of submodels for a given family of data models
  • Keywords
    object-oriented programming; class dictionary graph; data models; evolution histories; formal calculus; growth-plans; inheritance relationships; object-oriented software evolution; propagation patterns; propagation-directive calculus; submodels; Books; Calculus; Computer languages; Data models; Dictionaries; History; Object oriented programming; Propagation delay; Software performance; Testing;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/32.223802
  • Filename
    223802