Construction assistée de programmes ADA fondée sur la prise en compte d'exceptions
Institution:
Paris 11Disciplines:
Directors:
Abstract EN:
This thesis presents and implements an assisted ADA program construction method. Decomposition of algebraically specified abstract data types and the handling of exceptions through the whole program construction process are combined by this method. After introducing several ADA programming environments, we study exception handling features in different programming languages: PL1, LISP, CLU, MESA, GYPSY, CHILL, ADA. The APEX system and the basic principles behind it are also presented. APEX implements a new king of programming methodology which takes accounts of exception cases from the beginning of the program construction process. ADA programs are produced by decomposition of the input data types. To these types “decomposition schemes” are associated. A decomposition scheme expresses the “intuitive” and natural way in which these types are handled by the algorithms which use them. Abstract data types specifications and decomposition schemes are resident in the system knowledge base. APEX has several strategies or heuristics which depend on the problem to be solved. These strategies drive the program construction process. Several examples illustrate the APEX behavior. Finally we present the integration of APEX with a template-oriented ADA editor which assures the syntactical correctness of the ADA code whenever this is generated in a semi-automatical way. APEX is the described as an ADA programming environment.
Abstract FR:
Cette thèse consiste en la présentation et mise en œuvre d’une méthode de construction assistée de programmes ADA qui combine la décomposition de données spécifiées comme des types abstraits algébriques et la prise en compte de cas d’exceptions tout au long du processus de construction du logiciel. Après une présentation de plusieurs environnements de programmation ADA, on étudie le traitement d’exceptions dans différentes langages de programmation : PL1, LISP, CLU, MESA, GYPSY, CHILL, ADA. Ensuite nous présentons le système APEX et les principes de base sur lesquels il repose. APEX implante une nouvelle méthodologie de programmation qui prend en compte le cas d’exceptions dès le début du processus de construction du programme. Il produit des programmes ADA en décomposant les données d’entrée aux types desquelles on a associé des « schémas de décomposition » ; ceux-ci expriment la manière naturelle et « intuitive » de manipuler ces types dans les algorithmes qui les utilisent. Les spécifications algébriques des types et les schémas de décomposition résident dans la base de connaissance du système. D’autre part, APEX incorpore plusieurs stratégies ou heuristiques dépendant du problème à résoudre, qui conduisent le processus de construction du programme. Plusieurs exemples illustrent le fonctionnement d’APEX. Nous présentons enfin l’intégration d’APEX avec un éditeur ADA orienté schémas prédéfinis qui assure la correction syntaxique de la partie du programme lorsque celle-ci est réalisée de manière semi-automatique. APEX est alors décrit comme un environnement de programmation ADA.