CAVAL Costin

PhD graduated
Team : SMA
Departure date : 06/30/2016


Goal-Driven Agents for the Tolerance of Unforeseen Faults - A Safety Net for the Programmers

While fault tolerance is hot topic in software development, there are situations when potential faults can be omitted by the near-exhaustive identification and handling methods employed by “classic” approaches. Examples range from cases where the complexity hides faults from a rigorous development process, to cases where due to cost and time constraints on the fault tolerance effort, risks are assumed, either consciously or not. The main question this thesis addresses is “How should software be developed in order to be tolerant to unforeseen faults?”, i.e. faults that were not covered in the implementation.
The first contribution of this thesis is a development framework – design, language and platform requirements – for producing software that is tolerant to unforeseen faults. We show that the use of a multi-agent architecture with goal-driven agents has numerous benefits for the confinement of errors and the subsequent system recovery. We propose language requirements that constrain the programmers in order to limit some of the possible faults and in the same time localise the areas where other faults can be present. The execution platform for the written code also needs to be adapted to take advantage of the resulting structure and trigger the necessary reparation, dependency handling and reconfiguration reactions in case of fault manifestations at runtime. We illustrate the approach by discussing the design and implementation of an application based on a well known multi-agent protocol (the CNP). For this, we propose an adapted agent-oriented programming language (ALMA+) and the corresponding platform. Just as a trapeze artist’s “safety net”, the use of our approach provides last resort mechanisms complementing the “classic” fault tolerance methods for improving the robustness of software applications.
The second contribution of the thesis 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. This is possible through the adoption of new goals inside plans. These goals will have plans of their own, and the definition can extend on many levels. From a software development point of view, the resulting complexity can render the agents’ behaviour difficult to trace, due to the combination of elements from different abstraction levels, i.e. actions and goal adoptions. This has a negative effect on the development process when designing and debugging agents. We thus propose a change of approach that aims to provide a more comprehensible agent model with benefits for the ease of engineering and the fault tolerance of agent systems. This is achieved by imposing a clear separation between the reasoning and the acting levels of the agent. The use of goal adoptions and actions on the environment inside the same plan is therefore forbidden. Our approach is illustrated in two agent-based applications: a maritime patrol application developed at Thales Systèmes Aéroportés (Thales Airborne Systems) and an ambient intelligence deployment software. We argue that by constraining the agent model we gain in clarity and traceability therefore benefiting the development process and encouraging the adoption of agent-based techniques in industrial contexts.

Defence : 05/31/2016

Jury members :

Adina-Magda FLOREA, Professeur à Politehnica de Bucarest (Roumanie) [Rapporteur]
René MANDIAU, Professeur à l'Université de Valenciennes [Rapporteur]
Zahia GUESSOUM, Maître de Conférences (HdR) à l'Université de Reims
Laurent VERCOUTER, Professeur à l'INSA de Rouen
Cyrille ENDERLI, Ingénieur Thales Systèmes Aéroportés
Patrick TAILLIBERT, Ingénieur expert

Departure date : 06/30/2016

2014-2016 Publications

Mentions légales
Site map