# Standard pour l'échange de données de produit

Le standard pour l'échange de données de produit, STEP (en anglais : STandard for the Exchange of Product model data) ou ISO 10303 porte sur la représentation et l'échange de données de produits et a pour objectif d'intégrer leurs processus de conception, de développement, de fabrication et de maintenance. Cette méthode permet donc de définir une représentation non ambiguë des données du produit, interprétable par tout système informatique, et couvrant tout le cycle de vie des produits. Cet objectif nécessite deux éléments :
* la définition d'un format ouvert, interprétable par tout système informatique et indépendamment du système ayant généré les données,
* la couverture d'un très vaste domaine de connaissance correspondant à l'ensemble des catégories de produits (pièces élémentaires, assemblages, mécanismes, …), selon le point de vue de tous les métiers (électronique, mécanique, …), et à toutes les phases du cycle de vie (conception, analyse, fabrication, maintenance, démantèlement).

## Intérêt de STEP

Un système décrit dans STEP l'est en fonction de : ce qu'il est, ce qu'il fait, et de ce qu'il devient. En limitant STEP aux types de données couvertes par IGES et SET, l'intérêt de STEP réside dans la gestion de l'échange des tables de nomenclatures, l'historique des modifications, l'ensemble des décompositions du produit en versions multiples, et des niveaux d'autorisation. On a donc un lien fort entre la description géométrique du produit, le contrôle de sa configuration, et la gestion de ses données techniques.

## Vue générale de STEP

L’objectif de ce standard international est de fournir un mécanisme capable de décrire les données d’un produit tout au long de son cycle de vie, et ce indépendamment d’un système (ou application) particulier. La nature de cette description le rend particulièrement adapté aux échanges de fichiers neutres et à l’archivage, mais sert aussi de base pour implémenter et partager des bases de données produit.
Typiquement STEP est utilisé pour l’échange de données entre systèmes CAO, l’ingénierie assistée par ordinateur, la conception et fabrication assistées par ordinateur, la modélisation des données de l’entreprise et autres technologies assistées par ordinateur. STEP permet l’échange des données produit, de la conception mécanique et électrique, du dimensionnement et tolérancement 3D, de l’analyse, de la fabrication, et également des données additionnelles spécifiques à diverses industries telles que l’automobile, l’aéronautique, la construction, le naval, les centrales d’énergie et bien d’autres.
STEP est développé et maintenu par le Comité Technique TC184 de l’ISO, Automation systems and integration, dans le sous-comité SC 4, Industrial data. Comme d’autres standards de l’ISO et de l’IEC, STEP est détenu (copyright) par l’ISO et n’est pas disponible librement. Toutefois, les schémas EXPRESS du 10303 sont disponibles gratuitement, ainsi que les Recommandations d’Utilisation pour les développeurs d’applications.
STEP est fortement lié à un autre standard de l'ISO TC184/SC4 : PLIB (ISO 13584).

## Historique

