mardi 21 juin 2016

Métaphore christologique : le monde réel de la terre et le monde virtuel du ciel

 Il s'agit bien d'une métaphore car on ne peut assimiler le ciel à un monde virtuel comme le sont les mondes des jeux vidéo : c'est un monde réel révélé. C'est l'Autre monde comme le numérique est un autre monde. En poussant la métaphore jusqu'à faire se communiquer le ciel et la terre on construit par analogie le modèle de développement et de programmation d'Angélus.
Même si cela peut conduire à des réflexion théologiques l'important ici c'est que la métaphore fonctionne. Et elle fonctionne en considérant que la terre est le monde réel sensible, visible; le monde des hommes et du Jésus historique et que le ciel est le monde divin de son Père, invisible mais qu'Il nous révèle.
C'est Jésus Christ, vrai Dieu et vrai Homme qui réunit ces deux mondes. Dans la figure ci-dessous je montre comment Angélus spécifie le Christ dans son méta-modèle.

Espace ontologique: essence du Christ selon Angélus
La relation d'héritage (rebaptisée ÊTRE) chère aux méthodes et aux langages objets permet de définir, de manière abstraite, le Christ par son essence à la fois divine et humaine.

Mais je modélise également, plus utilement pour la suite,  la substance du Christ par la relation de composition (appelée ici EST) qu'on trouve dans les mêmes méthodes.

Espace ontologique: substance du Christ selon Angélus
Pour Angélus l'espace dans lequel évolue le Christ se décompose en deux sous-espaces: l'un que j'appellerai immanent à gauche et l'autre transcendant à droite. Il y a entre les deux mondes une frontière que lui-seul peut franchir. On va voir comment.
 
Jésus Christ : une personne en deux natures
Dans le cas du Christ l'homme est un homme singulier Jésus et Dieu est une personne singulière le Fils.
Une vue ne représente qu'un aspect particulier d'un modèle. Le modèle complet (et souvent complexe) existe sous une forme logique dans la mémoire de l'outil. Dans notre modèle de développement les deux mondes sont présents et réunis dans un seul: celui du Christ.
Pour comprendre ce que cela implique dans notre processus de développement reprenons l'exemple du Notre Père.

Déploiement du Notre Père entre le ciel et la terre


L’icône du Notre Père dans l'espace "christologique" est l'en-tête de la prière telle que représentée dessous et précédemment. Le <tag> Jésus-Christ fait référence au méta-modèle du Christ déjà défini. Il doit donc respecter la double nature des personnages que sont Jésus et son Père (terrestre et céleste). La flèche rouge signifie un premier niveau de développement du modèle Notre Père.

La solution Angélus s’appuie sur le modèle trinitaire d'une part et tout naturellement sur ces messagers que sont les Anges. On retrouve doublement le modèle trinitaire en développant au niveau 2 le FILS d'une part et le PERE d'autre part comme le montre la figure ci-dessous:

Modèle de communication entre le ciel et la terre

Le schéma trinitaire est celui, vu précédemment, qui met en communication le Père et le Fils dans la récitation du Notre Père. C'est celui que l'on reprend dans son intégralité sur la terre en vert comme au ciel en bleu. Sauf que sur la terre on remplace le Père par son Ange et que au ciel c'est le Fils qui est remplacé par son Ange. Le comportement des Anges (modélisé dans le Sujet) est identique à celui du Personnage qu'ils figurent. L'état des anges (informé dans l'objet) est identique également à celui du personnage qu'il représente.

