ACADEMIC ADVISORS
RESEARCH INTERESTS
Ph.D RESEARCH
Ubiquitous Computing (UC) is the method of enhancing computer use by making many computers available throughout the physical environment, but making them effectively invisible to the user. UC environments are saturated with computing and communication capabilities designed to make human interaction with the environment more natural. Some examples of UC environments are intelligent homes, offices, businesses and cars that adjust their behavior based on user identity and tasks or changes in the environment. Ubiquitous computing is also known as pervasive computing, ambient intelligence, or everyware computing.
A Software Product Line (SPL) is a set of software-intensive systems sharing a common managed set of features that satisfy the specific needs of a particular market segment or mission that are developed from a common set of core assets in a prescribed way. A SPL is developed by engineering an application domain that can be configured to generate target systems through the customization process of selecting optional and alternative features.
Designing software for UC is very complex. In a UC setting there are a lot of devices that communicate together seamlessly in order to make user interaction more natural. More over, devices need to be knowledgeable about surrounding devices, location and infer user tasks. Data has to be replicated across environments and devices. Transition of devices across environments needs to be modeled. Although there is existing research in software design methodologies there is not an explicit design method that addresses the unique characteristics of ubiquitous computing.
The objective of this research is to introduce a formal analysis and design methodology for ubiquitous computing Software Product Lines (SPL). The proposed methodology will be based on existing analysis and design methodologies that will be extended to address the ubiquitous software peculiarities. Specifically this dissertation will attempt to prove the following:
An analysis and design methodology for ubiquitous software product lines can be used to reduce the effort needed to manage the product lines and to increase the quality of the generated software; while taking into account the unique characteristics of ubiquitous computing.
Analysis and design methodologies for SPL provide a formal way for capturing requirements, analyzing the problem space, modeling the solution domain and producing different members of the product family. The adoption of such an approach reduces the effort of managing the product line and improves its quality.
Reduction of managing effort can be achieved in several ways using our proposed methodology. A unique set of requirements is gathered. The analysis of the problem domain takes into account all variations of the product line rather than performing separate analyses for each member of the product line. Design modeling is focused on software reuse through the use of software design patterns. Software is produced faster due to software reuse and the deployment of a parameterized software compilation process that can construct different variations of the product line avoiding the need to program each member of the product line separately. Finally, there is a reduction in effort in software testing. Instead of test teams having to perform the same test cases to the entire software they can simply perform the test cases that apply to the specific member of the product line.
|