Académique Documents
Professionnel Documents
Culture Documents
White Paper
Contributors
Marco Autili (Univerity of l’Aquilla, PLASTIC)
Antonia Bertolino (CNR-Pisatel, PLASTIC)
Christophe Cordier (FTRD, SPICE)
Bhushan, Bharat (FOKUS, SPICE)
Isabel Ordás (TID, OPUCE)
Carlos Baladrón (Universidad de Valladolid, OPUCE)
Joe Gorman (Sintef, MIDAS)
Erik Klintskog (Appear Networks, MIDAS)
Alisa Devlic (Appear Networks, MIDAS)
Version: <1.0>
1
Alterations
Document Review
Abstract
The ability to effectively manage the different steps of the service lifecycle is fundamental to
the success of mobile service platforms. Indeed, while service lifecycle has been traditionally
viewed as largely isolated steps, the need to take into account the changing mobile environ-
ment and the distribution of resources and service components is leading to stronger inter-
twining. This white paper presents the work on service lifecycle management carried out
within projects of the Mobile Services Platform cluster. Specifically, the problems of service
creation, monitoring, validation, deployment, discovery and composition in B3G networks are
addressed. While these projects have investigated the same research domains, the varia-
tions in the targeted application domains or in the underlying infrastructure have lead to dif-
ferent approaches and solutions.
This white paper was produced as a result of work in the Mobile Service Platforms (MSP)
cluster of IST FP6 projects. The MSP cluster is part of the Sixth Framework Program of Eu-
ropean research activities IST (Information Society Technologies). The cluster covers all
work providing elements of platforms, which facilitate the development and deployment of
mobile services. The cluster provides a forum to facilitate knowledge sharing on all aspects
of B3G service platform technologies. The problem space includes: hiding the heterogene-
ous service execution platforms, managing the personal communication sphere (devices,
groups, networks), creating autonomous systems, context/knowledge management, auto-
matic service composition, end-user/3rd party service development environments, service
roaming etc.
2
Contributing projects
3
Contents
1 Introduction .................................................................................................................... 7
2 Service Model and Creation Tools.................................................................................. 9
2.1 Related Work .......................................................................................................... 9
2.1.1 Service Oriented Architecture........................................................................... 9
2.1.2 Component vs Service Orientation ................................................................... 9
2.2 PLASTIC Conceptual Model for Adaptive Services ................................................10
2.2.1 Combining services and components..............................................................11
2.2.2 Extending the SeCSE conceptual model .........................................................12
2.3 SPICE Component Model and Toolchains .............................................................12
2.4 User-centric Services in OPUCE ............................................................................13
3 Service Validation..........................................................................................................17
3.1 Related Work .........................................................................................................17
3.1.1 Testing of networked systems .........................................................................18
3.1.2 Web Services Testing .....................................................................................19
3.1.3 Runtime Monitoring .........................................................................................20
3.1.4 QoS Validation of Networked Services............................................................20
3.2 Validation in PLASTIC............................................................................................21
4 Service Deployment ......................................................................................................23
4.1 Related Work .........................................................................................................23
4.1.1 Bundle deployment in OSGi ............................................................................23
4.1.2 SmartFrog and CDDLM...................................................................................24
4.2 Context-aware service deployment in MIDAS.........................................................25
4.3 Service deployment in OPUCE ..............................................................................26
5 Service Discovery..........................................................................................................28
5.1 Related Work .........................................................................................................28
5.2 New challenges for service discovery.....................................................................29
5.2.1 Multi-protocols SD...........................................................................................29
5.2.2 Context-aware SD...........................................................................................30
5.2.3 Semantic SD ...................................................................................................30
5.2.4 Multi-networks SD ...........................................................................................30
5.2.5 Security and privacy........................................................................................31
5.2.6 Mobility............................................................................................................31
5.3 Service Discovery in PLASTIC ...............................................................................31
5.4 Discovering, publishing and sharing services in OPUCE ........................................32
6 Dynamic Service Composition.......................................................................................33
4
6.1 Related Work .........................................................................................................33
6.1.1 Web service conversation ...............................................................................33
6.1.2 Web service choreography..............................................................................34
6.1.3 Web service orchestration...............................................................................34
6.2 New Challenges for Service composition in B3G environments .............................35
6.2.1 Dynamic service composition ..........................................................................35
6.2.2 Reconfigurable service composition ................................................................35
6.3 Service broker architecture in SPICE .....................................................................36
6.4 The Service Composition Model in OPUCE ...........................................................37
7 Conclusion ....................................................................................................................39
8 References....................................................................................................................40
5
List of Figures
Figure 1: Design-time and run-time aspects of service lifecycle............................................. 7
Figure 2: Service lifecycle in MobiLife.................................................................................... 7
Figure 3: PLASTIC two-layers approach ..............................................................................11
Figure 4: OPUCE architecture ..............................................................................................14
Figure 5: OPUCE faceted approach to service description ...................................................15
Figure 6: MIDAS middleware components............................................................................26
Figure 7: Service provisioning and deployment in OPUCE ...................................................27
6
1 Introduction
The ability to effectively manage the lifecycle of services is fundamental to achieving success
within mobile service platforms. Service lifecycle [1][2] can be abstracted as a succession of
operations which can be grouped into design-time aspects and run-time aspects (see Figure
1).
8
2 Service Model and Creation Tools
9
defined as a mix of syntax, semantics and behavior specifications. The basis for assembling
services is only service descriptions. In this way, as opposed to component orientation, ser-
vice integration may be carried out either prior or at run time. In such a context, it is clear that
service orientation concentrates on how the services are described in order to support dy-
namic discovery and possibly run-time integration.
Service orientation promotes the idea that different service providers may supply a service.
In fact whenever other providers comply with the contract imposed by the service description
they can be interchanged. In this way a requester is not coupled with a particular provider.
Another fundamental characteristic of service orientation is that services exhibit dynamic
availability, since they can be added or removed from the service registry at any time. Con-
sequently, running applications must be capable of releasing departing services or of incor-
porating newly arriving services. Table 1 summarizes in a point-to-point view the previous
discussion about service orientation and component orientation.
10
2.2.1 Combining services and components
Services in PLASTIC are meant to be adaptable to the context whether related to the user
setting (e.g. type of device, user mobility) or the available network resources (e.g. network
bandwidth). The goal is to provide services that achieve the best tradeoff between the user
needs (in terms of Quality of Service) and the current context characteristics (in terms of
available resources).
In order to achieve a high degree of adaptability, services must be aware of the context
where they run. Thus, we make the context characteristics emerging at the service level: a
service description will be not limited to its functional characteristics (i.e. signature and be-
haviour), but it will bring additional attributes that model its QoS characteristics (e.g. service
reliability, latency time).
PLASTIC’s approach is somehow opposite to a typical layered architectural model, where
differences in a lower layer (in terms of functional and non-functional characteristics) disap-
pear in at the upper layer. Instead, it stresses the importance of application-awareness as
opposed to distributed system transparency.
In PLASTIC, applications in the B3G environment should always guarantee a certain level of
QoS to the consumer despite the heterogeneity and richness of the underlying networks. At
the same time, the components implementing the services should have the capability to
adapt to different contexts. QoS and adaptation are thus the main keywords for the PLASTIC
conceptual model. Figure 3 shows this two-layer vision of a software application:
• The component layer represents the computing environment for networked services
that is able to manage the life cycle of the software components while delivering func-
tionalities for a device from anywhere in the network. Software components can be
deployed, updated, or removed on the fly without interrupting the operability of the
device.
Components developers bind to services by only using service descriptions. In other
words, components contractually implement service descriptions but the selection of
the specific component to instantiate is deferred at run-time by taking into account the
service requester needs and the environment/context of service access.
• The service layer manages two aspects: (i) the description of services and their com-
position, (ii) the mapping between services and set of components implementing
them.
S8
Service
S4 Layer
S9
Service
S5
S3 Service Composition
request S7
S10
Service
Consumer
C7 C9
Software
C4 Developer
C2
C1
Component Assembling
C3 C6
C5 Component
C8 Layer
11
2.2.2 Extending the SeCSE conceptual model
The new entities introduced in the conceptual model of SeCSE by PLASTIC are as follows:
• Context: This entity represents the (physical/logical) context in which the service that
will run is executed. It is used by the PLASTIC platform to provide/adapt services in
order to better meet the user requirements on the service. The context is a first class
entity in the PLASTIC conceptual model since it influences the Service Level Agree-
ment procedure, the composition of software services and the adaptation of software
components.
• Context Description: This entity represents the information the PLASTIC platform is
able to retrieve from the environment, suitably structured. In general this information
is partial since it is too heavy (and useless) to gather the complete information on
context. It contains the descriptions of the available resources (logical and physical).
• Available Resources Specs: This entity is part of the context and it contains the de-
scription of the resources available at the service consumer side. In other words it
contains specifications about the device the service consumer uses in his service re-
quest. This piece of information about the context in which the service will run on and
it is contained in the service request expressed by the consumer.
• Location: Location is the identification of a context. It can be related both to physical
and logical context. This entity is useful to model mobility in PLASTIC platform. The
context is hence identified by a location contained in the context description. Each of
the component(s) implementing a service resides in a single location.
• Component Description: Component Description contains functional and non func-
tional specification of the software component it corresponds to. Among non func-
tional aspects the PLASTIC platform requires that QoS attributes of the component
are explicitly defined and that it contains the location where the component will be
deployed and executed. The information specified in this entity is used in the software
component assembling and in the component adaptation. Finally there is a strict rela-
tion between the description of the software service and the one of the software com-
ponent implementing the service.
• Adaptation Specs: This entity models the rules used to adapt a software component
to a specific context. The specified rules make use of the component description in
order to suitably adapt the involved software component(s) to the available context
where the software service will run.
• Service Level Agreement: This entity models the agreement reached between the
service consumer and the service provider. In practice, SLA is composed from multi-
ple different clauses and each clause addresses a particular service request require-
ment. It represents the contracts between them. Context, Service Request and Ser-
vice Description influences the procedure that finishes with the agreement.
12
Every service request served by the service platform is handled by a composite component.
In trivial case, the composite component consists of exactly one component that is fully
specified (endpoint, version, etc.). In complex cases, the composite component may be
composed of other composite components with a large nesting level. The components han-
dling a service request and their connections are referred to as service component network.
Furthermore, a component network is said to be abstract if its components or component
connections are not fully known at design time. Abstract component networks are associated
with adaptation rules that control how the components and component connections need to
be selected according to conditions of the environment.
SPICE provides the Service Creation Environment (SCE) that supports the creation of basic
components, intelligent components, and value added services. The SCE provides graphical
service development tools, as well as emulation of service enablers and testing environment.
Two separate toolchains support the needs of the professional service developers and the
needs of the end users respectively.
• The special End User Studio allows the end-users to create service mashups from
existing SPICE services, which are easily tailored to their needs. This means that
end-users are not allowed to compose arbitrary mash-ups, but rather they have a se-
lection of templates that dictate how services can be combined and parameterized.
These templates are provided and maintained by the platform operator or third party
service providers.
1
http://www.opuce.tid.es/
13
(e.g., a positioning service, a messaging service or a map service). Furthermore, the creator
may publish and share the service with other users.
2
http://www.ist-spice.org/
14
these projects have been considered in OPUCE to create a service specification model com-
pletely. More precisely, the faceted approach of the service description defined by the
SeCSE project has been extended to support the user-centric features of OPUCE services,
including the user-driven lifecycle management of user-centric services. Figure 5 depicts the
faceted specification followed in OPUCE.
Therefore, in OPUCE, services are described using a service specification which contains all
aspects of a service. Each aspect, called a facet, is further described in a separate XML-
based specification. With a view to all the functionalities available in the OPUCE platform we
have considered three sets of facets:
• Functional facets, which include service logic facets, service interface facets, service
semantic information facet, etc.
• Non-functional facets, which include service level agreement (SLA) facets, quality of
service facets, etc.
• Management facets, which include service lifecycle schedule and deployment facets.
3
http://secse.eng.it/
15
• The simplified editor with less demanding user interface, simpler description lan-
guage, restricted set of available operations, more guided creation/customization
process, etc.
However, in order to support cross-editing, both tools share the same design principles and
take a consistent approach to the underlying service platform, linking with a centralized ser-
vice repository in the background. In fact, both editors show OPUCE services with specific
“service resolution”: the more advanced the editor the higher the resolution. But both work on
the same material, i.e. the service definition.
16
3 Service Validation
As outlined in the introduction, enabling the development and deployment of mobile adapt-
able robust services for Beyond 3G (B3G) networks faces numerous challenges such as
easing the deployment of services on a wide range of infrastructures or taking care that us-
ers of the services always experience the best Quality of Service (QoS) possible according to
their specific situation. Because of the emphasis on the QoS and on the dependability of ser-
vice behaviour, the validation of B3G applications must consider in equal measure both func-
tional and extra-functional properties, i.e., not only we need to check that the behaviour of
service-oriented applications complies with the expected logical sequence of events as de-
fined in the service functional specifications, but also that the services abide to the expected
or contractually agreed levels of quality, which are also part of the specifications in form of
suitable annotations.
Following the definition of terminology associated to validation, we survey in Section 3.1
some topics related to the validation of B3G services, which altogether make the context for
the development of a B3G validation framework. We then detail how service validation is
carried out in PLASTIC.
17
windows are, what policies should be applied when a fault is detected, and so on. In some
approaches, the middleware is responsible for providing the facilities to disseminate the data
collected from the sources to the sinks that analyses the data. The two practices clearly have
many commonalities in terms of overall goals and problems. In this sense, is possible to con-
sider the monitoring as one of the specific testing activities that are applied when the system
is on-line.
18
A key aspect of B3G applications is the inherent mobility of terminals and devices on which
the Software Under Test runs. As B3G networks incorporate different wireless technologies,
software running on mobile terminals must be possibly tested in all the networks to which the
terminals could be moved and connected to, since we need to validate how the services can
interoperate in the various contexts, and also that the required QoS is provided. This may
increase exponentially the difficulty of B3G application development and testing. There does
not exist much work in the literature about how the testing for such aspect can be tackled.
One author who has addressed specifically this concern and proposed an innovative ap-
proach is Ichiro Satoh [45]. Satoh identified four approaches for testing applications running
on mobile terminals and presented a further innovative solution, called the Flying Emulator,
in which the physical mobility is emulated by means of mobile agents.
19
teed to pass the registration. Industry-supported tools for the testing of Web services include
SOATest, Mindreef, and TestMaker.
Finally WS-I is an industry organization chartered to facilitate WS interoperability. As a main
outcome this organization released a specification, called the basic profile, composed of a list
of rules that refine and put constraints on the combined use of specifications such as WSDL,
UDDI, SOAP. At the same time a testing architecture has been developed to check the use
of elements from such specifications. In particular such architecture is composed of a WS-I
analyzer and a WS-I monitor, that applying the man-in-the-middle paradigm, intercepts all the
messages exchanged by services, and pass them to the analyzer that checks the confor-
mance to the profile. This approach is certainly relevant to assure interoperability among
different services, nevertheless it is not concerned with the functional and extra-functional
verification of a service implementation.
20
often available. Such tools can automatically generate a running prototype from a given spe-
cification. In our view, when these technologies can be assumed to be applied, there is a
large room for the development of empirical approaches for the evaluation of a system within
the context where it will be used.
Keller and Ludwig [29] present the Web Service Level Agreement (WSLA) framework to de-
fine and monitor SLAs, focusing on QoS properties such as performance and costs. The
monitoring component is made up of two services: the first, the Measurement Service,
measures parameters defined in the SLA, by probing client invocations or retrieving metrics
from internal resources; the second, the Condition Evaluation Service, tests the measured
values against the thresholds defined in the SLA and, in case of a violation, triggers correc-
tive management actions. An automated and distributed SLA monitoring engine is also pro-
posed in [44]. The monitor acquires data from instrumented processes and by analyzing the
execution of activities and messages passing. Collected data are then stored in a high per-
formance database and a data warehouse, to allow the verification of SLAs. Several other
European research projects (ASG [5], SeCSE [46] COMET [11] INFRAWEBS [28], MADAM
[37], MUSIC [39]) also recognize that it is certainly no longer possible to propose solutions
without adequate specification and validation of QoS features, especially in heterogeneous
and networked services contexts.
22
4 Service Deployment
An important milestone in the lifecycle of a service is deployment. Deployment in general
refers to the process whereby a software system is made available to be referenced by other
software. This process in turn may involve several steps. Deployment can be further subdi-
vided into three different steps: installation, admission and publication. From the point of view
of the tester, in particular, publication is the step which makes the difference on whether the
service is visible to users or not.
Deploying any complex, distributed service presents many challenges related to service con-
figuration and management. The deployment of the various components (i.e., code and re-
sources) forming a service require first the provisioning and management of the resources as
defined by the service creator, and then the actual code deployment and management of the
service execution.
• For resource provisioning and management, high-level service specifications should
be translated to low-level resource requirements. The relevant resources should then
be discovered within the targeted deployment domain. Some of these resources may
need to be reserved either for long-term utilization, or to allow for exclusive access.
• For its deployment, service code should then be downloaded to every host (with po-
tentially storage, recompilation, and installation/registration). The relevant hosting
service (i.e., application server) on the target hosts, as well as the service to execute,
should then be configured properly before the service can be executed.
• Once started, the reserved resources should be monitored to guarantee the correct
execution of the service. The service itself should also be managed through monitor-
ing and adaptation operations.
4
http://oscar.objectweb.org
5
http://www.bm.com/software/wireless/wsdd
6
http://siemensvdo.com
23
OSGi thus provides mechanisms to support the deployment of a bundle (installation, re-
moval, update, (de-) activation), while the bundle is itself responsible for the dynamic/run-
time management of services dependences. During execution, services exhibit dynamic
availability as they are introduced or removed from the execution environment as a conse-
quence of bundle deployment activities. Dynamic availability of services requires an applica-
tion to be capable of dynamic assembly (i.e., publication of the bundle's services, connection
between bundles and requested services, idle state while waiting for unavailable services)
and dynamic adaptation (monitoring of existing services through notifications by the service
registry, application reconfiguration involving new bindings or the release of services).
Two types of dependencies are managed in OSGi:
• Deployment dependencies: classes within a bundle may require some code that is
not contained in the bundle. In such case, the bundle must declare explicitly (in the
manifest file) that this code should be imported from another bundle. Bundles can al-
so explicitly export certain Java packages in order to satisfy import requirements from
other bundles. A bundle installed in the platform can be activated once its deployment
dependencies have been satisfied.
• Service dependencies: service management at run time includes service publica-
tion, discovery, binding and adaptation with respect to changes due to dynamic avail-
ability (arrival or departure) of services that are being used by a bundle during execu-
tion. Service dependency management is key to building applications, as they are not
guaranteed, or managed, by the OSGi framework. Service dependencies can be de-
clared in the manifest file.
OSGi announced a Mobile Specification as part of the Release 4 of the OSGi Service Plat-
form Specification that aims at supporting the management of the platform and associated
services for mobile devices (Personal Java 1.2 and Java CDC 1.0). However, OSGi on mo-
bile devices cannot be fully implemented on top of the Java CLDC (which is the environment
used in mobile handsets) as it lacks support for the reflection API and for user-defined class
loaders. Indeed, CLDC profiles only support the execution of pre-verified code components
(i.e., MIDlets) that have already their own life cycle management. These restrictions are re-
quired in cellular environments for security reasons.
7
http://www.smartfrog.org/
24
vice descriptions. Smartforg components collaborate to achieve some goal for which they
must be appropriately organized. The framework must therefore be able to correctly initialize
components (i.e., the appropriate attributes and required components must be properly de-
fined) and to enable the discovery and exchange of state information between components.
The framework elements are:
• A language that allows rich system descriptions. SmartFrog uses attribute-value pairs
in a structured containment hierarchy. Properties are declarative and support in-
stance-inheritance to allow templates to be extended. Flexible linking between attrib-
utes and values is supported and value resolution can be delayed to deployment
time. Finally, descriptions can be a composition of smaller descriptions.
• An engine distributed and executed on all the nodes that automates application de-
ployment, activation, management and shutdown. Each engine that receives a
SmartFrog description loads the required components with the appropriate configura-
tion parameters. The engine also orchestrates the whole system by managing com-
ponents through their complete lifecycles.
• A component model with a simple lifecycle that allows all components to be controlled
by the engine. The engine is composed of a core set of components (lifecycle), with
additional components providing discovery, reliability building blocks, JMX support, …
Much of the experience on description, deployment and management gained with the design
and development of the SmartFrog platform was reused in the design of CDDLM by the
CDDLM-WG which is part of the Global Grid Forum8 (GGF) Scheduling and Resource Man-
agement Project This WG addresses how to describe configuration of services; deploy them
on the Grid; and manage their deployment lifecycle (instantiate, initiate, start, stop). The
CDDLM WG provides specifications for (i) the CDDLM Configuration Description Language
(CDL) which is an XML-based language for declarative description of system configuration,
(ii) the CDDLM Component Model that outlines the requirements for creating a deployment
object responsible for the lifecycle of a deployed resource. Each deployment object is de-
fined using the CDL language and mapped to its implementation, and (iii) the deployment
API is the WSRF-based SOAP API for deploying applications to one or more target com-
puters.
8
http://www.ggf.org/
25
• Context Engine Component (CTX): This component implements the MIDAS Context
Space. The purpose of the Context Engine Component is to provide middleware sup-
port for context information.
• Common Functions (CFN): This component is essentially an “open” component: the
idea is that it will provide functionality that is identified as being useful for applications
implementing mobile services – but is not specific to any one mobile service, and is
not covered in any of the other middleware components. The examples of CFN can
be device management, connectivity management, etc.
• Deployment Component (DPL): It is necessary that the appropriate software is in-
stalled and configured on the appropriate devices. MIDAS provides an overall model
for this, as well as support in the middleware to help use network connections for ser-
vice deployment. It is the deployment component which provides such support.
26
• To allow users to decide when and how long their services must be available, i.e. the
lifecycle schedule.
• To be able to automatically perform the provisioning of Base Services and platform ele-
ments, and to register and publish new services in order to be available to end users.
• To avoid interference of services that act on the same set of control flow (e.g. SIP mes-
sages) or detect such feature interaction in advance to define rules to cope with it.
• To provide scalable execution architectures in a heterogeneous environment allowing the
orchestration of enablers residing on different platforms. This scalability should also avoid
execution hot spots in case specific services become successful.
In OPUCE, the Service Lifecycle Manager allows service creators to take control of some
aspects of the deployment [55]. As such, there is no need for any human intervention from
the operator either when triggering the service deployment process or during the deployment
itself as the service description contains all data necessary to deploy the service.
As part of the deployment process, service provisioning in OPUCE is carried out automati-
cally using the service description to specify the provisioning details for each service. Three
provisioning tasks have been identified, each one impacting different elements of the plat-
form.
o Component Provisioning, which considers the provisioning tasks to be done in those
Base Services that the service creator has combined, such as reservation of re-
sources or configuration of permissions.
o Platform Provisioning, which considers the provisioning tasks to be carried out in the
OPUCE platform components such as updating service repository or, in the future,
the billing systems.
o User Provisioning, which considers the provisioning tasks to be performed on the us-
er side at subscription time, such as installing a dedicated application in the user’s
mobile device or accepting a certain SLA before using the service.
Figure 7 depicts the service description structure for this facet and the relationship of each
type of provisioning with the corresponding OPUCE architecture module.
27
5 Service Discovery
B3G networking aims to enable users to access information and computational resources
anytime and anywhere, where mobile users carry around tiny personal devices that integrate
seamlessly in the existing infrastructure in both managed and ad hoc modes. Integrating the
available hardware and software resources at any given time and place is highly complex, as
such environment is highly dynamic and open. Dynamic service discovery is thus especially
critical due to the fact that B3G services and potential software clients (assuming the role of
service requester) are designed, developed and deployed independently.
Over the years, many academic and industry-supported Service Discovery Protocols (SDPs)
have been proposed, which are described in Section 5.1. Although key features of SDPs are
now well understood and go along with well-proven protocol implementations, a number of
challenging issues remain, as outlined in Section 5.2. We then briefly describe in Section 5.3
some solutions proposed by IST projects to address some of these issues.
28
centralized approach is that, as one device has to host the repository, service providers and
clients need to dynamically discover its location and have to trust it. Furthermore, network
partitioning/merging and device mobility may force costly updates.
In distributed pull-based discovery protocols, service providers store locally their descrip-
tions, which are therefore not distributed to the other nodes on the network. Clients send
their requests using the broadcast/forward functionality provided by the network, and in fact
flood the network to reach potential service providers. The flooding algorithm will however try
to limit/prevent the duplication of queries. When receiving such request, service providers will
compare the request with the service descriptions stored locally to decide if they can satisfy
the request. Typical representatives of this approach are the Simple Service Discovery Pro-
tocol (SSDP) [69], and JXTA-Search [62].
The main drawbacks of the distributed approach are the network-flooding problem [67], the
required support of multicast/broadcast communication by the underlying network, and the
limited range of the multicast/broadcast messages.
In the push-based approach, each device maintains a local repository of services found on
the network. A service provider pushes the service advertisements to the network, typically
by periodic unicast or multicast. As a result, each device’s local registry will gradually collect
service advertisements of service providers. When a client submits a service query to the
local registry, the local registry looks up the service advertisement entries for both the local
and non-local services in order to find the qualified service.
The main issues with the push-based model are related to the reachability of the services
(similarly to the distributed pull-based discovery protocols), and the setting of the broadcast
interval. If set too short, the network will be flooded with unnecessary advertisements. If set
too long, clients will not get an accurate listing of the available services.
Leading SDPs use a pull-based approach (Jini, SSDP), often supporting both the centralized
and distributed modes of interaction (SLP, WS-Discovery).
5.2.1 Multi-protocols SD
Middleware heterogeneity raises interoperability issues between the different SDPs (e.g.,
SLP, SSDP, UDDI) active in the environment. Existing SDPs do not directly interoperate with
each other as they employ incompatible formats and protocols for service descriptions or
discovery requests, and also use incompatible data types or communication models. In any
case, the diverse environment constraints and the de-facto standard status of some of the
existing protocols make it unlikely for a new and unique SDP to emerge. Several projects
have thus investigated interoperability solutions [78] [61] [64], as requiring clients and service
providers to support multiple SDPs is not realistic. SDP interoperability is typically achieved
using intermediate representations of service discovery paradigms (e.g., service description,
discovery request) [79] instead of direct mappings [64], as the latter does not scale well with
the number of supported protocols. Furthermore, the interoperability layer may be located
close to the network layer [79], and efficiently and transparently translate network messages
between protocols, or may provide an explicit interface [74] to clients or services so as to
extend existing protocols with advanced features such as context management.
29
5.2.2 Context-aware SD
A major trend to handle the richness and heterogeneity of B3G environments is to rely on
context information for inferring mobile users’ needs and autonomously locate the most ap-
propriate services [65]. Context-aware SDPs aims to provide users with the best networked
services based on their preferences, needs and runtime conditions [60][63][80][58], some-
times focusing on location-awareness [72] or QoS [81]. The evaluation of context properties
may be achieved through the evaluation of context rules [82] or the maximization of a utility
function [81], but commonly relies on strict syntactic matching between the information pro-
vided by the client and by the service. Context-aware SDPs therefore assume that all clients
and service providers use the same terminology to identify the same contextual information.
Such assumption is not realistic in B3G environments as, there, networked components are
designed, developed and deployed independently.
5.2.3 Semantic SD
The matching of service requests and service advertisements is classically based on assess-
ing the syntactic conformance of functional and non-functional properties. However, an
agreement on a common syntactic standard is hardly achievable in open environments.
Thus, higher-level abstractions, independent of the low-level syntactic realizations specific to
the technologies in use, should be employed for denoting service and context semantics [73].
A number of approaches for semantic service specification [83] have been proposed, and in
particular for semantic Web services such as OWL-S or SAWSDL. The SAWSDL annotates
Web services with semantics, by attaching references to concepts from ontologies (e.g.,
OWL) to WSDL input, output and fault messages, as well as to operations. METEOR-S [84]
uses DAML+OIL ontologies (precursor to OWL) to add semantics to WSDL and UDDI so as
to annotate the communication aspects between services. Other efforts [85][86][87] started
to take care of some of the ambiguity in service descriptions arising from the openness of
B3G environments. EASY [88] provides efficient semantic service discovery, a key require-
ment for the resource-limited devices found in pervasive environments, by encoding ontology
concepts off-line and adequately classifying service descriptions in the repository based on
these encoded concepts.
5.2.4 Multi-networks SD
Network heterogeneity leads to many independent networks being available to users at a
location, which can be loosely interconnected with today’s multi-radio mobile devices. Inno-
vative solutions are then required for the efficient inter-network dissemination, filtering and
selection of discovery requests and announcements [74]. Several projects have investigated
peering (gateways) or application-level (P2P) routing combined with intelligent filtering to
provide efficient and scalable multi-networks service discovery. The mSLP [71] protocol im-
proves SLP efficiency and scalability by introducing mesh enhancements for the peering of
registries as well as preference filters. INS/Twine [57] proposes a scalable P2P architecture
where resolvers (i.e., directory services) collaborate as peers to distribute resource informa-
tion and to resolve queries. GloServ [56] is an ontology-based global service discovery archi-
tecture that operates in wide area as well as local area networks using a hybrid hierarchical
and peer-to-peer architecture. MUSDAC [74] dynamically composes nearby networks
through specific components providing application-level routing on multi-radio devices, which
enables the dissemination of discovery requests in the environment. The key issue for multi-
networks discovery is to accurately report the dynamic changes in the network without jeop-
ardizing processing and network resources due to the potentially considerable amount of
information to exchange and process.
30
5.2.5 Security and privacy
Securing the exchange of service descriptions and discovery requests is crucial in open envi-
ronments, especially when such information is laced with service- or user-related contextual
information [75], Many mechanisms have been proposed to secure the disclosure of service
information, focusing either on encryption and access rights [89] or the need to balance dis-
closure and privacy [75]. Indeed, service discovery is critical to the privacy of clients and ser-
vice providers, in particular when service descriptions or requests are laced with context or
personal information that may be correlated to gain detail knowledge of a person.
5.2.6 Mobility
Client and service mobility has rarely been investigated in the context of service discovery,
as supporting mobility (nomadic or seamless) is primarily seen as an issue for service access
(i.e., maintaining connectivity). Mobility pattern has however been investigated as a way to
favors interaction between nodes that will remain in network reach of each other for the dura-
tion of the session [76].
31
5.4 Discovering, publishing and sharing services in
OPUCE
The OPUCE platform contains a Service Advertiser (SA) subsystem [90][91] that enables
notification of services to users via multiple channels. It also allows sharing of services be-
tween various levels of system participants – from operators to end-users.
Whenever a service is created, it becomes necessary to advertise it to users of the platform
in order to let them know about the newly created item. The SA offers automatic and intelli-
gent correlation of user interests and service description to determine the individuals poten-
tially interested in that kind of service, resulting in a fine-targeted system.
When sharing, a user is able to specifically notify other users (typically his/her friends) about
interesting services.
The result of both processes is a notification, i.e. a message which is sent to a set of target
users. Context-awareness techniques are employed for low-intrusive sending. Each user is
able to select a set of preferences specifying how to receive these messages. For example,
a user can select to receive notifications via instant messaging if his/her presence status is
online, via SMS if presence status is offline and location is at home, and via email otherwise.
In any case, anti-spam tools inside the Service Advertiser module avoid message flooding.
The user is able to select the entities he/she trusts or distrusts in order to avoid or block, re-
spectively, notifications from their side.
In order to facilitate the advertising process the composer specifies at creation time a set of
defining keywords for the service. Additionally, every OPUCE user aware of the service can
access the notification capabilities of the SA, selecting further target users from their contact
list to notify them about it, enabling viral marketing inside the community.
32
6 Dynamic Service Composition
In this section, we concentrate on the support for composition in the B3G networking envi-
ronment and in particular WS composition. We also address the issue of reconfigurable dy-
namic service composition so as to overcome failures resulting from the occurrence of dis-
connection with services with which connectivity cannot be restored despite the rich B3G
networking environment.
33
in [100], the service model description of OWL-S [101], the conversation specification pre-
sented in [102], WSCI [103] and the service specification language introduced in [104]. Con-
versations of Web services that are expressed in the above languages are generally repre-
sented using state transition diagrams. In particular, WSCL uses the UML activity diagram for
modeling conversations where activities represent the operations that may be called, and
transitions the execution of operations.
In general, providing machine-readable specifications of conversations in the service inter-
face is beneficial from the standpoint of dependability for at least two reasons. First, conver-
sations may be used to check the correctness of interactions engaged by a service con-
sumer, prior or during execution. A second benefit of describing conversations in service
interfaces is that they may be used to automate the implementation of service compositions
[105], e.g., by providing tools for the automated generation of correct code skeletons.
34
6.2 New Challenges for Service composition in B3G envi-
ronments
For mobile service platforms, the dynamic realization of user tasks may conveniently trans-
late into the dynamic composition of services, which however raises a number of issues such
as: overcoming the syntactic heterogeneity of service descriptions during the dynamic com-
position process, and reconfiguring composite services to face the mobility of nodes.
36
As there are many ways to compose services, the broker must support multiple composition
algorithms [94]. Indeed, the composition method field is still quite diverse and comes with a
number of trade-offs with regards to consistency of the composed service network, the speed
of the service network calculation and the flexibility or “intelligence” of the service network
calculation when the system is exposed to conditions unforeseen at design time. Each com-
position mechanism supported by the broker is expected to use the same component model.
The usage of the elements of the component model and the way of describing the composi-
tion, however, may be very different depending on the composition mechanism. Four com-
position methods have already been specified for the broker. These are the single dynamic
component composition (when the selection of a single component depends on a KMF con-
text element), the static BPEL (support for legacy BPEL scripts) OWL-S composition and the
semantically annotated BPEL composition. The composite service refers to the composition
method indirectly, e.g. if the composite service uses semantically annotated BPEL then the
broker will invoke the composition method for semantically annotated BPEL. The composi-
tion methods are modeled as services and the broker maintains association tables between
the composition mechanism and the composition service
The output of the broker is a service component network that can be executed directly. The
service component network contains the exact services (endpoints, etc.) and their connec-
tions. The service platform specification supports two execution methods.
• Execution by a dedicated execution engine. In this case the execution engine re-
ceives the service component network and acts as a central distribution point that
sends requests to components and receives responses. This is also called star-based
execution pattern [93].
• Direct component-component communication without execution engines. In this case
the components are connected to each other and there is no router among them. This
is also called mesh-based execution pattern [93].
While the dedicated execution engine option’s enables off-the-self software components like
BPEL execution engines to be reused, the direct component-component implementation op-
tion offers more stability, performance and security. The favoured implementation option is
the direct component-component one.
The broker composes service component network based on the composition descriptor. Two
sorts of composed service networks exist:
• Statically composed service component networks that remain the same independ-
ently of conditions in the environment. These networks can be composed once, for
every user as their composition is not related to any conditions in the environment,
including the user that accesses the composite service.
• Dynamically composed service component networks are composed based on envi-
ronmental conditions that include context variables associated to the user, like user
location, user preferences, etc. Therefore these service component networks belong
to users and a separate version of the service network is calculated and temporarily
cached for each user.
Finally, the lifetime of the service component network within SPICE may be per-request, per-
session, or per-application.
38
7 Conclusion
In this white paper, we presented the work on service lifecycle management carried out with-
in projects of the Mobile Services Platform cluster. Specifically, the problems of service crea-
tion, monitoring, validation, deployment, discovery and composition in B3G networks were
addressed.
While the projects within the MSP cluster have investigated the same research domains, the
variations in the targeted application domains or in the underlying infrastructure have lead to
different approaches and solutions. In particular, while most projects investigate the deploy-
ment of services within an infrastructure-based B3G network, with mobile terminals as mainly
service clients (e.g., SPICE, OPUCE), other projects consider highly dynamic environments
with limited infrastructure support and where services hosted on mobile devices play an im-
portant role (e.g., MIDAS, PLASTIC).
Most projects emphasize the role of service modeling and the need to model both functional
and extra-functional service properties (e.g., SLA, context). An emerging approach for ser-
vice creation is also to support user service creation as in OPUCE.
It becomes apparent that service lifecycle in B3G networks, and in particular run-time as-
pects, cannot be considered as a succession of independent steps. Indeed, the boundaries
between the run-time operations (deployment, discovery, access and composition) tend to
disappear when considering distributed services due to user or service mobility, the dynamic
distribution of the resources, and the underlying need to adapt to changes in the context in
order to deliver the required service to the user.
However, dynamic service deployment of services has not been as investigated as other
topics in current MSP projects, and may require new solutions to properly integrate with ser-
vice discovery and composition.
39
8 References
[1] Q. Wall, Understanding the Service Lifecycle within a SOA, 2006.
http://dev2dev.bea.com/pub/a/2006/11/soa-service-lifecycle-run.html
[2] V. Räisänen, W. Kellerer, P. Hölttä, O. Karasti, S. Heikkinen, ”Service Management Evolu-
tion”, IST Mobile and Wireless Communications Summit, 2005, Dresden, Germany.
[3] R. Alur, C. Courcoubetis, and D. Dill. Model checking in dense real-time. Information and
Computation, 104(1):2–34, 1993.
[4] R. Alur and D. Dill. A theory of Timed Automata. Theoretical Computer Science, 126(2):183–
235, 1994.
[5] ASG - Adaptive Services Grid. European Commission Project. Information Society Technol-
th
ogy. Funded under 6 Framework Programme. http://asg-platform.org/
[6] M. Baldoni, C. Baroglio, A. Martelli, V. Patti, C. Sciafanell “Verifying the Conformance of Web
Services to Global Interaction Protocols: A First Step” in Proceedings of Web Services and
Formal Methods, LNCS 3670, pp. 257-271.
[7] L. Baresi, C. Ghezzi and S. Guinea. Smart Monitors for Composed Services. In Proceedings
of the 2nd International Conference on Service Oriented Computing, 2004.
[8] L. Baresi and S. Guinea. Towards Dynamic Monitoring of WS-BPEL Processes. Proceedings
of ICSOC05, 3rd International Conference On Service Oriented Computing. 2005.
[9] G.Canfora, M. Di Penta. Testing Services and Service-Centric Systems: Challenges and Op-
portunities. In IT Professional March-April 2006 pp.10-18
[10] R. H. Carver and K.-C. Tai, Replay and Testing for Concurrent Programs, IEEE Software,
Vol.8 (2), Mar. 1991, 66-74.
[11] COMET - Converged Messaging Technology. European Commission Project. Information
th
Society Technology. Funded under 6 Framework Programme. https://www.comet-
consortium.org/
[12] C. Courbis and A. Finkelstein. Towards aspect weaving applications, Proceedings of Interna-
tional Conference on Software Engineering, St. Louis, 2005.
[13] F. Curbera, M. J. Duftler, R. Khalaf, W. A. Nagy, N. Mukhi, and S. Weerawaran. Colombo:
lightweight middleware for service-oriented computing. IBM Syst. J., 44(4):799-820, 2005.
[14] G. Denaro, A. Polini, and W. Emmerich, Early performance testing of distributed software
applications, Proceedings of the fourth international workshop on Software and performance,
2004, pp. 94–103.
[15] O. Edelstein, E. Farchi, Y. Nir, G. Ratsaby and Shmuel Ur, Multithreaded Java program test
generation, IBM Systems Journal, Vol. 41 (1), 2002, 111-125.
[16] O. Ezenwoye and S. Masoud Sadjadi. Enabling robustness in existing BPEL processes. In
Proceedings of the 8th International Conference on Enterprise Information Systems, Paphos,
May 2006.
[17] L. Frantzen, J. Tretmans and R. d. Vries. Towards Model-Based Testing of Web Services. In
Andrea Polini, editor. Proceedings of International Workshop on Web Services - Modeling and
Testing (WS-MaTe2006), pages 67-82, 2006.
[18] X. Fu, T. Bultan, and J. Su. Analysis of interacting BPEL web services. In Proc. of WWW2004,
May, 17-22 2004. New York, New York, USA, pp. 621-630.
[19] S. Ghosh, N. Bawa, S. Goel, and Y. Raghu Reddy, Validating run-time interactions in distrib-
uted java applications, ICECCS ’02: Proceedings of the Eighth International Conference on
Engineering of Complex Computer Systems (Washington, DC, USA), 2002, p. 7.
[20] S. Ghosh and A. Mathur, Issues in testing distributed component-based systems, Proceedings
of the First International ICSE Workshop Testing Distributed Component-based Systems, May
1999.
40
[21] J. Goguen, J. Thatcher, and E. Wagner. An initial algebra approach to the specification, cor-
rectness and implementation of abstract data types. In Current Trends in Programming Meth-
odology, volume IV: Data Structuring, pages 80-149. Prentice-Hall. 1978
[22] J. Grundy, Y. Cai, and A. Liu, Softarch/mte: Generating distributed system test-beds from
high-level software architecture descriptions, Automated Software Eng. 12 (2005), no. 1, 5–
39.
[23] H. Hrasna. Glassfish community building an open source JavaEE5 application server, 2006.
[24] C.E. Hrischuk, J.A. Rolia, and C.M. Woodside. Automatic Generation of a Software Perform-
ance Model Using an Object- Oriented Prototype. In Patrick W. Dowd and Erol Gelenbe, edi-
tors, Proc. of the 3rd International Workshop on Modeling, Analysis, and Simulation On Com-
puter and Telecommunication Systems (MASCOTS 1995), pages 399–409. IEEE Computer
Society, 1995.
[25] A. Hubbard, C. M. Woodside, and C. Schramm, DECALS: distributed experiment control and
logging system, Proceedings of the 1995 conference of the Centre for Advanced Studies on
Collaborative research, 1995, p. 32.
[26] D. Hughes, P. Greenwood, and G. Coulson, A framework for testing distributed systems, P2P
’04: Proceedings of the Fourth International Conference on Peer-to-Peer Computing (P2P’04)
(Washington, DC, USA), 2004, pp. 262–263.
[27] IBM. Tivoli: Composite Application Manager for SOA, 2006.
[28] INFRAWEBS. European Commission Project. Information Society Technology. Funded under
th
6 Framework Programme. https://www.comet-consortium.org/
[29] A. Keller and H. Ludwig. Defining and Monitoring Service-Level Agreements for Dynamic e-
Business. In Proceedings of the 16th Conference on Systems Administration, 2002.
[30] P. Krishnamurthy and P. A. G. Sivilotti, The specification and testing of quantified progress
properties in distributed systems, Proceedings of the 23rd international conference on Soft-
ware engineering, 2001, pp. 201–210.
[31] A. Lazovik, M. Aiello, and M. Papazoglou. Associating assertions with business processes and
monitoring their execution. Proceedings of the 2nd International Conference on Service Ori-
ented Computing, pages 94-104. ACM, 2004.
[32] Z. Li, Y. Jin and J. Han. A Runtime Monitoring and Validation Framework for Web Service
Interactions. In Proceedings of the 2006 Australian Software Engineering Conference, 2006.
[33] Z. Li, W. Sun, Z. B. Jiang, X. Zhang. BPEL4WS Unit Testing: Framework and Implementation.
In Proc. of ICWS'05, Orlando, Florida, July 11-15 2005, pp. 103-110.
[34] Y. Liu and I. Gorton. Accuracy of Performance Prediction for EJB Applications: A Statistical
Analysis. In Proc. Of Software Engineering and Middleware (SEM 2004), volume LNCS 3437,
pages 185–198. Springer, 2004
[35] B. Long, D. Hoffman and P. Strooper, Tool Support for Testing Concurrent Java Components,
IEEE Transactions on Software Engineering, Vol. 29 (6), Jun 2003, 555-566.
[36] H. Ludwig, A. Dan, and R. Kearney. Cremona: An architecture and library for creation and
monitoring of WS-Agreements. In Proc. of Service-Oriented Computing - ICSOC 2004, Sec-
ond International Conference, pages 65–74. ACM, 2004.
[37] MADAM - Mobility and Adaptation Enabling Middleware. European Commission Project. In-
th
formation Society Technology. Funded under 6 Framework Programme. http://www.ist-
madam.org
[38] K. Mahbub and G. Spanoudakis. A framework for requirements monitoring of service-based
systems. Proceedings of the 2nd International Conference on Service Oriented Computing,
pages 84-93. ACM, 2004.
[39] MUSIC - Self-Adapting Applications for Mobile Users in Ubiquitous Computing Environments.
th
European Commission Project. Information Society Technology. Funded under 6 Framework
Programme. ftp://ftp.cordis.europa.eu/pub/ist/docs/directorate_d/st-ds/music-project-
story_en.pdf
41
[40] T. Mackinnon, S. Freeman, and P. Craig, Endo-testing: Unit testing with mock objects, Pro-
ceedings of eXtreme Programming Conference 2000 (XP2000), May 2000.
[41] L. Peterson, T. Anderson, D. Culler, and T. Roscoe, A blueprint for introducing disruptive
technology into the internet, ACM SIGCOMM Computer Communication Review 33 (2003),
no. 1, 59–64.
[42] PLASTIC IST STREP Project. Deliverable D2.1: SLA language and analysis techniques for
adaptable and resource-aware components.
[43] W. Robinson. Monitoring web service requirements. In Proceeding of the International Confer-
ence on Requirements Engineering, 2003.
[44] A. Sahai, V. Machiraju, M. Sayal, A. P. Moorsel and F. Casati. Automated SLA Monitoring for
Web Services. In Proceedings of the 13th IFIP/IEEE international Workshop on Distributed
Systems: Operations and Management: Management Technologies for E-Commerce and E-
Business Applications, LNCS 2506, 2002.
[45] I. Satoh. Software Testing for Wireless Mobile Computing. IEEE Wireless Communications,
Oct. 2004, pp. 58-64.
[46] SeCSE - Service Centric System Engineering. European Commission Project. Information
th
Society Technology. Funded under 6 Framework Programme. http://secse.eng.it
[47] C.U. Smith and L. Williams. Performance Solutions: A practical Guide To Creating Respon-
sive, Scalable Software. Addison–Wesley, 2001.
[48] B. Verheecke, M. A. Cibrán and V. Jonckers. Aspect-Oriented Programming for Dynamic Web
Service Monitoring and Selection. In Proceedings of European Conference on Web Services
2004, LNCS 3250, September 2004.
[49] B. White et al. An Integrated Experimental Environment for Distributed Systems and Net-
works. Proceedings of the Fifth Symposium on Operating Systems Design and Implementa-
tion, Boston, Massachusetts, December 2002, pp. 255-270.
[50] A. W. Williams and R. L. Probert, A practical strategy for testing pair-wise coverage of network
interfaces, Proceedings of the The Seventh International Symposium on Software Reliability
Engineering (ISSRE ’96), 1996, p. 246.
[51] A. W. Williams and R. L. Probert, A measure for component interaction test coverage, Pro-
ceedings of the ACS/IEEE International Conference on Computer Systems and Applications,
2001, p. 304.
[52] G. von Laszewski, I. Foster, J. Gawor, W. Smith, S. Tuecke. CoG Kits: A Bridge between
Commodity Distributed Computing and High-Performance Grids. ACM Java Grande 2000
Conference. June 2000.
[53] IBM. The Era of Grid Computing: Enabling New Possibilities For Your Business. http://www-
1.ibm.com/grid/pdf/business exec grid.pdf. January 2003.
[54] Oscar Ardaiz Villanueva and Joe Touch. "Web Service Deployment and Management Using
the X-Bone" Spanish Symposium on Distributed Computing (SEID 2000), September 2000,
Ourense, Spain.
[55] Yelmo, Juan C., Rubén Trapero, José M. del Álamo, Juergen Sienel, Marc Drewniok, Isabel
Ordás and Kathleen McCallum. 2007. User-Driven Service Lifecycle Management - Adopting
Internet Paradigms in Telecom Services. Paper presented at Service-Oriented Computing -
ICSOC 2007 Fifth International Conference Proceedings, September 16-18, in Vienna, Aus-
tria.
[56] K. Arabshian and H. Schulzrinne. “Gloserv: Global service discovery architecture”. In First Intl.
Conference on Mobile and Ubiquitous Systems: Networking and Services (Mobiquitous), Au-
gust. 2004.
[57] M. Balazinska, H. Balakrishnan, and D. Karger, “INS/Twine: A scalable peer-to-peer architec-
ture for intentional resource discovery,” First International Conference on Pervasive Comput-
ing, Zurich, Switzerland, August 2002.
42
[58] G. Chen, and D. Kotz, “Solar: An Open Platform for Context-aware Mobile Applications”, In
st
Proc. of the 1 Int'l Conference on Pervasive Computing (Pervasive 2002), Switzerland, June
2002.
[59] Ian Clarke, Oskar Sandberg, Brandon Wiley, Theodore W. Hong; Freenet: A Distributed Ano-
nymous Information Storage and Retrieval System; Lecture Notes in Computer Science 2000
[60] Christos Doulkeridis, Efstratios Valavanis, Michalis Vazirgiannis. "Towards a Context-Aware
Service Directory", 4th VLDB Workshop on Technologies for E-Services (TES'03), September
8, 2003, Berlin, Germany, held in conjunction with the 29th International Conference on Very
Large Data Bases (VLDB 2003), Lecture Notes in Computer Science, Vol. 2819, pages 54-65,
Springer-Verlag, 2003.
[61] P. Grace et al, "ReMMoC: A Reflective Middleware to Support Mobile Client Interoperability".
In Proceedings of International Symposium on Distributed Objects and Applications, 2003.
[62] S. Wharehouse. "JXTA Search: Distributed Search for Distributed Networks"; Sun Microsys-
tems Whitepaper (http://search.jxta.org/JXTAsearch.pdf)
[63] Friederike Klan, "Context-aware service discovery, selection and usage" 18th GI-Workshop on
the Foundations of Databases, Wittenberg, Saxony-Anhalt, June 2006
[64] T. Koponen et al, "Service Discovery: A Service Broker Approach" In Proceedings of the 37th
Annual Hawaii International Conference on System Sciences (HICSS), 2004.
[65] C. Lee and S. Helal, “Context Attributes: An Approach to Enable Context-awareness for Ser-
vice Discovery”, In Proc. of the 2003 Symposium on Applications and the Internet (SAINT’03),
Orlando, USA, January 2003.
[66] M. Maheswaran, "Data Dissemination Approaches for Performance Discovery in Grid Com-
puting Systems", In Proceedings of 15th International Parallel and Distributed Processing
Symposium, 2001.
[67] S.Y. Ni et al, “The Broadcast Storm Problem in a Mobile Ad Hoc Network”, In Proceedings of
th
the ACM/IEEE 5 International Conference on Mobile Computing and Networking(MobiCom),
1999.
[68] Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan, Chord: A
Scalable Peer-to-Peer Lookup Service for Internet Applications; Proceedings of ACM SIG-
COMM 2001
[69] Simple Service Discovery Protocol - Internet Draft -(http://www.upnp.org/)
[70] Ben Y. Zhao, Ling Huang, Jeremy Stribling, Sean C. Rhea, Anthony D. Joseph, John D. Kubi-
atowicz; Tapestry: A Resilient Global-scale Overlay for Service Deployment; IEEE Journal on
Selected Areas in Communications 2003
[71] Weibin Zhao and Henning Schulzrinne, "Enhancing Service Location Protocol for Efficiency,
Scalability and Advanced Discovery", in Journal of Systems and Software, Vol. 75(1-2), pp.
193-204, February 2005.
[72] F. Zhu, M. Mutka, and L. Ni, "Splendor: A Secure, Private, and Location-aware Service Dis-
covery Protocol Supporting Mobile Services", In Proc. of the 1st IEEE Int'l Conference on Per-
vasive Computing and Communications (PerCom’03), Fort Worth, Texas, USA, March 2003.
[73] S. Ben Mokhtar, A. Kaul, N. Georgantas, and V. Issarny. “Efficient semantic service discovery
in pervasive computing environments”. In Proceedings of ACM/IFIP/USENIX 7th International
Middleware Conference (Middleware’06), 2006.
[74] P.-G. Raverdy, V. Issarny, R. Chibout, A. de La Chapelle. “A Multi-Protocol Approach to Ser-
vice Discovery and Access in Pervasive Environments”. In Proceedings of MOBIQUITOUS -
The 3rd Annual International Conference on Mobile and Ubiquitous Systems: Networks and
Services. July 2006, San Jose, CA, USA.
[75] F. Zhu, M. Mutka, and L. Ni. “PrudentExposure: A Private and User-centric Service Discovery
Protocol”. In PERCOM ’04: Proceedings of the Second IEEE International Conference on Per-
vasive Computing and Communications (PerCom’04), 2004.
43
[76] J. Liu, V. Issarny. Signal Strength based Service Discovery (S3D) in Mobile Ad Hoc Networks.
In Proceedings of the 16th Annual IEEE International Symposium on Personal Indoor and
Mobile Radio Communications (PIMRC). September 2005.
[77] F. Zhu, M. Mutka, and L. Ni, "Service Discovery in Pervasive Computing Environments," IEEE
Pervasive Computing, vol. 4, No. 4, pp. 81-90, 2005.
[78] J. Nakazawa, W. Keith Edwards, Umakishore Ramachandran, and Hideyuki Tokuda, ”A Bridg-
ing Framework for Universal Interoperability in Pervasive Systems”, The 26th International
Conference on Distributed Computing Systems (IEEE ICDCS 2006), Lisboa, Portugal, July
2006
[79] Y-D Bromberg and V Issarny. "INDISS: Interoperable Discovery System for Networked Ser-
vices". In Proceedings of ACM/IFIP/USENIX 6th International Middleware Conference (Mid-
dleware). 2005.
[80] G. Lee, P. Faratin, S. Bauer, and J, Wroclawski, “A User-Guided Cognitive Agent for Network
nd
Service Selection in Pervasive Computing Environments”, In Proc. of the 2 IEEE Int'l Con-
ference on Pervasive Computing and Communications (PerCom’04), Orlando, USA, March
2004.
[81] L. Capra, S. Zachariadis, and C. Mascolo, "Q-CAD: QoS and Context Aware Discovery
Framework for Mobile Systems", In Proc. of Int'l Conference on Pervasive Services (ICPS'05),
Greece, July 2005.
[82] P-G Raverdy, O. Riva, A. de La Chapelle, R. Chibout, V. Issarny. “Efficient Context-aware
Service Discovery in Multi-Protocol Pervasive Environments”. In Proceedings of the 7th Inter-
national Conference on Mobile Data Management (MDM'06). May 2006, Nara, Japan.
[83] The DAML Services Coalition. “Bringing semantics to web services: The owl-s approach”. In
Proceedings of the First International Workshop on Semantic Web Services and Web Process
Composition (SWSWPC’04), 2004.
[84] A. A. Patil, S. A. Oundhakar, A. P. Sheth, and K. Verma. “Meteor-s web service annotation
framework”. In Proceedings of the 13th conference on World Wide Web, 2004.
[85] K. Sycara, M. Paolucci, A. Ankolekar, and N. Srinivasan. “Automated discovery, interaction
and composition of semantic web services”. Web Semantics: Science, Services and Agents
on the World Wide Web, 2003.
[86] D. Trastour, C. Bartolini, and J. Gonzalez-Castillo. “A semantic web approach to service de-
scription for matchmaking of services”. In Proceedings of the first Semantic Web Working
Symposium, (SWWS), 2001.
[87] N. Srinivasan, M. Paolucci, and K. Sycara. “Adding owl-s to uddi, implementation and
throughput”. In Proceedings of the Workshop on Semantic Web Service and Web Process
Composition, 2004.
[88] S. Ben Mokhtar, D. Preuveneers, N. Georgantas, V. Issarny, Y. Berbers. EASY: Efficient Se-
mAntic Service DiscoverY in Pervasive Computing Environments with QoS and Context Sup-
port. In Journal of System and Software, 2007. To Appear.
[89] S. E. Czerwinski, B. Y. Zhao, T. D. Hodes, A. D. Joseph, and R. H. Katz. “An Architecture for
a Secure Service Discovery Service”. In MobiCom ’99: Proceedings of the 5th annual
ACM/IEEE international conference on Mobile computing and networking, 1999.
[90] OPUCE project. 2007. Deliverable D2.3_1: Description of OPUCE platform elements.
[91] Baladrón, Carlos, Javier Aguiar, Belén Carro, Jürgen Sienel, Rubén Trapero, Juan Carlos
Yelmo, José María del Álamo, Jian Yu and Paolo Falcarin. 2007. Service Discovery Suite for
User-Centric Service Creation. Paper presented at Service Oriented Computing: a Look at the
Inside Proceedings (SOC@Inside '07), September 17, in Vienna, Austria.
[92] E. BRUNETON, T. COUPAYE AND J. STEFANI, Recursive and dynamic software composi-
tion with sharing, In Proceedings of the 7th ECOOP InternationalWorkshop on Component-
Oriented Programming (WCOP’02), Malaga (Spain), June 2002.
44
[93] D. Chakraborty, A. Joshi, T. Finin and Y. Yesha, Service Composition for Mobile Environ-
ments, Journal on Mobile Networks and Applications (MONET), 10, 435–451, 2005
[94] S. Dustdar and W. Schreiner, A survey on web services composition, Int. J. Web and Grid
Services, Vol. 1, No. 1, 2005.
[95] Semantic Annotations for WSDL and XML Schema, W3C Working Draft 10 April 2007,
http://www.w3.org/TR/sawsdl/
[96] R. H. Campbell, A. N. Habermann, The specification of process synchronization by path ex-
pressions. In Proceedings of International Symposium on Operating Systems Principles. 1974.
[97] J. E. Hanson, P. Nandi, D. Levine. Conversation-enabled Web Services for Agents and e-
business. In Proceedings of the International Conference on Internet Computing (IC-02).
2002.
[98] R. Tolksdorf. A Dependency Markup Language for Web Services. In Web Databases and
Web Services. LNCS 2593. 2003.
[99] W3C. Web Services Conversation Language (WSCL), Version 1.0, The World Wide Web
Consortium. 2002. W3C Note. http://www.w3.org/TR/wscl10/.
[100] B. Benatallah, F. Casati, F. Toumani. Web Service Conversation Modeling. IEEE Internet
Computing. 2004.
[101] W3C. The OWL Services Coalition at the World Wide Web Consortium. OWLS: Semantic
Markup for Web Service, http://www.daml.org/services/owl-s/
[102] X. Yi, K.J. Kochut. Process composition of Web services with complex conversation protocols:
a colored Petri nets based approach. In Proceedings of Advanced Simulation Technology
Conference (DASD2004). 2004.
[103] W3C, Web Service Choreography Interface (WSCI) 1.0. W3C Note.
http://www.w3.org/TR/wsci/.
[104] R. Jimenez-Peris, M. Patino-Martinez, S. Woodman, S. Shrivastava, D. Palmer, S. Wheater,
B. Kemme, G. Alonso. Service Specification Language. Deliverable of ADAPT IST project IST-
2001-37126. 2003.
[105] S. Ben Mokhtar, N. Georgantas, V. Issarny. COCOA: COnversation-based Service COmposi-
tion in PervAsive Computing Environments. In Proceedings of the IEEE International Confer-
ence on Pervasive Services (ICPS'06). June 2006.
[106] W3C, Web Services Choreography Description Language Version 1.0. W3C Working Draft.
http://www.w3.org/TR/ws-cdl-10/.
[107] T. Bultan, X. Fu, R. Hull, J. Su. Conversation Specification: A New Approach to Design and
Analysis of E-Service Composition. In Proceedings of the 12th International World Wide Web
Conference. 2003.
[108] G. H. Mealy. A Method for Synthesizing Sequential Circuits. Bell System Tech. J. 34. 1955.
[109] B. Benatallah, M. Dumas, Q. Z. Sheng. Facilitating the rapid development and scalable or-
chestration of composite web services. Distrib. Parallel Databases, 17(1). Kluwer Academic
Publishers. 2005.
[110] S. Narayanan, S. McIlraith. Simulation, Verification and Automated Composition of Web Ser-
vices. In Proceedings of the WWW'02 Conference. 2002.
[111] R. Hamadi, B. Benatallah. A Petri net-based model for web service composition. In Proceed-
ings of the Fourteenth Australasian database conference on Database technologies. 2003.
[112] BEA Systems, IBM, Microsoft, SAP AG and Siebel Systems. Business Process Execution
Language for Web Services. http://www.ibm.com/developerworks/library/specification/ws-
bpel/.
[113] W. Reisig, G. Rozenberg. Lectures on Petri Nets I: Basic Models. LNCS 1491. 1998.
[114] R. Farahbod, U. Glasser, M. Vajihollahi. Specification and Validation of the Business Process
Execution Language for Web Services. ASM 2004. LNCS 3052. 2004.
45
[115] H. Foster, S. Uchitel, J. Magee, J. Kramer, Compatibility Verification for Web Service Chore-
ography. In Proceedings of the IEEE International Conference on Web Services (ICWS'04).
2004.
[116] X. Fu, T. Bultan, J. Su. Analysis of interacting BPEL web services. In Proceedings of the 13th
international conference on World Wide Web. 2004.
[117] N. Georgantas, P. Inverardi, V. Issarny. Software Platforms. In E. Aarts, J. Encarnacao (edi-
tors), True Visions: Tales on the Realization of Ambient Intelligence. Springer Verlag. 2006.
[118] J.P. Sousa, D. Garlan. Aura: An architectural framework for user mobility in ubiquitous com-
puting environments. In proceedings of WICSA’02. 2002.
[119] Manuel Roman, Christopher K. Hess, Renato Cerqueira, Anand Ranganathan, Roy H. Camp-
bell, and Klara Nahrstedt. Gaia: A middleware infrastructure to enable active spaces. IEEE
Pervasive Computing, 1(4):74--83, October-December 2002.
[120] R. Masuoka, B. Parsia, Y. Labrou. Task computing – The semantic Web meets pervasive
computing. In Proceedings of ISWC’03. 2003
[121] A. Bernstein, M. Klein. Towards high precision service retrieval. In Proceedings of ISWC.
LNCS 2342. 2002.
[122] R. A. K. Verma, J. Miller, W. Milnor Dynamic Web service composition in Meteor-S. Technical
report, LSDIS lab, CSD, UGA, 2004.
[123] S. Majithia, D. W. Walker, W. A. Gray. A framework for automated service composition in ser-
vice-oriented architecture. In Proceedings of the 1st European Semantic Web Symposium.
2004.
[124] A. Joseph, A. deLespinasse, J. Tauber, D. Gifford, F. Kaashoek. Rover: a toolkit for mobile
information access. In ACM SIGOPS SOSP ’95. 1995.
[125] J. Caetano et al "Introducing the user to the service creation world: concepts for user centric
service creation, personalization and notification" In: Proceedings of the User centricity-state
of the art Workshop, 16th IST Mobile and Wireless Communications Summit, 1-5July 2007,
Budapest, Hungary
46