Aller au contenu
EN FR

Métadonnées applicatives

Statut documentaire : reference — voir Maturité et preuves.

Les métadonnées logiCells décrivent des structures que le Runtime peut interpréter et exécuter. Elles ne sont pas de simples annotations : classId, rolePath, published, les paramètres d'action, les facettes ou les vues participent directement au contrat d'exécution.

Deux notations, un même contrat

Les projets peuvent utiliser XML ou YAML. Pour les nouveaux exemples YAML, la forme canonique doit suivre la grammaire déclarative actuelle :

YAML -> Yaml2XML -> DOM XML -> DataStructure -> Runtime
XML  -------------------------> DataStructure -> Runtime

Le XML historique reste un format de compatibilité important. La documentation ne doit cependant pas reproduire ses raccourcis permissifs dans de nouveaux exemples YAML.

Familles principales

  • Class — identité et conteneur conceptuel d'un modèle.
  • Entities — concepts instanciables orientés métier.
  • Relations — liens conceptuels et faits réifiés.
  • Actions — capacités et intentions exécutables.
  • Events — changements observables.
  • States et Transitions — cycle de vie explicite.
  • Collections — navigation et projections d'ensembles.
  • Views — projections fonctionnelles des concepts.
  • Rules — contraintes et interprétation exécutable.
  • Processes — coordination multi-étapes et multi-participants.
  • Lifecycle — lecture transversale du cycle de vie.
  • Execution flow — passage du modèle à l'exécution.
  • Roles — chemins de rôles et projection conceptuelle.

Conventions d'auteur

Pour les nouveaux contenus :

  1. utiliser *.model.yaml ou *.model.xml pour les modèles ;
  2. utiliser ClassItems.manifest.yaml ou ClassItems.manifest.xml pour le manifeste ;
  3. employer un classId stable appartenant au projet, par exemple crm#contact ;
  4. conserver le nom d'un champ comme clé YAML lorsque la grammaire le permet ;
  5. utiliser des types explicites dans les listes polymorphes, notamment action: et actionGroup: ;
  6. citer les noms publics et les alias de capacités, jamais les noms privés d'implémentation ;
  7. ne jamais ajouter un préfixe T aux classes d'exemple.

Exemple minimal

class:
  name: Contact
  classId: crm#contact
  type: Entity
  concepts:
    - name: Entity
      facets:
        - name: main
          type: hypergraph
          fields:
            - Name: String
            - Email: String
  actions:
    - action:
        name: Validate
        type: ObjectItem
        published: true
        params:
          - Result:
              dataType: Boolean
              paramType: ptReturn

La structure exacte autorisée reste déterminée par la grammaire déclarative et la version du Runtime ciblée.