Workflow Engine

⚙️ Workflow Engine (Orchestrateur Asynchrone)

Ce module implémente le cœur d’exécution du framework R.A.I.S.E. Conçu pour les environnements industriels critiques, il s’agit d’un Orchestrateur de Graphes Orientés Acycliques (DAG) strictement déterministe. Il garantit que chaque étape d’un pipeline d’ingénierie (transformation de modèles, génération de code, audit) est exécutée selon des règles mathématiques invariables.


🏛️ Architecture : Découplage et Tolérance Zéro

Le système repose sur la séparation stricte entre la définition du pipeline (le Schéma) et son exécution (le Runtime).

ComposantFichierRôle & Responsabilité
Pipelinepipeline.rsLa Spécification. Structure JSON-LD définissant les étapes de transformation MBSE ou les builds DevSecOps.
Compilercompiler.rsLe Validateur. Transforme le pipeline en un Graphe (DAG) après avoir vérifié l’intégrité de tous les handles.
Schedulerscheduler.rsLe Chef d’Orchestre. Gère le cycle de vie des instances et la distribution asynchrone des tâches (via Tokio).
Executorexecutor.rsLe Moteur d’Exécution. Exécute les tâches atomiques dans un contexte strictement déterministe.
State Machinestate_machine.rsLe Navigateur. Assure la transition d’états (ACID) pour garantir la reprise sur erreur en environnement Air-Gap.

♊ L’Ancrage de Données (Data Grounding)

Dans l’ingénierie dirigée par les modèles (MBSE 2.0), la cohérence entre les différents niveaux d’architecture (Opérationnel, Système, Logique, Physique - méthode Arcadia) est vitale. Le workflow_engine s’assure qu’aucune transformation ne viole les règles de l’art.

Flux de Transformation Déterministe

sequenceDiagram
    participant CLI as raise-cli
    participant WE as Workflow Engine
    participant DB as json_db (Handles)
    participant VAL as rules_engine
    
    CLI->>WE: Lancement Pipeline (ex: SysML vers Rust AST)
    Note over WE: Le compilateur fige l'arbre de syntaxe
    WE->>DB: Résolution des Handles
    DB-->>WE: Graphe de dépendances extrait
    WE->>VAL: Validation Statique (Conformité)
    alt Violation de Contrainte
        VAL-->>WE: 🚨 ERREUR D'INTÉGRITÉ
        WE-->>CLI: ABORT: Rollback transactionnel
    else Topologie Valide
        VAL-->>WE: Autorisé
        WE->>WE: Exécution du Graphe (Génération)
        WE-->>CLI: Binaire / Code Certifiable Livré
    end

📜 Le Dogme de Production

Le WorkflowEngine est le garant du Dogme de Pureté du framework R.A.I.S.E. :

  • Zéro Code de Test : L’orchestrateur vérifie à la compilation qu’aucune condition de test n’est présente dans les branches d’exécution critiques.
  • Contexte Dynamique : Si le pipeline est invoqué sans arguments explicites de domaine, l’orchestrateur applique un smart fallback sur la session courante, évitant les erreurs de configuration en mode déconnecté.

🧩 Modèle de Tâches (Nœuds du Graphe)

TypeDescriptionComportement
TransformMutation ASTApplique une transformation structurelle sur le modèle de données (SysML v2).
ToolCallAction SystèmeInvoque un Outil Natif (Lecture disque, appel binaire local). Déterministe.
GatePolicyPoint de ContrôleVérifie une règle stricte (ex: couverture de code). Bloquant.
ParallelFork ExecutionLance plusieurs branches simultanément via le runtime multi-thread (Rayon).