jeudi 7 juillet 2016

Au commencement Dieu créa le ciel et la terre: un modèle de développement pour Angélus

Genèse 1.1 présente l'acte de création comme une démarche de séparation que ce soit entre la lumière et les ténèbres, entre le ciel et la terre et entre la mer et le continent. La lumière est première, également, dans la démarche de développement logiciel. C'est la lumière de l'intelligence. C'est elle qui permet de faire les séparations entre les objets et d'établir des relations entre eux. Dans son prologue Saint Jean assimile cette lumière au Christ qui est également le Logos (l'intelligence).Toute création résulte d'une démarche qui se fait par étapes et se déroule dans le temps (6 jours pour la bible).
Un modèle d'architecture est un schéma global, une superstructure qui donne par sa vue d'ensemble un sens au système tout en permettant d'accéder aux détails que sont les éléments susjacents du modèle. Le modèle architectural de la création proposé si dessous est un modèle chrétien dans la mesure où il est trinitaire. Tiré de genèse 1.1 selon la méthode déjà présentée, il intègre en partie les éléments du prologue de Jean.

Modèle de l'architecture trinitaire de la création

La création y est présentée comme un don du Père au Fils dans l'Esprit. Ce qui est modélisé ici ce n'est pas un système en développement (du type Notre Père) mais un système de développement (du type Genèse). Le terme système est préféré à application car il intègre le matériel et le logiciel. Le ciel et la terre.

Remarque: Ce qui donne consistance à un modèle informatique classique c'est la validité du code final qu'il est capable de générer. Ce qui donne consistance à un modèle Arlequin ou Angélus c'est le texte initial en langage naturel et son modèle SML (Simple Modeling Language) qui portent la sémantique.

Le premier jour de la création est la transcription du texte selon des règles de simple présentation graphique.

Modèle SML de genèse 1.1: le premier jour.
Le passage d'un modèle SML au modèle d'architecture d'une Procession (comme la création) se fait également par étapes et selon des règles qui peuvent être modélisées: C'est ce que fait Angélus comme on va le voir.

Remarque: Angélus ne peut prétendre être une méthode de développement informatique que si elle répond également au premier critère de consistance: validation du résultat par l'analyse lexicale et syntaxique. Ce qui est le cas. Par exemple la génération Acceleo d'une procession en un code java est immédiate. Une classe saintEsprit contenant un programme principal (main) EspritSaint, deux objets Pere et Fils, et deux autres objets cahot et creation passerait l’épreuve des analyses lexicales et syntaxiques. Dieu seul, dans l'espace réel, est maître de son exécution...

Comme on le sait la création du monde selon la bible se fait par étapes en 6 jours. J'ai pris la peine d'en modéliser la procession au niveau N+1. On peut les voir avec une meilleure définition en cliquant sur l'image ci-dessous:
.
Le développé de la création du monde en 6 jours
Rappelons qu'il n'y a pas de validation sémantique mais uniquement formelle ce qui évite des confusions en vérifiant la cohérence d'un texte.

Pour passer de la création du monde au développement d'un système applicatif, il suffit, au niveau N de l'architecture, de faire une projection (ou mapping) de l'espace biblique vers l'espace productique.

Architecture d'une production d'application obtenue par "mapping"
Attention ce n'est pas pour autant que l'on est sorti de l'espace "christologique" qui est garanti par le modèle théologique susjacent. Seule la sémantique est différente. 
Ainsi un même modèle peut-être réutilisé dans de multiple contextes. Il suffit de changer les noms des Personnages et des objets. Par exemple si j'applique cette méthode à Angélus on obtient le modèle du processus de création d'une architecture Angélus:

Création d'une architecture Angélus
C'est l'outil Angélus qui permet de faire cela en partant de la base ObeoDesigner et Sirius 4.0.
L'étape suivante est de poursuivre la métaphore de la genèse pour faire la séparation entre les espèces (ou classes) et les choses (ou instances de Classe). Dans le paradigme Angélus et son vocabulaire philosophique nous parlerons d'Etres et d'Etants.


Alain Salmon



1 commentaire: