1. La structure d'Arbre : T.A. (Type Abstrait)
2. La structure d'Arbre : la méthode déductive
3. La structure d'Arbre : l'environnement monolingual
4. La structure d'Arbre : les environnements monolinguaux dédiés
5. La structure d'Arbre : la programmation paramétrée
La programmation déductive, présentée informellement et longuement dans [ScS 83], touche toujours au domaine de la transformation de programme ; mais l'objet d'intérêt n'est pas ici le produit obtenu par la transformation mais le processus par lequel il a été obtenu. La différence de l'approche est plus qu'une simple "vue de l'esprit" ; en effet on conserve l'historique du programme et donc l'enchaînement logique des décisions de conception qui sont intervenues lors du développement : c'est donc à la fois à la relecture et à la modification que l'utilisateur sera guidé dans sa compréhension du programme. Pour les auteurs on peut même aller plus loin : la preuve du programme est contenue dans son schéma de dérivation : dans une perspective ambitieuse on part d'une spécification formelle validée, et on démontre la correction de chaque étape de dérivation ; dans une perspective plus modeste, on part d'un "programme" simple, jugé correct, et on s'assure que chaque étape de dérivation préserve la sémantique du programme.
On classe la programmation déductive comme nécessitant un outil qui travaille sur des Graphes de Classes :
Graphe : lier effectivement des concepts liés sémantiquement, cela nécessite de travailler sur des Graphes ; les liens sémantiques dans un programme sont trop étroits pour espérer réaliser cette liaison sur une simple structure d'Arbre. La structure d'Arbre est le choix retenu dans une approche classique de décomposition par affinage ; elle est insuffisante dans le cadre de la programmation déductive.
Classe : on ne peut pas prétendre réaliser tous les modèles de programme avant de programmer, et réduire l'activité de la programmation à une réutilisation systématique de modèles prédéfinis ; on a donc besoin, durant l'étape de programmation, de pouvoir définir de nouveaux modèles, puis de les instancier dans le contexte spécifique du développement en cours.
On notera que l'"outil" est ici une "expression de besoins" : les auteurs ne présentent pas un outil opérationnel mais une recommandation qu'ils reconnaissent difficile à satisfaire.