La base de STEP a été le Product Data Exchange Specification (PDES), qui a été lancé au milieu des années 80 et a été soumis à l’ISO en 1988. Le Product Data Exchange Specification était un effort de définition de données dans le but d’améliorer l’interopérabilité entre sociétés autour de la fabrication et ainsi augmenter la productivité.
Les évolutions de STEP peuvent être divisées en quatre phases. Le développement de STEP commença en 1984 comme un successeur d’IGES, SET et VDA-FS. Le plan initial était que STEP devait être basé sur un modèle d’information produit unique, complet et indépendant des implémentations. Mais du fait de la complexité du sujet, le standard a dû être découpé en plusieurs parties (parts) qui pouvaient être développées, revues et approuvées séparément. En 1994/1995 l’ISO publia la première version de STEP en tant que standard international (IS) avec les parts 1, 11, 21, 31, 41, 42,43,44,46, 101, AP201 et AP203. L’AP203, Configuration controlled 3D design, a été jusqu’en 2014 (date à laquelle il a été remplacé par l’AP 242) une des plus importantes parties de STEP et est supporté par de nombreux systèmes de CAO pour l’import et l’export.
Dans la deuxième phase, les fonctionnalités de STEP ont été largement étendues, principalement pour la conception de produits dans l’aéronautique, l’automobile, les systèmes électriques et électroniques et d’autres industries. Cette phase s’est terminée en 2002 avec la deuxième version majeure, incluant les STEP part AP 202, AP 209, AP 210, AP 212, AP 214, AP225, AP 227, AP 232. Une harmonisation entre les APs, spécialement dans le domaine géométrique a été réalisé en introduisant les Application Interpreted Constructs (AIC, séries 500).
Un problème majeur avec les APs des première et deuxième versions est qu’ils sont trop gros, ont trop de recouvrements entre eux et ne sont pas suffisamment harmonisés. Ces lacunes amenèrent au développement de l’architecture modulaire STEP (séries 400 et 1000). Cette activité fut mise en œuvre pour développer de nouveaux APs couvrant de nouvelles phases du cycle de vie des produits comme l’analyse précoce des besoins (AP 233) et maintenance et réparation (AP 239), ainsi que pour de nouveaux domaines industriels (AP 221, AP 236). De nouvelles éditions d’APs auparavant monolithiques ont été développés sur cette approche modulaire (AP 203, AP 209, AP 210). La publication de ces nouvelles éditions coincide avec la sortie en 2010 du nouveau produit ISO SMRL, la STEP Module and Resource Library, qui contient toutes les ressources STEP et modules d’application sur un seul CD. La SMRL est mise à jour fréquemment et est disponible à un prix bien inférieur que si on achète les parts séparément.
En Décembre 2014, l’ISO a publié la première édition d’un nouveau protocole d’Application majeur, AP 242 Managed model based 3D engineering.
AP242 a été créé en fusionnant deux Protocoles d’Application:
* AP 203, Configuration controlled 3D designs of mechanical part and assemblies (utilisé par l’industrie aéronautique)
* AP 214, Core data for automotive mechanical design processes (utilisé par l’industrie automobile)
De plus, l'AP 242 édition 1 contient des extensions importantes et des améliorations significatives pour:
* Le dimensionnement et tolérancement 3D
* La cinématique , pour décrire les mouvements et les mécanismes
* La tessellation , pour l'échange de données 3D légères et la visualisation rapide.
Deux APs ont été modifiés pour être directement basés sur l’AP 242, et donc sont devenus des sur ensembles de celui-ci :
* AP 209, Composite and metallic structural analysis and related design
* AP 210, Electronic assembly, interconnect and packaging design.
L’AP 242 édition 2, publié en Avril 2020 étend le domaine de l’édition 1 par la description des harnais électriques et introduit une extension des méthodes de modélisation et d’implémentation de STEP basée sur SysML et l’ingénierie système avec une méthode d’implémentation XML optimisée.
Cette nouvelle édition contient également des améliorations sur le tolérancement et dimensionnement 3D, ainsi que le Composite Design. Elle ajoute aussi de nouvelles fonctionnalités telles que:
* les triangles courbes (visualisation)
* les textures (visualisation)
* les niveaux de détail (LODs)
* les couleurs sur vertex
* le support des données issues de scanner 3D
* les identifiants persistants sur la géométrie
* l'additive manufacturing

## Structure de STEP

