Summary: | L'informatique ubiquitaire et la variété croissante des plates-formes et dispositifs changent les attentes des utilisateurs en termes d'interfaces utilisateur. Les systèmes devraient être en mesure de s'adapter à leur contexte d'utilisation, à savoir, la plate-forme (par exemple un PC ou une tablette), les utilisateurs qui interagissent avec le système (par exemple, les administrateurs ou les utilisateurs réguliers), et l'environnement dans lequel le système s'exécute (par exemple une pièce sombre ou en extérieur). La capacité d'une interface utilisateur à s'adapter aux variations de son contexte d'utilisation tout en préservant son utilisabilité est appelée plasticité.La plasticité fournit aux utilisateurs différentes versions d'une interface utilisateur. Bien qu'elle enrichisse les interfaces utilisateur, la plasticité complexifie leur développement: la cohérence entre plusieurs versions d'une interface donnée (une pour chaque contexte d'utilisation) devrait être assurée. Étant donné le grand nombre de versions possibles d'une interface utilisateur, il est coûteux de vérifier ces exigences à la main. Des automatisations doivent être alors fournies afin de vérifier la plasticité.Cette complexité est accentuée quand il s'agit de systèmes critiques. Les systèmes critiques sont des systèmes dans lesquels une défaillance a des conséquences graves (par exemple, décès ou blessures de personnes, dommages à l'environnement, perte ou endommagement de l'équipement, etc.). La complexité de ces systèmes se reflète dans les interfaces utilisateur, qui doivent maintenant non seulement fournir des moyens corrects, intuitifs, non ambiguës et adaptables pour les utilisateurs pour atteindre un but, mais qui doivent aussi faire face aux exigences de sécurité visant à assurer que les systèmes sont raisonnablement sûrs avant d'être mis sur le marché.Plusieurs techniques existent afin d'assurer la qualité des systèmes en général, qui peuvent être également appliquées pour les systèmes critiques. La vérification formelle fournit un moyen d'effectuer une vérification rigoureuse, qui est adaptée pour les systèmes critiques. Notre contribution est une approche de vérification des systèmes interactifs critiques et plastiques à l'aide de méthodes formelles. Avec l'utilisation d'un outil performant, notre approche permet :- La vérification d'ensembles de propriétés sur un modèle du système. Reposant sur la technique de "model checking", notre approche permet la vérification de propriétés sur la spécification formelle du système. Les propriétés d'utilisabilité permettent de vérifier si le système suit de bonnes propriétés ergonomiques. Les propriétés de validité permettent de vérifier si le système suit les exigences qui spécifient son comportement attendu.- La comparaison des différentes versions du système. Reposant sur la technique "d'équivalence checking", notre approche vérifie dans quelle mesure deux interfaces utilisateur offrent les mêmes capacités d'interaction et la même apparence. Nous pouvons ainsi montrer si deux modèles d'une interface utilisateur sont équivalents ou non. Dans le cas où ils ne sont pas équivalents, les divergences de l'interface utilisateur sont listées, offrant ainsi la possibilité de les sortir de l'analyse. De plus, l'approche permet également de montrer qu'une interface utilisateur peut contenir au moins toutes les capacités d'interaction d'une autre interface utilisateur.Nous présentons également dans cette thèse trois études de cas industriels dans le domaine des centrales nucléaires dans lesquelles l'approche a été appliquée. Ces études de cas montrent ainsi de nouvelles applications des méthodes formelles dans un contexte industriel. === The advent of ubiquitous computing and the increasing variety of platforms and devices change user expectations in terms of user interfaces. Systems should be able to adapt themselves to their context of use, i.e., the platform (e.g. a PC or a tablet), the users who interact with the system (e.g. administrators or regular users), and the environment in which the system executes (e.g. a dark room or outdoor). The capacity of a UI to withstand variations in its context of use while preserving usability is called plasticity.Plasticity provides users with different versions of a UI. Although it enhances UI capabilities, plasticity adds complexity to the development of user interfaces: the consistency between multiple versions of a given UI should be ensured. Given the large number of possible versions of a UI, it is time-consuming and error prone to check these requirements by hand. Some automation must be provided to verify plasticity.This complexity is further increased when it comes to UIs of safety-critical systems. Safety-critical systems are systems in which a failure has severe consequences. The complexity of such systems is reflected in the UIs, which are now expected not only to provide correct, intuitive, non-ambiguous and adaptable means for users to accomplish a goal, but also to cope with safety requirements aiming to make sure that systems are reasonably safe before they enter the market.Several techniques to ensure quality of systems in general exist, which can also be used to safety-critical systems. Formal verification provides a rigorous way to perform verification, which is suitable for safety-critical systems. Our contribution is an approach to verify safety-critical interactive systems provided with plastic UIs using formal methods. Using a powerful tool-support, our approach permits:-The verification of sets of properties over a model of the system. Using model checking, our approach permits the verification of properties over the system formal specification. Usability properties verify whether the system follows ergonomic properties to ensure a good usability. Validity properties verify whether the system follows the requirements that specify its expected behavior.-The comparison of different versions of UIs. Using equivalence checking, our approach verifies to which extent UIs present the same interaction capabilities and appearance. We can show whether two UI models are equivalent or not. When they are not equivalent, the UI divergences are listed, thus providing the possibility of leaving them out of the analysis. Furthermore, the approach shows that one UI can contain at least all interaction capabilities of another.We also present in this thesis three industrial case studies in the nuclear power plant domain which the approach was applied to, providing additional examples of successful use of formal methods in industrial systems.
|