OSGi™ Users Group - FranceThèses de Doctorat/PhD DissertationsCette rubrique liste des thèses françaises en relation avec la technologie OSGi™.
Les nouveaux espaces de vie, n´es de la prolifération d’objets communicants, rendent la problématique de l’interaction de plus en plus complexe à la fois pour l’utilisateur et le concepteur. Le champ de recherche de l’informatique ambiante tend à apporter des solutions pour ces espaces mais la problématique de l’interaction reste entière. Dans cette thèse, nous abordons le problème de l’interaction homme-environnement (IHE) par une approche transverse autour de deux communautés de recherche, l’IHM et les approches logicielles à composant et service. Nous présentons un modèle original d’interaction homme-environnement, sous un aspect conceptuel et d’implémentation. Ce modèle a donné lieu à une plate-forme d’´etude IHE qui permet de construire des applications dédiées à l’interaction homme- environnement, en prenant en compte des contextes d’utilisation très divers.
Les serveurs d'applications sont largement utilisés et éprouvés comme environnement hébergement et d'exécution d'applications Internet. Ils permettent d'assurer la fiabilité, les performances et la sécurité de ces applications. Dans le contexte de ce travail, les serveurs d'applications Java EE, la construction des applications et la gestion de leurs cycles de vie est spécifié et offre de nombreuses possibilités. Les services techniques offerts par le serveur et utilisé par les applications ne propose pas les même facilités d'assemblage et de gestion et souffrent d'un manque de flexibilité dans les implantations open source actuelle. Ils sont de ce fait peut adaptés aux nouvelles applications Internet. Celles-ci demandent de nouveaux types de services techniques (capteurs, multimÈdia) et étendent également les supports matériels des d'exécution des serveurs à des environnements plus contraints. Cette thèse propose une architecture permettant d'obtenir un serveur d'applications personnalisable (démarrage, arrêt et configuration des services techniques au besoin et à chaud), extensible (facilite l'ajout de nouveaux services utilisables par les applications) et taillé sur mesure pour les applications (déploiement et retrait des services techniques nécessaires et de leurs dépendances). L'architecture proposée s'appuie sur une architecture orientée services, qui permet d'obtenir le dynamisme désiré sans perdre les propriétés inhérentes des serveurs d'applications. Cette approche est validée par une expérimentation sur un des serveurs open source actuelle, JOnAS. Elle permet de mettre en avant les nouvelles propriétés obtenues par la mise en oeuvre de l'architecture proposée.
This work aims to propose an adaptable, extensible and dynamic architecture for applications servers' core by relying on service-oriented architectures. Applications servers are widely used and tested as hosting and execution environments for Internet applications. They guarantee the reliability, the performances and the security of those applications. In our context, the Java EE applications servers, building applications and managing their lifecycle is specified and offers many capabilities. Technical services offered by the server do not have the same assembly and management properties and suffer from a lack of flexibility in current open source implementations. For those reasons, they do not fit current Internet applications' needs that require new kind of technical services (sensors, multimedia) and also extend execution supports to more constraints environments. This thesis proposes an architecture that permits to obtain a customizable (on-demand and hot start, stop and configuration of technical services), extensible (simplify the integration of new services useable by the applications) and scalable (deployment and retreat of required services and their dependencies) applications server. The proposed architecture relies on a service-oriented architecture that brings the required dynamism without loosing applications servers' inherent properties. This approach is validated by experimentation on an existing open source server, JOnAS. It permits to highlight the new properties obtained by the implementation of the proposed architecture.
The home gateway market evolves towards new business models. Today’s model, called triple play, brings Internet connectivity to our homes, along with two additional services : telephony and video over IP. These three services are managed by a single business entity : the access provider. Constructors and operators propose a replacement model, called multi-play, which opens the market to multiple voice and video providers. This allows end-users to access more content and to choose between competing service plans. A third business model then becomes possible. Since the market is open to multiple business actors, and since home gateways become more and more powerful, why should we limit services to voice and video ? An increasing number of other services exist, such as health care, support for the disabled, home automation and telesecurity. The notion of service must be broadened, and the home gateway must be enhanced to be able to host any kind of service. We call this model multi-service. Technical novelties with multi-service home gateways are that they support deploying, executing and managing several software modules that come from different providers. This translates into specific needs in terms of execution isolation, remote management, deployment infrastructure, and programming model. Execution isolation is a compromise between the level of isolation and the impact on perfor- mance. Since home gateways have limited hardware resources, performance and complexity are key factors. They need a level of isolation that allows to separate software modules based on their providers. When choosing how this separation is enforced, we create variants in the business model ; for instance, some modules, such as a video codec or a web server, may or may not be shared among service providers. Each provider manages his own services. Similarly, variants are possible : one is that each provider chooses his own management technology, another is that the access provider dictates one. The deployment infrastructure must scale, both service-wise and user-wise, and propose update mechanisms. Variants lie in life cycle management granularity, e.g. pausing services may or may not be possible. Lastly, the programming model impacts decoupling between modules, their reusability, and their time-to-develop. To implement these four families of needs on resource-constrained targets, we focused on two execution environments, which allow different aforementioned variants : Java/OSGi and C/Linux. OSGi boasts a clean, service-oriented programming model, and already manages deploy- ment and life cycle of modules. However, it lacks multi-user features and the related isolation mechanisms. GNU/Linux offers many tools for isolation and module deployment. However, it needs a tight integration and a unified management of such tools. Therefore, we propose to fill these lacking features on these two environments, so they can conform to the multi-service model.
Résumé: La récente évolution de l'informatique a ouvert la voie à de nouveaux types d'applications. En effet, la convergence de l'Internet et de l'informatique ubiquitaire permet le développement d'applications intégrant le monde virtuel dans le monde physique. Cependant, cette convergence a vu émerger de nouveaux besoins tel que le dynamisme. Bien que de nombreux travaux aient étudié cette propriété, la création d'applications pouvant évoluer et réagir aux changements environnementaux et contextuels reste très complexe. Cette thèse s'intéresse à la conception, au développement et à l'exécution d'applications dynamiques. L'approche proposée s'appuie sur les récents efforts réalisés autour des modèles à composant. En effet, iPOJO, le modèle réalisé, combine l'approche à service et la programmation par composant afin d'introduire des caractéristiques de dynamisme au sein d'un modèle à composant. iPOJO propose un langage de composition permettant la conception d'applications nativement dynamiques, tout en facilitant le développement des ces applications. Celles-ci sont décrites de manière à réduire le couplage avec des implémentations de composants spécifiques. Enfin, iPOJO fournit une machine d'exécution. Cette machine propose des mécanismes d'introspection, de reconfiguration et d'extensibilité permettant la supervision d'applications ainsi que l'adaptabilité de cette plate-forme iPOJO à différents domaines. L'implémentation d'iPOJO est hébergée sur le projet Apache Felix. Elle est actuellement utilisée dans différents projets industriels tel que des plates-formes domestiques, le serveur d'applications JEE JOnAS ainsi que l'intergiciel pour téléphone mobile OW2 uGASP.
Mots-clés : applications dynamiques, approche à service, modèles à composant à service, architecture logicielle, OSGi™, iPOJO.
Title: iPOJO : A flexible service-oriented component model for dynamic systems
Summary: Recent evolution in software paves the way for new kinds of applications. The confluence between Internet-based and pervasive applications allows developers to create applications that blur the boundary between the virtual and physical worlds. However, the result of this confluence is the emergence of new requirements, such as dynamic evolution. Despite several works studying this property, creating applications that support dynamic evolution, such as environmental or contextual adaptations, remains a challenging task. This thesis investigates the design, development, and execution of dynamic applications. As part of this investigation, the thesis proposes a novel approach for creating dynamic applications based on the recent work around component models. iPOJO, the proposed model, combines concepts from service-oriented computing and component-based software engineering. iPOJO provides a composition language for designing applications that natively support dynamism, while simplifying their development. The resulting application compositions are described abstract in order to reduce the coupling with specific component implementations. Finally, iPOJO provides an execution framework. This framework exhibits capabilities such as introspection, reconfiguration, and extensibility. The iPOJO implementation is hosted at the Apache Felix project. It is used in different industrial projects such as home gateways, the JOnAS JEE server, and the OW2 uGASP mobile phone middleware.
Keywords: dynamic applications, service-oriented computing, service-oriented component models, software architecture, OSGi™, iPOJO.
Service-oriented programming (SOP) component platforms are generic execution environments enforcing a proper architectural model for applications. However, few tools exist to guarantee that the selected components do not perform malicious actions. We therefore propose to adapt the Software Security Assurance methods for SOP platform, to perform a security analysis based on these principles and to provide protection mechanisms tailored to the requirements identified during the analysis. The proposed protection mechanisms are Hardened OSGi, a set of recommendations for building more robust OSGi implementations, CBAC, Component-based Access Control, a flexible access control mechanism enforced at install time, and WCA, Weak Component Analysis, a tool for identifying exploitable vulnerabilities in SOP components, according to the exposition of classes. CBAC and WCA are based on static analysis of the component Bytecode to enable automated verification of components even when the source code is not available.
http://www.rzo.free.fr/publis/pparrend08phd.pdf
Résumé: Les équipements électroniques envahissent progressivement l'univers quotidien. D’aucuns souhaiteraient que ces équipements puissent intelligemment réagir à l’activité de l’utilisateur afin de l’assister dans ces activités de tous les jours. Le domaine de l’Informatique Pervasive adresse la vision de ce monde naturellement numérique assistant les individus sans être intrusif. Face aux défis de l'Informatique Pervasive dans les réseaux locaux, notamment la distribution, l'hétérogénéité et la dynamique des équipements, cette thèse répond par une ligne de conduite et l'approche logicielle Home SOA. Cette ligne de conduite distingue les situations où les solutions protocolaires sont pertinentes et ramène les autres situations à des problèmes de génie logiciel. Parmi les solutions protocolaires, la proposition d'une interface uniforme de gestion de cycle de vie logiciel dans le Comité de Travail UPnP Device Management est une des contributions importantes. Le Home SOA est l'association de technologies de développement modulaire et d'un ensemble de patrons de conception orientés objets. Au-delà de l'orientation objet, le Home SOA exploite les modèles récents de composants à services et le concept de plateforme de services. Les pilotes orientés service masquent les aspects distribués tout en réifiant la dynamique des entités pervasives sur la plateforme. Les pilotes raffinés adaptent les objets mandataires dans des interfaces à la sémantique du domaine d'application visé. La contextualisation des services de la plateforme alliée à une automatisation de la sélection de service achève de simplifier le développement d'applications pervasives. Le cadriciel est implémenté au-dessus de la plateforme OSGi et est validé par la réalisation d'applications conscientes du contexte et mixant des domaines d'applications distincts dans le réseau domestique. Title : Home SOA: Contextual Service Composition In Pervasive Device Networks Abstract : Pervasive Computing aims at filling our environment with communication devices in order to assist us in our daily activities without our explicit intervention. Indeed, in the near future, human beings will engage interactions with a number of smart devices, faded in into the environment, without being aware of their location or their precise nature and without going through complex, specific interfaces. Addressing Pervasive Computing challenges in local networks such as device distribution, heterogeneity and dynamicity, this thesis exposes a conduct line and a software approach named Home SOA. This conduct line distinguishes the situations where protocol-based solutions are relevant and turn the other situations into Software Engineering problems. Among the protocol-based solutions, the proposition of a uniform protocol interface for software lifecycle management in the UPnP Device Management Working Committee is one of the major contributions. The Home SOA promotes a set of object-oriented design patterns above modular software platform technologies. Beyond the object orientation, the Home SOA makes benefit of recent service component models and the service platform concept. Distribution is hidden by service-oriented drivers while network dynamicity is locally reified on the platform. Distributed objects are turned by refined drivers into interfaces semantically close to the targeted application domain. Service contextualization and service selection automation reach the objective of simplifying the development or pervasive applications. The proposed framework is implemented on the OSGi platform and is validated by the realization of context-aware applications mixing distinct application domains in the Home network.
Résumé Les récentes évolutions des dispositifs informatique telles que la miniaturisation, l’augmentation de l’autonomie et des capacités de communications ouvrent de nouvelles perspectives pour les applications. L’informatique ubiquitaire ou pervasive exploite ces nouveaux équipements pour proposer de nouveaux types d’applications. La réalisation des logiciels s’exécutant sur ces environnements soulève un ensemble de défis, tels que la réalisation d’applications pouvant s’adapter elles-mêmes à leur contexte d’exécution. Cette thèse s’intéresse plus particulièrement au domaine de l’informatique autonomique et propose une infrastructure pour l’exécution de ce type d’applications. Cette infrastructure propose l’utilisation d’une plate-forme d’exécution à composants orientés service hiérarchique. Nous proposons d’enrichir cette plate-forme d’exécution avec des points d’interaction permettant de superviser et de reconfigurer les applications durant leur exécution. Nous proposons également d’ajouter un mécanisme permettant d’intégrer les événements externes dans le raisonnement autonomique ainsi qu’une architecture hiérarchique de gestionnaires autonomiques. Cette architecture permet d’obtenir les propriétés de réactivité, de passage à l’échelle et de support d’exécution simultanée de multiples applications. Nous appliquons notre proposition au contexte de la domotique et proposons une implémentation de notre infrastructure d’exécution Auto-Home. L’implémentation utilise la plate-forme open-source APACHE iPOJO. Nous avons étendu la plate-forme iPOJO en ajoutant les points d’architecture de notre infrastructure. L’approche prise dans cette thèse a été validée dans le projet européen ANSO. Mots-Clés : Informatique Pervasive, Informatique Résidentielle, Informatique Autonomique, Approche à service, Composant Orienté service, OSGi, iPOJO, Abstract Recent developments in computing devices such as miniaturization, increased autonomy and capacity of communications open new perspectives for applications. The ubiquitous or pervasive computing uses these new equipments to offer new types of applications. However, the realisation of software running on these environments raises a new set of challenges, such as building applications that can adapt themselves to their environment. This PhD thesis focuses on the autonomic computing field and offers an infrastructure for the execution of such applications. This infrastructure proposes the use of a hierarchical service-oriented components runtime. We propose to enhance this execution platform with touchpoints to monitor and reconfigure applications during their execution. We also propose to add a mechanism to incorporate external events in the autonomic reasoning and a hierarchical architecture of autonomic managers. This architecture features the following properties: responsiveness, scalability and support simultaneous execution of multiple applications. We apply our proposal in the context of home automation and propose an implementation of our framework called Auto-Home. The implementation uses the open-source APACHE iPOJO framework. We have extended the iPOJO framework by adding the previously mentioned architectural elements of our infrastructure. The approach taken in this thesis was validated in the European project ANSO. Keywords : Pervasive Computing, Residential Computing, Autonomic Computing, Service Oriented Approach, Service Oriented Component, OSGi, iPOJO. [http://johann.bourcier.free.fr/These/]
Beaucoup de projets de recherches en système se basent sur des machines virtuelles (VM) de type Java parce qu'elles offrent une meilleure sureté d'exécution et une facilité de développement en comparaison avec des environnements natifs. Cependant, développer une VM est une tâche difficile qui demande beaucoup de temps et de connaissances. Bien que les VMs partagent plusieurs points communs, comme un compilateur ou un ramasse miettes, l'opportunité de partager des projets communs n'a pas encore été exploitée dans le développement de VMs. Cette thèse décrit et évalue VMKit, une VM minimale qui exploite ce partage et facilite le développement de VMs de haut-niveau ainsi que l'expérimentation de nouveaux mécanismes de recherche. Nous avons utilisé VMKit pour développer deux VMs, une machine virtuelle Java, et une machine virtuelle .Net, ainsi qu'un nouveau mécanisme système qui offre une meilleure sécurité d'exécution dans le contexte d'architectures orientées service.
Anstract: Lately, the evolution of information technologies has been following two trends. On the one hand the proliferation of communicating devices contributes to the creation of an ambient intelligence. On the other hand, the booming of Internet associated with the rapid growth of data centres capabilities results in the emergence of an internet of services. In both domains, application design is challenged by the dynamic availability of computing resources and data. The combination of component-based software engineering and service-oriented computing techniques allows service bindings to be driven by policies. However, for the time being, policies either follow a dynamic approach which does not suit the needs of architectural stability when dealing with intermittent services, or a static approach which does not allow dynamic reconfiguration. The work presented in this thesis proposes a trade-off between the two approaches by considering service disruptions as a major concern. The proposed binding policy relies on service level agreements to be disruption-tolerant, since service-level agreements allow expressing and enforcing obligations regarding availability and quantified disruptions. This approach has been implemented on the OSGi service platform and iPOJO, a service-oriented component model for OSGi. iPOJO service dependency management has been extended in order to support our policy. The latter was validated both in the context of ambient intelligence, and on open-source and OSGi-based JOnAS application server. Keywords: dynamic service-oriented architecture, availability, intermittent service, service-oriented component, binding policy, service-level agreement |
|
|
Home | Trademark Policy | Privacy Policy Copyright © 2010 OSGi™ Alliance. Comments about the site? Send them to: OSGi Alliance WebMaster. |