Si je décrypte l'analogie pour son emploi en informatique on comprendra aisément que la terre représente notre monde réel matériel (ma-terre-iel) et que le ciel représente le monde logiciel (logi-ciel).
- Au niveau spécification on a la même architecture trinitaire à l'extérieur et à l'intérieur du système en développement (le Notre Père dans l'exemple).
- Au niveau réalisation la substance "messagère" des anges est graphique (c'est à dire implémentée par l'interface graphique). La substance "priante" du "Fils" est humaine (l'Utilisateur du système) et la substance "agissante" du "Père" est logicielle et exécutable.

C'est le nouveau MVC (Model View Controller) selon Angélus.

Pour retrouver le modèle détaillé du Notre Père il suffit de développer la relation de Coopération, appelée NOTRE PERE, au niveau N+3 (donc une troisième fois).

 Alain Salmon

vendredi 17 juin 2016

Le Notre Pere : un modèle de spécification informatique

En informatique, la spécification est un modèle d'un logiciel. C'est aussi l'étape en génie logiciel qui consiste à décrire ce que le logiciel doit faire. Le Client exprime ce que l'application devra faire au moyen d'une spécification. Pour cela il se met dans la peau d'un futur Utilisateur qui enverra des requêtes (demandes) à son Ordinateur pour obtenir le résultat attendu. Il s'agit formellement d'une prière de l'Utilisateur à l'Ordinateur tout comme le notre père l'est du Fils au Père. 
Je reprends l'architecture relationnelle de la Trinité légèrement modifiée pour faire apparaître que le Fils, qui est sur la terre, demande au Père, qui est au cieux: que la terre soit comme le ciel :


Modèle d'architecture du Notre Père
C'est le Fils qui demande (voir le sens de la flèche) mais c'est le père qui agit. Le Fils offre le monde terrestre à son Père qui en retour lui offre le monde céleste comme résultat, et ce par l'opération du Saint Esprit.
Pour obtenir le contenu de la prière (sa spécification) Angélus permet d’accéder au détail en développant (par un clic) la relation de communication appelée ici Esprit Saint (mais qu'on aurait put appeler Notre Père). On a alors le résultat ci-dessous:


Spécification détaillée du Notre Père
 Il y a une invocation et 7 requêtes. Ces dernières ont la même structure: elles partent du Fils qui s'adresse au Père sous un titre adapté à la demande. Elles contiennent l'objet de la demande (le pain), l'action demandée (donner) au Père et le résultat attendu de celui-ci ([donné]).
Beau programme qu'il nous reste à écrire et exécuter... En fait, s'agissant de cette belle prière,  il appartient à chacun de nous à le mettre en œuvre.  Et l'informatique n'a rien à voir ici. 
Par contre il y a des leçons de développement informatique à tirer de cet exemple. Au départ il convient, comme ici, de décrire le problème à résoudre sous la forme d'une activité incluant une collaboration entre au moins deux personnes ayant des compétences différentes. 
Dans cette première étape il n'est nullement question d'ordinateur. Il nous faut maintenant l'introduire. Comme déjà annoncé c'est grâce à la christologie que nous allons le faire.

mercredi 8 juin 2016

Personnes divines : Personnelles et Relationnelles

J'ai appris en théologie que Dieu était un être relationnel. Une autre représentation de l'Esprit Saint que celle déjà donnée (cliquer sur le lien pour se rafraichir la mémoire) permet de l'illustrer.


Représentation relationnelle de l'Esprit Saint
 Il est important de comprendre qu'une telle représentation ne modifie pas le méta-modèle de l'Esprit Saint car ce dernier hérite à la fois d'un méta-élément de Personne et d'un méta-élément de Relation. Pardon pour le jargon.
Au niveau sémantique cette vue peut faire comprendre que l'Esprit Saint est à la fois la communication entre le Père et le Fils d'une part et  Dieu lui même qui se communique d'autre part. Au niveau formel on verra que c'est le modèle de toute communication humaine ce qui est très utile pour initier un développement informatique. Voir ci-dessous le modèle complet.

Grâce à la prière la communication est bidirectionnelle.
Ce modèle peut être qualifié d'ontologique dans la mesure où il décrit les êtres en tant qu'être. Il correspond au modèle de classes d'un profile UML <trinité>.
Les noms mêmes de père et de fils sont en fait des noms de relations entre des personnes. On peut les représenter ainsi:

Père et fils sont des expressions relationnelles internes à la trinité.
Le modèle ontologique de la trinité à permis de définir plusieurs types de relations. Viennent s'y ajouter l'"association" entre le père et le fils, et la "communication" avec l'"offre" en rouge et la "demande" en bleu. L'Esprit Saint quant à Lui est un modèle de "coopération" entre les personnes.

La prochaine fois je montrerai que le modèle christologique est une métaphore à la fois belle et efficace pour modéliser l'entrée dans le développement d'une application informatique quelconque.

Alain Salmon

mardi 7 juin 2016

Professions de foi

A l'occasion de sa profession de foi je vais offrir à Martin son Credo sous la forme du modèle graphique Angélus SML du Symbole des Apôtres.

Le Symbole des Apôtres en langage SML
Le jeu que je vais lui proposer consistera à lui demander de reconstituer le texte d'origine. J'y vois une façon ludique et moderne de faire de la catéchèse. J'ai l'intuition que cet outil ouvre la voie à de nombreuses possibilités complémentaires de faire le caté.
Comme je l'ai dit, chaque couleur renvoie à une "figure" testamentaire prédéfinie et reliée aux autres comme décrit dans l'article précédent. Ici le Christ tel que déjà défini dans la mémoire d'Angélus sera enrichi de ses étapes historiques et eschatologiques marquantes. On peut alors appliquer au modèle une transformation faisant mieux apparaître le sens de son existence terrestre. Mais la sémantique n'appartient pas au modèle car elle réside dans son interprétation. Ce dernier en est le support et le facilitateur.

Alexis dont la profession de foi est une semaine après celle de Martin recevra la même "cadeau" sur papier glacé.

Alain Salmon

Remarque: J'ai détecté au dernier moment une petite erreur de principe. Le "ciel" apparait deux fois. Il ne devrait y avoir qu'une occurrence de chaque "objet". La correction consiste à supprimer une occurrence de "ciel" et à prolonger l'un des deux liens jusqu'à l'autre "ciel".

mercredi 1 juin 2016

Un seul Dieu en trois Personnes

Je pourrais modéliser le credo en SML et par transformation obtenir le modèle de Procession (CAE) des Personnes Divines. Mais j'ai préféré partir directement du modèle théologique de la Trinité et définir les Personnes et les relations d'Angélus à partir de ce qui devient son méta-modèle. En effet ce qui est premier pour le chrétien c'est l'essence divine.

L'Icône du Dieu Un définit la triade CAE, l'attribut et la relation d'attribution.
Attention au contresens car il ne s'agit pas de dire que Dieu a un corps. Pour Angélus le <corps> est constitué par l'ensemble des attributs divins comme la bonté ou la miséricorde. De même l'<Esprit> n'est pas ici le Saint Esprit mais l'ensemble des sujets qui prennent l'initiative d'exercer cette qualité: Dieu est Miséricordieux lorsqu'il exerce la miséricorde. Quant à l'<AME> elle doit son nom uniquement parce que cette relation est l'organe de transmission entre L'<Esprit> et le <corps> mais elle se définit ici comme l’ensemble des actions initiées par l'<Esprit> pour l'exercice de cette qualité. Par exemple pardonner dans le cas de la miséricorde est déclenché par un <Esprit> Miséricordieux.
Représentation de la Trinité par Angélus et définition des Processions
C'est vrai que c'est moins beau et moins expressif que l'icône de Roubiev mais c'est le propre d'une abstraction que de réduire à l'essentiel. On y voit que Père, Fils et Esprit sont Dieu (relation d'héritage) et que L'Esprit Saint procède du Père et du Fils (relation de procession). 
La Trinité de Roubiev
Le Père, le Fils et l'Esprit Saint sont Dieu. Chacun hérite également des qualités divines. Mais chacun se distingue des autres par un rôle spécifique comme le montre le diagramme suivant:
Définition des relations de composition et de subordination

Le Père est créateur, le Fils est sauveur et le Saint Esprit est consolateur. Aux relations d'héritage j'ai ajouté les relations de composition et de subordination qui relient les personnes divines aux Dieu Un. Je ne prétends pas par là définir la nature de ces relations théologiquement mais uniquement en faire une représentation abstraite dont la sémantique resterait à définir. C'est à l'usage qu'elles pourront se préciser. En fait le diagramme de la trinité est une représentation développée de l'icône divine. Dans le méta-modèle il n'existe pas d'entité trinité à coté d'une entité dieu. Mais c'est uniquement la représentation qui change. Une autre représentation possible est:
Modèle trinitaire semi-développé
Reste à montrer en quoi un tel modèle permet de produire efficacement une application informatique. L'Esprit Saint nous en dira plus dans le prochain article.