Parfois dans le développement logiciel, les fautes potentielles peuvent être omises, par exemple quand la complexité cache les fautes même en présence d’un processus de développement rigoureux, ou quand en raison des contraintes en termes de coûts et de temps sur les démarches de tolérance aux fautes, des risques sont assumés.La première contribution de cette thèse est l’élaboration d’un cadre de développement pour produire des logiciels tolérants aux fautes imprévues, c.à.d. fautes qui ne sont pas couvertes dans la mise en œuvre. Nous proposons 1) l’utilisation d’une architecture multi-agent avec des agents dirigés pas des buts pour le confinement des erreurs et la récupération du système ; 2) des exigences au niveau du langage de programmation ayant pour but de limiter les fautes possibles et de localiser les zones où d’autres fautes peuvent être présentes et 3) des exigences au niveau de la plate-forme d’exécution. Nous illustrons l’approche en étudiant la conception et la mise en œuvre avec un langage de programmation adapté et sa plate-forme.La deuxième contribution concerne la manière dont les agents dirigés par des buts sont programmés. Le problème est que de nombreuses approches pour la modélisation des agents cognitifs autorisent les développeurs à entrelacer les niveaux des plans et des buts, grâce à l’adoption de nouveaux buts à l’intérieur des plans. La complexité résultante peut rendre le comportement des agents difficilement traçable. Nous proposons d’imposer une séparation claire entre les niveaux de raisonnement et d’action des agents. En contraignant le modèle d’agent nous gagnons en lisibilité, avec un bénéfice pour le processus de développement. / There are situations in software development when potential faults can be omitted, e.g. when the complexity hides faults from a rigorous development process, or when due to cost and time constraints on the fault tolerance effort, risks are assumed, either consciously or not. The first contribution of this thesis is a development framework – design, language and platform requirements – for producing software that is tolerant to unforeseen faults, i.e. faults that were not covered in the implementation. We propose (1) the use of a multi-agent architecture with goal-driven agents benefits the confinement of errors and the subsequent system recovery; (2) language requirements that constrain the programmers in order to limit the possible faults and in the same time localise the areas where other faults can be present and (3) execution platform requirements in order to ensure the desired fault tolerance properties. We illustrate the approach by discussing design and implementation using an adapted agent programming language and platform. The second contribution focuses on the way goal-driven agents are programmed. The issue is that many approaches to cognitive agent modelling permit the agent developers to interweave the levels of plans and goals, through the adoption of new goals inside plans. These goals will have plans of their own, and the definition can extend on many levels, with the resulting complexity rendering the agents’ behaviour difficult to trace. We thus propose imposing a clear separation between the reasoning and the acting levels of the agent. We argue that by constraining the agent model we gain in clarity therefore benefiting the development process.
Identifer | oai:union.ndltd.org:theses.fr/2016PA066135 |
Date | 31 May 2016 |
Creators | Caval, Costin |
Contributors | Paris 6, El Fallah Seghrouchni, Amal |
Source Sets | Dépôt national des thèses électroniques françaises |
Language | English |
Detected Language | French |
Type | Electronic Thesis or Dissertation, Text |
Page generated in 0.0022 seconds