Recent Results
Aller au niveau supérieurCompilation of recent results
- D5.2 MUSIC middleware software with documentation (version 1) — Par Jorge Lorenzo — Dernière modification 09/02/2010 13:59
- MUSIC is a project that develops an open-source software development framework for the implementation of self-adapting, reconfigurable software that adapts to the dynamic user and to the execution context. This deliverable has implemented the first release of the middleware according to the design of the MUSIC architecture provided in D4.2 and to the implementation decisions stated in D5.1 and D5.3. The purpose of this document is to describe the middleware implementation: its structure, the employed technologies, and the contribution of these technologies to the implementation goals. In the document sections we will provide first a global view of the employed technologies followed by a description of the middleware components implementation, pointing out their responsibilities and dependencies in terms of packages and services. For a more detailed documentation of the architecture, see D4.2. A set of annexes has been compiled to support middleware developers as well as third parties. These annexes comprise: (a) information about the external libraries used in the middleware, (b) a guide to set up the development environment, (c) a tutorial to create a context plugin, (d) documentation about the MUSIC API, (e) instructions to install the SER, and (f) a paper about context distribution. Keywords: Middleware, OSGi, bundle, component, service, SOA, context, context distribution, remoting, service discovery, adaptation, SIP
- Middleware-based development of context-aware applications with reusable components — Par Nearchos Paspallis — Dernière modification 18/12/2009 08:41
- Driven by the proliferation of mobile and pervasive computing, there is a growing demand for context-aware, self-adaptive applications. Such applications benefit users by dynamically adjusting their offered services to the highly dynamic context which characterizes mobile and pervasive computing environments. To achieve this kind of sophistication, however, such applications must be capable of sensing the context, and autonomously reacting upon their knowledge on it. Inevitably, enabling this kind of behavior results in a measurable increase to the complexity of the underlying software. Multiple approaches have been proposed for the development of context-aware, self-adaptive applications. Most of them focus on the actual capabilities and features of the resulting applications. However, streamlining the engineering of general context-aware, self-adapting applications is an important and challenging endeavor which has received less attention. This thesis provides research contributions in the area of software engineering support for the development of context-aware, self-adaptive applications: It proposes development methods, supported by appropriate tools, aiming to facilitate the development and maintenance of context-aware applications targeting mobile and pervasive computing environments. This is achieved in two basic dimensions. First, a novel development methodology is proposed allowing the design and implementation of context-aware, self-adaptive applications with reusable components, called context plug-ins. This methodology is complemented with a model-driven development approach which automates the production of parts of the applications, extending reusability to sub-components. Second, a pluggable and modular middleware architecture is presented, facilitating the deployment and management of components comprising the context-aware, self-adaptive applications. At the same time, this architecture facilitates many recurring tasks pertaining context gathering, management and dissemination. The results in this thesis have been evaluated both practically and theoretically. First, the proposed methodology and the underlying architecture implementation were evaluated in the context of two case-study applications. Second, the proposed middleware-based solution was compared to the state of the art over a number of requirements, as they were identified in the literature and summarized in this thesis. Finally, the development methodology was tested in the context of an undergraduate university course where the students were asked to develop context-aware applica- tions as part of lab assignments. The students used the development approach proposed in this thesis, along with the accompanying middleware architecture, to build their own context-aware applications, partly by using the model-driven development approach also presented in this thesis. Their experience was documented and examined via a survey which justified that both the methodology and the middleware architecture add significant value in the hands of developers designing and implementing context-aware, self-adaptive applications. The thesis concludes by summarizing its main contributions and by providing a discussion of key topics for future work.
- Service-Oriented Adaptation in Ubiquitous Computing Environments — Par Mohammad Ullah Khan — Dernière modification 17/11/2009 16:23
- Ubiquitous computing environments may offer dynamically discoverable services that can be utilized by adaptive applications to improve their functionality and quality of service. We have developed a general software development framework for context-aware adaptive applications. In this paper we present our novel modeling concepts that extend an existing component-based modeling approach by serviceoriented adaptation. With our new extensions a dynamically discovered service may replace an application component if it increases the overall utility of the application. We discuss open questions and point to potential solution approaches.
- An Adaptation Reasoning Approach for Large Scale Component-based Applications — Par Ulrich Scholz — Dernière modification 17/11/2009 14:49
- There is a growing demand for context-aware applications that can dynamically adapt to their run-time environment. An application offers a collection of functionalities that can be realized through a composition of software components and/or services that are made available at runtime. With the availability of alternative variants of such components and/or services that provide the basic functionalities, while differ in extra-functional characteristics, characterized by quality of services (QoS), an unforeseen number of application variants can be created. The variant that best fits the current context is selected through adaptation reasoning, which can suffer from the processing capabilities of resource-scarce mobile devices, especially when a huge number of application variants needs to be reason about. In this paper, we present a reasoning approach, which provides a meaningful adaptation decision for adaptive applications having a large number of variants within a reasonable time frame. The approach is validated through two arbitrary applications with large number of variants.
- A P2PSIP event notification architecture — Par Alisa Devlic — Dernière modification 24/08/2009 11:51
- This M.Sc. thesis, part of the EU FP6 IST project MUSIC, presents a P2PSIP event notification architecture where a traditional SIP event server is replaced by a distributed P2P overlay network. Our objective is a scalable, fault resilient, and redundant SIP architecture that meets the state of the art in handling event state subscriptions, notifications, and publications. The users of the architecture - non overlay SIP user agents - continue to transparently access the overlay according to the IETF specifications for event state publications (RFC3903 [1]), and notifications (RFC3265 [2]). The proposed architecture leverages a structured P2P overlay network, an application level multicast protocol, and a modified SIP stack that invokes the P2P functionality. The overlay installs a routing and transport infrastructure that distributes the total processing load among the peers. The application level multicast protocol builds dissemination trees each of which serves a particular subscriber group. It also provisions for the failure and recovery features of the overlay in coordination with the P2P subsystem. Finally the SIP stack receives out of overlay SIP calls and invokes the internal P2P functionality. However, not all the overlay peers need to have a SIP stack; only the ones acting as gateways to out of overlay SIP requests. This design allows for lightweight peers, completely unaware of SIP operations and semantics. Moreover, we are evaluating the performance of the notification mechanism in a mobile environment where the peers disconnect and join the overlay at random intervals. The evaluation is performed with a packet level simulator that introduces a variable churn rate to the P2P overlay network. The simulation results show that the architecture experiences service discontinuities when the overlay connections break faster than the overlay repairs these connections. However it is also seen that, when appropriately configured, the notification architecture can partially mitigate the effect of churn and achieve a stable operation.
- D6.3 Modelling Notation for Adaptive Applications in Ubiquitous Computing Environment (refined version) — Par Michael Wagner — Dernière modification 09/07/2009 15:17
- MUSIC is an initiative that develops a comprehensive open-source software development framework facilitating the development of self-adapting, reconfigurable software that seamlessly adapts to the highly dynamic user and execution context, typical of mobile and ubiquitous computing and thus maintains a high level of usefulness across context changes. For this purpose, MUSIC provides a methodology for the model-driven development of self-adapting applications integrating modelling language enhancements for the specification of context dependencies, application variability and adaptation capabilities. This Deliverable reflects the work done in WP6 for Tasks 6.1 and 6.3 in the second year of the project. Task 6.1 deals with the definition of a modelling notation to express the adaptation capabilities of an application. The modelling notation is based on the requirements derived from MUSIC work packages 1 and 2 as well as the list of MUSIC Features. Moreover, the MUSIC software development method for adaptive applications in ubiquitous environment described in deliverable D6.2 is closely followed. Task 6.3 involves the development of examples based on the modelling notation and development methodology. In satisfying those tasks, the deliverable presents: The MUSIC model driven development approach along with the motivation behind it. List of MUSIC modelling requirements, derived from other MUSIC deliverables and MUSIC features. A study of modelling techniques available from related works and standard specification mechanisms using UML, OWL etc. The MUSIC modelling notation in UML (MUSIC Profile), XML (Schema for Context Query) and OWL to specify MUSIC Context and Resource Ontology, application variability and use of services. An example explaining the use of the UML Profile. The document presents a checklist highlighting the coverage of different modelling requirements and MUSIC features, along with the major improvements compared to the preceding deliverable. Keywords: Adaptive application, context-awareness, context modelling, model-driven development, UML Profile, service orientation, ontology, OWL, OWL-S, WSDL.
- D21.1 RATP trial scenarios and pilot services architecture — Par Jacqueline Floch — Dernière modification 08/07/2009 14:32
- The MUSIC project aims at developing a comprehensive open-source software development framework that facilitates the development of self-adapting, reconfigurable software that seamlessly adapts to the highly dynamic user and execution context, and maintains a high level usefulness across context changes. In that context, the main purpose of the RATP trial is to assess the MUSIC development framework. In addition, the trial is a means to demonstrate and promote the MUSIC technology outside the project. The RATP trial will consist of a set of MUSIC demonstrators that relate to the metro traveller’s needs and will be demonstrated using the RATP infrastructure. This deliverable describes the initial achievements of the MUSIC project towards the realisation of the RATP trial: The deliverable defines several scenarios that describe realistic travelling situations involving RATP travellers or employees equipped with MUSIC-enabled handheld devices. These scenarios relate to different kinds or travellers such as frequent travellers and tourists, and cover different travelling situations such as entertainment, support to persons with reduced mobility or emergency situations. The deliverable provides an analysis of these scenarios focusing on the context and adaptation mechanisms that can be demonstrated by the scenarios. The scenarios illustrate the relevance of various context entities such as user task and location or computing resources and multiple adaptation types such as user interface adaptation or replacement of a local component by a service. The deliverable defines the architectures of applications that are involved in the scenarios. These applications provide support for travel planning, entertainment, communication and medical diagnosis. Scenarios were defined so that applications can be applied and combined in multiple scenarios. This aims at an efficient use of the SW development resources in the project and the creation of more powerful demonstrators. Finally the deliverable provides an implementation plan. The applications and scenarios presented in this deliverable are comprehensive and will only be partially implemented and demonstrated in MUSIC. Application functionalities and scenes that will be realized have been selected in order to allow the project to assess the complete set of MUSIC features.
- D2.3 Intermediate research results on methods, languages, algorithms and tools to modeling and management of context — Par Nearchos Paspallis — Dernière modification 07/07/2009 14:17
- MUSIC is a focused initiative that develops a comprehensive open-source software development framework to facilitate the development of self-adapting, reconfigurable software. This software must seamlessly adapt to the highly dynamic user and execution context, and maintain a high level of usefulness across context changes. Context-aware applications are capable of exploiting knowledge of external operating conditions, and they are self-adaptive by adapting at runtime to varying contexts, like changing user needs and operating environments. The MUSIC project provides a design methodology and distributed system architecture for the design and implementation of self-adapting applications in ubiquitous computing environments. This is complemented with enhanced modeling languages for the specification of context dependencies and adaptation capabilities, supported by model specification, validation and simulation tools. This platform is also used to develop trial services, based on a set of challenging application scenarios with real market potential. These services have a central role: they are sources of requirements, assess technical adequacy of the results, and promote the results. This deliverable provides the intermediate results of the work performed in WP2 and it aims at extending and refining the solutions which are used to enable context awareness. To this respect, several topics were refined, such as context modeling, accessing and distribution. Additional topics were studied, such as the use of a modeldriven development approach for the design of context plug-ins. The primary aim of this work is to provide the dependent Work Packages (within Activity Groups B) with the required input regarding the design of the architecture and the implementation of the MUSIC middleware and the related development models and tools.
- Modeling of Context-Aware Self-Adaptive Applications in Ubiquitous and Service-Oriented Environments — Par Mohammad Ullah Khan — Dernière modification 15/06/2009 14:42
- Mobile computing in ubiquitous environments has to cope with both predictable and unpredictable changes in the execution context, which introduces the need for context-aware adaptive applications. Such environments are also characterized by dynamically discoverable services that can be utilized by applications to improve their functionality and quality of service (QoS). Thus, application adaptation decisions not only depend on context properties, but also on service availability and QoS-properties. In this chapter we present a novel comprehensive modeling approach that facilitates the model-driven development of such applications. Our focus is on modeling concepts which align the description of services and their QoS-properties with the context modeling approach. We provide a harmonized view on context and service properties, bridging the syntactical and semantic differences through an ontology. We also consider related aspects like semantic service discovery and service level agreements. Keywords: context awareness, compositional adaptation, ontology, service-oriented architecture, ubiquitous computing, utility function
- Context inference of users' social relationships and distributed policy management — Par Alisa Devlic — Dernière modification 12/03/2009 10:57
- Inference of high-level context is becoming crucial in development of context-aware applications. An example is social context inference – i.e., deriving social relations based upon the user's daily communication with other people. The efficiency of this mechanism mainly depends on the method(s) used to draw inferences based on existing evidence and sample information, such as a training data. Our approach uses rule-based data mining, Bayesian network inference, and user feedback to compute the probabilities of another user being in the specific social relationship with a user whose daily communication is logged by a mobile phone. In addition, a privacy mechanism is required to ensure the user’s personal integrity and privacy when sharing this user's sensitive context data. Therefore, the derived social relations are used to define a user’s policies for context access control, which grant the restricted context information scope depending on the user's current context. Finally, we propose a distributed architecture capable of managing this context information based upon these context access policies.
- MUSIC: Middleware Support for Self-Adaptation in Ubiquitous and Service-Oriented Environments — Par Romain Rouvoy — Dernière modification 15/06/2009 14:43
- Self-adaptive component-based architectures facilitate the building of systems capable of dynamically adapting to varying execution context. Such a dynamic adaptation is particularly relevant in the domain of ubiquitous computing, where numerous and unexpected changes of the execution context prevail. In this paper, we introduce an extension of the MUSIC component-based planning framework that optimizes the overall utility of applications when such changes occur. In particular, we focus on changes in the service provider landscape in order to plug in interchangeably components and services providing the functionalities defined by the component framework. The dynamic adaptations are operated automatically for optimizing the application utility in a given execution context. Our resulting planning framework is described and validated on a motivating scenario of the MUSIC project.
- Ad hoc context distribution methods using Bluetooth and WLAN — Par Alisa Devlic — Dernière modification 07/01/2009 17:17
- In a traditional context-aware system, most context information is local to a device. However, we may need access to context information from outside the device. Increasingly mobile electronic devices are equipped with Bluetooth and/or WLAN network interfaces. Both of these technologies enable ad hoc discovery & networking. In this paper we evaluate the use of these technologies for context distribution within a local area (i.e., limited to a single hop). Using Bluetooth, we begin by discovering devices using Bluetooth’s discovery protocol, collect their context information, create an XML file containing this information, and distribute this file to all discovered devices, such that every device now has the same context information. Next we perform the same discovery, collect, and distribute functions, but using WLAN. In each case we have performed the cycle of operations starting with a fully charged battery and continuing until the device was not able to utilize the selected wireless interface any longer. Finally we compare both approaches to context distribution in terms of battery power consumption. We observe that Bluetooth consumes 2-6 times more energy for transmission of a 1MB file to two devices than to discover these two devices. Furthermore, the transfer of this file is two times slower than WLAN, and we must unicast this file to each device. Multicasting via WLAN proved to be less energy consuming than the Bluetooth transmission, if data is to be sent to more than three users. In addition, the energy to discover 2 devices along with their services using Bluetooth consumed 52 times more energy than to receive the same amount of data via a WLAN multicast. Thus, this paper shows that it is more energy efficient to distribute context knowledge to other devices, than having each device learn this information itself. Finally, we give equations for calculating the battery power consumption of transmitting data using any protocol that runs over Bluetooth or over WLAN.
- Designing Multi-User Multi-Device Systems - An Architecture for Multi-Browsing Applications — Par Ulrich Scholz — Dernière modification 19/12/2008 15:02
- As users get accustomed to an increasing diverse range of mobile devices, personal computers, intelligent home and office appliances, as well as shared public devices, collaborative multi-device systems are emerging to benefit from using together devices of different users and different capabilities. This paper presents a conceptual framework for the systematic design of such systems in symbiotic environments. It distinguishes between information and interaction spaces. Focusing on using devices together, we introduce relationships between interaction spaces and annotatable mappings between the information space and the interaction spaces. Customizable annotations and the corresponding transformation of information support the development of collaborative systems for different scenarios. To demonstrate the validity of our framework, we introduce an architecture for multi-device web-browsing systems, and an annotation vocabulary which particularly focuses on symbiotic environments. The evaluation of our implemented prototype confirms the usefulness of multi-browsing, and the need for supporting both developers and end users to individually annotate web pages.
- Context grouping mechanism for context distribution in ubiquitous environments — Par Yves Vanrompay — Dernière modification 02/12/2008 14:47
- MUSIC macht Software fit für mobile Anwendungen — Par Ulrich Scholz — Dernière modification 01/12/2008 10:27
- Das MUSIC Projekt unterstützt die Entwicklung von adaptiven Anwendungen für mobile Nutzer. Das Projekt baut eine Middleware und eine Open Source Entwicklungsumgebung für automatisch rekonfigurierbare Software, die sich an höchst dynamischen Nutzer- und Umgebungskontext anpasst und die für den Anwender über alle Adaptionen hinweg permanent nützlich bleibt. Über die Entwicklungsumgebung formalisiert der Applikationsentwickler die Adaptionsmöglichkeiten seiner Software und die Eigenschaften der möglichen Varianten; die Erstellung der Applikationsfunktionalität selbst erfolgt in gewohnter Weise.
- Dynamic Planning and Weaving of Dependability Concerns for Self-Adaptive Ubiquitous Services — Par Romain Rouvoy — Dernière modification 14/10/2008 17:23
- Ubiquitous computing enables the development of a new trend of applications that can opportunely interact with services available in the landscape. Although sporadic, this type of interaction requires the deployment of dependable mechanisms to ensure the correct completion of the interactions. However, the integration and the configuration of these mechanisms depends not only on the type of service accessed, but also on the surrounding environment. Such a variability requires an extensive effort of the developers to support the alternative mechanisms. Thus, to reduce this effort, we propose to integrate the Aspect-Oriented Programming (AOP) principles into a planning-based adaptation middleware in order to dynamically plan and weave dependability concerns into the application depending on the execution context. In particular, this paper introduces our continuous support for AOP, which includes i) a uniform model for describing the dependable application configurations and ii) a modular middleware platform for weaving and configuring the dependability concerns when necessary.
- MUSIC: an Autonomous Platform Supporting Self-Adaptive Mobile Applications — Par Romain Rouvoy — Dernière modification 20/09/2008 12:01
- With the continuous improvement of device capabilities, mobile applications are becoming not only context-aware, but also self-adaptive. This new trend of applications are capable of tuning their behavior depending on changes observed in the surrounding environment. However, these adaptations are often restrained by the static features of the supporting middleware, which is not able to exploit the opportunities offered by the environment in order to improve the quality of the adaptations. The MUSIC platform offers a modular support maximizing the user satisfaction by adapting dynamically mobile applications. Beyond this support, the MUSIC platform can itself be adapted towards the evolving environment (e.g., location, network connectivity) in order to satisfy both the user requirements and the device properties. In this paper, we focus on three complementary approaches for adapting the MUSIC platform, namely i) the distribution of the adaptation process among the neighboring devices, ii) the assignment of the devices responsibilities, and iii) the adaptation of the platform components. Thus, MUSIC leverages the adaptation of mobile applications by changing autonomously the middleware characteristics.
- Architectural Constraints in the Model-Driven Development of Self-Adaptive Applications — Par Mohammad Ullah Khan — Dernière modification 27/08/2008 11:26
- In component-based software development, the architecture of a software system is represented as a composition of connected components. We have developed a component framework which supports adaptation through application variability. The adaptation decision is taken at run-time by resolving the variation points and computing the utility of all application variants. This may result in a large combinatorial number of alternative configurations. Typically, many of them are infeasible, as some component realizations may require or exclude realizations of other components. In this paper, we present a solution to the definition of architectural constraints in the modeling of application variability and adaptability in order to filter out infeasible configurations at run-time. Keywords: Model Driven Development, Architectural Constraints, Variability, Component-based Software Development, Self-adaptive Applications Contact author
- Applying Architectural Constraints in the Modelling of Self-adaptive Component-based Applications — Par Mohammad Ullah Khan — Dernière modification 27/08/2008 11:08
- In component-based software development, the architecture of a software system is represented as a composition of different connected components. Components can be atomic as well as composed of other components. In order to support application variability for potential runtime adaptations, we have defined a component framework, which introduces variation points by allowing alternative realizations for the application’s components. Application variants as a basis for the adaptation decision are created at run-time by resolving the variation points, i. e. choosing a realization for each of the components. This may result in a large combinatorial number of alternative configurations. However, many of these application variants are usually not feasible, as some component realizations may require or exclude realizations for other components. The specification of appropriate architectural constraints is therefore inevitable to ensure feasibility of application variants and thus to help addressing the scalability problem. Because of the complex inter-dependencies among different aspects of the components, specifying such constraints can be a challenging task. In this paper, we present a solution to the definition of architectural constraints in the modeling of variability in component-based software development. The approach is applied in an MDA-based development process. Keywords: Model Driven Development, Architectural constrains, Variability, Component-based software development, Self-adaptive applications Contact author
- How to Combine Parameter and Compositional Adaptation in the Modelling of Self-Adaptive Applications — Par Mohammad Ullah Khan — Dernière modification 27/08/2008 10:53
- Computing technology quickly pervades our living environment. We are getting used to carrying with us powerful devices with computing and communication capabilities. The execution context of applications on these devices changes continuously and applications need to adapt in a self-organizing manner, to retain their usefulness. Parameter and compositional adaptation are two frequently used mechanisms for self-adaptive applications in pervasive computing environments. Both of them have advantages as well as disadvantages. Our aim is to provide a comprehensive model-driven application development approach that combines the two concepts, in order to benefit from the advantages of both mechanisms and to reduce development effort. In this paper, we present a modeling approach for self-adaptive applications that combines parameter and compositional adaptation in an integrated, homogeneous fashion. The resulting adaptation model is automatically transformed to source code which is used by the middleware to manage the adaptation at application run-time. The approach was successfully tested in the development of two comprehensive pilot applications. Keywords: Modeling, Model-Driven Software Development, Self-Adaptation, Parameter Adaptation, Compositional Adaptation, Ubiquitous computing. Contact author