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
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;
Conference_Titel :
Software Engineering, 1999. Proceedings of the 1999 International Conference on
Conference_Location :
Los Angeles, CA, USA
Print_ISBN :
1-58113-074-0