Adding Spatial Information to Software Component Model - The Localization Effect
Highly distributed environments (HDEs) are deployment environments that include powerful and robust machines in addition to resource-constrained and mobile devices such as laptops, personal digital assistants (or PDAs), smart-phones, GPS devices, sensors, etc. Developing software for HDEs is fundamentally different from the software development for central systems and stable distributed systems. This argument is discussed deeply and in-details throughout this dissertation. HDE applications are challenged by two problems: unreliable networks, and heterogeneity of hardware and software. Both challenges need careful handling, where the system must continue functioning and delivering the expected QoS. This dissertation is a direct response to the mentioned challenges of HDEs. The contribution of this dissertation is the cloud component model and its related formal language and tools. This is the general title. However, and to make this contribution clear, we prefer to present it in the following detailed form: (1) We propose a paradigm shift from distribution transparency to localization acknowledgment being the first class concern. (2) To achieve the above mentioned objective, we propose a novel component model called cloud component (CC). (3) In this dissertation we propose a new approach to assemble CCs using systematic methodology that maintains the properties of CC model. (4) Cloud component development process and cloud component based systems development process. (5) Location modeling and advanced localization for HDEs are the pivotal key in our contribution. (6) Formal language to model single CC, CC assembly, CC development process, and CC based systems. (7) We finally present our fully-developed supporting tools: the cloud component management system CCMS, and the Registry utility. To respond to the challenges posed by HDEs, and to maintain expected software quality at the user endpoint, we think we need to pass a ¿paradigm shift¿ from the way software is designed and implemented currently to our new vision that this dissertation is devoted to. This is a paradigm shift from distribution transparency to localization acknowledgment being the first class concern. The contribution in this thesis has several faces as explained above, but still, these faces are cohesive. Each of these faces form a partial contribution, however, this partial contribution does not mean anything if isolated from the overall proposal. Moreover, the merit of the overall proposal can not be grasped by reading one partial contribution. The merit of the proposal is evident only if all parts of this work are cohesively organized. Finally, we claim that our proposal spans the entire software development process for HDEs, from requirements to deployment and runtime management.