Documentation d'arche-lang
- Concepts — le modèle avant la syntaxe : définition et instance (composant et part), port → message → lien, machines à états et déclencheurs, exigence → satisfait → vérifiée par → plan de test, système → déploiement → code généré. À lire en premier.
- Aide-mémoire — les déclarations essentielles, une ligne chacune, le langage d'action et les cinq commandes, sur une seule page.
- Démarrer un projet —
archec new: un projet qui passe les vérifications sans erreur, créé à partir d'un modèle de projet (un rover, un nœud capteur CAN, un contrôleur de vol de drone), d'un paquet du store à remanier, ou d'une phrase que Claude transforme en premier modèle. - Tutoriel — une pompe à eau, du modèle au firmware : messages, composants, une machine à états, une exigence, un test dans le simulateur, un déploiement, le Rust généré, la CI et les bibliothèques. Commencez ici.
- La spécification — le langage lui-même, à la manière de la spécification de Go : éléments lexicaux, grammaire en EBNF, déclarations, types et valeurs, noms, paquets et chemins, structure, comportement, traces, vérification, et son unique mise en forme.
- Arche efficace — comment écrire un modèle qui se lit comme
tous les autres ; une section par code de
archec vet(archec explain <code>l'affiche). - Référence du langage — chaque déclaration : où elle se
place, sa syntaxe, chacune de ses propriétés et un exemple. Générée à partir
du compilateur (
archec patterns -o docs/patterns.md) : c'est donc exactement ce que lit le compilateur. - Commandes — toutes les commandes
archec, classées par usage. - Le simulateur dans le navigateur — voir un modèle fonctionner
sans rien installer :
archec sim, une page qui l'anime, le bouton Run du diagramme VS Code, le « Try it » du store ; ce qu'il simule et ce qu'il ne simule pas. - Animations — les images animées des diapositives d'un
récit : l'un des modèles d'animation d'Arche, dont le contenu est écrit dans
le modèle et lié à celui-ci ;
archec animation, un récit en un seul fichier HTML, la vue Animations dans VS Code. - L'interface utilisateur du produit —
ui { }dans le composant qui possède l'afficheur : écrans, mises en page et éléments liés au modèle, ce qu'envoie un appui, les vérifications (liaisons, appuis sans effet, écrans inaccessibles, sûreté, encombrement, contraste, traductions),archec ui, et ce que lisent les aperçus du modèle et les générateurs. - Vos propres générateurs —
generator rte { templates | script | command }, lancé pararchec gen --target rte: le modèle du générateur (JSON, v1), le langage de gabarits, les scripts en bac à sable, les commandes dans n'importe quel langage, les bibliothèques et l'approbation. - Plugins — générateurs, importeurs et exportateurs
(
archec export --format) dans un seul dossier : le dossierplugins/du projet, un paquet du Store dekind plugin, ou intégrés à archec. - Régénérer le code — votre code entre les marqueurs USER
CODE conservé quand
archec genréécrit les fichiers, les orphelins, les balises@archeet la genmap,archec wheresur une erreur du compilateur,gen --diff, l'aperçu dans l'éditeur. - La qualité du code généré —
archec gen --build --lintavec chaque constat rattaché à son élément du modèle, des tests unitaires C tirés des plans de test et leur couverture, du code défensif déduit du modèle, la matrice de traçabilité. - Documents à partir de gabarits — votre document Word ou
LibreOffice rempli à partir du modèle :
archec doc --template, ses champs à remplacer, ses boucles et ses diagrammes. - Correctifs et niveau débutant — les erreurs qui se corrigent
d'elles-mêmes (
archec fix, les correctifs rapides de l'éditeur), les messages en langage clair, etlevel simple. - C++ —
archec gen --target cpp: classes C++17, les codecs du C, un std::thread par thread d'un déploiement, CMake ; ce qu'il ne fait pas encore. - Cartes de registres —
archec gen --target regmap: les blocsmemoryd'une part sous forme d'en-tête C, un banc AXI4-Lite en VHDL et en SystemVerilog, IP-XACT, SystemRDL et un document, le tout à partir des mêmes blocs ; les vérifications qui s'y appliquent. - Cibles d'intégration — ce que lisent les outils qui entourent le firmware, généré : EDS CANopen, groupes de paramètres J1939, MAVLink, SOME/IP, OpenAPI et AsyncAPI ; CMake, west, PlatformIO et CI ; scripts de flashage et de moniteur série ; les bus du banc et ses scripts python-can.
- Cartes — le catalogue de cartes livré avec archec (ESP32,
STM32 Nucleo, Raspberry Pi, nRF52840 DK, Jetson, Kria), vos propres
collections,
archec boardet la vue Boards dans VS Code. - L'Arche Store — partager architectures, pilotes,
spécifications et cartes :
archec add,archec store publish, signatures, confiance, faire tourner son propre store. Comment fonctionne arche-lang— la chaîne d'outils modélisée dans son propre langage : les étapes du compilateur et ce qu'elles se transmettent, chaque générateur, l'éditeur et son serveur de langage, les choix de conception, et le test qui vérifie chaque promesse. Compilez-le et ouvrez-le dans Arche.Le README du projet— ce qu'est arche-lang, son installation, cinq minutes dearchec newjusqu'au code généré.- L'extension VS Code — coloration syntaxique, diagnostics, correctifs rapides, complétion, survol, le diagramme et sa palette, le débogueur de simulation, la visite guidée, la barre latérale, les commandes et les paramètres.
Thèmes :
- Correspondance avec Arche — ce que devient chaque déclaration dans le projet Arche.
- Vérification — vérifications formelles des machines à états et des contrats, exigences incompatibles entre elles, tests avec injection de fautes, couverture de test, vérification à l'exécution à partir des journaux du système réel.
- Sûreté et cybersécurité — propagation d'erreurs, arbres de défaillance, STPA, TARA.
- Qualifier archec —
archec qualify: le kit de qualification d'outil (ISO 26262-8 §11, DO-330) pour les fonctions d'archec sur lesquelles vous vous appuyez. - Déploiement — matériel, threads et bus,
archec live, conteneurs. - Génération de code — toutes les cibles de
archec gen. - Robots — ROS 2, Gazebo, MuJoCo, systèmes physiques.
- Physique — ajuster un modèle à des mesures, des FMU dans la simulation.
- Import — un projet Arche, SysML v2, URDF et MJCF, Capella.
- Handlers en TypeScript ou en Python —
handlers typescript|python|arche, du code dans des fichiers.tset.py— et le chemin retour depuis Arche et le simulateur. - Notes de conception — une seule écriture pour chaque chose, les pointeurs, les choix du langage, les performances.
- Évolutions — ce que chaque version a apporté.