Proposal for Hewlett
Packard Europe Philanthropy
Programme on Network Mobile Computing
LinkMe: Distributed Link Services for Mobile
Environments
Imperial College of Science, Technology & Medicine
University of Southampton
Contents
-
Participants
-
Project Summary
-
Motivation
-
Background Work and
Current Limitations
-
Research issues
-
Activity Workplan
-
Requested Support
-
Publication of the Results
-
References
1
Participants
1.1 Department of Computing, Imperial College
Distributed Software Engineering Research Group
Department of Computing, Imperial College
180 Queen’s Gate
London, SW7 2BZ.
| Dr. Naranker Dulay |
nd@doc.ic.ac.uk |
+44 171 594 8288 |
| Prof. Jeff Kramer |
jk@doc.ic.ac.uk |
+44 171 594 8271 |
| Dr. Jeff Magee |
jnm@doc.ic.ac.uk |
+44 171 594 8269 |
| Prof. Morris Sloman |
mss@doc.ic.ac.uk |
+44 171 594 8279 |
Principal Investigator: Dr. Naranker Dulay
Official Contact for Financial Matters: Prof.
Morris Sloman, Director of Finance
1.2 Department of Electronics & Computer Science
University of Southampton
Multimedia Research Group, Department of Electronics and Computer Science
University of Southampton
Highfield
Southampton, SO17 1BJ.
| Dr. David De Roure |
dder@ecs.soton.ac.uk |
+44 1703 592418 |
| Prof. Wendy Hall |
wh@ecs.soton.ac.uk |
+44 1703 592388 |
Principal Investigator: Dr. David De Roure
Official Contact for Financial Matters: Prof. Wendy Hall
2
Project Summary
The overall objective of this project is to provide a distributed link
service for mobile users of distributed hypermedia (Web) information systems.
This will include servers, mobile agents, specification and elaboration
techniques for architecture description and runtime support.
The work is novel in that integrates work on open hypermedia, mobile
agents, constraint specification and software architectures and has broader
applicability in areas such a programmable telecommunications.
This will be a 3 year project and a proposal has been submitted to the
UK EPSRC Multimedia and Network Applications Programme for funding of the
full-time research assistants at each site (approx. 6 man years).
The academics indicated in section 1 above will work part-time on the project.
We are requesting support from the HP Network Mobile Computing Programme
for Notebook computers, Palm-tops and NetBeam Infra Red LAN Access points
for both Universities – total value approx. $62K.
Mobile fieldworkers, updating maps will be used as the case study.
The UK Ordnance Survey’s Geographic Information System will be used for
a demonstrator and critical evaluation of the work. They are providing
manpower for evaluation to the work and access to electronic maps.
2.1 Objectives
To investigate the issues involved in providing distributed hypermedia
link services for mobile users and to design a framework, possibly based
on mobile agent technology, to deliver such services.
To investigate the role and nature of constraint specification in software
architectures and distributed hypermedia link services. This will include
determining a set of constraint specification patterns (examples) that
can be applied to a range of application scenarios and mobile agent based
applications.
To implement runtime support for constraint satisfaction at the architectural
level to permit adaptation to a changing mobile environment while maintaining
consistency with the Architectural Specification.
To implement a demonstrator application scenario relating to updating Ordnance
Survey maps by mobile field-workers in order to evaluate the tools and
techniques with respect to expressiveness, usability and run-time efficiency.
2.2 Milestones in first 12 Months
Month 6:
Description of current DLS architecture in Darwin, and initial design for
asynchronous version. Demonstration of asynchronous version.
Review and Evaluation of Constraint-Based Techniques and Tools.Review and
Selection of Mobile Computing
Platform.Requirements Analysis, Specification and Design of Ordnance Survey
Demonstrator.
Month 12:
Design for caching, in Darwin; demonstration of intermittent connectivity.
Initial Architecture Description Language Proposal and Compiler.
3
Motivation
Hypermedia assists the user in navigating the available information space;
this space is diverse and distributed, populated by multimedia objects
which may be persistent, constantly updated, perhaps dynamically generated.
Navigation may involve pre-authored links (`buttons') and links computed
dynamically [Hall 94]. Tools and techniques have been developed to
assist in the authoring and browsing activities, to help the user find
more relevant information more quickly. In a mobile environment,
where time and resources are limited and communication quality variable,
the requirement of rapid retrieval of relevant information becomes even
more important and is an important objective for this project.
Common usage of the Web involves embedding links within documents in
the HTML format; in this sense the Web can be considered a 'closed' hypermedia
system. However, there is nothing inherent in the Web infrastructure that
prevents links from being abstracted from the documents and managed separately.
The University of Southampton’s Distributed Link Service (DLS) takes this
approach in order to implement an open hypermedia system above the infrastructure
of the World Wide Web [Carr 95] [Carr 96] [DeRoure 96b] [DeRoure97]. This
provides a powerful framework to aid navigation and authoring.
Our overall research objective is to refine and extend the architecture
of the DLS to provide distributed link service support (servers, tools
and techniques) for mobile users of distributed hypermedia (Web) information
systems. A good way to introduce the problem and therefore the research
issues is to give a scenario based on the work practices of our industrial
collaborator, Ordnance Survey
Ordnance Survey runs a distributed information management system to
manage the vast amounts of text and graphical data that is necessary to
support its operations. It is organised with a central HQ in Southampton,
and regional and field offices throughout the UK. The surveyors are based
in the field offices and are required to send the results of their surveys
back to the central office. These will often be in the form of very large
datafiles or annotations, modifications, corrections to existing files.
The field operators need to be able to access current versions of the information
held centrally including map data from the central Geographic Information
System (GIS). They currently use workstations based in their offices but
will increasingly move to the use of portable PC's which they already take
out into the field and that will in the future be connected by wireless
technology to the organisation’s network. The field operators also need
to collaborate with one another and with their offices, and to access reference
documentation managed centrally.
Figure 1 Proposed Demonstrator
The current design of the DLS is based on agents and the open hypermedia
paradigm, which have proven to be powerful approaches to some of the issues
of distributed information management [DeRoure 96a]. However there is a
need for a new approach for the DLS to cater for mobile environments.
A very flexible and successful approach to specifying, building and managing
distributed systems is to employ an architecture description language (ADL).
Architectural description languages are used to describe the architecture
of an application or service in terms of the software components (e.g.
mobile agents) required and the interactions between them.
Such descriptions can then be employed to build and manage the distributed
application or service. In mobile environments, the architecture of an
application or service should be self-organising in that the components
should be able to configure and reconfigure autonomously themselves in
response to their environment and in response to changing circumstances,
for example, if required components are missing they should be downloaded
and installed or migrated from another site; if required components are
out-of-date, newer versions should be instantiated; if the quality-of-service
varies, components should adapt accordingly. Deployment of a sophisticated
mobile application or service should be as easy as deployment of a traditional
desktop application.
This project will provide new tools and techniques for specifying and
managing self-organising software architectures to support mobile users
and applications. Such tools and techniques will also have
broader applicability in areas such as programmable telecommunications.
4
Background Work and Current Limitations
4.1 Open Hypermedia Systems & Distributed Link
Service
Open Hypermedia Systems have been well researched by the Hypermedia community,
and increasingly Web applications, particularly publishing applications,
adopt the open hypermedia approach. The key notion is that links
are first class objects, stored and managed separately from documents;
like documents, they can be stored, transported, cached and searched, and
their use can be instrumented. The Distributed Link Service makes
this separation of concerns explicit by treating link creation and resolution
as a service, and in fact it is a service which may be provided by multiple
link servers and link resolution engines. Open hypermedia systems are more
complex to engineer than closed systems, distributed systems such as DLS
more so; there are, for example, important scalability issues to be addressed.
Our existing design makes assumptions about its infrastructure, which
break in the presence of mobility. These fall into two categories.
Networks. The DLS, like other distributed hypermedia systems,
assumes network connectivity for access to document and link servers, and
the proxy architecture is used to introduce links synchronously.
Intermittent connectivity demands a more asynchronous model, with caching,
and mobility also makes assumptions of locality invalid; these characteristics
demand more sophisticated version control and synchronisation of documents
and links. This demands a more complex architecture for DLS, and
one that would benefit from self-organisation; a mobile agent model may
be appropriate.
Multimedia. Documents (or fragments) may undergo media conversion
in order to be delivered under a low quality of service, either to different
media or by being downgraded in some way. Techniques must be established
so that link anchors (position or content) are preserved through such transformations.
Maps are an interesting case study in this respect as various conversions
(including removing features, and vector to raster conversion) are possible;
e.g. a surveyor with a detailed map of one area sometimes.
4.2 Specification of Self-Organising Software Architectures
Architecture Description Languages (ADL’s) are increasingly being used
to structure complex applications from reusable software components [Shaw96].
Of particular benefit is that the fact that architectural descriptions
are an ideal skeletal framework for other support tools e.g. graphical
design tools, compilers, behavioural and performance modellers, debuggers
and application management software [Kramer97]. Most ADL’s provide
support for abstract definitions of components using typed interfaces,
for hierarchical composition and for indirect component binding.
In addition, many ADL’s provide some domain-specific support, for example,
in configuration management, or distributed systems, or behavioural modelling.
Darwin [Magee95] is an ADL that has been developed over many years at Imperial
College, an which has been successfully applied in several domains: distributed
systems, parallel processing and embedded applications. In addition
to the ADL features mentioned earlier, Darwin provides specific abstractions
for configurable distributed applications: interface composition (useful
for multimedia applications), dynamic & lazy instantiation of components
(useful for dynamic applications or services), an abstract model for distributed
component allocation and interoperability with non-Darwin services and
legacy applications.
As software architectures become more complex and more dynamic, there
is a need to be able to constrain the architecture of systems in more sophisticated
and more generic ways. ADL’s need to include constraint specifications.
Such specifications could be application-specific (e.g. Ordnance Survey),
and/or domain-specific (e.g. catering for the quality-of-service requirements
present in mobile environments), and/or used to enforce a specific architectural
style (e.g. connectors). By augmenting constraint specifications
with actions to be taken on constraint failure, architectural descriptions
can provide a framework to reconfigure applications autonomously in a mobile
environment.
The Darwin ADL currently provides limited support for constraint specification
in the following areas:
-
Type Checking - component and component interfaces are typed
and implementations of components are checked for type compatibility. Interfaces
are typed using IDL although other type systems are allowed. Interface
bindings are checked for both type-compatibility and interface directionality
i.e. that required services be bound to provided services.
-
Assertions can be defined that can be used to validate parameters
or using libraries of pre-defined functions, can be used to ensure that
the runtime environment satisfies our preconditions, e.g. that specified
resources are present.
Powerful, but easy to write constraint specifications are needed to augment
Darwin’s built-in constraints and to allow generic constraint specifications
for component selection (e.g. component type’s A and B conflict and must
not be used in the same context), composition (every composite component
must include an authentication component), binding (at most 10 clients
can bind to the file service), topology (dining philosophers must be connected
in a ring) and reconfiguration to be defined. Constraint will also
help us address some difficult research problems: (1) Can we specify and
determine all legal combinations of an architecture? (2) If
an architecture can have more than one legal structure, how do we select
the one that has the “best-fit”? (3) Can a mobile component
belong to more than one architectural domain at runtime, if so how is it
reconfigured? (4) Can we dynamically merge two applications using
their architectural descriptions? (5) Can we dynamically split an
architecture into two or more architectures?
Although architecture description languages are primarily used to structure
application software, we can also apply the structural capabilities of
an architectural description language to structure complex link hierarchies.
The addition of constraint specifications to the architectural description
language can then be used to handle constraints for dynamic link hierarchies.
5
Research issues
To summarise, the research issues that will be addressed by the project
include:
-
Determining how mobile field-workers can indicate which links they are
interested in and what constraints such as location or QoS information
apply to these links?
-
Investigating how to use constraints to decide when and how to resolve
hypermedia links and the delivery of the multimedia information that they
reference? To what extent can mobile agent technology and caching
be used for this?
-
Determining when media needs to be converted into different formats for
delivery over wireless networks?
-
Determining how to support version control and resynchronisation of documents
and link data.
-
Defining a flexible notation that can be used to specify architectural
constraints, policies for locating services, choosing hosts for components
and adapting to QoS changes where either the users are mobile or the agents
acting on behalf of the users are mobile.
-
Development of runtime support for self-organising mobile applications
and services. It may be necessary to provide a management interface to
query a running application and obtain its current configuration state
both to ensure conformance with the architectural specification and to
allow performance optimisations. However, many internal configuration
changes may occur at too fast a rate to be visible or manageable remotely.
Consequently, the work will investigate the level of configuration that
is appropriate and practical for direct management intervention.
-
Determining how a non-technical user specifies options for tailoring self-organising
applications. The user should be able to select application
features that are automatically mapped to configuration operations.
6
Activity Workplan
6.1 WP1 Distributed Link Service for Mobile Environments
The University of Southampton’s DLS will be used as starting point to investigate
the issues that arise when working in a mobile environment. The approach
we will take is:
Redesign the DLS with an asynchronous model, so that link resolution
is independent of document delivery, also enhancing the current concept
of context to include geographical location. The new design will
be prototyped using existing DLS components as far as possible.
Design client-side link caching to support intermittent connectivity,
using local link resolution and link data resynchronisation. In addition
to supporting reading, the caching needs to address document annotation
and collaboration.
The anchors (endpoints) of links are either identified by their position
in documents or by matching content (e.g. a feature on a map). Due
to constraints on quality of service, documents may need to be converted
to different formats during delivery (and this may occur dynamically, perhaps
according to the self-organising architecture). This phase addresses the
management of the automatic conversion, and in particular the preservation
of link anchors across conversion.
With the above in place, we can support a range of hypermedia linking
functionalities, including content-based navigation, and the final phase
is to investigate this. The investigation includes an experiment
in describing this 'information architecture' with the software architecture
modelling tools.
Deliverables:
Month 6: Description of current DLS architecture
in Darwin, and initial design for asynchronous version.
Demonstration of asynchronous version
Month 12: Design for caching, in Darwin; demonstration
of intermittent connectivity.
Month 18: Design for resynchronisation in Darwin;
demonstration.
Month 24: Demonstration of preservation of anchors
through media conversion and content-based navigation.
6.2 WP2 Specification of Self-Organising Software
Architectures
The Darwin ADL for distributed applications will be used as a starting
point for specifying self-organising architectures of mobile applications
and services.
In Darwin software components are allocated to hosts by mapping components
to integer-valued locations and then using a separate resource-mapping
description to map location numbers to actual resources. The model
is flexible but needs to be adapted to cater for mobile environments, which
have more varied resources and variable quality-of-service. In addition,
the model needs to cater for migratory components, which move from location
to location.
Darwin supports dynamic lookup and binding to external or legacy services
by interacting with a running nameserver or trader that is used to locate
a service. Mobile applications will need to be able to adapt and
reconfigure in response to changing environments and quality-of-service.
This requires greater flexibility in specifying how and when services are
located, bound, relocated and rebound.
In addition to the traditional 1st-party binding where individual client
components initiate binding to servers, Darwin also supports 2nd-party
binding where the server component controls the binding and configuration
of client components. 2nd-party binding is specified in terms of architectural
descriptions that use virtual components as placeholders for potential
components. At runtime, actual components, possibly members of other architectures
can substitute for a virtual component. The notion of virtual components
(like virtual machines in operating systems) is powerful but needs further
work to refine how virtual components are selected and reused.
In addition to configuring applications, we have done some initial work
on dynamically configuring protocol stacks to adapt to changing communications
patterns. In our framework, protocol layers can be added to, or removed
from, the protocol stack during the lifetime of the communication session,
allowing the software to react to changing quality-of-service levels provided
by the network and operating system.
Darwin needs to support architectural constraints, which must be maintained
by the software infrastructure to ensure (by reconfiguration) an application’s
correctness in a mobile environment. In addition, generic constraint
specification techniques are needed enforce common configuration styles
[Shaw95], pipe-and-filters [Allen92], blackboards [Nii86] and layered protocol
stacks [Crane97].
Deliverables:
Month 6: Review and Evaluation of
Constraint-Based Techniques and Tools.
Month 12: Initial Architecture Description
Language Proposal and Compiler.
Month 18: Evaluation of ADL in Demonstrator.
Month 36: Final Architecture Description Language
and Compiler.
6.3 WP3 Runtime Support
Our applications will be built using Web technologies such as HTTP, HTML,
JavaScript and Java. An OMG MASIF-compliant mobile computing platform
for Java such as IKV’s Grasshopper [Grasshooper98] or General Magic’s Odyssey
[Ugai97, Odyssey98] will be used for programming application-level components
and where appropriate DLS components.
At the architectural level, we will develop a portable ADL compiler
(in Java) to translate constraint-based architectural descriptions into
either directly executable Java code or into a specially designed code
for runtime constraint satisfaction by a runtime interpreter.
We will implement suitable runtime support for selecting, locating,
installing and moving components, allocating and scheduling local and remote
resources, and interacting with application management systems. We
will also use an existing location service for mobile environments [Leonhardt96]
which supports context-awareness (mobile computer can automatically find
out where it is) and location tracking (location information is automatically
propagated to central computers).
Deliverables:
Month 6: Review and Selection of
Mobile Computing Platform.
Month 18: Prototype Runtime Support System.
Month 36: Final Runtime System.
6.4 WP4 Evaluation
The overall objective of this WP is to evaluate the tools and techniques
by testing them to implement a real demonstrator to be used by Ordnance
Survey field-workers. The emphasis in this evaluation will be to see whether
the new techniques and tools work correctly in producing a demonstrator
that meets its requirements and in trying to identify whether the approach
does improve productivity.
Ordnance Survey will attend meetings in the earlier part of the project,
to help establish the case study. They will then review the project
after one year and determine an appropriate evaluation strategy.
A likely scenario is that the prototype at Southampton will be extended
to inter-operate with Ordnance Survey software, and this will then be made
available within Ordnance Survey for evaluation.
We will use the extended ADL to redesign and re-implement the DLS service
and determine the improvement resulting from using new tools and techniques.
However we realise this can only be a subjective evaluation, as any re-implementation
should be expected to be quicker and produce a better product than the
original.
The prototype tools will be used to produce the demonstrator.
Feedback from the field workers from using the demonstrator hyperlink service
will be used to refine the approach. In addition we intend to use
the prototype facilities for individual and group student projects within
our respective teaching environments, and to make them available to other
industrial collaborators in related project to test the prototype facilities
for other mobile application scenarios. This will provide additional
critical feedback from technical users.
The evaluation will try to determine:
-
Scalability - Determining what the limitations are on the number
of components or the number of links that can be managed in a mobile computer
and whether there any limitations with respect to concurrent activation
of links or different applications.
-
Performance - Determining when and where and why performance bottlenecks
arise, particularly for wireless operation. Determining whether network
loading increases linearly with the number of components or links.
Deliverables:
Month 6: Requirements Analysis,
Specification and Design of Ordnance Survey Demonstrator.
Month 18: Prototype Demonstrator produced using
Prototype tools. Initial Evaluation.
Month 36: Final Demonstrator and Evaluation
6.5 Workplan Overview
Figure 2 Workplan Overview
7
Requested Support
The equipment requested will be divided between Imperial College and the
University of Southampton.
| Qty |
Part No. |
Description |
Unit. £
|
Total £
|
Total $
|
| 7 |
F1430A |
HP Omnibook Sojourn CT 5/233 |
4320
|
30240
|
48384
|
| 4 |
F1431A |
HP Omnibook Sojourn multi-media expansion slice |
389
|
1556
|
2490
|
| 4 |
F1433A |
HP Omnibook Sojourn battery slice |
564
|
2256
|
3610
|
| 4 |
F1250A |
HP Palmtop 620LX |
740
|
2960
|
4736
|
| 4 |
F1242A |
HP Palmtop 620LX docking cradle |
23
|
92
|
147
|
| 2 |
F1252A |
VGA-Out PC Card |
100
|
200
|
320
|
| 12 |
J2964A |
HP NetBeamIR LAN Access Point |
150
|
1800
|
2880
|
|
|
|
|
|
|
|
|
Conversion $1.6 per £ |
|
Total
|
$62,566
|
Contact for prices: Gary Linden, HP UK Pre-sales support (0990
474747)
8
Publication of the Results
All the results of the work will be available via the following Web reference
http://www-dse.doc.ic.ac.uk/projects/link-me
9 References
That's All Folks!