• DocumentCode
    1157488
  • Title

    Lazy types: automating dynamic strategy selection

  • Author

    Berzal, Fernando ; Cubero, Juan-Carlos ; Márín, Nicolas ; Vila, María-Amparo

  • Author_Institution
    Dept. of Comput. Sci. & Artificial Intelligence, Granada Univ., Spain
  • Volume
    22
  • Issue
    5
  • fYear
    2005
  • Firstpage
    98
  • Lastpage
    106
  • Abstract
    Since the early days of structured methodologies, design techniques have evolved to facilitate the representation of real-world entities in software systems. Although object-oriented modeling and design techniques have made developing complex applications easier, many applications deal with data and behavioral requirements that conventional design models have difficulty accommodating. We introduce a novel OOP extension, merging both philosophies (adaptive programming and semistructured data management), that you can use transparently in current programming platforms. Lazy types model variability without increasing implementation complexity. In situations where the use of standard design patterns could hinder design understandability, lazy types deal with complexity by keeping track of a unique type while avoiding the artificial multiplication of types traditional OOP solutions introduce. The reflective technique of lazy typing - deferring the exact definition of object methods until the last possible moment - can help programmers more easily and consistently deal with partial or incomplete data.
  • Keywords
    object-oriented methods; object-oriented programming; adaptive programming; design patterns; dynamic strategy selection automation; object-oriented design; object-oriented modeling; real-world entities; semistructured data management; software systems; Application software; Crops; Design methodology; Government; Inspection; Logic; Object oriented modeling; Programming profession; Software design; Software systems; adaptable code; lazy types; metadata; polymorphism; reflection; strategies;
  • fLanguage
    English
  • Journal_Title
    Software, IEEE
  • Publisher
    ieee
  • ISSN
    0740-7459
  • Type

    jour

  • DOI
    10.1109/MS.2005.127
  • Filename
    1504672