As the number of devices in a pervasive environment is increased, the number of components available on the network also grows rapidly. In such cases, it is possible to compose various applications through a combination of different sets of components. Considering the multifaceted problem of having varying device capabilities supporting a different set of protocols, and each device hosting a number of components providing the same functionality, it becomes very difficult to choose a particular device hosting a required component which can be the best-fit for the user. This becomes practically impossible when the required components are distributed across various devices in the networked environment. We propose a solution for dynamic user task composition considering user preferences, device capabilities, and heterogeneity of communication protocols. With our proposed approach, a user task can be instantiated in different environments using a different set of devices and components, depending upon their capabilities and user preferences. We propose mechanisms for modeling device capabilities and user preferences and for modeling the user task as a graph. We then propose algorithms for selection of devices based on user preferences and task requirements. Since the underlying network is also modeled as a graph, we describe an algorithm for mapping of services in the user task on to the components distributed across devices in the pervasive environment. We also give an overview of our initial implementation and some results of our evaluations.
infer high-level abstracted,situations and present,context,data to context-aware,applications. Context aware applications specify monitoring,requirements,in contract that we call “observation contracts”. In very dynamic environments encountered in ambient computing, the concept of observation contract is complex to define due the volatility of context data sources, the multiplicity of context data sources that may provide somewhat incoherent context data, the conflicts appearing between application requirements. This very high dynamicity,requires that the context management,service must adapt itself to context changes: new context data sources, new clients, new observation contracts, new network topology changes, etc. This is the objective of the PhD thesis. The scientific challenges, expressed in the form of properties of distributed algorithms that should make client’s observation contract in open mobile environments, and that the PhD thesis intends to address, are (non- exhaustive list): i) causally depend upon context data that are valuable, ii) deliver context data only once, iii) eventually deliver required context data, and iv) ignore or forget deprecated observation contracts. Specifying distributed algorithms and designing distributed software architectures (implementing,the distributed algorithms) that assure that the previous safety and liveness properties are satisfied in open,environments,and MANETS is an open issue. The expected results of the PhD thesis are: 1) the definition of observation contracts in ambient computing, 2) the specification of distributed algorithms,and architectural styles relevant to adapt context management,in MANETS, and 3) the design and implementation of the analysis, the planning, and the reconfiguration of the autonomous,context manager,service in ambient,computing. Application requirements and expected skills The applicant must have a Master of Science in Computer
With an increasing number of devices having varying capabilities and with different types of network access mechanisms, an ordinary user will consider various tradeoffs for selecting one particular device over the other for execution of his task in an ad hoc environment. We propose a model for specifying user preferences so that the selection of the best device for the user is automated. Users specify their preferences and constraints qualitatively, which are then mapped on to a quantitative utility model. Preferences can be specified both for user's liking and dislike. We analyze the theory of TCP-nets as a formal model for representing and reasoning with qualitative preferences, and show how it can be used to create a quantitative preference model. Using an example scenario, the application of our model is shown and its utility against simple additive models is discussed.
With the increasing demand for multimedia contents and with the increased usage of small hand-held devices, a user in a home network has a number of devices at hand that may offer similar multimedia services but with varying capabilities. The user may choose one device for using a particular multimedia service at one time, and change to another device at another time. The user may, however, continue using the same service and maintain their previous session on the new device without restarting a new session. Although this can be achieved using one of the session continuity approaches described in the literature, in this paper we propose how user preferences can be used for selection of a device for session continuity. A qualitative preference model is suggested, which is then translated into a quantitative model to choose the most appropriate device for user.
The proliferation of small devices and the increase in number of services created by various vendors for such devices have made SOA a primary choice for mobile software developers. However, due to software and hardware platforms heterogeneity, it is not always possible to use the write-once, use-everywhere approach. The main problem comes due to the varying capability of mobile devices and the unavailability of means to know resource requirements of mobile services. We believe that there is a need to be able to specify resource requirements so that mobile application developers could explicitly enumerate their requirements, when it comes to interoperability with other services. Towards this objective, we consider the requirements of mobile services, identified from CC/PP, a generic model of resource specification on mobile devices. We then extend the existing CC/PP model and integrate it with the SCA model for SOA. Our approach does not violate any of the CC/PP or SCA specification, while remaining neutral to the underlying technologies and platforms. An important aspect of our approach is that resources can be specified abstractly as well as concretely.
Mobile computing applications are required to operate in environments in which the availability for resources and services may change significantly during system operation. Thus, mobile computing applications need to be capable of adapting to these changes to offer the best possible level of service to their users. However, traditional middleware is limited in its capability of adapting to the environment changes and different users requirements. Aspect Oriented Programming has been used in the design and implementation of adaptive middleware architectures. In this paper, we propose an adaptive middleware architecture which can be used to develop adaptive mobile applications. Such architecture is compared to a component-based architecture from a quantitative perspective. The results suggest that middleware based on this model can be used to build mobile adaptive applications that require only a very small overhead in terms of running time as well as memory footprint while producing code that is more ease to comprehend and modify.
With orchestrations, one service may be realized through the cooperation of several services. This cooperation has to be formally described. In this paper, we propose to describe service orchestrations according to UML2 meta-model through three UML2 diagrams. Component diagrams describe each service external interfaces. Collaboration diagrams describe the structural composition of services. And activity diagrams describe the orchestration of services. The main contribution of this article is to mix the orchestration and composition meta-model with a context meta- model. Thus, we propose to include the descriptions of context awareness into the orchestration and composition meta-model. This approach allows application designers to describe flexible orchestration of services. Furthermore, describing compositions and their context-awareness with a model (conform to a meta-model) allows middleware with model-transformation capabilities to produce ad-hoc compositions in term of adaptation to current context execution and in term of target execution platforms. We present in this article two kinds of adaptation of context aware orchestrations: deployment time and run time adaptations.
Seamless service continuity means maintaining service execution whatever environment change. Before processing service adaptation for this new environment context, the optimal service configuration has to be computed. We propose an approach to automate the planning process that determines the optimal service configuration with environment context and user preference. This approach is based on component, resource and quality of service models and on selection criteria. It details two methods that find the optimal component configuration among a lot of combinations of components composition. The first method is a greedy method and the second one is based on a combinatorial optimization technique
With orchestrations, one service may be realized through the cooperation of several services. This cooperation has to be formally described. In this paper, we propose to describe service orchestrations through several UML2 diagrams. Component model is a tool for describing each service external interfaces. Collaboration diagrams describe the structural composition of services. And activity diagrams describe the orchestration of services. Furthermore, the second contribution of this article is to mix the composition meta-model with a context meta- model. Thus, we propose to include the descriptions of context aware composition adaptations into the composition meta-model. Describing compositions and their context-awareness with a model (conform to a meta-model) allows middleware with model-transformation capabilities to produce ad-hoc compositions in term of adaptation to current context execution and in term of target execution platforms. The article is illustrated through a concrete context-aware composition example. Our proposition is compared with other related works.
With the increasing demand for multimedia contents and with the increased usage of small hand-held devices, a user in a home network has a number of devices at hand which may offer similar multimedia services but with varying capabilities. The user may choose one device for using a particular multimedia service at one time, and change to another device at another time. The user may, however, continue using the same service and maintain his previous session on the new device without restarting a new session. In this paper, we describe how UPnP can be used for transferring a multimedia session from a device to another in a home network. The procedure for transfer of session is based on the UPnP audio video architecture. We also describe our prototype implementation.
Context-awareness is rarely considered in component-based middleware. In this paper, we present CAMidO, a context-aware middleware based on an ontology meta-model. CAMidO, enables designers to create component-based context-aware applications. It provides an ontology meta-model for context description. The described information are used by the middleware to automatically adapt the application to relevant context-changes. Context-awareness is managed by component containers through nonfunctional properties. CAMidO manages all tasks related to context collection and application adaptation according to application designer description. Thus, it relieves application developers from programming these painful tasks
Ces dernières années ont été marquées par une forte évolution des équipements et des réseaux utilisés dans les environnements mobiles. Cette évolution a abouti à la définition d’une nouvelle thématique: l’informatique mobile. L’informatique mobile offre aux utilisateurs la capacité de pouvoir se déplacer tout en continuant à accéder aux applications réparties, ceci indépendamment de la localisation géographique. Cependant, l’informatique mobile soulève le problème de la disponibilité de ces applications en présence de déconnexions. Ainsi, les applications réparties et les intergiciels fonctionnant dans les environnements mobiles doivent s’adapter aux déconnexions. Dans cet article, nous présentons un état de l’art de la gestion de cache d’entités logicielles pour la tolérance aux déconnexions dans les environnements mobiles. L’article est structuré selon le type d’entités mises en cache : fichiers ordinaires, bases de données, pages web, objets, et enfin composants.
The expansion of wireless communication and mobile hand-held devices is a fleeting how software deployment is being performed. Deployed applications have to be suited to the users' requirements, to the resources of his terminal and to the surrounding environment. In this paper, we define a methodology which enables classical deployment tools provided by component-based middlewares to be adaptive. This methodology was experimentally tested and evaluated
Mobile computing applications are required to operate in environments in which the availability for resources and services may change significantly during system operation. As a result, mobile computing applications need to be capable of adapting to these changes to offer the best possible level of service to their users. However, traditional middleware is limited in its capability of adapting to environment changes and different users requirements. Computational Reflection and Aspect Oriented Programming paradigms have been used in the design and implementation of adaptive middleware architectures. In this paper, we propose two adaptive middleware architectures, one based on reflection and other based on aspects, which can be used to develop adaptive mobile applications. The reflection based architecture is compared to an aspect oriented based architecture from a quantitative perspective. The results suggest that middleware based on Aspect Oriented Programming can be used to build mobile adaptive applications that require less processor running time and more memory space than Computational Reflection while producing code that is easier to comprehend and modify.
In the recent past, the scope of distributed systems has drastically changed. Advances in device miniaturization and wireless networking have made distributed systems components evolve from workstations and servers linked by wired networks, to internet of things linked by a variety of networks. Middleware technology designed for legacy distributed systems is no longer suitable to these new kinds of distributed systems. In this paper we describe the main challenges raised by this evolution, with stress put on ad hoc, spontaneous and sensor systems. A survey of the current state of the art will be given, together with major pending issues and perspectives in the domain.
Initially targeted at supporting individual work, personal devices are more and more used for collaborative activities in mobile environments. In this context, service continuity raises the problem of data availability during disconnections. This relies on optimistic replication with the deployment of a local copy of the necessary application components, leading to potential divergence of the distributed copies. Consequently, the main challenge consists in designing reconciliation mechanisms in order to synchronize copies at reconnection time. In this paper, we present RIMoCoW (Reconciliation Infrastructure for Mobile Collaborative Work) a reconciliation infrastructure designed and implemented for CORBA component-based applications in a mobile collaborative work environment. RIMoCoW follows a service-based approach and integrates SOCT4Mob (Serialization of Concurrent Operations by Transposition in Mobility) a synchronization algorithm we have extended for the mobile context. In addition, we propose recovery and sequencer related policies that fit to mobile requirements. Finally, RIMoCoW is implemented using an emergency management application. The performance results show that our infrastructure can reconcile in roughly 30 minutes more than 16.000 victims medical files filled by 8.000 rescuers, which corresponds to a level of 6 on a 6-degree European scale for technological accidents.
Recent years have seen a rapid evolution in the hardware and in networks used in mobile computing environments. This evolution has opened up new opportunities for mobile computing. Mobile computing allows a mobile user to access various kinds of information any time anywhere. However mobile computing raises the problem of data availability in the presence of disconnections. Thus, distributed applications and middleware in mobile environments must be adapted to cope with disconnections. In this article, we present a state of the art on software caching,for tolerating disconnections in mobile environments. The structure of the article follows the type of entities manipulated by the distributed applications: ordinary files, databases, web pages, objects, and components.