Capitalisation de la sûreté de fonctionnement des applications soumises à des adaptations dynamiques : le modèle exécutable Satin
Institution:
NiceDisciplines:
Directors:
Abstract EN:
Dynamic adaptation technologies (components, aspects, etc. ) allow for applications to be modified during their execution. If we consider safety as the property that enables users to trust application behaviour, then we have to ensure that this property is preserved by application adaptations during execution. There are no appropriate solutions to handle safety for dynamic adaptation purpose. Some techniques (typing, model-checking, etc. ) that help designing and implementing computer systems safely cannot be applied directly to dynamic adaptations. Indeed, managing dynamicity implies taking into account the risk that an adaptation may occur in circumstances that do not comply the application execution and implies recovering errors while the application runs. There is not unified approach of the problem : implementations of safety control are often informal or left to the application developer instead of being offered by the platform. Facing application evolutions, we propose to control adaptation safeness independently of components platform and aspect oriented frameworks. Satin is a model describing the key elements involved in the adaptation process. Safety properties are expressed and validated over this model to identify the criteria of safe adaptations. Satin has been implemented as a safety service that platforms can query to determine whether a given adaptation can be performed without breaking the safeness of the overall application execution/ A prototype of this service has been developed in Java so as to validate the applicability of the proposed approach.
Abstract FR:
Les technologies pour l’adaptation dynamique (composants, aspects, etc. ) permettent de modifier les applications durant leur exécution. Si l’on considère que la sûreté de fonctionnement d’une application est la propriété permettant aux utilisateurs d’un système de placer une confiance justifiée dans le service qu’il leur délivre, alors il faut garantir lors d’une adaptation dynamique que cette propriété est préservée. Actuellement, il n’existe pas de solution appropriée au problème de la sûreté des adaptations dynamiques. En effet, un certain nombre de techniques (typage, model-checking, etc. ) destinées à concevoir et implémenter les systèmes informatiques de façon sûre ne peuvent être directement utilisées pour valider des interprétations dynamiques. De plus, la prise en charge de ces dernières doit tenir compte du risque qu’une adaptation se produise à un moment inadéquat dans l’exécution de l’implication et implique de traiter les problèmes de sûreté parallèlement à l’exécution de l’application sans perturbation. Il n’existe pas actuellement de consensus autour des vérifications à effectuer dans un contexte dynamique : leur mise en œuvre reste souvent informelle ou à la charge du développeur d’applications. Nous proposons de contrôler la sûreté des adaptations indépendamment des plates-formes. Cette approche est basée sur un modèle nommé Satin sur lequel des propriétés de sûreté sont exprimées t validées. Le modèle satin est mis en œuvre sous la forme d’un service de sûreté que les plates-formes peuvent interroger pour déterminer si une adaptation donnée risque de briser la sûreté de fonctionnement de l’application.