Context Oriented Software Development
Citation:Basel Magableh, Context Oriented Software Development, University of Dublin, Trinity College, 2012
cosd.pdf (PhD thesis) 9.171Mb
Software in distributed and mobile computing environments needs to cope with variability, diversity of computing platforms and operates in different execution environments. Mobile computing environments are heterogeneous and dynamic. Everything from the devices used and resources available to network bandwidth and user context can change at runtime. This presents the software developers with the challenge of tailoring behavioral variations of the software to specific user needs and adapt to context changes. The design and the development of context-dependent and self-adaptable applications in mobile computing environments cannot rely on classical software-development methodologies, which assume that the software execution environment is known a priori at design time, and the application environment can be anticipated. Supporting the development and execution of self-adaptive software systems raises numerous challenges, from development processes, design space and development tools, to the adaptation mechanism that ensures adaptability and dependability of the self-adaptive software that is targeted. This thesis explores how far we can support the engineering of self-adaptive applications using generic development paradigm provided by non-specialized language frameworks, and not being limited to a specific platform or mechanism. This gives the software developers the flexibility to construct a self-adaptive application using an object-oriented programming language and deploy it on several platforms. The thesis is that the software developers must considered the context information and context-dependent behavior in the analysis, design and implementation of self-adaptive soft- ware. In particular, software needs to consider the composition of its components in conjunction with the contextual changes. In order to overcome the problem and the challenges of engineering self-adaptive software, this thesis contributes to the knowledge by presenting Context-Oriented Software Development (COSD), a generic development paradigm for the construction of self-adaptive software from context-oriented components, which enables dynamic composition of the context-dependent behaviors and provides the software with capabilities of self-adaptability and dependability in mobile computing environments. Our model is based on a decomposition strategy of self-adaptive software based on context, which provides a flexible mechanism for modularizing the software into several compassable units of behavior and decouples the context-dependent from context-free parts. The context-oriented component model encapsulates the implementation of the context-dependent parts in distinct architecture units, which enables the software to adjust its functionality and/or behavior dynamically. This differs from the majority of existing works, which seek to embed awareness of context in the functional implementation of applications. The Context-Oriented Software is developed using a Context-Oriented Component-based Application Model Driven Architecture (COCA-MDA). Afterwards, the context-oriented software is manipulated at runtime by COCA-middleware, which performs a runtime behavioral composition of the context- dependent functionality based on the operational context. The evaluation of context-oriented software in comparison to existing work shows that context-oriented software development is better suited for implementing context-dependent and self-adaptive applications. In addition, the evaluation of COCA-middleware in terms of the modifiability and performance quality attributes, shows better performance in performing the adaptation with less impact on the allocated resources. This thesis shows that COCA-MDA has reduced the development effort in modeling the Platform Independent Model (PIM) and Platform Specific Model (PSM), as it reduces the amount of configurations and maintenance needed to transform the PIM into PSM. In addition, COCA-MDA produced a component-based architecture described by an Architecture Description language (ADL), which reduces the effort needed to implement the architecture in different platforms.
Author: MAGABLEH, BASEL
Publisher:University of Dublin, Trinity College
Type of material:Thesis
Availability:Full text available