A Software Engineering Perspective on Context-Awareness in Ad Hoc Mobile Networks

About This Presentation
Title:

A Software Engineering Perspective on Context-Awareness in Ad Hoc Mobile Networks

Description:

Title: Slide 1 Author: Christine Julien Last modified by: Christine Julien Created Date: 1/15/2004 8:50:48 PM Document presentation format: On-screen Show –

Number of Views:180
Avg rating:3.0/5.0
Slides: 47
Provided by: Christine375
Category:

less

Transcript and Presenter's Notes

Title: A Software Engineering Perspective on Context-Awareness in Ad Hoc Mobile Networks


1
A Software Engineering Perspective on
Context-Awareness in Ad Hoc Mobile Networks
  • Christine Julien
  • Mobile Computing Laboratory
  • Washington University in Saint Louis
  • February 8, 2015

2
Motivation
  • Simplify mobile application development
  • Individually address application-specific needs
  • Dynamically gather context information from the
    network
  • Seamlessly adapt to environmental changes
  • Transparently help programmers cope with problems
    inherent in ad hoc networks

3
Ad Hoc Network Challenges
  • Form opportunistically
  • Change rapidly in response to mobility
  • Rely on no fixed infrastructure
  • Provide transient interactions
  • Foster decoupled computing
  • Embody open environments with limited guarantees

4
Computational Model
  • Ad hoc network
  • Host (mobile or stationary)
  • Defines location in physical space
  • Agents/Application Components
  • Unit of mobility residing on a host
  • Data
  • Owned and generated by each agent

Host 2
Host 1
Host 3
5
Overview
  • Context-aware computing
  • EgoSpaces conceptual model
  • EgoSpaces middleware
  • Network abstractions
  • Conclusions and future work

6
Context-Aware ComputingThe Need for Context
  • Software and hardware constantly move and change
  • Applications must opportunistically adapt
  • Perception of context varies by application
  • Current solutions
  • Use basic types of context information in
    specific ways
  • Fieldwork tools, guide tools
  • Provide access to only a single components
    sensors at a time
  • Context Toolkit, Context Fabric
  • Support only local or symmetric interactions
  • MARS, LIME

7
Context-Aware ComputingRethinking Applications
(1)
8
Context-Aware ComputingRethinking Applications
(2)
9
Context-Aware ComputingRethinking Applications
(3)
Charlie
Angie
10
Context-Aware ComputingNovel Notion of Context
  • Flexible adaptation in dynamic environments
  • Scope that extends beyond the local host
  • Generalized interaction with context types
  • Context needs vary by task and situation
  • Asymmetric context interaction
  • Multiple contexts evolving over time
  • Context computation must be scalable
  • Explicit control over the scope, size, and cost

11
Overview
  • Context-aware computing
  • EgoSpaces conceptual model
  • EgoSpaces middleware
  • Network abstractions
  • Conclusions

12
EgoSpaces Conceptual ModelThe View Concept
  • Maximal context contains all available data
  • A view is a projection of the maximal context
  • Egocentric abstraction of operating context
  • Tailored to an applications individual needs
  • Allow agent to control scope of views
  • Ease program development
  • Minimize performance penalties

Host 2
Host 1
Reference agents view yellow data within one hop
Host 3
13
EgoSpaces Conceptual ModelDeclarative View
Specification
  • Allows simple yet meaningful view definitions
  • Restrict context based on properties of the
    network, hosts, agents, and data
  • All location data owned by collision warning
    agents on cars within 100 meters of my current
    location
  • Facilitate transparent context maintenance
  • Rely on underlying middleware for context
    maintenance tasks

Roman, G.-C., Julien, C., and Murphy, A. L., "A
Declarative Approach to Agent-Centered
Context-Aware Computing in Ad Hoc Wireless
Environments, Software Engineering for
Large-Scale Multi-Agent Systems, LNCS 2603, April
2003.
14
EgoSpaces Conceptual ModelView Interaction
  • Present view contents as tuple space
  • Allows use of traditional Linda-like operations
  • Content-based pattern matching for tuple
    retrieval
  • retrieve tuples (rd)
  • remove tuples (in)
  • Can affect overlapping views
  • Atomic blocking and probing operations

