Font Size: a A A

Study On Enabling Techniques For Incremental Development Of Smart Space Applications

Posted on:2016-02-14Degree:DoctorType:Dissertation
Country:ChinaCandidate:J MaFull Text:PDF
GTID:1228330461456557Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
Ubiquitous/pervasive computing is a new computing paradigm whose essential characteristics are (1)the integration of information space and physical space, and (2) transparent computing. Smart Spaces are viewed as typical representing Pervasive Computing environments and have been attracting extensive attention of academia and industry. And, active research has been done by many well-known universities (e.g., MIT, GIT, CMU, UIUC, Tsinghua, etc.) as well as many IT companies (e.g., Mi-crosoft, IBM, HP, etc.). However, as a smart space environment and the corresponding user needs keep continuously changing, it is impractical for developers to build a smart space or an application for it in one single action. It should be done in an incremental way:we need to continue to recognize the space and new user requirements, adjust or break the existing assumptions, and further build new applications or improve the existing ones. As applications are usually continuously interacting with users, new functions should be introduced seamlessly at runtime without bothering users. Howev-er, during recent years, researchers in pervasive computing community mainly focuss on two main areas:(1) data processing techniques and (2) novel applications; while systematic works on methodology and enabling techniques for incremental develop-ment of smart space applications are quite few. In this thesis, we discuss the problem of how to build a smart-space application as well as a smart space as a whole in a incremental way.To address the problem, we start from the requirement of incremental develop-ment of smart space and applications. Then, we propose three basic points to address the above problem:1) recognize the basic components of a smart-space application and their interrelations at the level of software modeling; 2) support building smart-space applications incrementally by providing a set of convenient, complete and unified de-veloping techniques and tools; 3) support the running of smart-space applications by enabling runtime deployment of new applications and/or functions and by providing mechanisms for avoiding conflicts among multiple applications. Our efforts on ad-dressing the above issues are as follows:First, we systematically analyze the characteristics of Smart Space and its applica-tions. Applying the principal of separation of concerns, we propose a software model for smart-space applications. This model acts as a guideline for the development, exe-cution and maintenance of smart-space applications. The model divides a smart-space application into two independent and interactive parts:the environment component and the business logic. The environment component is a digital image of the real environ-ment of the application, and it acts as a bridge between the business logic and the real environment; The business logic realizes functions of the application, it obtains con-text information, adapts the state of a given environmental factor via the environment component. An application’s business logic can be encapsulated and released by a set of configurations, which provide similar functionalities but with different finesses in face of different running conditions. Then, adaptation of an application happens at two level:1) an application switches from one configuration to another, and 2) adaptations within a configuration.Second, we extend traditional object model and propose an adapt-ready object model. This model views the business logic of an application as a set of interacting adapt-ready objects. Like original object, an adapt-ready object’s behavior is described by its operation methods; unlike original object, the actual execution of an operation method is achieved by combining a set of operation variants. An adapt-ready object provides interfaces such that the operation variants of given operation can be added, removed, replaced or recombined at runtime. Based on the adapt-ready object model, the core business logic of an application can be implemented by a set of adapt-ready objects, while the incremental adaptive business logics can be implemented via differ-ent variants; and by reorganizing these variants, we could adjusting the behaviors of a single object or of the whole application at runtime.Third, regarding the potential interferences or conflicts among multiple applica-tions introduced by adding new applications, we propose two strategies for avoiding such conflicts. In the first strategy, we try to explicitly model the pairwise influences among applications by a special Influence Graph; then, a genetic algorithm is proposed to find a useful plan for configuring each of the involved applications within limited time. The second strategy considers that influences or conflicts among multiple appli-cations are caused by the fact that they have different requirements and impacts on the shared environment. It models the conflict resolving problem as a Constraint Satisfac-tion Problem(CSP) and further provides an effective and efficient algorithm to solve it. Specially, our approach for resolving the CSP provides a 2-phase utility estimation scheme and two efficient heuristic strategies for ordering entities statically and dynam-ically. As shown by experiments, significant improvements can be obtained by the proposed approach, it could reduce over 90% consistency checks required by existing algorithms.Finally, based on the proposed software model of smart-space applications, we study on the methodology and framework for incremental development of smart-space applications. With respects to the software model, the two parts (i.e., the environment component and the business logic) can be separated developed. The whole develop-ing process can be divided into two main phases:initial development and incremental development. During initial development, developers only need to provide a initial environmental model, corresponding hardware or software components for obtaining raw context data and adjusting the environment, and implement the core business log-ics without considering the application’s context-aware behaviors; while, during in-cremental development, developers may further extend current environmental mod-el, develop and deploy new corresponding hardware or software components, develop new operation variants, define and/or modify a set of configurations, to satisfy users new requirements. To provide convenient, complete and unified supports for applying the proposed methodology and framework, we further design and implement a set of programming languages (AdaptJ and CfgL) together with an Integrated Developing Environment(IDE) for building smart-space applications and a platform for running and maintaining them.
Keywords/Search Tags:Ubiquitous/Pervasive Computing, Smart Space, Context-awareness, Incremental Application Development, Conflict Avoidance
PDF Full Text Request
Related items