Contribution à la spécification formelle et à la vérification de systèmes multi-agents robotiques

par Nadeem Akhtar

Thèse de doctorat en Sciences et technologies de l'information et de la communication

Sous la direction de Flavio Oquendo.

Soutenue en 2010

à l'Université européenne de Bretagne .


  • Résumé

    L'une des tâches les plus difficiles en ingénierie des spécifications de systèmes multi-agents robotiques est d'assurer les propriétés d’exactitude que sont la sûreté et la vivacité. Comme ces systèmes complexes sont concurrents et s’exécutent dans des environnements dynamiques et distribués, leur spécification formelle, leur vérification ainsi que leur transformation par raffinement jouent un rôle majeur dans la fiabilité du système. Nos objectifs sont de proposer une approche de développement basée sur une combinaison de méthodes et de techniques qui permettent la vérification formelle et la validation pendant la définition des spécifications et qui soit flexible. Cette approche permet la transformation par raffinement des spécifications abstraites et des propriétés fonctionnelles et non-fonctionnelles en des spécifications concrètes permettant leur vérification formelle. Les systèmes multi-agents robotiques sont des systèmes concurrents ayant des processus parallèles qui peuvent avoir des besoins de synchronisation. Une étude de cas de systèmes multi-agents robotiques a été présentée pour illustrer des spécifications formelles et leurs vérifications. Une combinaison d'algèbre de processus et de techniques basées sur des automates à état nous a permis de défini r les spécifications formelles de notre système, vérifier les propriétés de sûreté et de vivacité ainsi que le déroulement possible d'exécutions simultanées, cela nous a également permis d’identifié les avantages des méthodes formelles pour les systèmes multi-agents robotiques. Les méthodes formelles et les langues sont fondées sur des bases mathématiques solides. Notre capacité à construire des systèmes complexes devient d’autant plus grande que les techniques de vérification formelles deviennent plus matures. Pour traiter les problèmes de complexité des systèmes multi-agent et obtenir des résultats significatifs avec l'analyse formelle, nous devons nous occuper de la complexité à chaque stade du système multi-agent : de la phase de spécification à l'analyse, conception et la phase de vérification. La vérification formelle peut accomplir la couverture exhaustive complète du système garantissant ainsi que les échecs non détectés dans le comportement sont exclus. L'approche prise est de spécifier formellement chaque sous-portion d'un système et de la vérifier et ensuite, si c'est en accord avec du système ensemble, passer à la vérification formelle de chaque sous-partie du système. De cette manière les propriétés de sûreté et de vivacité du système peuvent être prouvées en formalisant les différentes composantes et des processus dans le cycle de vie de développement de système. Avoir une fondation formelle pour les langues et les instruments permit : l’amélioration de la documentation et la compréhension des spécifications, l'analyse rigoureuse de propriétés de système, être certain que les transformations et l'implémentation sont possibles sans erreur tout en conservant leurs propriétés, l’amélioration de la rigueur et de la qualité du processus de développement entier et fournir une fondation ferme pendant le processus d'évolution et d’adaptation. Par conséquent une solution est proposée se composant des méthodes multiples et des techniques pour la spécification formelle et la vérification de ces systèmes. Nous avons utilisé la méthode multi-agents Gaia ainsi que des processus et des automates d’états finis, et avons défini les spécifications formelles de notre système, vérifié leur correction avec propriétés de sûreté et de vivacité en générant tous les flux d'exécutions possibles. La logique temporelle LTS utilise le Processus d'État Fini (FSP) comme langue de contribution pour officiellement définir et vérifier que notre système et vérifier ses limites par l'enquête exhaustive de système expose l'espace pour la vérification formelle de chaque composante du système pour garantir les propriétés de sûreté et de vivacité. π-ADL dot NET est utilisé pour définir l'architecture de système et vérifier les aspects statiques aussi bien que dynamiques d'architecture. Le système est exécuté en utilisant le Microsoft Robotics Developer Studio (MRDS) l'environnement de simulation. Cette recherche présente une étude de cas complète qui est illustré au travers de la spécification d’un système multi-agents robotiques.

  • Titre traduit

    Contribution to the formal specification and verification of multi-agent robotic system


  • Résumé

    One of the most challenging tasks in software engineering for multi-agent robotic systems is to ensure correctness properties of safety and liveness. As these systems have concurrency, and often have dynamic environments, the formal specification and verification of these systems along with step-wise refinement from abstract to concrete concepts play a major role in system correctness. The problem statement is: How can a safe multi-agent robotic system be developed? Here by safe the focus is on correctness properties which can be described by a combination of safety and liveness. How can safety and liveness properties be enforced during the development of multi-agent robotic system? Our objectives are to propose a development approach based on a combination of methods and techniques that allow for formal verification and evaluation during specification definition and that is also flexible. An approach which supports analysis with respect to functional, as well as non-functional properties by step-wise refinement from abstract to concrete specifications and then formal verification of these specifications. We have analysed the development process of a robotic multi-agent system after classifying it in the major phases of requirement specifications, verification specifications, architecture specifications and implementation. Formal methods and languages are based on a solid mathematical foundation. To catch up with the complexity problems in multi-agent systems and get significant results with formal analysis, we must cope with complexity at every stage of development: from the specification phase to the analysis, design and verification phase. Formal verification can be used for exhaustive investigation of system space thus ensuring that undetected failures in the behaviour are excluded. We construct the system incrementally from subcomponents, based on software architecture. State reduction is achieved by hiding actions and minimising; property checks remain in the minimised subcomponents. Each component of a specification is described as LTS, which has all the possible states a component may reach and all possible transitions it may perform. The reasons for having a formal foundation for the languages and tools are: (1) to enable rigorous analysis of system properties; (2) to be as certain as possible that the specifications, transformations, and implementation are property-preserving and error-free; (3) to improve rigor and quality of the whole development process; (4) to provide a firm foundation during the adaptation and evolution process; (5) to improve documentation and understanding of specifications. A solution has been proposed for formal specification and verification of safety and liveness properties. Our contributions are (1) an approach based on a combination of methods to allow for formal verification and evaluation during requirement specifications, verification specifications, architecture specifications, and implementation; (2) checking safety and liveness properties of correctness during each development phase; (3) a multi-agent robotic system case study to exemplify formal specifications and verification; (4) a combination of process algebra and finite automata based techniques to define the formal specifications of our system, using a model-checking method and verifying all possible flow of concurrent executions; (5) identifying the benefits of formal methods for multi-agent robotic systems. We have used the Gaia multi-agent method for requirement specifications; Labelled Transition Systems (LTS) based finite automata techniques, which take Finite State Process (FSP) as input language for verification specification; The π-ADL dot NET is used to define architecture specifications and check the static, as well as dynamic aspects of architecture; Then the system is implemented by using Service-Oriented Architecture (SOA) based Microsoft Robotics Developer Studio (MRDS) simulation environment

Consulter en bibliothèque

La version de soutenance existe sous forme papier

Informations

  • Détails : 1 vol. (209 p.)
  • Annexes : Bibliogr. p. 145-152

Où se trouve cette thèse ?

  • Bibliothèque : Université de Bretagne-Sud (Lorient). Bibliothèque universitaire.
  • Disponible pour le PEB
Voir dans le Sudoc, catalogue collectif des bibliothèques de l'enseignement supérieur et de la recherche.