afficher >><< masquer ]
SAMPI - Editeur structuré
1. Le Problème et la Proposition
2. Le Langage Primitif de Représentation Textuelle
2.1. Présentation de la Syntaxe Concrète
2.2. Notations
2.3. Exemple de structuration des données
2.4. Exemple de structuration des traitements
2.5. Exemple de structurations connexes
3. Le Langage Complété pour la Structuration des Textes
3.1. Présentation de la Syntaxe Complétée
3.2. Etude quantitative de l'évolution des programmes
3.3. L'édition syntaxique
3.4. étude de cas : le langage LTR3 et l'atelier ENTREPRISE
4. L'Enrichissement du Langage par de Nouveaux Concepts
4.1. Présentation de la Syntaxe Abstraite
4.2. Les difficultés
4.3. Compléter la Syntaxe
5. La Formalisation des Solutions Techniques
5.1. L'évaluation fonctionnelle
5.2. La structuration par les objets
5.3. Modèle sémantique comparé de l'évaluateur
5.4. Comparaison critique
5.5. Construction de la Syntaxe Abstraite
6. Les Comparaisons avec d'autres Approches
6.1. Les critères
6.2. Le classement
6.3. La structure Plate
6.4. La nature d'Objet structuré
6.5. La nature de Type structuré
6.6. La nature de Classe structurée
6.61. La structure d'Arbre : T.A. (Type Abstrait)
6.62. La structure d'Arbre : la méthode déductive
6.63. La structure d'Arbre : l'environnement monolingual
6.64. La structure d'Arbre : les environnements monolinguaux dédiés
6.65. La structure d'Arbre : la programmation paramétrée
6.66. La structure de Graphe : la programmation "déductive"
6.67. La structure de Graphe : la programmation "inductive"
7. Les Perspectives
8. Les Editeurs
8.0. brisé sur la barrière de la complexité (une fois de plus)
8.1. L'éditeur ligne : Manuel de l'utilisateur
8.2. L'éditeur page : Guide de l'utilisateur
9. Les Aspects d'Implantation
9.1. Contexte d'évaluation
9.2. La Syntaxe Abstraite : Manuel du concepteur
9.3. L'éditeur page : Guide de l'implanteur
Références
Rubrique Perl-Javascript

La nature de Classe structurée

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

6. La structure de Graphe : la programmation "déductive"

7. La structure de Graphe : la programmation "inductive"

6. La structure de Graphe : la programmation "déductive"

nature de Classe - structure de Graphe

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.