Julien, C., and Roman, G.-C., "Egocentric
Context-Aware Programming in Ad Hoc Mobile
Environments," in Proceedings of FSE-10, November
2002.
15
EgoSpaces Conceptual ModelConsistency Concerns
  • Transactional semantics (e.g., money transfers)
  • Strong application guarantees
  • Can be expensive
  • Use atomic Linda-like operations
  • Best-effort semantics (e.g., traffic)
  • Variety of implementations
  • Application chooses semantics based on its
    particular situation
  • Use scattered probing operations

16
EgoSpaces Conceptual ModelReactive Views
  • Facilitate behavioral adaptation
  • Agents respond to presence of certain tuples
  • Associate application-level reaction to the
    appearance of a tuple
  • Scheduling modalities correspond to consistency
    requirements
  • Eager semantics provide transactional guarantees
  • Lazy semantics provide fewer guarantees
  • Allow more flexible implementation
  • Increase performance

17
EgoSpaces Conceptual ModelActive Views
  • Capture natural context interactions
  • Transparent data migration
  • Automatic duplication
  • Event capture
  • Extensibility
  • Simplify programming
  • Programming
  • abstractions
  • Reduced code size

migrate
Julien, C. and Roman, G.-C., "Active Coordination
in Ad Hoc Networks," to appear in Proceedings of
Coordination 2004.
18
EgoSpaces Conceptual ModelAccess Control
Requirements
  • Ad hoc networks are open environments, yet agents
    may need to restrict data access
  • No permanent trusted central server
  • Current work
  • Administrative domains
  • Mobile Ambients, SEAL
  • Specialized type systems
  • KLAIM
  • Fine-grained access control
  • SECOS
  • Must scale to large systems
  • Must address needs of individualized agents

19
EgoSpaces Conceptual ModelAccess Control
Provision
  • Agent specified access control function
  • Limits access based on agent properties
  • Allows fine-grained access control
  • Individualized to particular applications needs
  • Reference agent provides credentials and intended
    operations
  • Access control functions evaluated on a per-tuple
    basis to determine inclusion in the view
  • Can be used to define administrative domains

20
Overview
  • Context-aware computing
  • EgoSpaces conceptual model
  • EgoSpaces middleware
  • Network abstractions
  • Conclusions

21
EgoSpaces MiddlewareWhy Middleware?
  • Speed up application development in ad hoc
    networks
  • Enhance level of programming abstraction
  • Provide generic and flexible context operations
  • Shift complex tasks to underlying infrastructure
  • Facilitate rapid dissemination and adoption
  • Proven solutions for other domains
  • Distributed object systems
  • CORBA, Jini, DENO
  • Mobile agent systems
  • Aglets, DAgents, ?Code
  • Coordination systems
  • LIME, MARS, Jedi

22
EgoSpaces MiddlewareEgoSpaces Middleware
  • Programming interface simplifies application
    development burden
  • Allows declarative view specification
  • Presents view contents as tuple space
  • Provides standard Linda tuple space operations on
    view definitions
  • Includes light-weight implementations of tuple
    space operations
  • Provides tailored access control

23
EgoSpaces MiddlewareEgoSpaces Architecture
  • Application provides declarative view
    specifications
  • Middleware
  • Discovers neighbors
  • Monitors context sensors
  • Provides data contents of context to application
    through view abstraction

application
EgoSpaces
ELights
network abstractions
sensor monitoring
discovery
message
sensing
ad hoc physical network
24
EgoSpaces MiddlewareDemo Application
  • Application-specific view restriction
  • Hop-count based metric
  • File-size restriction
  • Content-based selection from view
  • Songs displayed based on desired properties
  • Reactive programming allows downloads to resume

25
EgoSpaces MiddlewareSimplifying Application
Development
  • Abstracts network for application programmer
  • Removes concern for low-level network and
    communication concerns
  • Provides high-level, abstract definition of needs
  • Maintains contents of views as the environment
    changes
  • Programmer does not have to persistently poll
  • Shifts developer focus to key components of
    applications
  • User interface design
  • Local data storage and representation

26
Overview
  • Context-aware computing
  • EgoSpaces conceptual model
  • EgoSpaces middleware
  • Network abstractions
  • Conclusions

27
Network AbstractionsRestricting the Network
  • Defining a view requires limiting participating
    hosts
  • e.g., all hosts within five miles or within three
    hops
  • Consider the overhead in defining such a network
  • Deal with volatility of ad hoc networks
  • Unannounced disconnection
  • Unpredictable reconnection
  • Heterogeneous devices