STEP est divisé en plusieurs parties (parts) regroupées en :
* Environnement
** Parts 1x : Méthodes de description : EXPRESS, EXPRESS-X
** Parts 2x : Méthodes d’implémentation : fichiers STEP, STEP XML, SDAI
** Parts 3x : Méthodologie et framework de test de conformité
* Modèles de données intégrés
** Les Ressources Intégrées (IR), constituées des :
*** Parts 4x et 5x : Ressources intégrées génériques
*** Parts 1xx : Ressources intégrées d’application
*** PLIB ISO 13584-20 : Parts library: Logical model of expressions
** Parts 5xx: Application Interpreted Constructs (AIC)
** Parts 1xxx: Modules d’Applications (AM)
** Parts 4000 : Core Model et Domain models (CM et DM)
* Parts de plus haut niveau
** Parts 2xx: Protocoles d’Application (AP)
** Parts 3xx: Suites de test abstraites (ATS) pour les APs
** Parts 4xx : Modules d’implémentation pour les APs
** Parts 4xxx : Modèles de domaine métiers pour les APs
Au total STEP est constitué de plusieurs centaines de parts et chaque année de nouvelles parts sont ajoutées ou de nouvelles versions de parts existantes sont publiées. Cela fait de STEP le plus gros standard de l’ISO. Chaque part a son propre scope et introduction.
Les APs sont les parts de plus haut niveau. Elles couvrent une application particulière et un domaine industriel et sont donc les plus pertinentes pour les utilisateurs de STEP. Chaque AP définit une ou plusieurs classes de conformité (Conformance Classes) adaptées à un type de produit ou scenario d’échange. Pour fournir une meilleure compréhension de la portée, des exigences d’information et cas d’utilisation, un Application Activity Model (AAM) est ajouté à chaque AP, décrit à l’aide de IDEF0.
STEP définit des modèles de données en utilisant le langage de modélisation EXPRESS et SysML. Les données applicatives relatives à un modèle de données peuvent être échangées par un fichier STEP, du STEP XML ou via un accès de base de données partagée en utilisant SDAI.
Chaque AP définit un modèle de données à utiliser pour les échanges, appelé Application Interpreted Model (AIM) ou dans le cas d’un AP modulaire Module Interpreted Model (MIM). Ces modèles sont construits en choisissant les objets génériques dans les modèles de données de bas niveau (Parts 4x, 5x, 1xx, 5xx) et en ajoutant les spécialisations nécessaires pour le domaine d’application de l’AP. Les modèles de données génériques sont la base de l’intéropérabilité entre APs pour différents types d’industries et étapes du cycle de vie.
Un modèle de données complémentaire, appelé Domain Model (DM) est optionnellement disponible pour la mise en œuvre de processus d’échanges ou de services plus proches des concepts métiers et basés sur le format XML.
Pour les Protocoles d’Application (APs) ayant plusieurs Classes de Conformité , le modèle de données supérieur est divisé en sous-ensembles, un pour chaque Classe. Les exigences pour une application STEP conforme sont:
* Implémentation d’un préprocesseur, ou d’un post-processeur ou des deux
* Utilisation d’une des méthodes d’implémentation : fichier STEP, STEP XML ou SDAI pour les modèles de données AIM/MIM ou Domain model DM et
* Support d’une ou plusieurs classes de conformité de l’AP
A l’origine chaque AP devait être accompagné d’une suite de test abstraite (Abstract test suite – ATS), par exemple ATS 303 pour l’AP 203, fournissant des objectifs de test, critères de recette et modèles de test abstraits ainsi que des exemples de fichiers STEP. Mais comme le développement d’un ATS était très couteux et peu efficace, cette exigence fût supprimée et remplacée par la nécessité d’avoir un rapport de validation informel et des recommandations d’utilisation pour définir comment utiliser l’AP. Aujourd’hui les Recommandations d’Utilisation (Recommended Practices) sont la principale source d’information pour ceux qui veulent implémenter un AP.
Le Modèle de Référence d’Application (Application Reference Model – ARM) est l’intermédiaire entre l’AAM et l’AIM/MIM. Son objectif initial était uniquement de documenter les objets applicatifs de haut niveau et les relations de base entre eux. Les premiers APs étaient documentés de manière informelle par des diagrammes IDEF1X . Les objets ARM, leurs attributs et relations sont mappés à l’AIM afin de rendre possible l’implémentation de l’AP. Comme les APs devenaient de plus en plus complexes, des méthodes formelles furent nécessaires pour documenter l’ARM et EXPRESS qui était initialement prévu pour développer seulement l’AIM fût aussi utilisé pour l’ARM. Au fil de temps ces modèles ARM sont devenus très détaillés à tel point que certaines implémentations ont préféré utiliser l’ARM à la place de l’AIM/MIM. Quelques APs avaient basé leurs échanges sur l’ARM et sont standardisés en dehors de l’ISO TC184/SC4:
* les PLM-Services, dans l’OMG, pour l’AP214
* ISO 14649 Data model for computerized numerical controllers pour l’AP 238
* PLCS-DEXs dans OASIS pour l’AP 239
Cette situation a généré une divergence des modèles. L’ISO TC 184/SC 4 a étendu les méthodes de modélisation et d’implémentation de STEP avec la STEP Extended Architecture, opérationnelle depuis 2019, qui permet de définir un Domain Model qui interface l’ARM et l’AAM. Le Domain model est standardisé et implémentable à un plus haut niveau que l’AIM tout en garantissant l’intégration avec les modèles AIM/MIM. L’Extended Architecture définit et permet également de simplifier l’interface entre STEP et d’autres standards pour éviter d’avoir à redéfinir dans STEP des modèles déjà largement déployés dans l’industrie.
Il y a un grand recouvrement entre les APs car ils ont souvent besoin de faire référence aux mêmes types de produits, structure produit, géométrie et autres informations. Et comme les APs sont développés par différents groupes de personnes, il a longtemps été un problème d’assurer l’interopérabilité entre APs. L’Application Interpreted Construct (AIC) a résolu ce problème pour la spécialisation des concepts génériques, initialement dans le domaine de la géométrie. Pour traiter le problème de l’harmonisation des modèles ARM et leur mapping avec l’AIM the modules STEP ont été introduits. Ils contiennent une partie de l’ARM, le mapping et la partie correspondante de l’AIM, appelé MIM. Les modules sont construits les uns sur les autres, pour aboutir à un graphe (presque) orienté, avec les APs et modules de classes de conformité au niveau le plus haut. The APs modulaires sont:
* AP 209, Composite and metallic structural analysis and related design
* AP 210, Electronic assembly, interconnect and packaging design
* AP 221, Functional data and schematic representation of process plants
* AP 236, Furniture product data and project data
* AP 239, Product life cycle support
* AP 242, Managed model based 3d engineering
Les éditions à base de modules de l’AP 209 et AP 201 sont des extensions explicites de l’AP 242.

