13 research outputs found

    Formalization of Component Substitutability

    Get PDF
    AbstractComponent-Based Software Engineering (CBSE) is increasingly used to develop large scale software. In this context, a complex software is composed of many software components which are developed independently and which are considered as black boxes. Furthermore, they are assembled and often dependent from each other. In this setting, component upgrading is a key issue, since it enables software components to evolve. To support component upgrading, we have to deal with component dependencies which need to be expressed precisely. In this paper, we consider that component upgrade requires managing substitutability between the new and the old components. The substitutability check is based on dependency and context descriptions. It involves maintaining the availability of previously used services, while making sure that the effect of the new provided services do not disrupt the system and the context invariants are still preserved. We present here a formal definition and a verification algorithm for safe component substitutability

    Conception d'une infrastructure pour un déploiement sûr et flexible des composants logiciels

    No full text
    Le déploiement de logiciels est une tâche complexe car elle nécessite la réalisation de nombreuses actions ayant de fortes contraintes de dépendance. Il recouvre toutes les activités qui composent le cycle de vie du logiciel depuis son développement jusqu à son utilisation. Dans le cadre de ce travail, nous nous intéressons aux activités d installation, de désinstallation et de mise à jour. En parallèle, les applications deviennent de plus en plus complexes, ce qui provoque une explosion de leur taille. Pour faciliter leur gestion et leur réutilisation, elles sont représentées par des collections de composants qui sont partagés entre plusieurs applications. Ainsi, une opération de déploiement concernant une application aura un effet sur toutes les applications qui l utilisent. Une telle opération, nécessite la connaissance préalable de l architecture sur laquelle repose les applications avec toutes leurs dépendances. Les approches de gestion du déploiement actuelles sont souvent ad-hoc et se basent sur l intervention d experts pour résoudre les problèmes et mener à bien le déploiement. De plus, il n existe pas de moyens efficaces pour garantir le bon déroulement du déploiement. Il est donc crutial de changer ces approches en des approches plus structurées, plus flexibles et plus sûres afin de maîtriser et de vérifier le déploiement. Pour cela, nous proposons un méta-modèle générique pour le déploiement automatique des composants ainsi qu un système formel pour vérifier et garantir le bon déroulement du déploiement. Le méta-modèle permet d abstraire tous les concepts nécessaires au déploiement ainsi, il peut être réutilisable dans plusieurs contextes. Le système formel est une formalisation mathématique du modèle générique. Il permet de démontrer et de prouver la réussite (le bon déroulement) et la sûreté (maintien de la cohérence du système) des opérations de déploiement. Enfin, nous proposons un système formel intégrant les propriétés non fonctionnelles (version, niveau de sécurité, performance, etc.) dans la gestion du déploiement. L intérêt est de pouvoir prendre en compte plusieurs instances d un même composant ou d un même service selon la plate-forme visée afin de personnaliser le déploiement.Software deployment is a complex task because it requires numerous dependent actions to be carried out. It covers all the activities of the software life cycle from its development to its use. In this work, we are interested in the installation, deinstallation and update activities. At the same time, applications are becoming more complex, causing an explosion in their size. To facilitate their management and reuse, they are represented as collections of components that are shared between several applications. Thus, deploying an application will affect all the applications that use it. Such an operation requires prior knowledge of the architecture of the applications with all their dependencies. The current approaches for managing deployment are often ad hoc and necessitate the intervention of experts to solve problems and carry out the deployment. Moreover, there is no way to guarantee the correctness of the deployment operation. Therefore, it is necessary to change to more structured, flexible and reliable approaches to be able to verify the deployment. Hence, we propose a generic meta-model for automatic component deployment and a formal system to check and ensure correct deployment. The metamodel represents the main deployment concepts so it can be re-used in several contexts. The formal system represents the mathematical description of the generic model. It allows the success and safety (maintaining consistency of the system) of the deployment operations to be demonstrated and proved. Finally, we propose a formal system which integrates the non-functional properties (version, level of security, performance, etc.) in managing the deployment. The interest of these properties is that they can take into account multiple instances of the same component or the same service in order to personalize deployment, depending on the target system.RENNES1-BU Sciences Philo (352382102) / SudocBREST-Télécom Bretagne (290192306) / SudocGRENOBLE-MI2S (384212302) / SudocSudocFranceF

    Vers un déploiement sûr et flexible des composants logiciels

    No full text
    International audienceLes applications deviennent de plus en plus complexes. Pour faciliter leur gestion elles sont représentées par des collections de composants qui sont partagés. Ainsi, une opération de déploiement concernant une application aura un effet sur toutes les applications qui l'utilisent. Une telle opération nécessite la connaissance préalable de toutes les dépendances de ces applications. Les approches de gestion du déploiement actuelles sont ad hoc et ne permettent pas de gérer correctement ces dépendances. Il est donc crucial de maîtriser et de vérifier le bon déroulement du déploiement.Pour cela, nous proposons un méta-modèle générique pour le déploiement automatique et flexible des composants ainsi qu'une description formelle de ce modèle pour vérifier et garantir le bon déroulement du déploiement.Enfin, nous proposons un système formel intégrant les propriétés non fonctionnelles dans la gestion du déploiement.L'intérêt est de pouvoir personnaliser le déploiement en fonction des exigences et des besoins pour le rendre plus flexible

    Integrating extra-functional properties in component deployment dependencies

    No full text
    International audienceComponent-Based Software Engineering (CBSE) is a widely used approach for the software design, particularly when addressing large scale software. The common practice is to build software by composing large collections of components. Such software requires a complex management of their dependencies to be deployed successfully and safely. Therefore, all component dependencies, functional and extra-functional one must be precisely and formally specified. In a previous work, we have proposed a formal language to specify functional dependencies and a formal deployment framework to manage them. Based on this work, we propose an extension with extra-functional dependencies specification and management for component deployment. With this extension, it is possible to specify that a component provides or requires a service with specific extra-functional properties (such as security level, version information, resource consumption level, etc.). We present here how specifying extra-functional component dependencies and how managing them to be able to ensure success and safety of component installation and deinstallation

    Analysis of deployment dependencies in software components

    No full text
    International audienceAdministration and deployment of software systems become increasingly complex. This complexity results from the need of uniform access to applications from heterogeneous terminals through different communication infrastructures. Moreover, applications consists in complex architectures of lot of small components connected together. A first step to simplify deployment is to have an unified and abstract model for representing deployment dependencies and managing them properly. Therefore, we propose here a deployment model and a conceptual foundation for component installation. Installation dependencies and installation rules are expressed in a logic language

    Dependability in software component deployment

    No full text
    International audienceThe deployment of distributed systems is extremely complex. Indeed, software deployment faces significant problems of success and safety. These problems are due to the lack of a unified model, a global architecture for deployment and an explicit dependency representation among the target system and application components. Therefore, we advocate moving from an ad hoc approach to a structured, systematic and safe approach. In this paper, we propose a generic model and an architecture for a dependable deployment

    A DSL for elastic component-based cloud application

    No full text

    A RT-Maude-based framework for component installation

    No full text
    Real-time systems are considered in most cases as critical systems because they must strictly satisfy expected requirements in respect to giving timing constraints. The best way to develop and deploy these complex systems is the component-based software engineering. Traditionally, software components are developed independently and often considered as black boxes. However, they might be dependent from each other at assembly and deployment stages and used by a third party in various environments. In a previous work Belguidoum et al., 2011, we have proposed a Maude-based framework for safe component installation. In this paper, we extend this work by taking into account real-time constraints for installation operation. This framework is implemented using Real-Time Maude system enabling both the real-time installation execution and its formal analysis using its LTL model checker.51/

    Analyse des dépendances pour le déploiement automatique de composants

    No full text
    International audienceLe développement constant des systèmes informatiques et réseaux ambiants rend leur construction de plus en plus complexe. La diversité des équipements utilisés concerne aussi bien les terminaux d'accès que les infrastructures de communication. Les applications doivent pouvoir être accédées de manière permanente depuis ces terminaux, possédant des caractéristiques différentes, tout en préservant la qualité de service qu'elles requièrent. L'objectif de ce travail est d'étudier les différents types de dépendances en terme de contrainte logicielles, matérielles, environnementales et les besoins de l'utilisateur. Ces contraintes doivent être décrites explicitement afin de concevoir un modèle de déploiement automatique pour ces applications. Les modèles de déploiement existants (CCM, OSGI, InstallShield, etc..) ne sont pas vraiment autonomes, il est donc nécessaire d'avoir des approches d'administration structurées et systématiques

    Towards a Smart Home for Elder Healthcare

    No full text
    Smart homes play an important role in e-health monitoring, using the various components and devices that intercommunicate with the home system. Thus, it has a huge impact on medical processes, healthcare practices and safety of elder people. Existing e-health monitoring systems do not include optimized techniques which learn the precise patients behavior to predict future important changes. In this work, we propose a new context-aware system, which monitors daily living activities and evaluates dependency based on the Functional Autonomy Measurement System (SMAF). In fact, our system evaluates a persons dependency, predicts its health condition, detects abnormal situations and risky behavioral changes and offers adapted services
    corecore