• DocumentCode
    1984734
  • Title

    Dynamic layout of distributed applications in FarGo

  • Author

    Holder, Ophir ; Ben-Shaul, I. ; Gazit, Hovav

  • Author_Institution
    Dept. of Electr. Eng., Technion-Israel Inst. of Technol., Haifa, Israel
  • fYear
    1999
  • fDate
    22-22 May 1999
  • Firstpage
    163
  • Lastpage
    173
  • Abstract
    The design of efficient and reliable distributed applications that operate in large networks, over links with varying capacities and loads, demands new programming abstractions and mechanisms. The conventional static design-time determination of local-remote relationships between components implies that (dynamic) environmental changes are hard if not impossible to address without reengineering. The paper presents a novel programming model that is centered around the concept of "dynamic application layout", which permits the manipulation of component location at runtime. This leads to a clean separation between the programming of the application\´s logic and the programming of the layout, which can also be performed externally at runtime. The main abstraction vehicle for layout programming is a reflective inter-component reference, which embodies co- and re-location semantics. We describe an extensible set of reference types that drive and constrain the mapping of components to hosts, and show how this model elevates application performance and reliability yet requires minimal changes in programming the application\´s logic. The model was realized in the FarGo system, whose design and implementation in Java are presented, along with an event based scripting language and corresponding event monitoring service for managing the layout of FarGo applications.
  • Keywords
    Java; authoring languages; distributed programming; mobile computing; programming language semantics; type theory; FarGo applications; FarGo system; Java; abstraction vehicle; application logic; application performance; component location; distributed applications; dynamic application layout; dynamic environmental changes; event based scripting language; event monitoring service; large networks; layout programming; local-remote relationships; programming abstractions; programming model; re-location semantics; reengineering; reference types; reflective inter-component reference; static design-time determination; Application software; Cities and towns; Distributed computing; Intelligent networks; Java; Logic programming; Reliability engineering; Runtime; Vehicle dynamics; Vehicles;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Engineering, 1999. Proceedings of the 1999 International Conference on
  • Conference_Location
    Los Angeles, CA, USA
  • ISSN
    0270-5257
  • Print_ISBN
    1-58113-074-0
  • Type

    conf

  • Filename
    841006