L'élément Definitions représente l'élément XML supérieur. Il contient les espaces de nom nécessaires pour BPMN 2.0 :
Semantic
L'élément Semantic définit l'espace de nom pour les éléments sémantiques.
bpmndi
L'élément bpmndi définit l'espace de nom pour les éléments graphiques.
dc
L'élément dc définit les éléments pour le style graphique.
di
L'élément di définit les éléments pour le style textuel.
L'élément Semantic définit l'espace de nom pour les éléments sémantiques.
L'ID se compose de la chaîne successive d'ARISBPMN_ et du GUID du diagramme BPMN. De plus, l'espace de nom cible http://www.softwareag.com/bpmn2Serialisation/ est entré et on y ajoute le nom du modèle.
Cet élément de définition est l'élément de conteneur pour tous les autres éléments et leurs éléments subordonnés.
L'élément Collaboration sert d'élément de conteneur pour la modélisation de collaborations. Les collaborations sont une compilation des objets du type Participant et de leurs interactions en utilisant des objets du type Flux de message.
Pour chaque diagramme BPMN, un élément du type Collaboration est généré comme élément supérieur pour les collaborations individuelles. L'ID se compose de la suite de caractères COLLABORATION_ et du GUID du modèle.
Une piste est disponible pour un élément organisationnel. Si un modèle du type Diagramme de collaboration BPMN (BPMN 2.0) ne contient aucune piste ou qu'aucun élément de flux n'est incorporé dans la piste, c'est le modèle du type Diagramme de collaboration BPMN (BPMN 2.0) qui représente cet élément organisationnel.
S'il existe une piste représentant un élément organisationnel, un élément composé de la suite de caractères FLOWNODE_ et du GUID de la piste est généré. Autrement, on utilise le GUID du modèle du type Diagramme de collaboration BPMN (BPMN 2.0).
La piste définit un processus lorsqu'elle contient au moins un élément de flux ou un corridor. L'attribut processRef est ajouté à l'élément Participant et fait référence au processus défini par la piste. L'attribut processRef se compose de la suite de caractères PROCESS_ et du GUID externe de la piste. Si le processus est défini par un diagramme BPMN sans piste ou seulement par un élément de flux, on utilise le GUID du diagramme BPMN.
Les corridors font partie d'un processus et sont utilisées pour le structurer mais ils ne possèdent pas de sémantique définie. Ils sont normalement incorporés dans une piste, mais peuvent toutefois être utilisés directement dans le diagramme BPMN.
Les corridors peuvent être alignés horizontalement ou verticalement. Cela n'a aucune influence sur la sémantique. L'orientation des corridors est définie dans la partie bpmndi du fichier BPMN.
Un élément du type process contenant un élément du type laneset est créé pour chaque piste. L'ID de l'élément du type laneset se compose de la suite de caractères LANESET_ et du GUID externe de la piste. Si les corridors se trouvent directement dans un diagramme BPMN, on utilise le GUID du modèle. L'élément du type laneset contient un élément corridor dont l'ID se compose de la suite de caractères FLOWNODE_ et du GUID externe du corridor. L'attribut nom contient le nom du corridor.
Si un élément de flux tel qu'un objet du type Tâche Règle de gestion est incorporé dans un corridor, un élément du type flowNodeRef faisant référence aux nœuds de flux est créé dans l'élément du type corridor.
Les corridors peuvent aussi contenir des corridors. La profondeur de la hiérarchie n'est pas limitée. Si des corridors subordonnés sont utilisés, on crée, pour chaque corridor possédant des corridors subordonnés, un élément childLaneSet contenant à nouveau tous les éléments subordonnés du type corridor.
L'exemple suivant montre les variations possibles d'un flux de messages :
flux de messages entre un élément de flux et un stock
flux de messages entre deux stocks
flux de messages entre deux éléments de flux
Pour chaque flux de messages, on crée un élément messageflow dont l'ID se compose de la suite de caractères FLOW et du GUID de la liaison. Les éléments du type sourceRef et targetRef contiennent les ID liés du flux de messages ou du stock.
Dans ARIS, un flux de messages peut être divisé en deux parties : l'une comprenant le flux de messages et l'autre comprenant le message échangé. Comme ceci ne correspond pas exactement à la spécification BPMN 2.0, de tels flux de messages ne font pas partie de l'exportation dans un fichier BPMN.
Un élément process est généré lorsqu'une piste du diagramme BPMN contient au moins un élément de flux ou que le diagramme BPMN ne contient aucune piste. Cet élément contient tous les autres éléments de flux définissant les détails sur les processus. Son ID se compose de la suite de caractères PROCESS_ et du GUID du diagramme BPMN.
Comme des groupes contiennent des éléments pouvant faire partie de plusieurs pistes, un élément process est généré pour de tels groupes.
Les éléments du type FlowElementContainer sont des éléments du type Process, SubProcess, Choreography et Sub-Choreography. Seuls les éléments du type Process et SubProcess sont pertinents.
L'élément du type FlowElementContainer sert d'élément supérieur pour tous les éléments de flux d'un processus ou sous-processus. Les éléments du type FlowElementContainer sont des objets du type Activité, Événement, Branchement, Flux de séquence, Magasin de données et Objet de données.
Si un sous-processus contient l'un de ces éléments ou possède une association vers un modèle dans lequel l'un de ces éléments est modélisé, ces derniers sont ajoutés à cet élément du type FlowElementContainer. Si ces éléments ne font pas partie d'un sous-processus, ils sont ajoutés sous l'élément process défini par une piste ou un diagramme BPMN.
Si un objet du type Task est connecté à un élément organisationnel dans un diagramme de rattachement de fonctions (RDF) associé, un élément resource est généré. Si le type de la tâche est Tâche manuelle ou Tâche utilisateur, un élément du type potentialOwner est ajouté. Cet élément subordonné contient un élément du type resourceRef faisant référence à la ressource.