## Couverture des protocoles d’application STEP

Les APs STEP peuvent être grossièrement groupés en trois domaines principaux, conception, fabrication et cycle de vie.
APs de conception:
* Mécanique :
** AP 207, Sheet metal die planning and design
** AP 209, Composite and metallic structural analysis and related design
** AP 235, Materials information for the design and verification of products
** AP 236, Furniture product data and project data
** AP 242, Managed model based 3d engineering
* Connectivité (électrique, électronique et fluidique) :
** AP 210, Electronic assembly, interconnect and packaging design. The most complex and sophisticated STEP AP.
** AP 212, Electrotechnical design and installation.
** AP 227, Plant spatial configuration
* Naval :
** AP 215, Ship arrangement
** AP 216, Ship moulded forms
** AP 218, Ship structures
* Autres:
** AP 225, Building elements using explicit shape representation
** AP 232, Technical data packaging core information and exchange
** AP 233, Systems engineering data representation
** AP 237, Fluid dynamics has been cancelled and the functionality included in AP 209
APs de fabrication :
* AP 219, Dimensional inspection information exchange
* AP 223, Exchange of design and manufacturing product information for cast parts
* AP 224, Mechanical product definition for process plans using machining features
* AP 238 - Application interpreted model for computer numeric controllers
* AP 240, Process plans for machined products
APs de cycle de vie :
* AP 239, Product life cycle support
* AP 221, Functional data and schematic representation of process plants
Pour les domaines complexes il est clair que plus d’un AP est nécessaire pour couvrir tous les aspects :
* AP 212 et 242 pour les produits electro-mécaniques comme une voiture ou un transformateur. Ceci est adressé par la deuxième édition de l’AP 242.
* AP 242, 209 et 210 pour les produits electro-electronico-mécaniques
* AP 212, 215, 216, 218, 227 pour les navires
* AP 242, 224, 240 et 238 pour la conception complète et le processus de fabrication des pièces