Vision

La réalité du système émerge de son graphe.

Generic System ne place pas un modèle figé au-dessus des données. Il représente modèles, faits et relations avec la même primitive et les fait évoluer sous un même contrat transactionnel.

Un seul formalisme

Tout est Generic — mais chaque nœud conserve un sens précis.

Un Generic n'est pas un objet sans structure. Sa signature réunit quatre dimensions qui déterminent sa place et son rôle dans le graphe.

M

meta

De quoi ce nœud est-il une instance ? Cet axe fait émerger les niveaux méta, structurel et concret.

S

supers

Quels nœuds plus généraux spécialise-t-il ? Cet axe porte l'héritage et les substitutions.

C

components

Quels nœuds participent à sa structure, et dans quel ordre ? Cet axe construit attributs et relations.

La quatrième dimension est la value : le nom d'un type, une clé métier, la valeur d'un holder ou toute autre donnée sérialisable. Ensemble, meta + supers + value + components donnent son identité sémantique au nœud.

Rendu Blender des niveaux méta, structurel et concret avec Vehicle et myVehicle
Le type Vehicle et son instance myVehicle sont deux niveaux d'un même mécanisme d'instanciation.

Trois niveaux

Le métamodèle, la structure et les faits.

La racine et les métas occupent le premier niveau. Les types, attributs et relations forment le niveau structurel. Leurs instances, holders et links forment le niveau concret.

Ces catégories sont un vocabulaire pour lire le graphe : elles ne nécessitent pas trois moteurs ni trois formats de stockage.

Inspiration quantique

Observer, c'est engager une réalité.

L'intuition fondatrice emprunte une image à la physique quantique : avant observation, plusieurs évolutions restent possibles ; après observation, la réalité vue doit être respectée.

Cette analogie ne signifie ni calcul quantique ni effet physique. Dans Generic System, elle prend la forme d'une règle logicielle de concurrence.

Une lecture complète peut certifier la forme d'une collection à un instant donné. Le moteur enregistre cette observation ; une transaction plus ancienne ne peut plus modifier silencieusement ce qui vient d'être vu.

Le mécanisme concret

Un temps de naissance, d'observation et de disparition.

birthTs → lastReadTs → deathTs

Naissance

Un Generic devient visible à partir de la transaction qui l'introduit.

Observation

Une lecture vivante fait progresser l'instant auquel le nœud — ou la forme complète d'une dépendance — a été observé.

Disparition

La suppression ferme le cycle de vie sans réécrire l'identité du nœud.

Conflit

Une écriture fondée sur une vision trop ancienne est refusée ou rejouée : la cohérence inclut ce que les lecteurs ont réellement vu.

Ce que cela rend possible

Une structure modifiable avec les mêmes garanties que les données.

Transactionnel

Les mutations passent par un cache et sont validées comme une unité cohérente lors du flush().

Concurrent

Le contrôle MVCC coordonne plusieurs visions temporelles sans réduire la cohérence au seul résultat retourné.

Restructurable

Les types, attributs et relations appartenant au graphe, leur évolution peut être traitée comme une évolution de l'information.

Persistance

Du graphe vivant à son état durable.

La seconde vidéo historique montre le répertoire de persistance de Generic System. Elle complète la visite du graphe en montrant comment son état est archivé.

La vidéo documente une version historique de l'implémentation. Elle est conservée pour ce qu'elle montre du principe ; la documentation du code actuel reste la référence technique.

Le lecteur est bloqué ? Regarder directement sur YouTube ↗

Passer à la pratique

Le modèle se comprend mieux en le construisant.

Types, instances, holders et links : le didacticiel déroule le graphe étape par étape avec les rendus Blender d'origine.