Archyno
ArchiMatePratique de la modélisation

Générer de l'ArchiMate avec l'IA

ArchiMate est la notation où la génération marche le mieux et demande le plus de vérification. Sa table des relations est vérifiable par machine, donc un générateur peut être tenu à la spécification - et ses relations dérivées lui permettent de produire quelque chose de légal, plausible et discrètement faux.

8 min de lectureArchiMate 45 sur 5

Claims handlerClaim registrationPolicy administrationClaim fileKubernetes cluster
A layered view from one paragraph of description: an actor assigned to a process, the application that serves it, the data it touches, and the node underneath. Every relationship here is one the spec permits between those two element types.

01Why ArchiMate generates better than free-form

ArchiMate publishes a relationship table: for every pair of element types, the set of relationships that is permitted between them. It is exhaustive, it is machine-readable, and it is the reason generation is on firmer ground here than anywhere else in modelling. A generator constrained by that table cannot draw a business process realizing a node or an actor accessing a technology service - not because it was well prompted, but because those edges do not exist.

The layers do the second half of the work. Every element belongs to exactly one of business, application, technology and the rest, so "which layer is this in" is a question with an answer, and a model that puts a database in the business layer is visibly wrong to a reader who has never seen your organisation. Free-form boxes and arrows offer no such handle; ArchiMate is a language, and a language can be checked.

02The derived-relationship trap

servesKubernetes clusterClaims handler
Legal, and almost certainly not what you want. This is a derived relationship - the cluster serves the application, the application serves the process the actor performs - collapsed into one edge that hides both hops.

ArchiMate defines derivation: a chain of relationships implies a weaker one between its ends. A node serves an application, the application serves a process, so the node serves the process - and the spec allows you to draw that shortcut directly. It is a genuinely useful feature when a view is deliberately coarse, and it is the single most common thing a generator hands back without saying so.

The damage is not notational, it is that the middle disappears. In the figure above, the application doing the work is gone: nobody can see what would break if it were replaced, and nobody can see that it exists at all. A model built out of derived edges reads as an architecture with no applications in it.

The fix is to ask for the hops. "Show every relationship directly, do not derive anything" costs one sentence in the prompt and turns a tidy picture into a model you can reason about. The full mechanism is in ArchiMate relationships.

Two smaller failures round out the list:

  1. Layer confusion. Business services and application services get swapped, because the names differ by one word and the distinction is about who the consumer is rather than about what the thing does.
  2. Volume.Ask for "the architecture" and you get sixty elements, which is not a model but a list drawn with rectangles. Ask for a viewpoint.

03What to put in the prompt

Four things. The first two are the same as for any notation; the last two are what make an ArchiMate prompt different.

  1. The viewpoint."A layered view" to start with - it forces every element into a layer and forces the layers to connect, which is where the arguments worth having are.
  2. Your own names.The processes and applications as your organisation calls them. A model that invents "Customer Management System" where you say "Siebel" produces a picture nobody recognises.
  3. No derivation. One sentence: every relationship direct, nothing collapsed. This is the highest-value line in the prompt.
  4. A stopping rule."At most twelve elements", or one business process and everything under it. Without a bound you get the list.

04Checking the result

Reach for it when

  • Any edge that crosses two layers - it is derived, and the middle is missing
  • Every element's layer: is it there because of what it is, or what it is named?
  • Serving arrows: they point at the consumer, and reversing one inverts the architecture
  • Element count: if a reader cannot hold the view in their head, split it by viewpoint

Reach for something else when

  • Re-prompting for a single wrong edge - fix it and keep the rest
  • Debating element colour, which carries no meaning the spec defines
  • Asking for every layer at once on the first pass
  • Keeping a view that answers no question, however tidy it looks

The first line is the one that matters. Every other item on the list is a five-second judgement; a derived relationship standing in for two real ones is the error that survives review, gets published, and is still on a slide two years later with the application it hides still unnamed.

05How this works in Archyno

The AI is given the same metamodel the editor enforces, which for ArchiMate means the relationship table itself. An illegal edge is not something the generator is asked politely to avoid - it is not in the set of edges it can emit, and the editor will not accept one afterwards either. What comes back is a model in the repository, not a picture of one: rename an application and the name changes in every view it appears in.

From there it exports to the ArchiMate Exchange format that Archi and BiZZdesign read, to a Sparx .qea file, and to PNG, SVG or Mermaid for a document. That matters more for ArchiMate than for anything else on this site, because enterprise architecture work is judged by people who use a different tool from the one it was made in.

In one line each

  1. 01ArchiMate's relationship table is machine-checkable, so generation cannot produce an illegal model.
  2. 02Legal is not correct: the table says a relationship may exist, not that yours does.
  3. 03The common failure is a derived relationship drawn as a direct one, hiding the middle layer.
  4. 04Prompt with a viewpoint, your own names, no derivation, and a stopping rule.
  5. 05Check cross-layer edges first - they are derived until proven otherwise.
  6. 06Generate into a model, or the result cannot leave the tool it was made in.

The UML side of the same question - where the rules are looser and the failures are different - is in generating UML with AI.

06Questions fréquentes

L'IA peut-elle générer un modèle ArchiMate à partir d'un texte ?

Oui, et plus fiablement que dans des notations plus lâches, car ArchiMate publie une table indiquant quelles relations sont permises entre quels types d'éléments. Un générateur contraint par cette table ne peut pas produire de modèle illégal : les erreurs restantes portent sur votre organisation, pas sur la notation.

Que ratent les modèles ArchiMate générés par IA ?

Le plus souvent ils dessinent des relations dérivées comme si elles étaient directes - un nœud technologique servant un acteur métier, ce qui est légal et masque l'application qui fait réellement le travail. Ensuite : des éléments dans la mauvaise couche, et beaucoup trop d'éléments, car un modèle sommé d'être complet donne une image irrelisible.

Quel point de vue ArchiMate demander en premier ?

Le point de vue en couches, parce qu'il oblige le générateur à situer chaque élément dans une couche et à relier les couches, là où se trouvent les désaccords utiles. Demandez un point de vue plus spécifique une fois que vous savez à quelle question le modèle doit répondre, pas avant.

Un modèle ArchiMate généré s'ouvre-t-il dans un autre outil ?

Seulement s'il a été produit comme un modèle et non comme une image. Un modèle s'exporte au format ArchiMate Exchange, que lisent Archi, BiZZdesign et Sparx, si bien que le travail survit à l'outil. L'image d'un diagramme ne s'exporte nulle part et doit être redessinée à la main.

Tous les articles