The development of distributed software systems remains a complex task, which is not solely due to the systems' inherent complexity (e.g., heterogeneity, concurrency), but also to the systems' continuous evolution (e.g., integration of new technologies, changing environment in the mobile context). It is thus necessary to offer solutions to the two following issues:
Supporting the rigorous development of distributed software systems by providing languages for systems modeling together with associated methods and tools for reasoning about the systems' functional and non-functional properties;
Offering middleware infrastructures for both leveraging the complexity associated with the management of distributed resources and dealing with the efficient integration of new technological development.
The ARLES project-team addresses the two above issues, investigating languages, methods, tools and middleware architectures to assist the development of distributed software systems that are efficient (in terms of both resource usage and delivered quality of service) and dependable. Our approach relies on the development of distributed systems from their architectural description, leading to study the development of distributed systems through composition. This choice is motivated by two factors:
Our experience in architecture-based development of distributed systems has convinced us about the benefit of the approach regarding the robustness and performance of the resulting systems. Systems' robustness comes from the ability to practically exploit formal methods for modeling the systems' architectures and hence to reason about the systems' behavior. Systems' efficiency results from the possibility to specialize the systems' composition according to both the applications' requirements and the runtime environment, and hence to integrate only necessary functionalities within the system, and further tune their realization according to available resources.
Practically, the emergence of standard architectures for distributed systems and in particular supporting middleware, leads to the definition of reusable COTS (Commercial Off The Shelf) components for the implementation of both application-related and middleware-related functionalities. In addition, a number of systems are built out of the integration of legacy systems, as in particular witnessed in the context of information systems. The development of distributed systems thus becomes oriented towards the composition of system components and/or running system instances.
The research activities of the ARLES project-team are more specifically centered around the development of distributed systems enabling the ambient intelligence vision. Ambient intelligence is an emerging user-centric service provision paradigm that aims at enhancing the quality of life by seamlessly offering relevant information and services to the individual, anywhere and at anytime. Systemically, this is realized as a synergistic combination of intelligent-aware interfaces, ubiquitous computing and ubiquitous networking. The intelligent-aware property applied to interfaces enables: (i) support of natural ways of interaction, e.g., through speech and gesture; (ii) automatic adaptation to user's personal preferences; and (iii) proactiveness, stimulated by the presence of people, their location and their activities, instead of simple reactiveness to conventional ways of interaction, such as a keystroke or a mouse click. The ubiquitous (alternatively called pervasive) property applied to both computing and networking implies a useful, pleasant and unobtrusive presence of the system everywhere – at home, en route, in public spaces, in the car, at work, and wherever else the electronic environment support extends. The computing and networking facilities are distributed and accessible in wide varieties, as needed. The ubiquitous computing and networking model incorporates the mature paradigms of mobile and nomadic computing, and distributed systems.
While a number of base enablers such as wearable and handheld computers, wireless communication, sensing mechanisms are already commercially available for deploying base infrastructures supporting the ambient intelligence vision, the development of ambient intelligence software systems still raises numerous scientific and technical challenges due to the specifics of ambient intelligence. In addition to traditional requirements for the software systems like dependability, the software systems shall deal with: mobility of users, increasing heterogeneity in devices, networks and software infrastructures, varying user and application requirements, diverse contexts of service provision, and natural interaction integrating multi-modal interfaces and exploiting knowledge about the user and his/her environment. The above requirements reveal the highly dynamic character of ambient intelligence systems, which shall be accommodated by the overall software system architecture. Specifically, ambient intelligence software systems must comprehensively offer the following features: be self-adaptive according to a combined user-centric and computer-centric context so that service delivery continuously adapts to the highly changing situation of users, be dependable, and provide multi-modal interfaces for natural interaction with users. Developing systems with such features has given rise to extensive research since the end of the nineties, following the concern of seamlessly and effectively combining the numerous technologies that emerged for the benefit of users, as opposed to putting increased burden on them for mastering the increasing complexity of technologies. This concern is the key point of the ambient intelligence vision, as well as the ones of pervasive and autonomic computing. Despite the large interest of the research community in addressing the challenges raised by these visions since their emergence, the open issues that arose at that time have yet to be addressed. Regarding specifically the development of software systems for ambient intelligence, a key approach lies in the dynamic composition of the software systems according to the environment. The objective of our work is thus to offer comprehensive solutions to the dynamic composition of distributed systems, decomposing into:
The definition of software architecture styles dedicated to mobile distributed systems that are dynamically composed. This shall serve eliciting key interaction paradigms and core properties of the architectural elements, further leading to devise associated architecture modeling and supporting middleware infrastructure.
The definition of an architecture-based development environment offering an Architecture Description Language (ADL) and associated methods and tools for assisting the development of systems that are dynamically composed, and may in particular be deployed over resource-constrained mobile devices. Results shall ease the modeling of mobile systems and reasoning about the behavior of the systems regarding both functional and non-functional properties. They shall further serve dynamically composing systems according to the environment (e.g., available resources, connectivity).
The definition of a middleware infrastructure aimed at mobile distributed systems, which integrate mobile nodes that are possibly resource-constrained and communicate via a variety of wireless networks (i.e., infrastructure-based and ad hoc). We are in particular interested in the exploitation of (multi-hop) ad hoc networks, which do not require any infrastructure for accessing remote resources.
Research undertaken within the ARLES project-team aims at offering comprehensive solutions to support the development of mobile distributed systems that are dynamically composed according to the environment. This leads us to investigate dedicated software architecture styles from which to derive:
Architecture description languages for modeling mobile distributed software systems, together with associated methods and tools for reasoning about the systems' behavior and automating the systems' composition, and
Middleware infrastructures for leveraging the complexity of systems development, by in particular offering adequate network abstractions.
The next section provides a brief overview of the state of the art in the area of software architectures for distributed systems; we survey base architectural styles that we consider in our work and further discuss the benefits of architecture-based development of distributed systems. Section then addresses middleware architectures for mobile systems, discussing the impact of today's wireless networks, and in particular ad hoc networks, on the systems, and core requirements that we consider for the middleware, i.e., managing the network's dynamics and enforcing dependability for the mobile systems. Each section refers to results on which we build, and additionally discusses some of the research challenges that remain in the area and that we are investigating as part of our research.
Architectural representations of systems have shown to be
effective in assisting
the understanding of broader system concerns by abstracting
away from details of
the system
The main constituents of any distributed system are the system components
offering services to other components requesting service execution.
The system's
component model then defines the way services are specified and accessed,
as well
as the way components are identified. Considering distributed systems that are
developed nowadays, these functionalities rely on some distributed middleware
defining the system model. Available middleware can be classified into three
main categories
Evolution of middleware and distributed system
technologies has further led to the emergence of service-oriented system
architectures to cope with the requirements of Internet-based systems.
Software services, in particular in the form of XML Web services,
are promising new levels of software integration and interoperability.
Simply stated, a service is an instantiated configured system,
which may be composed with other services to offer a new system
that actually realizes a system of systems.
Although the definition of the overall Web services architecture is
still incomplete, the base standards have already emerged from the
W3C
Although Web services have been primarily designed for realizing complex business processes over the Internet, they appear as a promising architectural choice for ubiquitous computing. The pervasiveness of the Web allows anticipating the availability of Web services in most environments, considering further that they may be hosted on mobile nodes. Hence, this serves as a sound base ground towards dealing with the dynamic composition of services in the mobile environment. However, this further requires specification of the Web services' functional and non-functional behavior that can be exploited for their dynamic selection and integration, which may in particular build upon work on the Semantic Web.
The building blocks of distributed software systems relying on some middleware
infrastructure, fit quite naturally with the ones of software architectures:
the architectural components correspond to the
application components managed by the middleware, and the architectural
connectors correspond to the supporting middleware.
Hence, the development of such systems can be assisted with an
architecture-based development process in a straightforward way.
This is already supported by
a number of ADL-based development environments targeting system construction,
such as the Aster environment that was developed by members of the ARLES
project-team
Connectors that are
implemented using middleware infrastructures actually abstract
complex software systems comprising a broker, proxies, but also services for
enhanced distribution management. Hence, middleware design deserves as much
attention as the overall system design,
and must not be treated as a minor task.
Architecture-based design is
again of significant assistance here. In particular, existing ADLs enable
describing conveniently middleware architectures.
In addition, given the fact that middleware architectures build upon
well known solutions regarding the enforcement of non-functional properties,
the
synthesis of middleware architectures that comply with the requirements of
given applications may be partly automated through a repository of known
middleware architectures
As briefly outlined above, results on software architectures for distributed systems primarily lie in the definition of ADLs that allow the rigorous specification of the elements composing a system architecture, which may be exploited for aiding in the system's design and, further, in the software system's assessment and construction. Ongoing work focuses on closer coupling with solutions that are used in practice for the development of software systems. This includes integration of ADLs with the now widely accepted UML standard for system modeling. Still in this direction, coupling with OMG's model-driven architecture should be much beneficial. Another area that has already deserved a great deal of attention in architecture-based development is the one of easing the design and construction of middleware underpinning the system execution out of existing middleware infrastructures. However, addressing all the features enabled by middleware within the architecture design is not yet fully covered. For instance, this requires reasoning about the composition of, possibly interfering, middleware services enforcing distinct non-functional properties. Another area of ongoing research work from the standpoint of architecture specification relates to handling needed architectural evolution as required by emerging applications, including those based on the Internet and/or aimed at mobile computing. In this context, it is mandatory to support the development of system architectures that can adapt to the environment. As a result, the system architecture shall serve dealing with the system evolution at runtime and further assessing the behavior of the resulting system.
Advances in wireless networking combined with increasingly small-scale wireless devices are at the heart of the ambient intelligence (and pervasive computing) vision, as they together enable ubiquitous networking and computing. However, developing software systems such that they can actually be accessed anywhere, anytime, while supporting natural interaction with users, remains a challenge. Although solutions to mobile computing have now been investigated for more than a decade following the emergence of wireless networks and laptops, these have mostly concentrated on adapting existing distributed systems architectures, so that the systems tolerate the occurrence of disconnection. Basically, this had led to devise replication strategies for the mobile environment, where computation and/or data are cached on mobile nodes and later synchronized with peer replicas when connection allows. Today's wireless networks enable dynamically setting up temporary networks among mobile nodes for the realization of some distributed function. However, this requires adequate development support, and in particular supporting middleware infrastructures for leveraging the complexity associated with the management of dynamic networks. In this context, ad hoc networking is amongst the most challenging network infrastructures for distributed systems, due to its highly dynamic topology and the absence of any infrastructure. Moreover, it offers significant advantages towards the realization of ubiquitous networking and computing, still due to the absence of any infrastructure. The following section provides a brief overview of ad hoc networking, and is then followed by an overview of the key middleware functionalities that we are addressing for assisting the development of mobile systems. Such functionalities relate to the management of the network's dynamics and to enforcing system dependability.
There exist two different ways of configuring a mobile network: infrastructure-based and ad-hoc-based. The former type of network structure is the most prominent, as it is in particular used in both Wireless LANs (e.g., IEEE 802.11) and global wireless networks (e.g., GSM, GPRS, UMTS). An infrastructure-based wireless network uses fixed network access points (known as base stations), with which mobile terminals interact for communicating, i.e., a base station forwards messages that are sent/received by mobile terminals. One limitation of the infrastructure-based configuration is that base stations constitute bottlenecks. In addition, it requires that any mobile terminal be in the communication range of a base station. The ad-hoc-based network structure alleviates this problem by enabling mobile terminals to cooperatively form a dynamic and temporary network without any pre-existing infrastructure.
The main issue to be addressed in the design of an ad hoc (network) protocol is to compute an optimal communication path between any two mobile terminals. This computation must minimize the number of control messages that are exchanged among mobile terminals, in order to avoid network congestion, but also to minimize energy consumption. There exist two base types of ad hoc protocols: proactive and reactive. Proactive protocols update their routing table periodically. Compared to proactive protocols, reactive protocols a priori reduce the network load produced by the traffic of control messages, by checking the validity of, and possibly computing, the communication path between any two mobile terminals only when communication is requested between the two. Hybrid routing protocols further combine the reactive and proactive modes. The design rationale of hybrid protocols is that it is considered advantageous to accurately know only the neighbors of any mobile terminal (i.e., mobile terminals that are accessible in a fixed number of hops). Since they are close to the terminal, communicating with neighbors is less expensive, and neighbors are most likely to take part in the routing of the messages sent from the terminal. Based on this, a hybrid protocol implements: (i) a proactive protocol for communication with mobile terminals in the neighborhood, and (ii) a reactive protocol for communication with the other terminals.
Spurred by the progress of technologies and deployment at low cost, the use of ad hoc networks is expected to be largely exploited for mobile computing, and no longer be restricted to specific applications (i.e., crisis applications as in military and emergency/rescue operations or disaster recovery). In particular, ad hoc networks effectively support ubiquitous networking, providing users with network access in most situations. However, we do not consider that pure ad hoc networks will be the prominent wireless networks. Instead, mobile distributed systems shall be deployed on hybrid networks, combining infrastructure-based and ad hoc networks, so as to benefit from their respective advantages. Development of distributed systems over hybrid wireless networks remains an open challenge, which requires dedicated middleware solutions for in particular managing the network's dynamics and resources.
Trends in mobile computing have created new requirements for automatic configuration and reconfiguration of network devices and services. This has led to propose a variety of protocols for lookup and discovery of network resources. In particular, discovery protocols provide proactive mechanisms for dynamically discovering, selecting and accessing available resources. As such, resource discovery protocols constitute a core middleware functionality towards managing the network's dynamics in mobile computing systems.
The major structural difference between existing resource discovery protocols is the reliance (or not) on a central directory. A central directory stores all the information concerning resources available in the network, provided that resources advertise themselves to the central directory using a unicast message. Then, to access a resource, a client first contacts the central directory to obtain the resource's description, which is to be used for contacting the resource's provider. Prior to any resource registration or client request to the central directory, clients and resource providers must first discover the central directory by issuing broadcast or multicast requests. Centralized resource discovery is much suited to wireless infrastructure-based networks. However, this makes the discovery process dependent upon the availability of the central directory, which further constitutes a bottleneck. In order to support resource discovery in a wider network area, the use of a distributed set of fixed directories has been proposed. Directories are deployed on base stations (or gateways) and each is responsible for a given discovery domain (e.g., corresponding to a cell).
In the self-organizing wireless network model provided by ad hoc networks that use peer-to-peer communication and no fixed infrastructure, the use of fixed directories for resource discovery is no longer suitable. In particular, the selection of mobile terminals for deploying directories within an ad hoc network is a difficult task, since the network's topology frequently changes, and hence the connectivity is highly dynamic. Decentralized resource discovery protocols then appear more adapted for ad hoc networks. In this case, resource providers and clients discover each other directly, without interacting with a central directory. Specifically, when a client wants to access a resource, it sends a request to available providers using a broadcast message. However, this approach leads to flood the network. An approach to disseminating information about network resources while not relying on the use of broadcast is to use geographic information for routing. Nodes periodically send advertisement along a geometric trajectory (basically north-south and west-east), and nodes located on the trajectory both cache and forward advertisements. Then, when a client seeks a resource, it sends a query that eventually intersects an advertisement path at a node that replies to the request. This solution assumes that the density of nodes is high enough, and further leads to replicate resource advertisements on a significant number of nodes. Hence, it incurs resource consumption that may not be accommodated by wireless, resource-constrained nodes. Resource consumption is further increased by the required support for geographical location (e.g., GPS). Other solutions to decentralized resource discovery that try to minimize network flooding are based on local resource discovery. Broadcast is limited to the neighborhood, hence allowing only for resource discovery in the local area, as supported by base centralized resource discovery protocols. Discovery in the wider area then exploits solutions based on a hierarchy of discovery domains.
Resource discovery protocols for hybrid networks that are in particular suited for ad hoc networks remains an open issue. In addition, while resource discovery constitutes a core middleware functionality towards easing the development of distributed software systems on top of dynamic networks, higher-level abstractions for dynamic networks need to be developed and supported by the middleware for easing the developers' task. The definition of such abstractions shall be derived from both features of the network and architectural principles elicited for mobile software systems, where we exploit our work in both areas. In this context, we have in particular initiated work on group management over ad hoc networks, which allows to abstractly characterize the mobile network on top of which the application is intended to execute and to manage the network on behalf of the application. Related issues include characterizing and reasoning about the functional and non-functional behavior of the participating peer nodes, and in particular dealing with security requirements and resource availability that are crucial in the mobile environment.
Dependability of systems is defined as the reliance that can
justifiably be placed on the service that the system delivers
Enforcing availability in the mobile environment relies on adequate
replication management so that data and/or services remain accessible
despite the occurrence of disconnection. Such a concern has led
to tremendous research work since the emergence of mobile computing.
In particular, data replication over mobile nodes has led to devise
novel coherency mechanisms adapted to the specifics of wireless
networks. Solutions in the area relate to offering optimistic coherency
protocols, so that data copies may be concurrently updated and
later synchronized, when connectivity allows (e.g., see
The ARLES project-team targets development support for applications relevant to the ambient intelligence domain, with a special focus on consumer-oriented applications. Architecture-based development of systems of systems is further directly relevant to enterprise information systems, whose composition is mainly static and must deal with the integration of legacy systems. In addition, by building upon the Web services architecture for dealing with the dynamic composition of (possibly mobile) autonomous systems, our work is of direct relevance to e-business applications, providing in particular solutions for the mobile context.
Our application domain is voluntarily broad since we aim at offering generic
solutions.
However, we examine exploitation of our results for specific applications,
as part of the experiments that we undertake to validate our
research results
through prototype implementation.
Applications that we consider in particular include demonstrators developed
in the context of the OZONE project (§ ), which
relate to the extended home environment
For the sake of validation of our research results, our research activities encompass development of related prototypes. Available prototypes relate to: (i) an architecture-based development environment that integrates our previous research results on architecture-based development of information systems over fixed networks (§ ), (ii) a distributed file system that integrates our research results on middleware services for mobile data sharing among peer nodes in the communication range of each other via the underlying WLAN (§ ), and (iii) a middleware infrastructure based on the Web services architecture that integrates our research results on the dynamic composition of mobile distributed systems that offer quality of service properties to users (§ ).
The quality of Information Systems (IS) is characterized by a number
of non-functional properties (e.g., performance, reliability,
availability, etc.). Assessing the IS quality against these
properties imposes the application of quality analysis and
evaluation. Quality analysis consists of checking, analytically
solving, or simulating models of the system, which are specified
using formalisms like CSP, CCS, Markov-chains, Petri-nets,
Queuing-nets, etc. However, developers are usually not keen on using
such formalisms for modeling and evaluating IS quality. On the other
hand, they are familiar with using architecture description
languages and object-oriented notations for building IS models.
Based on the previous and to render the use of traditional quality
analysis techniques more tractable, we have designed, and implemented
a prototype of, an
architecture-based environment that facilitates the specification
and quality analysis of IS at the architectural level
Note that the above software development was undertaken as part of our research on architecture-based development of closed distributed systems, and related analysis support at design time. Our research now concentrates on architecture-based development of dynamic, mobile distributed systems, further leading to investigate on-line analysis of systems that are dynamically composed according to the environment and in particular network connectivity.
The AdHocFS distributed file system has been designed so as to
allow exploiting the capabilities of today's wireless networks and
in particular the ad hoc mode of WLANs (more
specifically, one hop ad hoc networks).
As such, AdHocFS supports synchronous collaborative work
among mobile nodes that are in the communication range of each
other without requiring the presence of any infrastructure.
In AdHocFS, the file systems of mobile terminals
act as local caches, and mobile terminals that are granted
access to common files and are able to communicate
through the wireless LAN, cooperate to form
an ad hoc distributed file system. Core components
of AdHocFS comprise
A naming service, which resolves file names into the various locations from which files may be retrieved (i.e., at least the address of the file's home server, local copy if cached, peer terminals in the communication range that store a file copy).
A group management service, which enables setting up ad hoc groups of trusted mobile terminals that are connected using the wireless LAN in the ad hoc mode.
A coherency management service, which reconciles copies cached on mobile terminals that belong to the same ad hoc group and enables synchronous, collaborative file sharing among peer nodes of the group.
A replication service, which manages data availability within an ad hoc group through the creation of preventive replicas according to the profiles of peer nodes, so as to in particular prevent the loss of the files that are being (or will likely be) accessed within the group.
The prototype of AdHocFS is implemented in Objective Caml 3, and builds upon the Extended 2 FS (Ext2) local file system and the OpenSLP implementation of SLP.
AdHocFS resembles and benefits from past work on optimistic replication in mobile systems, since we have adopted a log-based solution for update propagation, which has been proven successful in the area of data management for mobile computing. However, AdHocFS differs from early work in the area by accounting for the specifics of today's WLANs. In particular, this has led us to use a conservative replication scheme within ad hoc groups, as it is more suited to collaborative applications, and allows reducing the communication and energy costs associated with coherency management.
Enabling the ambient intelligence vision means that
consumers will be provided
with universal and immediate access to available content and services,
together with ways of effectively exploiting them.
Concentrating on the software system development aspect,
this means that the actual implementation of
any ambient intelligence application
requested by a user can only be resolved
at runtime according to the user's specific
situation. Towards that goal, we have introduced the
WSAMI middleware
We have developed a first
Java-based prototype of the WSAMI core
middleware.
We use IEEE 802.11b as the underlying WLAN.
The WSAMI core middleware prototype
subdivides into: (i) the WSAMI SOAP-based core broker, including
the CSOAP SOAP container for wireless,
resource-constrained devices, and
(ii) the Naming&Discovery (ND) service, including
support for connector customization, so as
to enforce quality of service through the dynamic integration
of middleware-related services over the network's path.
Figure depicts the main components of
the WSAMI prototype implementation, on top of
which Web services execute; grayed
components denote available implementations that we reuse,
while the components that we have developed are highlighted
in bold face. Note that the components developed
as part of the WSAMI core broker exist in any
Web services platform; a new implementation has
been elaborated, so as to allow for execution on
resource-constrained devices.
The CSOAP SOAP
container prototype has been in particular developed
to cope with the limitations imposed by
CVM
Our prototype is being used for the implementation of demonstrator applications in the field of ambient intelligence. It will further be extended with a number of value-added middleware services for mobility management that integrate our research results in the area.
The ARLES project-team investigates solutions in the forms of languages, methods, tools and supporting middleware, to assist the development of distributed systems, with a special emphasis on mobile distributed systems enabling the ambient intelligence vision. Towards that goal, we undertake an approach that is based on the architectural description of software systems, further allowing to deal with the dynamic composition of systems according to the environment. Our research activities thus subdivide into two core activities:
Software architectures for distributed systems, where we investigate architectural styles dedicated to mobile distributed systems from which to derive languages for system modeling and related methods and tools for supporting system development (§ ).
Middleware architectures for mobile systems, building upon architectural styles elicited for mobile distributed software systems and further investigating solutions that meet constraints associated with today's wireless networks and devices for their effective exploitation (§ ).
Building upon our past work on modeling software architectures of closed distributed systems for supporting the systems' analysis and synthesis, we are investigating architectural styles of dependable, mobile, distributed systems that can be dynamically composed out of resources available in the network. Our work in this area over year 2003 has focused on two complementary issues: (i) supporting the dependable composition of systems with a special focus on composite Web services (§ ), and (ii) modeling networked services so as to support QoS-aware service discovery and composition in ad hoc networks (§ ).
Since the emergence of Web services, we have been investigating support for the development of dependable composite Web services, as they will undoubtedly become a major class of open distributed systems. This will further serve as a base ground towards solutions assisting the development of dependable, mobile composite systems.
Our solution to the dependable composition of Web services is based on
forward error recovery
The WSCAL language currently allows structuring
dependable composite services and specifying forward error recovery
actions under the occurrence of faults. It is then up to the developer
to specify the recovery actions according to the specifics of the
application. Further guidelines are offered for this activity in the
light of work in the area of multi-database systems. In addition, we
have conducted a preliminary study towards offering automated support
for undoing the effect of compensable operations over shared Web
services
The advent of light-weight terminals (e.g., PDA) with integrated
communication capabilities facilitates service access and hosting anytime,
anywhere. However, effective service access requires dealing with the
service's Quality of Service (QoS), including related resource consumption.
To support such a facility, we
have introduced a comprehensive framework for QoS-aware service
location in mobile ad hoc networks (MANET)
In order to ease the development of mobile systems enabling the ambient intelligence vision, we are investigating supporting core middleware infrastructure and associated services. Our work in this area over year 2003 has concentrated on the following aspects: (i) development of a core middleware infrastructure based on the Web services architecture that enables the situation-sensitive composition of (possibly mobile) networked services (§ ), (ii) elicitation of middleware services for mobile data sharing that increase data availability while minimizing resource consumption (§ ), (iii) design of a service location protocol for ad hoc networks (§ ), and (iv) design of a group management service for ad hoc networks that is generic with respect to membership constraints and manages the network's dynamics on behalf of applications (§ ).
Enabling the ambient intelligence vision means that consumers will be provided with universal and immediate access to available content and services, together with ways of effectively exploiting them. Concentrating on the software system development aspect, this means that the actual implementation of any ambient intelligence application requested by a user can only be resolved at runtime according to the user's specific situation. To support such a feature, we have introduced a base declarative language and associated core middleware, which respectively allow for the abstract specification of ambient intelligence applications, and for the dynamic composition of applications according to the environment. Our solution primarily builds on results of component-based software engineering and architecture-based development of software systems, which have been proven successful for the development of distributed software systems: ambient intelligence applications are developed in terms of composition of services that are defined through their abstract interfaces. The ambient intelligence requirement of enabling any-time, any-where access to applications from any terminal further leads to bind with related services instances at runtime, according to the environment (including network connectivity) in which services are requested. Such a facility then requires a software technology that is pervasive enough for being able to rely on both consistent specification and availability of services in most environments, so as to actually support any-time, any-where discovery of service instances from abstract interfaces. This has led us to base our solution on the Web, and more specifically on the Web services architecture. Our main design objective was then to offer a solution that could be deployed in any environment, and effectively supported by mobile, resource-constrained devices.
We have introduced the XML-based WSAMI declarative language
for the specification of Web services taking part
in the realization of ambient intelligence applications,
together with associated core SOAP-based WSAMI middleware
Supporting the development of ambient intelligence or pervasive computing systems has given rise to extensive research over the last couple of years, which has led to introduce a number of complex middleware-related services that place high demand on the underlying platform and hence limit deployment in most environments. Our contribution lies in the definition of a minimal middleware infrastructure for the actual dynamic composition of services, i.e., a naming&discovery service in addition to SOAP, which allows for its wide deployment but also incurs minimal overhead in terms of resource consumption and response time. Additional middleware-related services may be exploited for increased quality of service, depending on the specific target application, but they do not have to be supported in all environments. Our solution resembles work in the area of service discovery, given the base support offered by the platform. However, results in the area target local area networks, while we target composition of services that may be retrieved both in the local and the wide area. In addition, by building upon the Web services architecture, availability of services is promoted. We are currently working on complementing our core solution with support for off-line analysis of Web services so as to enforce robustness of the composed applications, regarding in particular behavioral matching with respect to both functional and non-functional properties. We are also investigating the exploitation of user and service profiles for the naming&discovery service, which will in particular enable an enhanced service selection process with respect to matching user and service requirements, and the integration of advanced prefetching techniques for enhancing response time.
Ad hoc networks enable users equipped with lightweight computing devices
and wireless interfaces to form a temporary network without the need for
any established infrastructure. It is then quite interesting to exploit such
flexibility to allow users to share and manipulate data in a
collaborative manner (e.g., working meeting, network gaming, etc.),
provided that some guarantees regarding security are given.
Towards that goal, we have designed a set of supporting
core middleware services, further elaborating
their integration into the prototype implementation
of a mobile, distributed file system aimed at ad hoc networks
(see § )
Management of secure, mobile ad hoc groups:
The secure group management functionality
includes discovery of peer mobile terminals that are in the
communication
range of each other, using some existing service discovery protocol.
Groups are restricted to one hop
ad hoc networks, since we consider that the collaborating peers are
usually located in the local communication range of each other.
However,
every peer is free to leave the group, as well as, new trusted peers
can join it at any time.
To form a collaborative group, all the peer
terminals should authenticate themselves through digital certificates.
Then, peers that can trust each other to build a secure ad hoc group in
order to share data and collaborate, enter into
a Group Key Agreement (GKA) protocol to come
up with a common secret.
Group management is periodic, so as to deal with the dynamics
of the network.
Replication and coherency management:
Data sharing within the ad hoc group is carried out
by making sure that each peer within the group has complete
knowledge of all the data cached/stored within the group. Access to
such data from any of the mobile terminals belonging to the group,
leads to copying it locally, if not already cached.
Data coherency is maintained by enforcing a conservative coherency
protocol, which takes into account mobile devices and wireless network
constraints, and provides an effective support for collaborative work,
since collaborating users must have the same version of the
shared data.
However, local data can be manipulated (read/write)
independently within
disjoint groups, provided that data are synchronized when
groups (including singleton groups) merge.
Update propagation for given shared data occurs only when any
peer member
of the group tries to access the data, because if a group
member updates
its local copy of particular data, propagation of this update is not
necessary if none of the other group members wants to
read or update the
same data (either cached locally or not).
Furthermore, updates are propagated only to the peer which is to access
the data.
This follows from our aim to save energy by reducing communication
among peers.
Data availability management:
To enhance data availability, an adaptive data replication protocol
with respect to mobile devices constraints is used.
In the context of collaborative work within mobile ad hoc groups, data
may become unreachable if the peers storing it suddenly disconnect.
On the other hand, excessive or systematic data replication in order to
address unforeseen disconnection leads to unnecessarily overloading the
group's peers, and, in particular, to greatly increasing their energy
and storage space consumption.
Thus, useful data for collaborative work within a group has to be
rationally replicated on peer devices, with respect to the devices'
resources. This is addressed through the management of
peers' profiles, which serve to identify whether peers
can be involved in
increasing data availability, according to their specific situation.
Preventive replication of a shared file is then undertaken, if the
peer holding the file is to leave the group, on the peer that
is the most suited regarding availability of local resources,
mobility, and probability of locally accessing the file.
Ad hoc networks are well suited to support ambient intelligence applications, that is, to provide an immediate access to resources (i.e., content or services) anywhere, at anytime, at low cost. In this context, automatic discovery of resources within the network plays an essential role. Conventional resource discovery solutions are not well suited for ad hoc networks, as they, in particular, use broadcasting to discover service providers. This results in the unavailability of the ad hoc network, which is induced by broadcast storms. Our work focuses on designing a resource discovery system for (multi-hop) ad hoc networks. Our solution is designed so as to limit the induced traffic load, particularly when the number of users increases dramatically. Our solution is based on a subset of self-organized devices (called directories), which are periodically elected to store information about networked resources for the surrounding devices. Then, devices can access information from directories without flooding the network to discover resources. In addition, the system is designed to cope with moving resources, and, thus, related mobility-induced failures, by accounting for the existence of resource replicas within the network together with the quality of service offered by eligible resources.
Another critical issue in ad hoc networks is to enable users to easily
access information from both the local and the wide area (e.g.,
the Internet).
However, we have not yet reached the point where anywhere, anytime network
access is actually offered. Infrastructure-based wireless networks use
fixed network access points with which mobile terminals interact for
communicating. Unfortunately, the unavailability of a base station results in
network failure. Ad hoc networking may then be exploited
for accessing resources available
in the local area, which comes at no cost for users, and possibly accessing a
WLAN base station to reach resources available in the wide area.
The issue that we are
addressing is on setting up an ad hoc network of mobile terminals that
cooperate to access resources from the local network, and also
to offer utilities intended to discover resources in the
global network (i.e., the Internet), when needed. This requires interaction
with the base station to gain access to the rich set of available
Internet resources, when sought resources are not available in the local
area.
In this context, we have first concentrated on
how to improve the
Web latency using a WLAN, exploiting both the ad hoc and
infrastructure-based capabilities of the network
Mobile ad hoc networks (MANET) pave the way for pervasive computing due to their inherent support for any-time, any-where network access for mobile users. Nonetheless, the highly dynamic nature of mobile ad hoc networks poses tremendous challenges for the development of applications, since the application's context keeps changing over time. One approach to master this complexity lies in the management of groups over MANET, i.e., applications execute on top of groups that manage the dynamic execution context, including mobility-related failures. There has been extensive research on group management and related group communication services in the context of fixed networks, with special emphasis on providing availability properties. However, proposed solutions cannot be applied directly to mobile wireless networks due to the network's highly dynamic topology. This has led to adapting the management of group membership to the specifics of MANET. Various solutions towards group management over MANET have, then, been investigated over the last couple of years, each targeting specific applications. However, a distinctive set of key attributes may be identified for MANET-based groups, which may further be exploited to design a generic group service that is to be customized by applications
We have elicited key attributes for group management over MANET, in particular based on applications published in the literature. Those attributes amount to setting membership constraints in relation with the location, connectivity, authentication and supported QoS of group members. We have then introduced a group service that is generic with respect to membership constraints, and realizes three basic functions: discovery of group members, initialization of the group, and management of the group's dynamics. Implementation of the generic group service has further been addressed in the context of the WSAMI middleware (§ ), which is aimed at mobile distributed computing and is based on the Web services architecture. Finally, we have studied two instances of groups that build on our generic group service and allow supporting ambient intelligence scenarios that are respectively related to mobile collaborative work and QoS management in the home network.
Group management further requires adequate security support.
In this context, we have undertaken a study on security mechanisms for
MANET in collaboration with
the CODES project-team. First results relate to the design of a group
key agreement protocol among members of the group,
which accounts for resource constraints of participating nodes
Name: IST DSoS – Dependable Systems of Systems
URL:
Period: [April 2000 - May 2003]
Partners:
University of Newcastle upon Tyne (UK) – project coordinator,
CNRS-LAAS (France),
INRIA (UR Rocquencourt),
LRI (France),
QinetiQ (UK),
Technical University of Vienna (Austria),
University of Ulm (Germany).
The overall objective of the DSoS project was to develop significantly improved means for composing a dependable "system of systems" (SoS) from a set of largely autonomous component computer systems. A system of systems provides new emerging services to its users, in addition to the services provided by its component systems. This project aimed to ensure that both types of services are provided with a level of dependability matching specified user requirements. Dependability in this context encompasses reliability, security and maintainability, though the project focused mainly on the first of these system characteristics, with some emphasis on timeliness as well as functionality issues.
Name:
IST OZONE –
New technologies and services for emerging nomadic societies
URL:
Period: [November 2001 - August 2004]
Partners:
Philips Research Eidhoven (The Netherlands) – project coordinator,
Epictoid (The Netherlands),
IMEC (Belgium),
INRIA (URs Loraine, Rennes, Rhône-Alpes, Rocquencourt),
Technical University of Eindhoven (The Netherlands),
THOMSON (France).
The objective of the OZONE project is to specify and implement a generic architecture/framework that will support the effective acceptance and use of ambient intelligence in the consumer domain. The OZONE project aims at the development of novel concepts, techniques and tools to provide invisible computing for the domestic and nomadic personal use of information technology. The developed concepts aim at improving the acceptability and usability for the average customer. One of the important concepts is the application of advanced technologies to support the user-centric retrieval and consumption of information compared to the current-practice, computer-centric approach. This requires special emphasis on natural interfaces that put the user in the foreground and the system in the background. Security and privacy are prerequisites for consumer acceptance of these systems and are covered by the project's software environment. A final objective deals with the provision of a strong technology base enabling powerful, but energy-efficient, computing.
Name:
IST NoE CaberNet –
Network of excellence in distributed and dependable systems
URL
:
Period: [January 2001 - March 2004]
Coordinating partners:
University of Newcastle Newcastle (UK) - Lead contractor,
CNRS-LAAS (France),
INRIA (UR Rocquencourt),
Lancaster University (UK),
Technical University of Vienna (Austria),
University of Bologna (Italy),
University of Cambridge (UK),
University of Kaiserslautern (Germany),
University of Lisbon (Portugal),
University of Pisa (Italy),
University of Twente (The Netherlands).
CaberNet co-ordinates top-ranking European research in distributed and dependable computing systems architectures. Distributed and dependable computing systems are fundamental to the successful development of the Information Society. Large distributed network infrastructures such as the Internet are vital for citizens to benefit from services such as the global market place, education and information, while preserving their rights to freedom of expression, privacy, intellectual property, etc. But this development depends mostly on how much users will trust the services offered to them. It is therefore essential to make these systems dependable.
Name:
IST WG iTrust –
Working group on trust management in dynamic open systems
URL:
Period: [September 2002 - August 2005]
Partners:
University of Crete (Greece) – Project coordinator,
CCLRC (UK),
CNR-ISTC (Italy),
HP (UK),
Imperial College (UK),
INRIA (UR Rocquencourt),
Intracom SA (Greece),
King's College (UK),
Nine by Nive Co (UK),
Plefsis Information Systems SA (Greece),
Queen Mary University College (UK),
Sintef telecom and Informatics (Norway),
Trinity College Dublin (Ireland),
Autonomous University of Barcelona (Spain),
University of Dortmund (Germany),
University of Oslo (Norway),
University of Strathclyde (UK),
Virtual Trip Ltd (Greece),
The aim of iTrust is to provide a forum for cross-disciplinary investigation of the application of trust as a means of establishing security and confidence in the global computing infrastructure, recognizing trust as a crucial enabler for meaningful and mutually beneficial interactions. The proposed forum brings together researchers with a keen interest in complementary aspects of trust, from both technology-oriented disciplines and the field of law, social sciences and philosophy. Hence, it aims at providing the consortium participants (and the research communities associated with them) with the common background necessary for advancing toward an in-depth understanding of the fundamental issues and challenges in the area of trust management in open systems.
Name:
ACI CorSS –
A formal approach to the composition and refinement of system services
URL:
Period: [September 2003 - August 2006]
Partners:
SVF FERIA (Toulouse) – Project coordinator,
ARLES at INRIA-Rocquencourt,
OBASCO/LOAC at Ecole des Mines de Nantes (Nantes),
COMPOSE at INRIA/LABRI (Bordeaux),
MOSEL at LORIA (Nancy).
The CorSS project is a joint work between teams from the system community and teams from the formal methods community. Its aim is to study development mechanisms for ensuring the safety of the system services that are to be certified. The underlying development concepts are refinement and composition. The project in particular investigates specific formalisms, well suited for the development of systems, as well as their needs in terms of refinement and composition. More specifically, the project considers features interaction for telecommunication software, the derivation of robust Web services, and the composition of basic OS kernel services for which it examines relevant composition techniques and proof methods.
V. Issarny is PC member of MDM'03: 4th International Conference on Mobile Data Management. January 2003, Melbourne, Australia.
V. Issarny and N. Levy are PC members of WADS'03: ICSE'2003 Workshop on Architecting Dependable Systems. May 2003, Portland, USA.
V. Issarny is PC member of MCM'03: 1st International ICDCS Workshop on Mobile Computing Middleware. May 2003, Providence, USA.
V. Issarny is PC member of WWW'03: 12th International World Wide Web Conference. May 2003, Budapest, Hungary.
V. Issarny is PC member of iTrust'03: 1st International Conference on Trust Management. May 2003, Heraklion, Greece.
V. Issarny is PC member of MPAC'03: 1st International Workshop on Middleware for Pervasive and Ad Hoc Computing. June 2003, Rio de Janeiro, Brazil.
V. Issarny is PC member of ESEC/FSE'03: 4th joint meeting of the European Software Engineering Conference and ACM SIGSOFT Symposium on the Foundations of Software Engineering. September 2003, Helsinki, Finland.
V. Issarny is PC member of MCTA'03: International Workshop on Mobile Commerce Technologies and Applications. September 2003, Prague, Czech Republic.
N. Georgantas is PC member of CFSE'03:
3ème Conférence française sur les systèmes d'exploitation.
October 2003, La Colle sur Loup, France.
V. Issarny is PC member of LADC'03: 1st Latin-American Symposium on Dependable Computing. October 2003, Sao Paulo, Brazil.
N. Levy is PC member of SoMeT'03: 2nd International Workshop on Lyee Methodology. October 2003, Stockholm, Sweden.
V. Issarny is PC member of MDM'04: 5th IEEE International Conference on Mobile Data Management. January 2004, Berkeley, California, USA.
N. Levy is PC member of SE'04: IASTED International Conference on Software Engineering. February 2004, Innsbruck, Austria.
V. Issarny is PC member of MP2P'04: First International Workshop on Mobile Peer-to-Peer Computing. March 2004, Orlando, Florida, USA.
V. Issarny is PC member of iTrust'04: 2nd International Conference on Trust Management. Oxford, UK, March 2004.
V. Issarny is PC member of MP'04: International Workshop on Middleware Performance. April 2004, Phoenix, Arizona, USA.
V. Issarny is PC member of ICSE'04: 26th International Conference on Software Engineering. May 2004, Edinburgh, UK.
V. Issarny and N. Levy are PC members of EWSA'04: First European Workshop on Software Architecture (co-located with ICSE'04). May 2004, Edinburgh, UK.
V. Issarny and N. Levy are PC members of WADS'04: ICSE & DSN'04 Workshop on Architecting Dependable Systems. May 2004, Edinburgh, UK and July 2004, Florence, Italy.
V. Issarny is PC member of WICSA'04: 4th IEEE/IFIP Working Conference on Software Architecture (co-located with ECOOP 2004). June 2004, Oslo, Norway.
N. Levy is PC member of AFADL'04: Approches formelles dans l'assistance au développement de logiciels.
June 2004, Besançon, France.
V. Issarny is PC member of ICDE'05: 21st International Conference on Data Engineering. April 2005, Tokyo, Japan.
V. Issarny has been vice-chair of the ACM SIGOPS from June 1999 until June 2003.
V. Issarny is chair of the executive committee of the
AIR&D consortium on Ambient Intelligence Research and Development
(
V. Issarny is chair of the CaberNet Research Coordination and Training Committee.
V. Issarny is member of the 2003
prix ASF de la recherche en systèmes
committee.
N. Levy is responsible of the AOD
(Architecture à Objets Distribués) option
of the DEA MISI of the University of Versailles Saint-Quentin en Yvelines.
V. Issarny and N. Levy give the main lecture of the AOD option of the DEA MISI of the University of Versailles saint-Quentin en Yvelines.
V. Issarny gave a lecture on "Software Architecture and Dependability" at SFM-03:SA: 3rd International School on Formal Methods for the Design of Computer, Communication and Software Systems: Software Architecture. September 2003, Bertinoro, Italy.
N. Georgantas gives a half-semester course on "Middleware"
for the final year of a five-year computer engineering degree at
the Ecole Supérieure d'Ingénierie Léonard de Vinci of the
Pôle Universitaire Léonard de Vinci.
F. Tartanoglu gives a course on "Web services" at the
Licence professionnelle ISDRN
(Intégrateur de Systèmes Distribués et Réseaux Numériques),
IUT Velizy, University of Versailles Saint-Quentin-en-Yvelines.
During year 2003, members of the ARLES project-team supervised the work of the following student interns:
R. Chibout, "Web services for mobile, wireless devices",
Graduate Sudent intern, DEA Informatique Distribué,
University of Paris-11.
S. Ziane, "Dynamic composition of Web services and fault tolerance",
Graduate Student intern, DEA MISI,
University of Versailles Saint-Quentin-en-Yvelines.
Members of the ARLES project-team gave presentations at conferences and workshops, as listed in the publication section. They also gave the following talks:
V. Issarny. ``Dependability in the Web Services Architecture''. DSoS Open Workshop. March 2003, Vienna, Austria.
M. Boulkenafed. "AdHocFS: Ad Hoc Distributed File System for Mobile Users". Seminar. April 2003, University College London, London, UK.
V. Issarny. "Towards the Development of Ambient Intelligence Systems: Supporting Data Sharing in Mobile Ad hoc Systems". Seminar. May 2003, University of Ioanina, Ionina, Greece.
F. Sailhan. "Vers le développement de système pour l'intelligence ambiante :
une solution au partage de données dans les systèmes mobiles ad hoc".
Journées thèmes émergeants, Infrastructure pour Petits Objets Portables
et sécurisés. September 2003, Lille, France.
M. Boulkenafed. "Distributed System for Ubiquitous Collaboration". 5th Plenary CaberNet Workshop. November 2003, Porto Santo, Portugal.
M. Boulkenafed. "Data Access Management over Ad Hoc Networks". Seminar. December 2003, Trinity College Dublin, Dublin, Ireland.