270 likes | 571 Views
Developing context-aware pervasive computing applications: Models and approach. Extract Authors: Karen Henricksena, Jadwiga Indulskab Presented By: Kripa Singh. What is pervasive computing?. It is a shorthand for the strongly emerging trend toward:
E N D
Developing context-aware pervasive computing applications: Models and approach Extract Authors: Karen Henricksena, Jadwiga Indulskab Presented By: Kripa Singh
What is pervasive computing? It is a shorthand for the strongly emerging trend toward: • Numerous, casually accessible, often invisible computing devices • Frequently mobile or embedded in the environment. • Connected to an increasingly ubiquitous network structure. • The aim is for easier computing, more available everywhere it's needed. For Computer Users: The underlying premise is compelling: simplicity of use, ubiquitous access, minimal technical expertise, reliability and more intuitive interaction
Context-Aware Applications Pervasive computing involves application that can operate on complex and highly dynamic environments and place minimal demand on user attention. Context-aware applications aim to meet these requirements by adapting to selected aspects of the context of use.
Context Modelling Techniques Context-awareness has predominantly adopted a infrastructure centered approach. Therefore, its been the goal to develop a framework that that integrates a set of well defined context modelling and programming abstractions with the infrastructural support. And context modelling forms a conceptual foundation for this framework. The three supporting modelling approaches are: • The exploration and specification of an application’s context requirements, • The management of context information stored in a context repository, • The specification of abstract classes of context that are close to the way the programmer and end user view context.
Context Modelling Techniques -Characteristics of context information Context information can originate from a wide variety of sources, leading to heterogeneity in terms of quality and persistence. The Four classes of information are • Sensed • Static • User-supplied (profiled) • Derived Information
Context Modelling Techniques -A graphical modelling approach Context Modelling Language (CML) is a tool to assist designers with the task of exploring and specifying the context requirements of a context-aware application. • It provides modelling constructs • It allows fact types to be annotated • It supports a variety of constraints
CML Model cntd… The model captures: • user activities in the form of a temporal fact type that covers past, present and future activities • associations between users and communication channels and devices; and • locations of users and devices (both absolute and relative, where the latter is represented as a derived fact type).
Context Modelling Techniques -Relational representation -The Situational abstraction
Preference Model Preference traces in context-aware applications can help users to prevent future erroneous actions by identifying and correcting those preferences that do not have the desired effect. Preference modelling aims at identifying a preference model that could be used to support customisable context-aware behaviour.
Preference Model • Preferences can be grouped into sets and combined according to policies, such that a single score is produced for each choice that reflects all preferences in the set. • The policies dictate the weights attached to individual preferences and determine how conflicting preferences are handled. One common policy involves averaging the numerical scores, but allowing vetoes, obligations and undefined scores to override.
Programming Model • Branching Model -offers a novel and flexible means to insert context- and preference-dependent decision points into the flow of application logic. • Triggering Model -supports an event-driven programming style.
Programming Model cont… • Branching Model -designed to assist in decision problems involving a context dependent choice amongst a set of alternatives. -for instance, in information retrieval, branching can be used to select relevant information to present to the user and suitable modes of presentation, while, in a communication domain, it can be used to identify appropriate communication channels for interactions between users.
Triggering Model • Triggering mechanism follows the event–condition–action model, in which each trigger includes a precondition on the invocation of the specified action that is evaluated upon detection of the event. • The precondition, like the event, is specified in terms of situations.
Triggering Model • This model also associates each trigger with a lifetime, which is one of the following: • • once; • • from <start> until <end>; • • until <end>; • • n times; or • • always.
Software infrastructure • The infrastructure is organized into loosely coupled layers as shown in Figure. • The context gathering layer acquires context information from sensors and then processes this information, through interpretation and data fusion (aggregation), to bridge the gap between the raw sensor output and the level of abstraction required by the context management system.
Software infrastructure • Our current version of the infrastructure is implemented in Java, using various pieces of open-source software. • The context and adaptation managers use the standard Java Database Connectivity (JDBC) API2 and the PostgreSQL RDBMS3 for storage of fact types, situations and preferences.
Software engineering methodology • In this section, we outline the process that is generally followed when building a context-aware application using these tools.
Software engineering methodology This figure illustrates generic software engineering process graphically.
Software engineering methodology • The steps can be partitioned into the following tasks: • analysis (A); • design (D); • implementation/programming (P); • infrastructure customisation (I); • testing (T).
Context-aware communication • This section presents the objectives, design and outcomes of this study. Objectives: • The goals of the case study were to evaluate the ability of our models and infrastructure to support software engineering tasks and to facilitate the development of flexible and evolvable software.
Context-aware communication Application - Analysis - Implementation
Context-aware communication Evaluation -Code complexity -Maintainability and support for evolution -Reusability
Thank you Q & A