Roman, G.-C., Julien, C., and Huang, Q., "Network
Abstractions for Context Aware Mobile Computing,"
in Proceedings of ICSE, May 2002.
28
Network AbstractionsSolution Overview
  1. Represent the ad hoc network as a graph
  2. Abstract properties of nodes and links to weights
    on edges in this graph
  3. Calculate the cost of paths from the reference
    node
  4. Determine the shortest path to each node and
    build a tree
  5. Limit this tree using a bound, D

29
Network AbstractionsWeight Assignment
  • Individualized for an application
  • Abstracts varied properties of hosts and links
  • Host properties form ?i link properties form ?ij
  • ?i includes battery power, CPU power, location,
    etc.
  • ?ij includes physical distance, bandwidth,
    throughput, etc.
  • Edge weights combine link properties and the
    properties of the connected nodes
  • mij ?(?i, ?j, ?ij)

30
Network AbstractionsComputing Path Cost
  • Assuming each link has a single weight (mij), an
    application can define a generalized cost
    function
  • ?v0(Pk) Cost(?v0(Pk-1), mk-1,k)
  • ?v0(?v0?) 0
  • Cost function must be strictly increasing along a
    path

31
Network AbstractionsLimiting the Scope
3
  • Define a subtree of the network by placing a
    bound on the cost of each path
  • Bound is useful only if shortest path cost is
    strictly increasing
  • Allows reference to restrict computation to a
    subnet

1
2
2
1
1
0
1
2
1
1
2
1
Note All links have a weight of 1
32
Network AbstractionsContext Calculation Protocol
  • Service new queries
  • Respond at the application level
  • Remember cost, parent, sequence number, and
    information about the computation
  • Propagate the query
  • Service shorter distances (same sequence number)
  • Remember cost and new parent
  • Propagate query
  • Disregard longer distances (same sequence number)
  • But remember cost and parent if within bound
  • Halt when computation reaches boundary
  • Based on traditional ad hoc routing protocols

33
Network AbstractionsProtocol Example
Query (source, new cost, ) State cost,
parent, ... (neighbor, cost through neighbor),

Bound 6 Cost additive
0, null,
r
4
2
1
a
b
5
1
4
c
d
34
Network AbstractionsContext Maintenance Protocol
  • Persistent queries require context maintenance
  • React to increase in link weight
  • If parent, adjust cost and propagate information
  • Otherwise, update local information
  • React to decrease in link weight
  • If non-parent link, recalculate cost for neighbor
    on the other end
  • Handle count-to-infinity problem
  • Store entire shortest path at each hop
  • Regain resources when context is no longer used

35
Network AbstractionsMaintenance Example
Query (source, source cost, new cost,
) State cost, parent, (neighbor, cost
through neighbor),
Bound 6 Cost additive
0, null,
r
4
2
6
1
a
b
5
1
4
d
c
36
Network AbstractionsEvaluation
  • Simulation using ns-2 network simulator
  • 100 node network in 1000x1000m2 space
  • Vary network density by changing transmission
    range
  • Using random waypoint mobility model adapted to
    avoid speed degradation
  • Metrics
  • Context consistency
  • Settling time (at most 35ms)
  • Percentage of useful broadcasts

37
Network AbstractionsContext Building
Consistency (1)
  • Good consistency for reasonably sized contexts

one-hop context
two-hop context
Percentage of context receiving message
three-hop context
four-hop context
Transmission range (meters)
38
Network AbstractionsContext Building
Consistency (2)
  • Consistency gt80 with increased network load

five context definitions
one context definition
Percentage of context receiving message
ten context definitions
Transmission range (meters)
39
Network AbstractionsUseful Broadcasts
  • Efficiency decreases with increasing density

one-hop context
two-hop context
Percentage of useful broadcasts
three-hop context
four-hop context
Transmission range (meters)
40
Conclusions
  • Melding of context-awareness and ad hoc networks
  • Novel notion of context
  • Individualized declarative specification
  • Includes general facets of the environment
  • Extended in scope to remote components
  • Asymmetric context interactions
  • EgoSpaces model and middleware
  • Supporting algorithms and protocols

41
Contributions (1)
  • Algorithms for ad hoc mobile computing
  • Network abstractions
  • Consistent group membership

