• DocumentCode
    781478
  • Title

    Toward Open-World Software: Issue and Challenges

  • Author

    Baresi, Luciano ; Di Nitto, Elisabetta ; Ghezzi, Carlo

  • Author_Institution
    Politecnico di Milano
  • Volume
    39
  • Issue
    10
  • fYear
    2006
  • Firstpage
    36
  • Lastpage
    43
  • Abstract
    Traditional software development is based on the closed-world assumption that the boundary between system and environment is known and unchanging. However, this assumption no longer works within today´s unpredictable open-world settings, especially in ubiquitous and pervasive computing settings, which demand techniques that let software react to changes by self-organizing its structure and self-adapting its behavior. The more we move toward dynamic and heterogeneous systems, and the more we stress their self-healing and self-adapting capabilities, the more we need new approaches to develop these applications and new ways to structure and program them. Programming open systems requires new programming language features. Two features that bear investigation are introspection mechanisms to get runtime information about newly encountered services and reflective mechanisms to adapt client applications dynamically. Some existing standards, industrial products, and research prototypes that support, to a certain extent, the open-world assumptions are service-oriented technologies, publish/subscribe middleware systems, grid infrastructures, autonomic frameworks
  • Keywords
    grid computing; message passing; middleware; open systems; software engineering; ubiquitous computing; autonomic framework; dynamic heterogeneous system; grid infrastructure; open system programming; open-world software development; pervasive computing; programming language features; publish/subscribe middleware system; service-oriented technology; software change; software introspection mechanism; software reflective mechanism; software self-adapting capability; software self-organizing capability; ubiquitous computing; Application software; Computer languages; Middleware; Open systems; Pervasive computing; Programming; Prototypes; Runtime; Standards publication; Stress; autonomic computing; grid computing; middleware systems; open-world software; polymorphism; software engineering; web services;
  • fLanguage
    English
  • Journal_Title
    Computer
  • Publisher
    ieee
  • ISSN
    0018-9162
  • Type

    jour

  • DOI
    10.1109/MC.2006.362
  • Filename
    1707632