R
R
R
a
a
r
b
b
Huang, Q., Julien, C., and Roman, G.-C., "Relying
on Safe Distance to Achieve Strong Partitionable
Group Membership in Ad Hoc Networks," to appear
in IEEE Transactions on Mobile Computing.
42
Contributions (2)
  • Middleware for context-awareness
  • Addressing software engineering concerns of
    mobile environments
  • Facilitating rapid development of mobile
    applications
  • Bringing application development to the hands of
    novice programmers

Handorean, R., Payton, J., Julien C., and Roman,
G.-C., "Coordination Middleware Supporting Rapid
Deployment of Ad Hoc Mobile Systems", in
Proceedings of the 1st ICDCS Workshop on Mobile
Computing Middleware (MCM03), May 2003.
43
Contributions (3)
  • Formal models of context-aware and mobile
    computing
  • Specification and refinement using Mobile UNITY
  • Building Context UNITY for direct reasoning about
    context-aware systems
  • Roman, G.-G., Julien, C., and Payton, J., "A
    Formal Treatment of Context-Awareness," (invited
    paper) to appear in Proceedings of FASE 2004.
  • Julien, C., Payton, J., and Roman, G.-C.,
    "Reasoning About Context-Awareness in the
    Presence of Mobility," in Proceedings of FOCLASA,
    September 2003.
  • Roman, G.-C., Julien, C., and Huang, Q., "Formal
    Specification and Design of Mobile Systems," in
    Proceedings of FMPPTA'2002, April 2002.

44
Future Plans
  • Addressing ad hoc network and communication
    concerns in software engineering
  • Transactional programming in ad hoc networks
  • Tailored communication and coordination paradigms
    for applications in ad hoc networks
  • Context-aware routing and communication
  • Applying formal methods to context-aware
    environments
  • Reasoning about mobile and context-aware
    applications through formal notation and proof
    logic

45
Questions?
  • http//www.cse.wustl.edu/julien
  • julien_at_wustl.edu

46
Publications www.cse.wustl.edu/julien
  • Roman, G.-G., Julien, C., and Payton, J., "A
    Formal Treatment of Context-Awareness," (invited
    paper) to appear in Proceedings of Fundamental
    Approaches to Software Engineering 2004.
  • Julien, C. and Roman, G.-C., "Active Coordination
    in Ad Hoc Networks," to appear in Proceedings of
    Coordination 2004.
  • Huang, Q., Julien, C., and Roman, G.-C., "Relying
    on Safe Distance to Achieve Strong Partitionable
    Group Membership in Ad Hoc Networks," to appear
    in IEEE Transactions on Mobile Computing.
  • Julien, C., Payton, J., and Roman, G.-C.,
    "Reasoning About Context-Awareness in the
    Presence of Mobility," in Proceedings of the 2nd
    International Workshop on Foundations of
    Coordination Languages and Software Architectures
    (FOCLASA03), September 2003.
  • Handorean, R., Payton, J., Julien C., and Roman,
    G.-C., "Coordination Middleware Supporting Rapid
    Deployment of Ad Hoc Mobile Systems", in
    Proceedings of the First International ICDCS
    Workshop on Mobile Computing Middleware (MCM03),
    May 2003.
  • Roman, G.-C., Julien, C., and Murphy, A. L., "A
    Declarative Approach to Agent-Centered
    Context-Aware Computing in Ad Hoc Wireless
    Environments (extended version)," Software
    Engineering for Large-Scale Multi-Agent Systems,
    A. Garcia et. al. (editors), LNCS 2603, April
    2003.
  • Julien, C., and Roman, G.-C., "Egocentric
    Context-Aware Programming in Ad Hoc Mobile
    Environments," in Proceedings of FSE-10, November
    2002, pp. 21-30.
  • Roman, G.-C., Julien, C., and Huang, Q., "Network
    Abstractions for Context Aware Mobile Computing,"
    in Proceedings of the 24th International
    Conference on Software Engineering (ICSE'02),
    Orlando, FL (USA), May 2002, pp. 363-373.
  • Roman, G.-C., Julien, C., and Murphy, A. L., "A
    Declarative Approach to Agent-Centered
    Context-Aware Computing in Ad Hoc Wireless
    Environments," in the 1st International Workshop
    on Software Engineering for Large-Scale
    Multi-Agent Systems (SELMAS'2002), May 2002.
  • Roman, G.-C., Julien, C., and Huang, Q., "Formal
    Specification and Design of Mobile Systems," in
    Proceedings of FMPPTA'2002, April 2002.
Write a Comment
User Comments (0)
About PowerShow.com