Schneider Electric EcoStruxure - Machine Advisor Code Analysis Manuel utilisateur
Ajouter à Mes manuels100 Des pages
▼
Scroll to page 2
of
100
EcoStruxure Machine Advisor Code Analysis Guide utilisateur Traduction de la notice originale EIO0000003917.02 10/2020 www.se.com Mentions légales La marque Schneider Electric et toutes les marques de commerce de Schneider Electric SE et de ses filiales mentionnées dans ce guide sont la propriété de Schneider Electric SE ou de ses filiales. Toutes les autres marques peuvent être des marques de commerce de leurs propriétaires respectifs. Ce guide et son contenu sont protégés par les lois sur la propriété intellectuelle applicables et sont fournis à titre d'information uniquement. Aucune partie de ce guide ne peut être reproduite ou transmise sous quelque forme ou par quelque moyen que ce soit (électronique, mécanique, photocopie, enregistrement ou autre), à quelque fin que ce soit, sans l'autorisation écrite préalable de Schneider Electric. Schneider Electric n'accorde aucun droit ni aucune licence d'utilisation commerciale de ce guide ou de son contenu, sauf dans le cadre d'une licence non exclusive et personnelle, pour le consulter tel quel. Les produits et équipements Schneider Electric doivent être installés, utilisés et entretenus uniquement par le personnel qualifié. Les normes, spécifications et conceptions sont susceptibles d'être modifiées à tout moment. Les informations contenues dans ce guide peuvent faire l'objet de modifications sans préavis. Dans la mesure permise par la loi applicable, Schneider Electric et ses filiales déclinent toute responsabilité en cas d'erreurs ou d'omissions dans le contenu informatif du présent document ou pour toute conséquence résultant de l'utilisation des informations qu'il contient. ©2021 Schneider Electric. Tous droits réservés. Machine Advisor Code Analysis Table des matières Consignes de sécurité ................................................................................7 A propos de ce manuel ...............................................................................8 Introduction .............................................................................................. 11 Informations générales sur le portail EcoStruxure Machine Advisor Code Analysis .................................................................................... 11 Composantes du portail EcoStruxure Machine Advisor Code Analysis .............................................................................................12 ACCUEIL.................................................................................................13 ACCUEIL ...........................................................................................13 SNAPSHOTS DE PROJET .......................................................................15 VUE D'ENSEMBLE.............................................................................15 TABLEAU DES MESURES..................................................................17 TABLEAU DES CONVENTIONS..........................................................18 VUE DETAILLEE ................................................................................19 METRIQUES - ARCHIVAGE & EXPORT ..............................................22 CONVENTIONS - ARCHIVAGE & EXPORT .........................................24 TOUS MES PROJETS ........................................................................25 TENDANCES DE PROJET .......................................................................26 TABLEAU DE BORD...........................................................................26 VUE DETAILLEE ................................................................................27 METRIQUES - ARCHIVAGE & EXPORT ..............................................28 CONVENTIONS - ARCHIVAGE & EXPORT .........................................30 TOUS MES PROJETS ........................................................................32 COMPARAISON DE PROJETS .................................................................33 TABLEAU DE BORD...........................................................................33 VUE DETAILLEE ................................................................................34 METRIQUES - ARCHIVAGE & EXPORT ..............................................36 ADMINISTRATION ...................................................................................38 SNAPSHOTS .....................................................................................38 TACHES DE TRAITEMENT.................................................................40 JEU DE REGLES ...............................................................................41 PHASES DE DEVELOPPEMENT ........................................................43 JETONS D'ACCES .............................................................................44 TOUS MES PROJETS ........................................................................46 TOUTES LES CHAINES DE REQUETE ...............................................46 TOUS LES PROJETS DE LA SOCIETE ...............................................47 UTILISATEUR ET ROLES D'UTILISATEUR..........................................49 ACHATS ............................................................................................51 Paramètres utilisateur et société ..........................................................52 Mode d'emploi de EcoStruxure Machine Advisor Code Analysis...................54 Créer un compte de société et convier des utilisateurs ...........................54 Créer un projet d'analyse et affecter des utilisateurs ..............................55 Créer un snapshot et l'envoyer (avec un compte d'utilisateur personnel) ..........................................................................................56 Créer un jeton d'accès et envoyer un snapshot avec un script Python ...............................................................................................57 Connecter un projet d'analyse à un référentiel SVN ...............................58 Annexes .....................................................................................................61 EIO0000003917.02 3 Machine Advisor Code Analysis Métriques.................................................................................................62 Métrique : taille d'application (code)......................................................62 Métrique : taille d'application (code+données) .......................................63 Métrique : taille d'application (données) ................................................63 Métrique : Call In ................................................................................64 Métrique : Call Out ..............................................................................64 Métrique : taux de variables (toutes) commentées .................................64 Métrique : taux de variables commentées (entrée+sortie +globales) ..........................................................................................65 Métrique : Cyclomatic Complexity ........................................................65 Métrique : Extended By .......................................................................67 Métrique : Extends ..............................................................................67 Métrique : Fan In.................................................................................68 Métrique : Fan Out ..............................................................................68 Métrique : Halstead Complexity............................................................69 Métrique : Implemented By ..................................................................72 Métrique : Implements.........................................................................73 Métrique : Lines Of Code (LOC) ...........................................................74 Métrique : Memory Size (Data).............................................................74 Métrique : Number Of Actions ..............................................................75 Métrique : Number Of GVL Usages ......................................................76 Métrique : nombre de lignes de commentaire en en-tête ........................76 Métrique : Number Of Instances...........................................................77 Métrique : Number Of Library References .............................................77 Métrique : Number Of Messages..........................................................78 Métrique : Number Of Methods ............................................................78 Métrique : nombre de commentaires multilignes ....................................79 Métrique : Number Of Properties..........................................................79 Métrique : Number Of Reads ...............................................................80 Métrique : Number Of Tasks ................................................................80 Métrique : Number Of Transitions.........................................................81 Métrique : Number Of Variables ...........................................................81 Métrique : Number Of Writes................................................................82 Métrique : Number Of FBD Networks....................................................82 Métrique : taux de commentaires du code source ..................................82 Métrique : Stack Size ..........................................................................83 Conventions.............................................................................................85 Convention : messages de compilation.................................................85 Convention : POU complexe avec faible taux de commentaires..............85 Conventions : Vérifications des noms de types complexes .....................86 Conventions : Limite de profondeur d'héritage.......................................86 Convention : vérification de lecture de variable d'entrée .........................87 Convention : vérification de type de variable d'entrée.............................88 Convention : vérification d'écriture de variable d'entrée ..........................88 Convention : utilisation de commentaires multilignes .............................89 Convention : absence de commentaire en en-tête .................................90 Conventions : Nombre limite de méthodes ............................................90 Conventions : Nombre limite de propriétés............................................90 Convention : vérification de lecture de variable de sortie ........................91 Convention : vérification de type de variable de sortie ............................92 4 EIO0000003917.02 Machine Advisor Code Analysis Convention : vérification de l'utilisation de déclarations PERSISTENT.....................................................................................92 Convention : vérification de l'utilisation de déclarations RETAIN .............93 Convention : variable non commentée (toutes)......................................93 Convention : variable non commentée (entrée/sortie/globale).................93 Conventions : Vérification des variables inutilisées ................................94 Conventions : Vérification des noms de variable....................................94 Conventions : Vérification de la longueur des noms de variable ..............95 Index ...........................................................................................................97 EIO0000003917.02 5 Consignes de sécurité Machine Advisor Code Analysis Consignes de sécurité Informations importantes Lisez attentivement ces instructions et examinez le matériel pour vous familiariser avec l'appareil avant de tenter de l'installer, de le faire fonctionner, de le réparer ou d'assurer sa maintenance. Les messages spéciaux suivants que vous trouverez dans cette documentation ou sur l'appareil ont pour but de vous mettre en garde contre des risques potentiels ou d'attirer votre attention sur des informations qui clarifient ou simplifient une procédure. La présence de ce symbole sur une étiquette “Danger” ou “Avertissement” signale un risque d'électrocution qui provoquera des blessures physiques en cas de non-respect des consignes de sécurité. Ce symbole est le symbole d'alerte de sécurité. Il vous avertit d'un risque de blessures corporelles. Respectez scrupuleusement les consignes de sécurité associées à ce symbole pour éviter de vous blesser ou de mettre votre vie en danger. ! DANGER DANGER signale un risque qui, en cas de non-respect des consignes de sécurité, provoque la mort ou des blessures graves. ! AVERTISSEMENT AVERTISSEMENT signale un risque qui, en cas de non-respect des consignes de sécurité, peut provoquer la mort ou des blessures graves. ! ATTENTION ATTENTION signale un risque qui, en cas de non-respect des consignes de sécurité, peut provoquer des blessures légères ou moyennement graves. AVIS AVIS indique des pratiques n'entraînant pas de risques corporels. Remarque Importante L'installation, l'utilisation, la réparation et la maintenance des équipements électriques doivent être assurées par du personnel qualifié uniquement. Schneider Electric décline toute responsabilité quant aux conséquences de l'utilisation de ce matériel. Une personne qualifiée est une personne disposant de compétences et de connaissances dans le domaine de la construction, du fonctionnement et de l'installation des équipements électriques, et ayant suivi une formation en sécurité leur permettant d'identifier et d'éviter les risques encourus. EIO0000003917.02 7 Machine Advisor Code Analysis A propos de ce manuel A propos de ce manuel Objectif du document This document describes the graphical user interface of the EcoStruxure Machine Advisor Code Analysis and the functions it provides. Champ d'application This document has been updated for the release of EcoStruxure Machine Advisor Code Analysis V2.0. Related Documents Title of documenation Reference number EcoStruxure Machine Expert Machine Code Analysis User Guide EIO0000002710 (ENG); EIO0000004079 (FRE) EIO0000002711 (GER); EIO0000004080 (SPA) EIO0000004081 (ITA) EcoStruxure Machine Expert Programming Guide EIO0000002854 (ENG); EIO0000002855 (FRE); EIO0000002856 (GER); EIO0000002858 (SPA); EIO0000002857 (ITA); EIO0000002859 (CHS) 8 EIO0000003917.02 A propos de ce manuel Machine Advisor Code Analysis Information spécifique au produit AVERTISSEMENT PERTE DE CONTROLE • Le concepteur d'un système de commande doit envisager les modes de défaillance possibles des chemins de commande et, pour certaines fonctions de commande critiques, prévoir un moyen d'atteindre un état sécurisé en cas de défaillance d'un chemin, et après cette défaillance. Par exemple, l'arrêt d'urgence, l'arrêt en cas de surcourse, la coupure de courant et le redémarrage sont des fonctions de contrôle cruciales. • Des canaux de commande séparés ou redondants doivent être prévus pour les fonctions de commande critique. • Les liaisons de communication peuvent faire partie des canaux de commande du système. Soyez particulièrement attentif aux implications des retards de transmission imprévus ou des pannes de liaison. • Respectez toutes les réglementations de prévention des accidents ainsi que les consignes de sécurité locales.1 • Chaque implémentation de cet équipement doit être testée individuellement et entièrement pour s'assurer du fonctionnement correct avant la mise en service. Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des dommages matériels. 1 Pour plus d'informations, consultez les documents suivants ou leurs équivalents pour votre site d'installation : NEMA ICS 1.1 (dernière édition), « Safety Guidelines for the Application, Installation, and Maintenance of Solid State Control » (Directives de sécurité pour l'application, l'installation et la maintenance de commande statique) et NEMA ICS 7.1 (dernière édition), « Safety Standards for Construction and Guide for Selection, Installation, and Operation of AdjustableSpeed Drive Systems » (Normes de sécurité relatives à la construction et manuel de sélection, d'installation et d'exploitation de variateurs de vitesse). AVERTISSEMENT FONCTIONNEMENT IMPRÉVU DE L'ÉQUIPEMENT • N'utilisez que le logiciel approuvé par Schneider Electric pour faire fonctionner cet équipement. • Mettez à jour votre programme d'application chaque fois que vous modifiez la configuration matérielle physique. Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des dommages matériels. Terminology Derived from Standards Les termes techniques, la terminologie, les symboles et les descriptions correspondantes employés dans ce manuel ou figurant dans ou sur les produits proviennent généralement des normes internationales. Dans les domaines des systèmes de sécurité fonctionnelle, des variateurs et de l'automatisme en général, les termes employés sont sécurité, fonction de sécurité, état sécurisé, défaut, réinitialisation du défaut, dysfonctionnement, panne, erreur, message d'erreur, dangereux, etc. Entre autres, les normes concernées sont les suivantes : EIO0000003917.02 9 Machine Advisor Code Analysis A propos de ce manuel Norme Description IEC 61131-2:2007 Automates programmables - Partie 2 : exigences et essais des équipements ISO 13849-1:2015 Sécurité des machines : parties des systèmes de commande relatives à la sécurité. Principes généraux de conception EN 61496-1:2013 Sécurité des machines : équipements de protection électro-sensibles. Partie 1 : Prescriptions générales et essais ISO 12100:2010 Sécurité des machines - Principes généraux de conception Appréciation du risque et réduction du risque EN 60204-1:2006 Sécurité des machines - Équipement électrique des machines - Partie 1 : règles générales ISO 14119:2013 Sécurité des machines - Dispositifs de verrouillage associés à des protecteurs - Principes de conception et de choix ISO 13850:2015 Sécurité des machines - Fonction d'arrêt d'urgence - Principes de conception IEC 62061:2015 Sécurité des machines - Sécurité fonctionnelle des systèmes de commande électrique, électronique et électronique programmable relatifs à la sécurité IEC 61508-1:2010 Sécurité fonctionnelle des systèmes électriques/électroniques/ électroniques programmables relatifs à la sécurité : prescriptions générales. IEC 61508-2:2010 Sécurité fonctionnelle des systèmes électriques/électroniques/ électroniques programmables relatifs à la sécurité : exigences pour les systèmes électriques/électroniques/électroniques programmables relatifs à la sécurité. IEC 61508-3:2010 Sécurité fonctionnelle des systèmes électriques/électroniques/ électroniques programmables relatifs à la sécurité : exigences concernant les logiciels. IEC 61784-3:2016 Réseaux de communication industriels - Profils - Partie 3 : Bus de terrain de sécurité fonctionnelle - Règles générales et définitions de profils. 2006/42/EC Directive Machines 2014/30/EU Directive sur la compatibilité électromagnétique 2014/35/EU Directive sur les basses tensions De plus, des termes peuvent être utilisés dans le présent document car ils proviennent d'autres normes telles que : Norme Description Série IEC 60034 Machines électriques rotatives Série IEC 61800 Entraînements électriques de puissance à vitesse variable Série IEC 61158 Communications numériques pour les systèmes de mesure et de commande – Bus de terrain utilisés dans les systèmes de commande industriels Enfin, le terme zone de fonctionnement utilisé dans le contexte de la description de dangers spécifiques a la même signification que les termes zone dangereuse ou zone de danger employés dans la directive Machines (2006/42/EC) et la norme ISO 12100:2010. NOTE: Les normes susmentionnées peuvent s'appliquer ou pas aux produits cités dans la présente documentation. Pour plus d'informations sur chacune des normes applicables aux produits décrits dans le présent document, consultez les tableaux de caractéristiques de ces références de produit. 10 EIO0000003917.02 Introduction Machine Advisor Code Analysis Introduction Informations générales sur le portail EcoStruxure Machine Advisor Code Analysis Présentation EcoStruxure Machine Advisor Code Analysis est basé sur le logiciel Machine Code Analysis intégré dans EcoStruxure Machine Expert Logic Builder. Ce plug-in est utilisé pour analyser des projets en se focalisant sur la qualité du code source. Voir Machine Code Analysis (voir EcoStruxure Machine Expert, Machine Code Analysis, User Guide). EcoStruxure Machine Advisor Code Analysis est un portail Internet qui permet : • D'envoyer au portail des snapshots d'un projet (uniquement les données d'analyse créées avec Machine Code Analysis). The snapshots that are uploaded to EcoStruxure Machine Advisor Code Analysis do not contain source code. They only contain names of objects, methods, variables, and so on, and information on the relationship between them (call, read, define). • D'obtenir une vue d'ensemble de la tendance de développement du code source de vos projets, via la comparaison de plusieurs snapshots. • De limiter l'accès des utilisateurs à des fonctionnalités spécifiques, via différents droits d'utilisateur, page 50. Portail EcoStruxure Machine Advisor Code Analysis Ce portail est utilisé par les gestionnaires de projet, les responsables qualité et les développeurs : • Pour disposer d'une boucle qualité fermée (mesure, vérification et amélioration en continu de la qualité du code source). • Pour mesurer et vérifier l'évolution d'indicateurs de projet pertinents dans le temps. • Pour surveiller tout l'historique des mesures d'indicateurs de qualité dans les projets. • Pour obtenir rapidement des informations de haut niveau à l'aide de tableaux de bord pour : • ◦ Snapshots individuels. ◦ Ensemble d'un projet. ◦ Comparaison entre projets. Pour explorer le code jusqu'au niveau des POU afin d'identifier la cause de tendances négatives. Navigateurs pris en charge Vous pouvez utiliser les navigateurs compatibles avec HTML5/CSS3. Par exemple : • Mozilla Firefox • Google Chrome NOTE: Assurez-vous de toujours utiliser la version la plus récente disponible de votre navigateur. EIO0000003917.02 11 Machine Advisor Code Analysis Introduction Composantes du portail EcoStruxure Machine Advisor Code Analysis Présentation Vous pouvez utiliser EcoStruxure Machine Advisor Code Analysis dans votre plan de gestion du cycle de vie de vos applications (ALM) pour vérifier et améliorer la qualité du code tout au long du processus de développement. L'illustration suivante donne un aperçu des composantes utilisées par le portail EcoStruxure Machine Advisor Code Analysis : • EcoStruxure Machine Expert Logic Builder Pour analyser des projets individuels et créer des snapshots à partir des données d'analyse obtenues. • EcoStruxure Machine Advisor Code Analysis Pour créer des tableaux de bord et des tendances permettant de visualiser les tendances de développement du code source représentées par des indicateurs clés de performance (KPI). • CI-System (Continuous Integration System) Pour utiliser un système d'intégration continue comme moyen supplémentaire d'envoi de snapshots au portail, par exemple via des scripts Python. 12 EIO0000003917.02 ACCUEIL Machine Advisor Code Analysis ACCUEIL ACCUEIL Présentation Cliquez sur ACCUEIL pour ouvrir cette fenêtre. Cette fenêtre s'affiche également après la connexion au portail EcoStruxure Machine Advisor Code Analysis. La fenêtre ACCUEIL se présente comme suit : • Tendance sur 8 semaines : Complexité cyclomatique (moyenne) Graphique à courbes indiquant les valeurs de la métrique Complexité cyclomatique (moyenne) au cours des huit dernières semaines pour les projets sélectionnés. • Aperçu inter-projets Based on the projects you are assigned to the most relevant figures are displayed. Tendance sur 8 semaines : Complexité cyclomatique (moyenne) Elément Description Projets d'analyse sélectionnés Sélectionnez les projets que vous souhaitez afficher dans la vue Aperçu inter-projets. Par défaut, trois projets au maximum sont sélectionnés. Vous ne pouvez sélectionner un projet que s'il vous est affecté. Graphique à courbes Ce graphique indique les valeurs de la métrique Complexité cyclomatique (moyenne) au cours des huit dernières semaines pour les projets sélectionnés. Une légende précise les noms des projets sélectionnés et les couleurs correspondantes dans le graphique. Les courbes affichées dans le graphique fournissent des informations supplémentaires via des infobulles. Aperçu inter-projets Based on the projects you are assigned to the most relevant figures are displayed. Filter and navigation toolbar Element Description Filter Enter text to filter the table entries. Items Per Page Select a number from the list to define how many items are displayed per page. 1 - xx/zzz xx = Number of items per page zzz = Total number of items |< Go to the first page. < Go back one page. > Go forward one page. >| Go to the last page. Refresh Refresh view. Un tableau affiche les informations suivantes : EIO0000003917.02 13 Machine Advisor Code Analysis ACCUEIL Colonne Description Nom du projet Noms des projets auxquels vous êtes affecté. Cliquez sur une entrée de cette colonne pour ouvrir la fenêtre <Projet> - Snapshot - Vue d'ensemble correspondante, page 15. Etat d'activité Etat d'activité du projet : • Activité soutenue (téléchargements continus) • Activité faible (téléchargements irréguliers) • Aucune activité Une icône Actualiser dans cette colonne indique que des snapshots sont en cours d'analyse. Cliquez sur une entrée de cette colonne pour ouvrir la fenêtre <Projet> - Snapshot - Vue d'ensemble correspondante, page 15. Lignes de code (somme) Valeur de la métrique Lignes de code avec le type d'agrégation Somme pour le plus récent snapshot. Cliquez sur une entrée de cette colonne pour ouvrir la fenêtre <Projet> - Tableau des mesures correspondante, page 17. Complexité cyclomatique (moyenne) Valeur de la métrique Complexité cyclomatique avec le type d'agrégation Moyenne pour le plus récent snapshot. L'orientation et la couleur d'une flèche apparaissant sous la valeur indiquent la tendance d'évolution de la métrique calculée : • Flèche vers le bas verte : nombre décroissant de violations de code. • Flèche vers le haut rouge : nombre croissant de violations de code. Cliquez sur une entrée de cette colonne pour ouvrir la fenêtre <Projet> - Tableau de bord des mesures correspondante, page 17. Violations (somme) Valeur de la métrique Violations avec le type d'agrégation Somme. L'orientation et la couleur d'une flèche apparaissant sous la valeur indiquent la tendance d'évolution de la métrique calculée : • Flèche vers le bas verte : nombre décroissant de violations de code. • Flèche vers le haut rouge : nombre croissant de violations de code. Cliquez sur une entrée de cette colonne pour ouvrir la fenêtre <Projet> - Tableau des conventions correspondante, page 18. Dernier envoi de snapshot Date du dernier snapshot envoyé. Cliquez sur une entrée de cette colonne pour ouvrir la fenêtre <Projet> - Snapshot - Vue d'ensemble correspondante, page 15. Cliquez sur un titre de colonne pour trier le tableau selon cette colonne. 14 EIO0000003917.02 SNAPSHOTS DE PROJET Machine Advisor Code Analysis SNAPSHOTS DE PROJET VUE D'ENSEMBLE Présentation Cliquez sur SNAPSHOTS DE PROJET > <PROJET> > VUE D'ENSEMBLE pour ouvrir cette fenêtre. La fenêtre VUE D'ENSEMBLE se présente comme suit : • Sélection de snapshot Snapshot sélectionné dont les données sont affichées dans la vue <Projet> - Vue d'ensemble du snapshot. Le snapshot le plus récent est sélectionné par défaut. • <Projet> - Vue d'ensemble du snapshot Based on the selected snapshot, a snapshot overview is displayed. Sélection de snapshot Element Description Selected Snapshot Select a snapshot from the list. The list provides the name, the version (if available), and the analysis date for the snapshot. <Projet> - Vue d'ensemble du snapshot Based on the selected snapshot, a snapshot overview is displayed. EIO0000003917.02 Elément Description Lignes de code Nombre total de lignes de code pour tous les objets du snapshot. Halstead Difficulté maximum Objet présentant la plus grande valeur Halstead Difficulté dans le snapshot. Complexité cyclomatique maximum Objet présentant la plus grande valeur Complexité cyclomatique dans le snapshot. Nombre d'objets Nombre d'objets dans le snapshot. Halstead Difficulté moyenne Valeur moyenne de Halstead Difficulté pour tous les objets du snapshot. Complexité cyclomatique moyenne Valeur moyenne de Complexité cyclomatique pour tous les objets du snapshot. Changelog Commente les modifications de code source qui ont été effectuées. Ce commentaire est entré dans la fenêtre, page 38 ADMINISTRATION > <PROJET> > SNAPSHOTS ou a fait partie du snapshot envoyé. 15 Machine Advisor Code Analysis SNAPSHOTS DE PROJET Elément Description Remarques Les remarques sont entrées dans la fenêtre, page 38 ADMINISTRATION > <PROJET> > SNAPSHOTS. Bouton SVN-CHANGELOG Lance l'outil Tortoise SVN (s'il est installé). Cet outil fournit une liste des modifications effectuées entre la révision associée au snapshot sélectionné et le dernier snapshot analysé (fenêtre, page 38 ADMINISTRATION > <PROJET> > <SNAPSHOT> > Modifier Snapshot > Snapshot - Détails). Pour consulter le détail des modifications, il est recommandé d'installer Logic Builder Diff Viewer (voir EcoStruxure Machine Expert Logic Builder Diff Viewer, User Guide). Conditions préalables à l'utilisation du bouton SVN-CHANGELOG : • Un URI Base de contrôle de version est défini pour le projet (fenêtre, page 47 ADMINISTRATION > TOUS LES PROJETS DE LA SOCIETE > <Projet d'analyse> Détails). • Un Révision dans contrôle source est défini pour le snapshot (fenêtre, page 38 ADMINISTRATION > <PROJET> > <SNAPSHOT> > Modifier snapshot > Snapshot - Détails). Les données concernant les Objets modifiés, les Nouveaux objets et les Objets supprimés résultent d'une comparaison avec le snapshot analysé en dernier. Chaque section (Objets modifiés, Nouveaux objets, Objets supprimés) propose une barre d'outils de filtrage et de navigation. Filter and navigation toolbar Element Description Filter Enter text to filter the table entries. Items Per Page Select a number from the list to define how many items are displayed per page. 1 - xx/zzz xx = Number of items per page zzz = Total number of items |< Go to the first page. < Go back one page. > Go forward one page. >| Go to the last page. Un tableau fournit les informations suivantes concernant les objets modifiés, nouveaux et supprimés. Colonne Description Type Type d'objet (par exemple, variable). Nom Nom d'objet. Chemin Chemin du dossier contenant l'objet concerné. Cliquez sur un titre de colonne pour trier le tableau selon cette colonne. Cliquez sur une entrée du tableau pour ouvrir la vue détaillée correspondante telle qu'elle est affichée dans la fenêtre, page 19 SNAPSHOTS DE PROJET > <PROJET> > VUE DETAILLEE. Cliquez sur le bouton d'agrandissement (loupe) à droite d'une entrée de tableau pour ouvrir Logic Builder Diff Viewer (voir EcoStruxure Machine Expert Logic Builder Diff Viewer, User Guide) pour l'objet correspondant. 16 EIO0000003917.02 SNAPSHOTS DE PROJET Machine Advisor Code Analysis TABLEAU DES MESURES Présentation Cliquez sur SNAPSHOTS DE PROJET > <PROJET> > TABLEAU DES MESURES pour ouvrir cette fenêtre. La fenêtre TABLEAU DES MESURES se présente comme suit : • Sélection de snapshots Période pour laquelle les données sont affichées dans la vue <Projet> Tableau des mesures. Par défaut, les deux derniers snapshots analysés sont sélectionnés. • Filtrage par type d'objet Permet de filtrer les données des mesures pour des types d'objet spécifiques. • <Projet> - Tableau des mesures Based on the period (selected snapshots), the applied filter, and the selected metrics the most relevant figures and nodes are displayed. Sélection de snapshots Element Description Start Select a start snapshot from the list. The list provides the name, the version (if available), and the analysis date of the snapshots. The differences between the Start snapshot and the End snapshot are displayed on the dashboard. End Select an end snapshot from the list. Slider Alternatively you can use a slider to define the start snapshot and end snapshot. Filtrage par type d'objet Vous pouvez filtrer le contenu de la vue <Projet> - Tableau des mesures en fonction de types d'objet. Par défaut, aucune case de type d'objet n'est cochée et les données sont affichées pour tous les types d'objet. Cochez une case pour limiter les données affichées à ce type d'objet. Vous pouvez cocher plusieurs cases. <Projet> - Tableau des mesures Based on the period (selected snapshots), the applied filter, and the selected metrics the most relevant figures and nodes are displayed. Pour Métrique 1, la sélection par défaut est Lignes de code. Pour Métrique 2, la sélection par défaut est Halstead Difficulté. Le tableau suivant est valide pour Métrique 1 et Métrique 2. Elément Description Métrique 1 Sélectionnez une mesure dans la liste. Cliquez sur l'icône Afficher la description en regard de la liste Métrique 1 pour afficher une description de la métrique sélectionnée. Somme <Métrique 1> / Max <Métrique 1> Moyenne <Métrique 1> EIO0000003917.02 Somme de Métrique 1 pour le plus récent snapshot de la période sélectionnée. Si la Somme n'est pas prise en charge comme type d'agrégation pour Métrique 1, la valeur maximum est affichée. Moyenne de Métrique 1 sur les objets des snapshots de la période sélectionnée. 17 Machine Advisor Code Analysis SNAPSHOTS DE PROJET Elément Description Somme <Métrique 1> Tendance / Différence de Métrique 1 entre le premier snapshot et le dernier snapshot au sein de la période sélectionnée. Max <Métrique 1> Tendance Moyenne <Métrique 1> Tendance Moyenne de Métrique 1 sur les objets du premier snapshot et du dernier snapshot Flèche en regard d'une valeur L'orientation et la couleur d'une flèche indiquent la tendance d'évolution de la mesure calculée : • Flèche vers le bas verte : nombre décroissant de violations de code. • Flèche vers le haut rouge : nombre croissant de violations de code. Aucune tendance n'est affectée à la métrique Lignes de code. Graphique à barres Top 5 Valeurs actuelles Affiche les 5 objets qui présentent la plus grande valeur de Métrique 1. Cliquez sur une barre dans le graphique pour ouvrir la fenêtre <Projet> - Snapshot -Détails correspondante, page 19. Graphique à barres Tendance Top 5 Changements relatifs Compare le snapshot le plus ancien et le plus récent et affiche les cinq objets qui diffèrent le plus entre les deux. Cliquez sur une barre dans le graphique pour ouvrir la fenêtre <Projet> - Snapshot -Détails correspondante, page 19. The objects displayed in a bar chart provide additional information via tooltip. TABLEAU DES CONVENTIONS Présentation Cliquez sur SNAPSHOTS DE PROJET > <PROJET> > TABLEAU DES CONVENTIONS pour ouvrir cette fenêtre. La fenêtre TABLEAU DES CONVENTIONS se présente comme suit : • Sélection de snapshots Période pour laquelle les données sont affichées dans la vue <Projet> Tableau des conventions. Par défaut, les deux derniers snapshots analysés sont sélectionnés. • Filtrage par type d'objet Permet de filtrer les données des conventions pour des types d'objet spécifiques. • <Projet> - Tableau des conventions Based on the period (selected snapshots), the applied filter, and the selected conventions the most relevant figures and nodes are displayed. Sélection de snapshots Element Description Start Select a start snapshot from the list. The list provides the name, the version (if available), and the analysis date of the snapshots. The differences between the Start snapshot and the End snapshot are displayed on the dashboard. 18 End Select an end snapshot from the list. Slider Alternatively you can use a slider to define the start snapshot and end snapshot. EIO0000003917.02 SNAPSHOTS DE PROJET Machine Advisor Code Analysis Filtrage par type d'objet Vous pouvez filtrer le contenu de la vue <Projet> - Tableau des conventions en fonction de types d'objet. Par défaut, aucune case de type d'objet n'est cochée et les données sont affichées pour tous les types d'objet. Cochez une case pour limiter les données affichées à ce type d'objet. Vous pouvez cocher plusieurs cases. <Projet> - Tableau des conventions Based on the period (selected snapshots), the applied filter, and the selected conventions the most relevant figures and nodes are displayed. Elément Description Violations Total Nombre total de violations. Nombre d'erreurs Nombre de violations de gravité Erreur. Nombre d'avertissements Nombre de violations de gravité Avertissement. Nombre d'informations Nombre de violations de gravité Information. Total des violations Tendance Différence du nombre total de violations entre le snapshot le plus ancien et le snapshot le plus récent au sein de la période sélectionnée. Nombre d'erreurs Tendance Moyenne des violations de gravité Erreur sur les objets du premier snapshot et du dernier snapshot. Nombre d'avertissements Tendance Moyenne des violations de gravité Conseil sur les objets du premier snapshot et du dernier snapshot Nombre d'informations Tendance Moyenne des violations de gravité Information sur les objets du premier snapshot et du dernier snapshot Flèche en regard d'une valeur L'orientation et la couleur d'une flèche indiquent la tendance d'évolution des violations de conventions : Graphique à barres Top 5 violations • Flèche vers le bas verte : nombre décroissant de violations. • Flèche vers le haut rouge : nombre croissant de violations. Affiche les cinq objets présentant le plus grand nombre de violations. Cliquez sur une barre dans le graphique pour ouvrir la fenêtre <Projet> - Snapshot -Détails correspondante, page 19. Graphique à barres Top 5 violations - Tendance Compare le snapshot le plus ancien et le plus récent et affiche les cinq objets qui diffèrent le plus entre les deux. NOTE: Même si une méthode (par exemple) est affichée dans le graphique à barres, la violation détectée peut se trouver dans une variable de cette méthode. Cliquez sur une barre dans le graphique pour ouvrir la fenêtre <Projet> - Snapshot -Détails correspondante, page 19. The objects displayed in a bar chart provide additional information via tooltip. VUE DETAILLEE Présentation Cliquez sur SNAPSHOTS DE PROJET > <PROJET> > VUE DETAILLEE pour ouvrir cette fenêtre. La fenêtre VUE DETAILLEE se présente comme suit : • Sélection de snapshot Snapshot sélectionné dont les données sont affichées dans la vue <Projet> - Snapshot - Vue d'ensemble. Le snapshot le plus récent est sélectionné par défaut. • EIO0000003917.02 Dossiers/Groupes 19 Machine Advisor Code Analysis SNAPSHOTS DE PROJET Allows you to filter the metrics data according to folders/groups provided by your analysis project. The Groups tab is only displayed if groups are defined in your analysis project. Consultez également le chapitre Vue de dépendance (groupes) du document Machine Code Analysis - Guide utilisateur (voir EcoStruxure Machine Expert, Machine Code Analysis, Guide de l'utilisateur). • Filtrage par type d'objet Permet de filtrer les données des mesures pour des types d'objet spécifiques. • Afficher tendance pour Période pour laquelle les tendances sont affichée dans la vue <Projet> Snapshot -Détails (affichée uniquement si vous sélectionnez un seul objet dans la carte thermique et qu'il n'est pas un dossier ou un groupe dans votre projet d'analyse). • <Projet> - Snapshot - Details Based on the selected snapshot, the selected folders/groups, and the applied filter metrics data is displayed. Additionally you can apply further filter criteria in this view and explore your metric data down to the point of a single object, for example, a function block. Sélection de snapshot Element Description Selected Snapshot Select a snapshot from the list. The list provides the name, the version (if available), and the analysis date for the snapshot. Dossiers/groupes Allows you to filter the metrics data according to folders/groups provided by your analysis project. The Groups tab is only displayed if groups are defined in your analysis project. Ce filtre est associé à la case à cocher Sous-dossiers des dossiers sélectionnés/Sous-dossiers des groupes sélectionnés dans la vue <Projet> Snapshot - Détails, sous Afficher les métriques filtrées par. La sélection par défaut est FB/PRG/FC/ITF/GVL/DUT. Filtrage par type d'objet Vous pouvez filtrer le contenu de la vue <Projet> - Snapshot - Détails en fonction de types d'objet. Par défaut, aucune case de type d'objet n'est cochée et les données sont affichées pour tous les types d'objet de la liste. Cochez une case pour limiter les données affichées à ce type d'objet. Vous pouvez cocher plusieurs cases. <Projet> - Snapshot - Détails Based on the selected snapshot, the selected folders/groups, and the applied filter metrics data is displayed. Additionally you can apply further filter criteria in this view and explore your metric data down to the point of a single object, for example, a function block. • La partie supérieure de cette vue (depuis Mesure d'impact (taille) jusqu'à la carte thermique) reste affichée en permanence. • La partie inférieure de la vue (depuis Mesure d'impact - Tendance jusqu'à une liste de valeurs détaillées) s'affiche uniquement si vous sélectionnez dans la carte thermique un seul objet qui n'est pas un dossier ou un groupe dans votre projet d'analyse, par exemple un bloc fonction. Partie supérieure de la vue <Projet> - Snapshot - Détails: 20 EIO0000003917.02 SNAPSHOTS DE PROJET Machine Advisor Code Analysis Elément Description Mesure d'impact (taille) La sélection par défaut est Lignes de code avec le type d'agrégation Somme. Cette valeur est associée à la taille du rectangle correspondant dans la carte thermique. (Plus la valeur de la mesure est élevée pour un objet, plus la taille du rectangle est importante). Mesure de qualité (couleur) La sélection par défaut est Halstead Difficulté avec le type d'agrégation Max. Cette valeur est associée à la couleur du rectangle correspondant dans la carte thermique. La plage de couleurs va du vert (bonne qualité) au rouge (mauvaise qualité). Type d'agrégation Select an aggregation type (Max, Sum, Average). Which aggregation types can be selected depends on the metric. Only the available combinations are displayed. For example, for Halstead Difficulty only Max and Average are displayed as Sum is not available for Halstead Difficulty. Afficher les métriques filtrées par • Sous-dossiers des dossiers sélectionnés/Sous-dossiers des groupes sélectionnés Activez cette case à cocher pour organiser les rectangles hiérarchiquement dans la carte thermique en fonction des dossiers/groupes figurant dans votre projet d'analyse. • FB/PRG/FC/ITF/GVL/DUT Cette case à cocher est activée par défaut. Tous les objets situés dans les dossiers (groupes) et les sous-dossiers (sous-groupes) du dossier (groupe) sélectionné à gauche sont affichés. Carte thermique La partie supérieure de la carte thermique propose une navigation par fil d'Ariane. Cliquez sur un dossier/groupe pour afficher ses sous-noeuds (sous-dossiers, sous-groupes, objets). Cliquez sur un objet (FB/PRG/FC/ITF/GVL/DUT) pour afficher les actions, méthodes etc. associées. The objects displayed in a heatmap provide additional information via tooltip. Partie inférieure de la vue <Projet> - Snapshot - Détails: EIO0000003917.02 Elément Description Afficher tendance pour Sélectionnez la période pour laquelle vous souhaitez afficher Mesure d'impact - Tendance et Impact/qualité - Tendance. Mesure d'impact - Tendance Graphique en courbe indiquant la tendance d'évolution de la Mesure d'impact (taille). Impact/qualité - Tendance Graphique en courbe indiquant la tendance d'évolution de la Mesure de qualité (couleur). 21 Machine Advisor Code Analysis SNAPSHOTS DE PROJET Elément Description Informations détaillées Détails concernant l'objet sélectionné. Pour un bloc fonction, par exemple, les données suivantes sont indiquées : • <Nom> Nom de l'objet sélectionné. Tableau des violations de conventions • Nombre d'appels entrants • Nombre d'appels sortants • Lignes de code • Nombre de variables. • Nombre de lectures. • Nombre d'écritures Ce tableau offre une barre d'outils de filtrage et de navigation. Le tableau fournit les informations suivantes : • Type de convention Nom du groupe de la chaîne de requête. • Convention Violation de convention. • Nom de l'objet Nom de l'objet concerné, par exemple un nom de variable. Cliquez sur un titre de colonne pour trier le tableau selon cette colonne. METRIQUES - ARCHIVAGE & EXPORT Présentation Cliquez sur SNAPSHOTS DE PROJET > <PROJET> > METRIQUES ARCHIVAGE & EXPORT pour ouvrir cette fenêtre. La fenêtre METRIQUES - ARCHIVAGE & EXPORT se présente comme suit : • Sélection de snapshot Snapshot sélectionné dont les données sont affichées dans la vue <Projet> - Métriques - Archivage & export. Le snapshot le plus récent est sélectionné par défaut. • Métriques Métriques dont les données sont affichées dans la vue <Projet> - Métriques - Archivage & export. • <Projet> - Métriques - Archivage & export Based on the selected snapshot and the selected metrics, metrics data is displayed and can be exported. Sélection de snapshot Element Description Selected Snapshot Select a snapshot from the list. The list provides the name, the version (if available), and the analysis date for the snapshot. Métriques Sélectionnez les métriques que vous souhaitez afficher dans la vue <Projet> Métriques - Archivage & export. Par défaut, toutes les métriques sont sélectionnées. 22 EIO0000003917.02 SNAPSHOTS DE PROJET Machine Advisor Code Analysis Activez/désactivez la case à cocher en haut de la liste pour sélectionner/ désélectionner toutes les métriques à la fois. Si vous activez une métrique, une nouvelle colonne est ajoutée à droite du tableau <Projet> - Métriques - Archivage & export. <Projet> - Métriques - Archivage & export Based on the selected snapshot and the selected metrics, metrics data is displayed and can be exported. Filter and navigation toolbar Element Description Filter Enter text to filter the table entries. The filter is only applied to the table but not to export itself. Items Per Page Select a number from the list to define how many items are displayed per page. 1 - xx/zzz xx = Number of items per page zzz = Total number of items |< Go to the first page. < Go back one page. > Go forward one page. >| Go to the last page. Refresh Refresh view. Tableau des mesures Colonne Description Type Type d'objet (action, méthode, fonction). Nom Nom d'objet. <Métrique> Métriques telles que sélectionnées dans la partie gauche de la fenêtre. Si cette colonne contient un nombre, celui-ci indique le nombre de résultats créés par cette métrique. Si aucune valeur n'apparaît, la requête n'a pas été exécutée. Chemin Chemin du dossier contenant l'objet concerné. Cliquez sur un titre de colonne pour trier le tableau selon cette colonne. Cliquez sur le bouton EXPORT pour exporter les données des mesures. Une boîte de dialogue vous propose d'ouvrir ou d'enregistrer les données de mesure en tant que fichier Excel. The exported Excel file provides two worksheets: • • EIO0000003917.02 The Overview worksheet provides the following information: ◦ Analysis project ◦ Export time ◦ Snapshot name ◦ Snapshot upload time ◦ Snapshot creation date The Data worksheet provides the data as displayed in the table. 23 Machine Advisor Code Analysis SNAPSHOTS DE PROJET CONVENTIONS - ARCHIVAGE & EXPORT Présentation Cliquez sur SNAPSHOTS DE PROJET > <PROJET> > CONVENTIONS ARCHIVAGE & EXPORT pour ouvrir cette fenêtre. La fenêtre CONVENTIONS - ARCHIVAGE & EXPORT se présente comme suit : • Sélection de snapshot Snapshot sélectionné dont les données sont affichées dans la vue <Projet> - Conventions - Archivage & Export. Le snapshot le plus récent est sélectionné par défaut. • Conventions Groupes de conventions dont les données sont affichées dans la vue <Projet> - Conventions - Archivage & Export. • <Projet> - Conventions - Archivage & Export Based on the selected snapshot, convention violations are displayed and can be exported. Sélection de snapshot Element Description Selected Snapshot Select a snapshot from the list. The list provides the name, the version (if available), and the analysis date for the snapshot. <Projet> - Conventions - Archivage & Export Based on the selected snapshot, convention violations are displayed and can be exported. Filter and navigation toolbar Element Description Filter Enter text to filter the table entries. The filter is only applied to the table but not to export itself. Items Per Page Select a number from the list to define how many items are displayed per page. 1 - xx/zzz xx = Number of items per page zzz = Total number of items |< Go to the first page. < Go back one page. > Go forward one page. >| Go to the last page. Refresh Refresh view. Tableau des conventions 24 Colonne Description Type Type d'objet (par exemple, variable). Nom Nom d'objet. Convention Conventions utilisées dans le snapshot. Pondération Gravité de la violation de code (Information ou Avertissement). Message Informations détaillées sur la violation de code. EIO0000003917.02 SNAPSHOTS DE PROJET Machine Advisor Code Analysis Colonne Description Chemin Chemin du dossier contenant l'objet concerné. Cliquez sur un titre de colonne pour trier le tableau selon cette colonne. Cliquez sur le bouton EXPORT pour exporter les violations de convention. Une boîte de dialogue vous propose d'ouvrir ou d'enregistrer les données concernant les conventions en tant que fichier Excel. The exported Excel file provides two worksheets: • • The Overview worksheet provides the following information: ◦ Analysis project ◦ Export time ◦ Snapshot name ◦ Snapshot upload time ◦ Snapshot creation date The Data worksheet provides the data as displayed in the table. TOUS MES PROJETS Présentation Pour ouvrir cette fenêtre, cliquez sur : • SNAPSHOTS DE PROJET > TOUS MES PROJETS ou • TENDANCES DE PROJET > TOUS MES PROJETS ou • ADMINISTRATION > TOUS MES PROJETS La fenêtre TOUS MES PROJETS répertorie vos projets et fournit des liens vers les différentes fenêtres. Snapshots de projet • Fenêtre, page 15 > Vue d'ensemble • Fenêtre, page 17 > Tableau des mesures • Fenêtre, page 18 > Tableau des conventions • Fenêtre, page 19 > Vue détaillée • Fenêtre, page 22 > Métriques - Archivage & export • Fenêtre, page 24 > Conventions - Archivage & export • Fenêtre, page 26 > Tableau de bord • Fenêtre, page 27 > Vue détaillée • Fenêtre, page 28 > Métriques - Archivage & export Tendances de projet Administration EIO0000003917.02 • Fenêtre, page 38 > Snapshots • Fenêtre, page 40 > Tâches de traitement • Fenêtre, page 41 > Jeu de règles • Fenêtre, page 43 > Phases de développement • Fenêtre, page 44 > Jetons d'accès 25 Machine Advisor Code Analysis TENDANCES DE PROJET TENDANCES DE PROJET TABLEAU DE BORD Présentation Cliquez sur TENDANCES DE PROJET > <PROJET> > TABLEAU DE BORD pour ouvrir cette fenêtre. La fenêtre TABLEAU DE BORD se présente comme suit : • Sélection de snapshots Période pour laquelle les données sont affichées dans la vue <Projet> Tableau des tendances. Par défaut, les deux derniers snapshots analysés sont sélectionnés. • <Projet> - Tableau de bord des tendances Based on the period (selected snapshots), the metrics are displayed with their development trend. Sélection de snapshots Element Description Start Select a start snapshot from the list. The list provides the name, the version (if available), and the analysis date of the snapshots. The differences between the Start snapshot and the End snapshot are displayed on the dashboard. End Select an end snapshot from the list. Slider Alternatively you can use a slider to define the start snapshot and end snapshot. <Projet> - Tableau de bord des tendances Based on the period (selected snapshots), the metrics are displayed with their development trend. The bar chart displays the development trends of the metrics as percentage values. The bar chart provides one bar per combination of metric and aggregation type (Max, Sum, Average). Only the available combinations are displayed. For example, for Halstead Difficulty only Max and Average are displayed as Sum is not available for Halstead Difficulty. Depending on the trend, the bars are colored: • Green: Positive development trend. • Red: Negative development trend. • Blue: Neutral development trend. (Cannot be rated as positive or negative, for example, the Lines of Code value). Whether a development trend is considered as positive, negative, or neutral depends on the metric. Cliquez sur une barre dans le graphique pour ouvrir la fenêtre <Projet> - Tableau détaillé des tendances correspondante, page 27. The objects displayed in a bar chart provide additional information via tooltip. 26 EIO0000003917.02 TENDANCES DE PROJET Machine Advisor Code Analysis VUE DETAILLEE Présentation Cliquez sur TENDANCES DE PROJET > <PROJET> > VUE DETAILLEE pour ouvrir cette fenêtre. La fenêtre VUE DETAILLEE se présente comme suit : • Sélection de snapshots Période pour laquelle les données sont affichées dans la vue <Projet> Tableau détaillé des tendances. Par défaut, les deux derniers snapshots analysés sont sélectionnés. • Métriques Mesures pour lesquelles les données sont affichées dans la vue <Projet> Tableau détaillé des tendances. • <Projet> - Tableau détaillé des tendances Based on the period (selected snapshots) and the selected metrics the metrics are displayed with their detailed development trend. Sélection de snapshots Element Description Start Select a start snapshot from the list. The list provides the name, the version (if available), and the analysis date of the snapshots. The differences between the Start snapshot and the End snapshot are displayed on the dashboard. End Select an end snapshot from the list. Slider Alternatively you can use a slider to define the start snapshot and end snapshot. Métriques Vous pouvez sélectionner jusqu'à trois métriques afficher dans la vue <Projet> Tableau détaillé des tendances. La sélection par défaut est Lignes de code avec le type d'agrégation Somme. Elément Description Nom de métrique Sélectionnez une mesure dans la liste. Type d'agrégation Select an aggregation type (Max, Sum, Average). Which aggregation types can be selected depends on the metric. Bouton AJOUTER METRIQUE Cliquez sur ce bouton pour ajouter une mesure. Trois mesures au maximum peuvent être affichées. Bouton SUPPRIMER (signe moins) Cliquez sur ce bouton pour supprimer la mesure correspondante. Au moins une mesure doit être présente par défaut. <Projet> - Tableau détaillé des tendances Based on the period (selected snapshots) and the selected metrics the metrics are displayed with their detailed development trend. EIO0000003917.02 27 Machine Advisor Code Analysis TENDANCES DE PROJET Elément Description Tendance métrique Ce graphique à courbes indique dans le temps les valeurs totales des métriques sélectionnées. L'axe X affiche les snapshots sélectionnés. Pour chaque mesure sélectionnée, un axe Y (avec échelle et couleur différentes) est affiché. The objects displayed in a line chart provide additional information via tooltip. Afficher taux de croissance par Ces graphiques à courbes indiquent l'évolution dans le temps des mesures sélectionnées. Une courbe est affichée pour chaque mesure sélectionnée. Le taux d'évolution peut être affiché par : • Snapshot • Jour Moyenne de tous les snapshots par jour. • Semaine Moyenne de tous les snapshots par semaine. • Mois Moyenne de tous les snapshots par mois. Ce réglage s'applique à toutes les courbes d'évolution. The objects displayed in a line chart provide additional information via tooltip. Graphique à barres Modifications majeures par <nom métrique> Ces graphiques à barres représentent les cinq objets présentant la plus grande valeur. Pour ce faire, une comparaison est effectuée entre le snapshot le plus ancien et le snapshot le plus récent. Une barre est affichée pour chaque mesure sélectionnée. Depending on the trend, the bars are colored: • Green: Positive development trend. • Red: Negative development trend. • Blue: Neutral development trend. (Cannot be rated as positive or negative, for example, the Lines of Code value). Whether a development trend is considered as positive, negative, or neutral depends on the metric. Cliquez sur une barre dans le graphique pour ouvrir la fenêtre <Projet> - Snapshot -Détails correspondante, page 19. The objects displayed in a bar chart provide additional information via tooltip. METRIQUES - ARCHIVAGE & EXPORT Présentation Cliquez sur TENDANCES DE PROJET > <PROJET> > METRIQUES ARCHIVAGE & EXPORT pour ouvrir cette fenêtre. La fenêtre METRIQUES - ARCHIVAGE & EXPORT se présente comme suit : • Sélection de snapshots Période pour laquelle les données sont affichées dans la vue <Projet> Tendances - Archivage & export. Par défaut, les deux derniers snapshots analysés sont sélectionnés. • Métriques Métriques dont les données sont affichées dans la vue <Projet> - Tendances - Archivage & export. • <Projet> - Tendances - Archivage & export Based on the period (selected snapshots) and the selected metrics, metrics data is displayed and can be exported. 28 EIO0000003917.02 TENDANCES DE PROJET Machine Advisor Code Analysis Sélection de snapshots Element Description Start Select a start snapshot from the list. The list provides the name, the version (if available), and the analysis date of the snapshots. The differences between the Start snapshot and the End snapshot are displayed on the dashboard. End Select an end snapshot from the list. Slider Alternatively you can use a slider to define the start snapshot and end snapshot. Métriques Sélectionnez les métriques que vous souhaitez afficher dans la vue <Projet> Tendances - Archivage & export. Par défaut, toutes les métriques sont sélectionnées. Activez/désactivez la case à cocher en haut de la liste pour sélectionner/ désélectionner toutes les métriques à la fois. Si vous activez une métrique, une nouvelle colonne est ajoutée à droite du tableau <Projet> - Tendances - Archivage & export. Pour chaque métrique, le tableau affiche la valeur ancienne (snapshot de fin), la valeur nouvelle (snapshot de départ) et la valeur delta. <Projet> - Tendances - Archivage & export Based on the period (selected snapshots) and the selected metrics, metrics data is displayed and can be exported. Filter and navigation toolbar Element Description Filter Enter text to filter the table entries. The filter is only applied to the table but not to export itself. Items Per Page Select a number from the list to define how many items are displayed per page. 1 - xx/zzz xx = Number of items per page zzz = Total number of items |< Go to the first page. < Go back one page. > Go forward one page. >| Go to the last page. Refresh Refresh view. Tableau des mesures EIO0000003917.02 Colonne Description Type Type d'objet (action, méthode, fonction). Nom Nom d'objet. • <Métrique> ancien • <Métrique> nouveau • <Métrique> - delta • Valeur du snapshot de Fin. Si cette colonne contient un nombre, celui-ci indique le nombre de résultats créés par cette métrique. Si aucune valeur n'apparaît, la requête n'a pas été exécutée. • Valeur du snapshot de Départ. 29 Machine Advisor Code Analysis TENDANCES DE PROJET Colonne Description Si cette colonne contient un nombre, celui-ci indique le nombre de résultats créés par cette métrique. Si aucune valeur n'apparaît, la requête n'a pas été exécutée. • Différence entre les valeurs de Départ et de Fin. Les métriques sont affichées en fonction de la sélection effectuée du côté gauche de la fenêtre. Chemin Chemin du dossier contenant l'objet concerné. Cliquez sur un titre de colonne pour trier le tableau selon cette colonne. Cliquez sur le bouton EXPORT pour exporter les données des mesures. Une boîte de dialogue vous propose d'ouvrir ou d'enregistrer les données de mesure en tant que fichier Excel. The exported Excel file provides two worksheets: • • The Overview worksheet provides the following information: ◦ Analysis project ◦ Export time ◦ Snapshot start name ◦ Snapshot start upload time ◦ Snapshot start creation date ◦ Snapshot end name ◦ Snapshot end upload time ◦ Snapshot end creation date The Data worksheet provides the data as displayed in the table. CONVENTIONS - ARCHIVAGE & EXPORT Présentation Cliquez sur TENDANCES DE PROJET > <PROJET> > CONVENTIONS ARCHIVAGE & EXPORT pour ouvrir cette fenêtre. La fenêtre CONVENTIONS - ARCHIVAGE & EXPORT se présente comme suit : • Sélection de snapshots Période pour laquelle les données sont affichées dans la vue <Projet> Nouvelles violations de convention - Archivage & export. Par défaut, les 30 derniers snapshots analysés sont sélectionnés. • Conventions Groupes de conventions dont les données sont affichées dans la vue <Projet> - Nouvelles violations de convention - Archivage & export. • <Projet> - Nouvelles violations de convention - Archivage & export Based on the period (selected snapshots) and the selected conventions, new convention violations are displayed and can be exported. 30 EIO0000003917.02 TENDANCES DE PROJET Machine Advisor Code Analysis Sélection de snapshots Element Description Start Select a start snapshot from the list. The list provides the name, the version (if available), and the analysis date of the snapshots. The differences between the Start snapshot and the End snapshot are displayed on the dashboard. End Select an end snapshot from the list. Slider Alternatively you can use a slider to define the start snapshot and end snapshot. Conventions Sélectionnez les conventions que vous souhaitez afficher dans la vue <Projet> Nouvelles violations de convention - Archivage & export. Par défaut, toutes les conventions sont sélectionnées. Activez/désactivez la case à cocher en haut de la liste pour sélectionner/ désélectionner toutes les conventions à la fois. Si vous activez une convention, une nouvelle ligne est ajoutée au tableau <Projet> - Nouvelles violations de convention - Archivage & export. Pour chaque convention, le tableau indique la Pondération de gravité et le Message correspondant. <Projet> - Nouvelles violations de convention - Archivage & export Based on the period (selected snapshots) and the selected conventions, new convention violations are displayed and can be exported. Filter and navigation toolbar Element Description Filter Enter text to filter the table entries. The filter is only applied to the table but not to export itself. Items Per Page Select a number from the list to define how many items are displayed per page. 1 - xx/zzz xx = Number of items per page zzz = Total number of items |< Go to the first page. < Go back one page. > Go forward one page. >| Go to the last page. Refresh Refresh view. Tableau des conventions EIO0000003917.02 Colonne Description Type Type d'objet (programme, liste de variables globales...). Nom Nom d'objet. Convention Conventions utilisées dans le snapshot. Pondération Gravité de la violation de code (Information ou Avertissement). Message Informations détaillées sur la violation de code. 31 Machine Advisor Code Analysis TENDANCES DE PROJET Colonne Description Chemin Chemin du dossier contenant l'objet concerné. Cliquez sur un titre de colonne pour trier le tableau selon cette colonne. Cliquez sur le bouton EXPORT pour exporter les nouvelles violations de convention. Une boîte de dialogue vous propose d'ouvrir ou d'enregistrer les données concernant les conventions en tant que fichier Excel. The exported Excel file provides two worksheets: • • The Overview worksheet provides the following information: ◦ Analysis project ◦ Export time ◦ Snapshot name ◦ Snapshot upload time ◦ Snapshot start creation date ◦ Snapshot base name ◦ Snapshot base upload time ◦ Snapshot base creation date The New Convention Violations worksheet provides the data as displayed in the table. TOUS MES PROJETS Présentation Voir la section TOUS MES PROJETS, page 25. 32 EIO0000003917.02 COMPARAISON DE PROJETS Machine Advisor Code Analysis COMPARAISON DE PROJETS TABLEAU DE BORD Présentation Cliquez sur COMPARAISON DE PROJETS > TABLEAU DE BORD pour ouvrir cette fenêtre. La fenêtre TABLEAU DE BORD se présente comme suit : • Projet de référence Projet auquel les Projets de comparaison sont comparés. • Projets de comparaison Projets à comparer au Projet de référence. • Filtre de comparaison Permet de spécifier si tous les objets doivent être comparés ou seulement les objets modifiés. • Vue Comparaison de projets Based on the selected reference project snapshot and the selected comparison project snapshots, the metrics are displayed with their development trend. Projet de référence Elément Description Sélectionner projet Sélectionnez dans la liste le projet auquel comparer les Projets de comparaison. Sélection de snapshot Sélectionnez un instantané (snapshot) dans la liste. Cette liste indique le nom, la version (le cas échéant) et la date d'analyse du snapshot. Elément Description Sélectionner projet Sélectionnez dans la liste un projet à comparer au Projet de référence. Sélection de snapshot Sélectionnez un instantané (snapshot) dans la liste. Cette liste indique le nom, la version (le cas échéant) et la date d'analyse du snapshot. Bouton AJOUTER PROJET Cliquez sur ce bouton pour ajouter un projet. Une ligne est ajoutée à la liste Projets de comparaison. Sélectionnez un projet et un snapshot pour le projet ajouté. Bouton SUPPRIMER (signe moins) Cliquez sur ce bouton pour supprimer le projet correspondant. Au moins un projet doit être présent par défaut. Projets de comparaison Filtre de comparaison Activez l'une des cases à cocher pour comparer tous les objets ou seulement les objets modifiés des projets. Comparaison de projets Based on the selected reference project snapshot and the selected comparison project snapshots, the metrics are displayed with their development trend. EIO0000003917.02 33 Machine Advisor Code Analysis COMPARAISON DE PROJETS The bar chart displays the development trends of the metrics as percentage values. The bar chart provides one bar per combination of metric and aggregation type (Max, Sum, Average). Les valeurs des différents snapshots de projet sont différenciées par des couleurs. The objects displayed in a bar chart provide additional information via tooltip. (Valeur de pourcentage, projet, snapshot). VUE DETAILLEE Présentation Cliquez sur COMPARAISON DE PROJETS > VUE DETAILLEE pour ouvrir cette fenêtre. La fenêtre VUE DETAILLEE se présente comme suit : • Projet de référence Projet auquel le Projet de comparaison est comparé. • Projet de comparaison Projet à comparer au Projet de référence. • Vue Comparaison de projets - Détails Based on the selected reference project snapshot and the selected comparison project snapshot, the top five metrics with their positive (Higher Metrics Top 5) and negative (Lower Metrics Top 5) development trends, and the top five objects (for a selected metric) with their positive and negative development trends are displayed. Projet de référence Elément Description Sélectionner projet Sélectionnez dans la liste le projet auquel le Projet de comparaison est comparé. Sélection de snapshot Sélectionnez un instantané (snapshot) dans la liste. Cette liste indique le nom, la version (le cas échéant) et la date d'analyse du snapshot. Elément Description Sélectionner projet Sélectionnez dans la liste un projet à comparer au Projet de référence. Sélection de snapshot Sélectionnez un instantané (snapshot) dans la liste. Cette liste indique le nom, la version (le cas échéant) et la date d'analyse du snapshot. Projet de comparaison Comparaison de projets - Détails Based on the selected reference project snapshot and the selected comparison project snapshot, the top five metrics with their positive (Higher Metrics Top 5) and negative (Lower Metrics Top 5) development trends, and the top five objects (for a selected metric) with their positive and negative development trends are displayed. 34 EIO0000003917.02 COMPARAISON DE PROJETS Machine Advisor Code Analysis Elément Description Comparer tous les objets/ Comparer les objets modifiés uniquement Activez l'une des cases à cocher pour comparer tous les objets ou seulement les objets modifiés des projets. Graphique à barres Mesures inférieures - Top 5 Affiche les cinq métriques à tendance d'évolution négative de tête, sur la base du snapshot du projet de référence sélectionné et du snapshot du projet de comparaison sélectionné. The bar chart displays the development trends of the metrics as percentage values. Depending on the trend, the bars are colored: • Green: Positive development trend. • Red: Negative development trend. • Blue: Neutral development trend. (Cannot be rated as positive or negative, for example, the Lines of Code value). Whether a development trend is considered as positive, negative, or neutral depends on the metric. Graphique à barres Mesures supérieures - Top 5 Affiche les cinq métriques à tendance d'évolution positive de tête, sur la base du snapshot du projet de référence sélectionné et du snapshot du projet de comparaison sélectionné. The bar chart displays the development trends of the metrics as percentage values. Depending on the trend, the bars are colored: • Green: Positive development trend. • Red: Negative development trend. • Blue: Neutral development trend. (Cannot be rated as positive or negative, for example, the Lines of Code value). Whether a development trend is considered as positive, negative, or neutral depends on the metric. Nom de métrique Sélectionnez une mesure dans la liste. Type d'agrégation Select an aggregation type (Max, Sum, Average). Which aggregation types can be selected depends on the metric. Graphique à barres Top 5 des différences (négatives) pour <nom de métrique> - <type d'agrégation> Affiche les cinq objets présentant les plus fortes tendances d'évolution négative. The bar chart displays the development trends of the metrics as percentage values. Depending on the trend, the bars are colored: • Green: Positive development trend. • Red: Negative development trend. • Blue: Neutral development trend. (Cannot be rated as positive or negative, for example, the Lines of Code value). Whether a development trend is considered as positive, negative, or neutral depends on the metric. Graphique à barres Top 5 des différences (positives) pour <nom de métrique> - <type d'agrégation> Affiche les cinq objets présentant les plus fortes tendances d'évolution positive. The bar chart displays the development trends of the metrics as percentage values. Depending on the trend, the bars are colored: • Green: Positive development trend. • Red: Negative development trend. • Blue: Neutral development trend. (Cannot be rated as positive or negative, for example, the Lines of Code value). Whether a development trend is considered as positive, negative, or neutral depends on the metric. The objects displayed in a bar chart provide additional information via tooltip. EIO0000003917.02 35 Machine Advisor Code Analysis COMPARAISON DE PROJETS METRIQUES - ARCHIVAGE & EXPORT Présentation Cliquez sur COMPARAISON DE PROJETS > METRIQUES - ARCHIVAGE & EXPORT pour ouvrir cette fenêtre. La fenêtre METRIQUES - ARCHIVAGE & EXPORT se présente comme suit : • Projet de référence Projet auquel les Projets de comparaison sont comparés. • Projets de comparaison Projets à comparer au Projet de référence. • Filtre de comparaison Permet de spécifier si tous les objets doivent être comparés ou seulement les objets modifiés. • Vue Comparaison de projets - Archivage et export Based on the selected reference project snapshot and the selected comparison project snapshots, the metrics data is displayed and can be exported. Projet de référence Elément Description Sélectionner projet Sélectionnez dans la liste le projet auquel comparer les Projets de comparaison. Sélection de snapshot Sélectionnez un instantané (snapshot) dans la liste. Cette liste indique le nom, la version (le cas échéant) et la date d'analyse du snapshot. Projets de comparaison Les valeurs de cinq Projets de comparaison au maximum peuvent être affichées dans la vue Comparaison de projets - Archivage & export. Elément Description Sélectionner projet Sélectionnez dans la liste un projet à comparer au Projet de référence. Sélection de snapshot Sélectionnez un instantané (snapshot) dans la liste. Cette liste indique le nom, la version (le cas échéant) et la date d'analyse du snapshot. Bouton AJOUTER PROJET Cliquez sur ce bouton pour ajouter un projet. Une ligne est ajoutée à la liste Projets de comparaison. Sélectionnez un projet et un snapshot pour le projet ajouté. Bouton SUPPRIMER (signe moins) Cliquez sur ce bouton pour supprimer le projet correspondant. Au moins un projet doit être présent par défaut. Filtre de comparaison Activez l'une des cases à cocher pour comparer tous les objets ou seulement les objets modifiés des projets. Comparaison de projets - Archivage & export Based on the selected reference project snapshot and the selected comparison project snapshots, the metrics data is displayed and can be exported. Tableau des mesures 36 EIO0000003917.02 COMPARAISON DE PROJETS Machine Advisor Code Analysis Colonne Description Type de métrique Le tableau fournit une ligne par combination de métrique et de type d'agrégation (Max, Somme, Moyenne). Seules les combinaisons disponibles sont affichées. Projet de référence Valeurs des métriques du projet de référence. Delta Projet 1 Différence entre les valeurs de métrique du projet 1 et celles du projet de référence. ... ... Delta Projet 5 Différence entre les valeurs de métrique du projet 5 et celles du projet de référence. Cliquez sur un titre de colonne pour trier le tableau selon cette colonne. Cliquez sur le bouton EXPORT pour exporter les données des mesures. Une boîte de dialogue vous propose d'ouvrir ou d'enregistrer les données de mesure en tant que fichier Excel. The exported Excel file provides two worksheets: • • EIO0000003917.02 The Overview worksheet provides the following information: ◦ Export time ◦ Reference analysis project ◦ Reference snapshot ◦ Reference snapshot creation time ◦ Compare analysis project <1...n> ◦ Compare reference snapshot <1...n> ◦ Compare reference snapshot creation time <1...n> The Data worksheet provides the data as displayed in the table. 37 Machine Advisor Code Analysis ADMINISTRATION ADMINISTRATION SNAPSHOTS Présentation Cliquez sur ADMINISTRATION > <PROJET> > SNAPSHOTS pour ouvrir cette fenêtre. La fenêtre SNAPSHOTS se présente comme suit : • Envoyer Section permettant d'envoyer un snapshot. • <Projet> - Snapshots Based on the <PROJECT> an overview of the already uploaded project snapshots with detailed information is displayed. Envoyer Cette section propose deux options pour envoyer un snapshot : • Glisser-déplacer un fichier de snapshot jusqu'à cette section (rectangle en pointillés). • Cliquer sur Parcourir. Une boîte de dialogue apparaît pour vous permettre de sélectionner le fichier de snapshot à envoyer. <Projet> - Snapshots Based on the <PROJECT> an overview of the already uploaded project snapshots with detailed information is displayed. Filter and navigation toolbar Element Description Filter Enter text to filter the table entries. Items Per Page Select a number from the list to define how many items are displayed per page. 1 - xx/zzz xx = Number of items per page zzz = Total number of items |< Go to the first page. < Go back one page. > Go forward one page. >| Go to the last page. Refresh Refresh view. Un tableau affiche les informations suivantes : 38 Colonne Description Nom Nom du snapshot créé dans EcoStruxure Machine Expert. Version Version du snapshot. Date d'analyse Date d'analyse du snapshot. Date de traitement Date de traitement du snapshot. Date d'envoi Date de téléchargement du snapshot. EIO0000003917.02 ADMINISTRATION Machine Advisor Code Analysis Colonne Description Taille Taille du snapshot en mégaoctets et nombre d'entrées. Cliquez sur un titre de colonne pour trier le tableau selon cette colonne. Les icônes suivantes sont affichées pour chaque snapshot : Icône Description Corbeille (supprimer) Cliquez sur cette icône pour supprimer un snapshot. Confirmez en cliquant sur Oui ou annulez en cliquant sur Non. NOTE: Toutes les données d'analyse affectées sont supprimées. La suppression est irréversible. Crayon (modifier) Cliquez sur cette icône pour ouvrir la fenêtre <Projet> - Snapshot - Détails correspondante, page 19. Vous pouvez modifier les entrées suivantes : • Nom • Version • Publié (Oui/Non) • Branchement dans contrôle source Sous-chemin depuis l'URI de la base (défini dans la fenêtre, page 47 ADMINISTRATION > TOUS LES PROJETS DE LA SOCIETE > <Projet d'analyse> - Détails) jusqu'à l'emplacement mémoire contenant le code source du snapshot. • Changelog Commente les modifications de code source qui ont été effectuées. • Remarques Les informations suivantes s'affichent mais ne peuvent pas être modifiées : • Date de traitement • Date d'envoi • Expéditeur • Révision dans contrôle source ID de révision du projet que le snapshot téléchargé représente. • Phase de développement Si une phase de développement a été définie, le snapshot lui est automatiquement affecté et ce champ affiche le nom de cette phase de développement. Confirmez vos modifications à l'aide du bouton ACTUALISER. BlockList Cliquez sur cette icône pour ouvrir la fenêtre <Projet> - Entrées Blocklist correspondante qui fournit les informations suivantes sur les objets bloqués : • Nom • Catégorie • Commentaire Cette liste de blocages fait partie du snapshot téléchargé. Il n'est pas possible de modifier ou supprimer des entrées. Consultez également le chapitre Liste de blocages du document Machine Code Analysis - Guide de l'utilisateur (voir EcoStruxure Machine Expert, Machine Code Analysis, Guide utilisateur). Retraiter le snapshot Si vous recommencez le traitement, le snapshot des données de l'analyse existante sont supprimées. Confirmez en cliquant sur Oui ou annulez en cliquant sur Non. Charger le snapshot EIO0000003917.02 Cliquez sur cette icône pour enregistrer le snapshot en tant que fichier <Nom>.secas sur votre PC. 39 Machine Advisor Code Analysis ADMINISTRATION TACHES DE TRAITEMENT Présentation Cliquez sur ADMINISTRATION > <PROJET> > TACHES DE TRAITEMENT pour ouvrir cette fenêtre. La fenêtre TACHES DE TRAITEMENT se présente comme suit : • <Projet> - Tâches de traitement Based on the <PROJECT> an overview of the processing jobs with detailed information is displayed. <Projet> - Tâches de traitement Filter and navigation toolbar Element Description Filter Enter text to filter the table entries. Items Per Page Select a number from the list to define how many items are displayed per page. 1 - xx/zzz xx = Number of items per page zzz = Total number of items |< Go to the first page. < Go back one page. > Go forward one page. >| Go to the last page. Refresh Refresh view. Cochez la case Afficher les tâches terminées pour lister également les tâches dont le statut est Terminé. Un tableau affiche les informations suivantes : Colonne Description Snapshot Nom du snapshot. Version Version du snapshot. Edition Statut de publication du snapshot. Date de création Date de création du snapshot. Avancement Etat d'avancement de la tâche de traitement : • Prêt pour exécution • Traitement en cours • Traitement terminé • Echec du traitement • Intégration • Intégration terminée • Echec de l'intégration • Terminé • Annulé Cliquez sur un titre de colonne pour trier le tableau selon cette colonne. Les icônes suivantes sont affichées pour chaque snapshot : 40 EIO0000003917.02 ADMINISTRATION Machine Advisor Code Analysis Colonne Description Etat Différentes icônes représentent l'état du traitement : • Attente Le traitement n'a pas démarré. • En cours d'exécution Le traitement est en cours d'exécution. • Terminé Le traitement est terminé. • Alerte Une erreur est détectée pendant le traitement. • Pas de licence La licence autorisant le lancement de la tâche de traitement n'est pas disponible ou a expiré. Supprimer Cliquez sur cette icône pour supprimer la tâche de traitement correspondante. Afficher le journal Cliquez sur ce bouton pour ouvrir le fichier journal du traitement. JEU DE REGLES Présentation Cliquez sur ADMINISTRATION > <PROJET> > JEU DE REGLES pour ouvrir cette fenêtre. La fenêtre JEU DE REGLES se présente comme suit : • Jeux de règles disponibles Cette section dresse la liste des jeux de règles disponibles pour votre société et fournit des informations à leur propos. Vous pouvez appliquer un jeu de règles à votre projet. • Requêtes disponibles/Requêtes actives Affiche une vue d'ensemble des requêtes correspondant au jeu de règles appliqué. • Retraitement Section permettant de retraiter les requêtes sélectionnées. Si vous ouvrez cette fenêtre et qu'un jeu de règles affecté à un projet d'analyse a été modifié, une boîte de dialogue vous informe que le jeu de règles actif a changé. Vous pouvez confirmer à l'aide du bouton Mettre à jour maintenant ou reporter à l'aide du bouton Plus tard. Jeux de règles disponibles Cette section dresse la liste des jeux de règles disponibles pour votre société et fournit des informations à leur propos. Tous les projets hérités sont associés au jeu de règles Personnalisé. Si vous avez créé un nouveau projet, les Règles standard Schneider Electric lui sont affectées. Les jeux de règles prédéfinis ne peuvent pas être modifiés, mais vous pouvez créer un jeu de règles personnalisé pour votre projet dans EcoStruxure Machine Expert (version ≥ V2.0). EIO0000003917.02 Elément Description Jeux de règles disponibles Liste des jeux de règles disponibles pour votre société. Description Brève description du jeu de règles sélectionné. 41 Machine Advisor Code Analysis ADMINISTRATION Elément Description Bouton DETAILS Cliquez sur ce bouton pour afficher la liste des requêtes correspondant au jeu de règles sélectionné. Bouton APPLIQUER Cliquez sur ce bouton pour appliquer le jeu de règles sélectionné à votre projet. Une boîte de dialogue vous informe que l'application d'un nouveau jeu de règles génère des tâches de traitement car elle risque d'activer ou de désactiver un ensemble de requêtes. Vous pouvez confirmer par Oui ou annuler par Non. Reportez-vous à la section Retraitement ci-après. Requêtes disponibles (<jeu de règles>)/Requêtes actives (<jeu de règles>) Ce titre change en fonction du jeu de règles sélectionné : • Pour les jeux de règles prédéfinis (comme les Règles standard Schneider Electric), le titre est Requêtes actives. • Pour le jeu de règles Personnalisé, le titre est Requêtes disponibles. Affiche une vue d'ensemble des requêtes correspondant au jeu de règles appliqué. Filter and navigation toolbar Element Description Filter Enter text to filter the table entries. Items Per Page Select a number from the list to define how many items are displayed per page. 1 - xx/zzz xx = Number of items per page zzz = Total number of items |< Go to the first page. < Go back one page. > Go forward one page. >| Go to the last page. Refresh Refresh view. Si le jeu de règles Personnalisé est activé, deux boutons supplémentaires apparaissent en regard de la barre d'outils de filtrage et de navigation : • Attribuer toutes les requêtes : Pour attribuer toutes les requêtes (dernière version) au projet. Une tâche de traitement est préparée (si elle n'existe pas déjà) pour effectuer cette modification. • Supprimer toutes les requêtes : Pour supprimer toutes les requêtes du projet. Une tâche de traitement est préparée (si elle n'existe pas déjà) pour effectuer cette modification. Un tableau affiche les informations suivantes : Colonne Description Catégorie Type de la requête (convention ou métrique). Groupe Nom du groupe de la requête, tel que défini dans EcoStruxure Machine Expert Logic Builder. Nom Nom de la requête. Révision Numéro et date de révision de la requête. Cliquez sur l'entrée du tableau correspondant au numéro de révision et sélectionnez la révision que vous souhaitez affecter au projet. Une tâche de traitement est préparée (si elle n'existe pas déjà) pour effectuer cette modification. Cliquez sur un titre de colonne pour trier le tableau selon cette colonne. 42 EIO0000003917.02 ADMINISTRATION Machine Advisor Code Analysis Le bouton suivant est disponible pour chaque ligne du tableau : Bouton Description Loupe Cliquez sur le bouton Loupe pour ouvrir la fenêtre <Chaîne de requête> - Vue détaillée correspondante qui fournit les informations suivantes : • • Informations générales ◦ Nom, Groupe, Catégorie ◦ Mis à jour par, Dernière mise à jour ◦ Description Paramètres de la chaîne de requête ◦ • Nom du paramètre, Valeur du paramètre, Type du paramètre Détails de la requête ◦ <Nom de la requête> ◦ Code source (SPARQL) Si le jeu de règles Personnalisé est activé, deux boutons supplémentaires sont fournis pour chaque ligne du tableau : Bouton Description Ajouter au jeu de requêtes actif Cliquez sur ce bouton pour affecter la requête (dernière version) au jeu de requêtes actif. Une tâche de traitement est préparée (si elle n'existe pas déjà) pour effectuer cette modification. Supprimer du jeu de requêtes actif Cliquez sur ce bouton pour supprimer la requête du jeu de requêtes actif. Une tâche de traitement est préparée (si elle n'existe pas déjà) pour effectuer cette modification. Retraitement Cette section indique le nombre de tâches de traitement préparées (une pour chaque projet concerné) et la liste des requêtes qui sont retraitées au sein de ces tâches. Cliquez sur LANCER LE RETRAITEMENT pour retraiter les requêtes répertoriées dans la liste. Le retraitement des requêtes remplace les données d'analyse existantes. PHASES DE DEVELOPPEMENT Présentation Cliquez sur ADMINISTRATION > <PROJET> > PHASES DE DEVELOPPEMENT pour ouvrir cette fenêtre. La fenêtre PHASES DE DEVELOPPEMENT présente les sections suivantes : • <Projet> - Phases de développement Based on the <PROJECT> an overview of the development phases is displayed. You can add or remove development phases. <Projet> - Phases de développement Filter and navigation toolbar EIO0000003917.02 Element Description Filter Enter text to filter the table entries. Items Per Page Select a number from the list to define how many items are displayed per page. 43 Machine Advisor Code Analysis ADMINISTRATION Element Description 1 - xx/zzz xx = Number of items per page zzz = Total number of items |< Go to the first page. < Go back one page. > Go forward one page. >| Go to the last page. Refresh Refresh view. Un tableau affiche les informations suivantes : Colonne Description Nom Nom de la phase de développement (par exemple alpha, bêta, test de terrain, etc.) Cliquez sur une entrée de cette colonne pour modifier le texte. Confirmez par OK ou annulez par X. Description Description de la phase de développement. Cliquez sur une entrée de cette colonne pour modifier le texte. Confirmez par OK ou annulez par X. Date de début Date de début de la phase de développement. Cliquez sur une entrée de cette colonne pour modifier la date. Confirmez par OK ou annulez par X. Date de fin Date de fin de la phase de développement. Cliquez sur une entrée de cette colonne pour modifier la date. Confirmez par OK ou annulez par X. Cliquez sur un titre de colonne pour trier le tableau selon cette colonne. L'icône suivante est disponible pour chaque ligne de phase de développement : Icône Description Corbeille (supprimer) Cliquez sur cette icône pour supprimer une phase de développement. Confirmez en cliquant sur Oui ou annulez en cliquant sur Non. Cliquez sur le bouton AJOUTER PHASE DE DEVELOPPEMENT pour ajouter une phase de développement. Une ligne est ajoutée au tableau. Modifiez les champs Nom et Description, puis sélectionnez la Date de début et la Date de fin de la nouvelle phase de développement. JETONS D'ACCES Présentation You can create a technical user (access token) that is allowed to upload a snapshot for one specific analysis project. For example, for CI-Systems (Continuous Integration Systems) it is possible to upload snapshots via Python scripts. Click ADMINISTRATION > <PROJECT> > ACCESS TOKENS to open this window. La fenêtre JETONS D'ACCES présente les sections suivantes : • Nouveau jeton d'accès Section permettant de créer un jeton d'accès. • 44 <Projet> - Jetons d'accès EIO0000003917.02 ADMINISTRATION Machine Advisor Code Analysis Based on the <PROJECT> an overview of access tokens is displayed. You can remove access tokens from this table. Nouveau jeton d'accès Step Action 1 Enter a Name. 2 Select an Expiration Date. After this date, the access token cannot be used to upload a snapshot. 3 Click the CREATE button. Result: A window is displayed which provides the access token as a character string. 4 5 NOTE: Copy this character string and paste it into some word processor or text editor, and save it to your local system. This character string is only provided once. Close the window. Result: A new row is displayed in the <Project> - Access Tokens table. <Projet> - Jetons d'accès Based on the <PROJECT> an overview of access tokens is displayed. You can remove access tokens from this table. Filter and navigation toolbar Element Description Filter Enter text to filter the table entries. Items Per Page Select a number from the list to define how many items are displayed per page. 1 - xx/zzz xx = Number of items per page zzz = Total number of items |< Go to the first page. < Go back one page. > Go forward one page. >| Go to the last page. Cochez la case Afficher les jetons d'accès expirés pour afficher également les jetons d'accès qui ont expiré. Un tableau affiche les informations suivantes : Colonne Description Nom Nom du jeton d'accès. Dernière connexion Date de la dernière connexion utilisant ce jeton d'accès. Date d'expiration Date de fin de validité du jeton d'accès. Expiré Etat de validité du jeton d'accès (Non/Oui). Date de création Date de création du jeton d'accès. Cliquez sur un titre de colonne pour trier le tableau selon cette colonne. L'icône suivante est disponible pour chaque jeton d'accès : EIO0000003917.02 Colonne Description Corbeille (supprimer) Cliquez sur cette icône pour supprimer un jeton d'accès. Confirmez en cliquant sur Oui ou annulez en cliquant sur Non. 45 Machine Advisor Code Analysis ADMINISTRATION TOUS MES PROJETS Présentation Voir la section TOUS MES PROJETS, page 25. TOUTES LES CHAINES DE REQUETE Présentation Cliquez sur ADMINISTRATION > TOUTES LES CHAINES DE REQUETE pour ouvrir cette fenêtre. La fenêtre TOUTES LES CHAINES DE REQUETE présente les sections suivantes : • Toutes les chaînes de requête An overview of all query chains with detailed information is displayed. Toutes les chaînes de requête Filter and navigation toolbar Element Description Filter Enter text to filter the table entries. Items Per Page Select a number from the list to define how many items are displayed per page. 1 - xx/zzz xx = Number of items per page zzz = Total number of items |< Go to the first page. < Go back one page. > Go forward one page. >| Go to the last page. Refresh Refresh view. Un tableau affiche les informations suivantes : Colonne Description Catégorie Type de la chaîne de requête (convention ou métrique). Groupe Nom du groupe de la chaîne de requête tel que défini dans EcoStruxure Machine Expert Logic Builder. Nom Nom de la chaîne de requête. Date d'envoi Date d'envoi de la chaîne de requête. Numéro de révision Numéro de révision de la chaîne de requête. Révision précédente Informations sur la révision précédente : • Numéro de révision • Date d'envoi Cliquez sur un titre de colonne pour trier le tableau selon cette colonne. L'icône suivante est disponible pour chaque ligne du tableau : 46 EIO0000003917.02 ADMINISTRATION Machine Advisor Code Analysis Icône Description Loupe Cliquez sur une ligne du tableau ou sur l'icône Loupe pour ouvrir la fenêtre <Chaîne de requête> - Vue détaillée correspondante qui fournit les informations suivantes : • • Informations générales ◦ Nom, Groupe, Catégorie ◦ Mis à jour par, Dernière mise à jour ◦ Description Détails de la requête ◦ <Nom de la requête> ◦ Code source (SPARQL) TOUS LES PROJETS DE LA SOCIETE Présentation Cliquez sur ADMINISTRATION > TOUS LES PROJETS DE LA SOCIETE pour ouvrir cette fenêtre. La fenêtre TOUS LES PROJETS DE LA SOCIETE présente les sections suivantes : • Projets d'analyse An overview of all analysis projects with detailed information is displayed. Projets d'analyse Filter and navigation toolbar Element Description Filter Enter text to filter the table entries. Items Per Page Select a number from the list to define how many items are displayed per page. 1 - xx/zzz xx = Number of items per page zzz = Total number of items |< Go to the first page. < Go back one page. > Go forward one page. >| Go to the last page. Refresh Refresh view. Un tableau affiche les informations suivantes : Colonne Description Nom Nom du projet d'analyse. Téléchargements restants Snapshots restants pouvant être envoyés au portail EcoStruxure Machine Advisor Code Analysis. Informations de licence Description • Pas de licence • Licence valide jusqu'au <date d'expiration> Description du projet d'analyse. Cliquez sur un titre de colonne pour trier le tableau selon cette colonne. Les icônes suivantes sont disponibles pour chaque projet d'analyse : EIO0000003917.02 47 Machine Advisor Code Analysis ADMINISTRATION Icône Description Crayon (modifier) Cliquez sur cette icône pour ouvrir la fenêtre <Projet d'analyse> Détails correspondante. Vous pouvez modifier les entrées suivantes : • Nom • URI Base de contrôle de version. Vous avez besoin de cet URI pour lancer l'outil Tortoise SVN. Reportez-vous à la vue d'ensemble des snapshots, page 15. • Description Confirmez vos modifications à l'aide du bouton ACTUALISER. En outre, la fenêtre <Projet d'analyse> - Détails présente les sections suivantes : • Utilisateurs affectés Cette section répertorie les utilisateurs qui sont affectés au projet d'analyse. Vous pouvez retirer du projet un utilisateur affecté. Un utilisateur que vous retirez est ajouté à la liste Utilisateurs disponibles. • Utilisateurs disponibles Cette section répertorie les utilisateurs qui sont disponibles pour votre société. Vous pouvez ajouter un utilisateur au projet. Cet utilisateur est ajouté à la liste Utilisateurs affectés. Chariot d'achat Cliquez sur cette icône pour ouvrir la fenêtre Licence actuelle / Packages et licences disponibles qui présente les informations suivantes : • Licence actuelle Informations sur la licence actuelle du projet : • ◦ Période de validité (par exemple, licence pour un an) ◦ Valide jusqu'au <date d'expiration> ◦ Téléchargements restants Licence de projet d'analyse Informations sur la licence que vous pouvez acheter : ◦ Période de validité. ◦ Nombre de snapshots pouvant être envoyés. ◦ Nombre de postes pouvant utiliser la licence. ◦ Nombre de points SE (monnaie Schneider Electric) ◦ Bouton ACHETER : Cliquez pour acheter la licence. Vous obtiendrez une clé qui vous permettra d'activer la licence sur le portail EcoStruxure Machine Advisor. Ce bouton n'est activé que si votre profil utilisateur est renseigné. • Téléchargement / Package d'analyse Informations sur la mise à niveau de licence que vous pouvez acheter : ◦ Nombre de snapshots pouvant être envoyés. ◦ Nombre de points SE (monnaie Schneider Electric) ◦ Bouton ACHETER : Cliquez pour acheter la mise à niveau de licence. Ce bouton n'est activé que si votre profil utilisateur est renseigné. • Veuillez compléter votre profil utilisateur (S'affiche uniquement si votre profil utilisateur n'est pas renseigné.) ◦ 48 Bouton CONTINUER : Cliquez pour renseigner votre profil utilisateur (société et données bancaires). EIO0000003917.02 ADMINISTRATION Machine Advisor Code Analysis Icône Description Corbeille (supprimer) Cliquez sur cette icône pour supprimer un projet d'analyse. Confirmez en cliquant sur Oui ou annulez en cliquant sur Non. NOTE: Tous les snapshots et leurs données d'analyse sont supprimés. La suppression n'est possible que si aucune licence n'a été activée pour ce snapshot. La suppression est irréversible. -> Cliquez sur cette icône pour déplacer un projet d'analyse vers une autre société. Si vous transférez un projet d'analyse vers une autre société, les données d'analyse sont supprimées de votre projet et vous devez retraiter l'analyse. NOTE: Le transfert n'est possible que si aucune licence n'a été activée pour le snapshot. Cliquez sur le bouton AJOUTER PROJET D'ANALYSE pour ouvrir la fenêtre <Projet d'analyse> -Détails. Modifiez les détails et affectez des utilisateurs au nouveau projet. UTILISATEUR ET ROLES D'UTILISATEUR Présentation Cliquez sur ADMINISTRATION > UTILISATEUR ET ROLES D'UTILISATEUR pour ouvrir cette fenêtre. La fenêtre UTILISATEUR ET ROLES D'UTILISATEUR présente les sections suivantes : • Inviter un utilisateur Cette section vous permet d'inviter un utilisateur dans votre société. • Utilisateurs An overview of all users assigned to your company with detailed information is displayed. Inviter un utilisateur Etape Action 1 Entrez l'adresse de messagerie de l'utilisateur que vous souhaitez inviter dans votre société. 2 Cliquez sur le bouton INVITER. Résultat : Un message électronique est envoyé à l'utilisateur invité. Ce message fournit un lien vers le portail EcoStruxure Machine Advisor Code Analysis. 3 L'utilisateur invité doit s'inscrire sur le portail EcoStruxure Machine Advisor Code Analysis. 4 Une fois inscrit, l'utilisateur peut se connecter à EcoStruxure Machine Advisor Code Analysis et il est directement affecté à votre société. Les projets auxquels l'utilisateur doit avoir accès peuvent être sélectionnés dans la fenêtre <Utilisateur> - Détails de l'utilisateur invité. Voir ci-après. Utilisateurs An overview of all users assigned to your company with detailed information is displayed. Filter and navigation toolbar EIO0000003917.02 49 Machine Advisor Code Analysis ADMINISTRATION Element Description Filter Enter text to filter the table entries. Items Per Page Select a number from the list to define how many items are displayed per page. 1 - xx/zzz xx = Number of items per page zzz = Total number of items |< Go to the first page. < Go back one page. > Go forward one page. >| Go to the last page. Un tableau affiche les informations suivantes : Colonne Description Nom Nom de l'utilisateur. E-mail Adresse de messagerie électronique de l'utilisateur. Cliquez sur un titre de colonne pour trier le tableau selon cette colonne. Les icônes suivantes sont disponibles pour chaque projet d'analyse : Icône Description Crayon (modifier) Cliquez sur cette icône pour ouvrir la fenêtre <Utilisateur> Détails correspondante. La section Utilisateur fournit les informations suivantes : • Nom : Nom de l'utilisateur • E-mail : Adresse de messagerie électronique de l'utilisateur • Dernière connexion : Date et heure de la dernière connexion • Rôle : Rôle de l'utilisateur (voir la section traitant des rôles d'utilisateur et droits d'utilisateur, page 50) ◦ Administrateur ◦ Agent Qualité ◦ Utilisateur Vous pouvez modifier le rôle d'utilisateur. Confirmez vos modifications à l'aide du bouton ACTUALISER. En outre, la fenêtre <Utilisateur> - Détails présente les sections suivantes : • Projets attribués Cette section répertorie les projets affectés à l'utilisateur. Vous pouvez retirer à l'utilisateur un projet préalablement attribué. Un projet que vous retirez est ajouté à la liste Projets disponibles. • Projets disponibles Cette section répertorie les projets disponibles pour votre société. Vous pouvez ajouter un projet à un utilisateur. Le projet est alors ajouté à la liste Projets attribués. X (supprimer) Cliquez sur cette icône pour supprimer un utilisateur. Confirmez en cliquant sur Oui ou annulez en cliquant sur Non. Rôles d'utilisateur et droits d'utilisateur Le tableau suivant présente les rôles d'utilisateur et les droits associés : 50 Utilisateur Agent Qualité Administrateur ACCUEIL Oui Oui Oui SNAPSHOTS DE PROJET Oui Oui Oui EIO0000003917.02 ADMINISTRATION Machine Advisor Code Analysis Utilisateur Agent Qualité Administrateur TENDANCES DE PROJET Oui Oui Oui COMPARAISON DE PROJETS Oui Oui Oui Non Oui Oui Non Oui Oui <PROJET> - TACHES DE TRAITEMENT Non Oui Oui <PROJET> - JEU DE REGLES Non Oui Oui <PROJET> - PHASES DE DEVELOPPEMENT Non Oui Oui <PROJET> - JETONS D'ACCES Non Non Oui TOUS MES PROJETS Non Oui Oui TOUTES LES CHAINES DE REQUETE Non Oui Oui TOUS LES PROJETS DE LA SOCIETE Non Non Oui UTILISATEUR ET ROLES D'UTILISATEUR Non Non Oui PARAMETRES DE LA SOCIETE Non Non Oui LICENCE Oui Oui Oui ADMINISTRATION > <PROJET> - SNAPSHOTS <PROJET> - SNAPSHOTS > Blocklist Oui = Droits d'utilisateur disponibles Non = Droits d'utilisateur non disponibles ACHATS Présentation Cliquez sur ADMINISTRATION > ACHATS pour ouvrir cette fenêtre. Cette fenêtre fournit des informations sur les licences déjà acquises. Filter and navigation toolbar Element Description Filter Enter text to filter the table entries. Items Per Page Select a number from the list to define how many items are displayed per page. 1 - xx/zzz xx = Number of items per page zzz = Total number of items |< Go to the first page. < Go back one page. > Go forward one page. >| Go to the last page. Refresh Refresh view. Un tableau affiche les informations suivantes : EIO0000003917.02 Colonne Description Nom du projet Nom de votre projet d'analyse. Type Licence complète ou mise à niveau. Nombre de points SE Nombre de points SE (monnaie Schneider Electric). Clé de licence Clé utilisée pour activer la licence sur le portail EcoStruxure Machine Advisor. 51 Machine Advisor Code Analysis ADMINISTRATION Colonne Description Analyse de snapshots incluse Nombre de snapshots pouvant être envoyés/analysés. Acheteur Nom de l'acquéreur. Date d'achat Date d'acquisition. Cliquez sur un titre de colonne pour trier le tableau selon cette colonne. Paramètres utilisateur et société Présentation Cliquez sur l'icône <nom d'utilisateur> dans le coin supérieur droit de la vue Machine Advisor Code Analysis pour ouvrir la fenêtre User and Company Settings. Cette fenêtre se présente comme suit : • • User ◦ Update user settings ◦ Forget me Company ◦ Update company settings ◦ Forget me and my company Utilisateur Cliquez sur Update user settings pour ouvrir la fenêtre Profile. • Dans l'onglet My Profile, vous pouvez renseigner/modifier les champs Name, Language Preference, Email, Mobile Number et Password. • Dans l'onglet My Address, vous pouvez renseigner/modifier votre adresse postale. • Dans l'onglet My Company, vous pouvez renseigner/modifier les champs Company Name, Employee Size, Location, State/Province, Function, Business Type, My Industry Segment, Sub Segment et Industries I Serve. Cliquez sur le bouton UPDATE pour confirmer vos informations ou cliquez sur Cancel pour les abandonner. Cliquez sur Forget me pour supprimer le compte d'utilisateur. • Une boîte de dialogue vous invite à confirmer la suppression. NOTE: Si vous confirmez la suppression, l'utilisateur disparaît de la société et vous êtes déconnecté. Société Cette fenêtre n'est disponible que si vous êtes connecté en tant qu'Administrator. Cliquez sur Update company pour ouvrir la fenêtre Company settings. • Vous pouvez renseigner/modifier les champs Name, Street et City de l'adresse postale de votre société. Cliquez sur le bouton ACTUALISER pour confirmer vos informations ou cliquez sur Annuler pour les abandonner. Cliquez sur Forget me and my company pour supprimer le compte de la société. • 52 Une boîte de dialogue vous invite à confirmer la suppression. Confirmez en cliquant sur Yes ou annulez en cliquant sur No. EIO0000003917.02 ADMINISTRATION Machine Advisor Code Analysis NOTE: Si vous confirmez la suppression : EIO0000003917.02 ◦ La société est supprimée. ◦ Tous les projets et tous les snapshots sont supprimés. ◦ Tous les utilisateurs affectés sont retirés de la société. (Mais ils peuvent encore être affectés à d'autres sociétés.) ◦ Vous êtes déconnecté. 53 Mode d'emploi de EcoStruxure Machine Advisor Code Analysis Machine Advisor Code Analysis Mode d'emploi de EcoStruxure Machine Advisor Code Analysis Créer un compte de société et convier des utilisateurs Présentation Si vous voulez affecter plus d'un utilisateur à votre société, il est recommandé d'inviter ces utilisateurs avant qu'ils s'inscrivent. En effet, une nouvelle société est créée pour chaque utilisateur qui s'enregistre sans être invité dans une société existante. Il s'ensuit qu'une licence distincte est requise et que ses propres projets d'analyse doivent être créés. Les licences et les projets d'analyse ne peuvent pas être partagés par deux sociétés. Procédure d'inscription Etape 1 Action Collez ecostruxure-machine-advisor-codeanalysis.se.app dans votre navigateur Internet, page 11. Résultat : Vous êtes connecté à la plate-forme EcoStruxure Machine Advisor Code Analysis. 2 Cliquez sur le bouton Inscription. Résultat : La fenêtre Inscription s'affiche. 3 Entrez votre adresse électronique et confirmez en cliquant sur Suivant. 4 Entrez vos informations personnelles et celles de la société. 5 Lisez les Conditions générales d'utilisation SE et, si tel est votre choix, sélectionnez l'option J'ai lu, compris et j'accepte les conditions générales d'utilisation SE, y compris celles concernant les communications associées, puis cliquez sur Inscription. Résultat : Vous recevez un e-mail pour compléter votre inscription. Connexion Etape 1 Action Dans l'email que vous avez reçu, cliquez sur le lien Confirmez votre adresse e-mail et complétez votre inscription. Résultat : Vous êtes connecté à la plate-forme EcoStruxure Machine Advisor Code Analysis. 2 Entrez votre adresse électronique et le mot de passe que vous avez défini dans la fenêtre Inscription. 3 Cliquez sur Connexion. Résultat : La fenêtre, page 13 ACCUEIL s'ouvre. Inviter des utilisateurs Etape Action > UTILISATEUR ET ROLES D'UTILISATEUR dans la 1 Cliquez sur ADMINISTRATION barre de menus. 2 Entrez l'adresse E-mail de l'utilisateur que vous souhaitez inviter. 3 Cliquez sur le bouton INVITER. Résultat : Un message électronique est envoyé à l'utilisateur invité. Ce message fournit un lien vers la plate-forme EcoStruxure Machine Advisor Code Analysis. 54 EIO0000003917.02 Mode d'emploi de EcoStruxure Machine Advisor Code Analysis Etape Machine Advisor Code Analysis Action 4 L'utilisateur invité doit s'enregistrer sur la plate-forme EcoStruxure Machine Advisor Code Analysis. 5 Une fois inscrit, l'utilisateur peut se connecter à EcoStruxure Machine Advisor Code Analysis et il est directement affecté à votre société. NOTE: Les utilisateurs qui n'ont pas de compte doivent passer par la procédure d'Enregistrement. Affecter des rôles d'utilisateur et des projets Pour affecter un rôle d'utilisateur : Etape Action > UTILISATEUR ET ROLES D'UTILISATEUR dans la 1 Cliquez sur ADMINISTRATION barre de menus. 2 Cliquez sur l'icône Crayon à droite d'un utilisateur répertorié pour ouvrir la fenêtre <Utilisateur> - Détails. 3 Sélectionnez un Rôle (Administrateur, Agent Qualité, Utilisateur) et confirmez à l'aide du bouton ACTUALISER. Reportez-vous à la section traitant des rôles d'utilisateur et droits d'utilisateur, page 50. Pour affecter des projets : Etape Action > UTILISATEUR ET ROLES D'UTILISATEUR dans la 1 Cliquez sur ADMINISTRATION barre de menus. 2 Cliquez sur l'icône Crayon à droite d'un utilisateur répertorié pour ouvrir la fenêtre <Utilisateur> - Détails. 3 Cliquez sur l'icône + à droite d'un projet répertorié dans Projets disponibles. Résultat : Le projet est ajouté à la liste Projets attribués. 4 Cliquez sur l'icône X à droite d'un projet répertorié dans Projets attribués. Résultat : Le projet est retiré de la liste Projets attribués et ajouté à la liste Projets disponibles. Créer un projet d'analyse et affecter des utilisateurs Configurer un nouveau projet d'analyse Etape Action 1 Cliquez sur ADMINISTRATION > TOUS LES PROJETS DE LA SOCIETE dans la barre de menus (administrateurs uniquement). 2 Cliquez sur le bouton AJOUTER PROJET D'ANALYSE pour ouvrir la fenêtre <Projet d'analyse> - Détails. 3 Entrez les données suivantes : • Nom attribué au projet. • URI Base de contrôle de version. Ce champ peut contenir un URI indiquant l'emplacement du code source SVN du projet. Cet URI est utilisé, par exemple, pour ouvrir SVN-CHANGELOG (pris en charge par l'outil Tortoise SVN). Voir <Projet> - Snapshot - Vue d'ensemble, page 15. Si aucune valeur n'est configurée pour URI Base de contrôle de version, elle est actualisée lors de l'envoi d'un snapshot d'un projet EcoStruxure Machine Expert Logic Builder lié à SVN. • EIO0000003917.02 Description du projet. 55 Mode d'emploi de EcoStruxure Machine Advisor Code Analysis Machine Advisor Code Analysis Affecter des utilisateurs à un projet et supprimer des affectations Etape 1 Action Cliquez sur l'icône + à droite d'un utilisateur dans la liste Utilisateurs disponibles. Résultat : L'utilisateur est ajouté à la liste Utilisateurs affectés du projet. 2 Cliquez sur l'icône X à droite d'un utilisateur dans la liste Utilisateurs affectés. Résultat : L'utilisateur est retiré de la liste Utilisateurs affectés et ajouté à la liste Utilisateurs disponibles. Créer un snapshot et l'envoyer (avec un compte d'utilisateur personnel) Présentation Vous pouvez envoyer un snapshot au portail EcoStruxure Machine Advisor Code Analysis : • Avec votre compte d'utilisateur personnel. • Avec un compte d'utilisateur technique (jeton d'accès). Reportez-vous à la section traitant de la création d'un jeton d'accès et envoi d'un snapshot avec un script Python, page 57. Envoi automatique Etape Action 1 Lancez EcoStruxure Machine Expert Logic Builder et ouvrez votre projet. 2 Cliquez avec le bouton droit sur le noeud Application dans l'arborescence Applications. 3 Sélectionnez Ajouter objet contextuel. 4 Sélectionnez l'onglet Connexion au cloud et cliquez sur le bouton Connexion…. > Gestionnaire d'analyse de code dans le menu Résultat : La fenêtre Connexion au cloud d'analyse de code apparaît. NOTE: Pour utiliser la Connexion cloud, une licence est requise. 5 Connectez-vous avec votre compte personnel (adresse électronique et mot de passe) au portail EcoStruxure Machine Advisor Code Analysis. Résultat : Une fois la connexion établie, la fenêtre Connexion au cloud d'analyse de code disparaît. 6 Dans l'onglet Connexion au cloud, sélectionnez la société et le projet d'analyse destinataires du snapshot. 7 Cliquez sur le bouton Analyser le projet. Résultat : Le projet est analysé et le snapshot est créé. 8 Cliquez sur le bouton Envoyer le snapshot. Résultat : Le snapshot est téléchargé automatiquement téléchargé vers le portail EcoStruxure Machine Advisor Code Analysis et il s'affiche dans la fenêtre, page 38 <Projet> - Snapshots. Envoi manuel Etape 56 Action 1 Lancez EcoStruxure Machine Expert Logic Builder et ouvrez votre projet. 2 Cliquez avec le bouton droit sur le noeud Application dans l'arborescence Applications. EIO0000003917.02 Mode d'emploi de EcoStruxure Machine Advisor Code Analysis Etape Machine Advisor Code Analysis Action > Gestionnaire d'analyse de code dans le menu 3 Sélectionnez Ajouter objet contextuel. 4 Sélectionnez l'onglet Connexion au cloud. 5 Cliquez sur le bouton Analyser le projet. Résultat : Le projet est analysé et le snapshot est créé. 6 Cliquez sur le bouton Stocker le snapshot pour enregistrer le snapshot dans un fichier sur votre PC. 7 Connectez-vous avec votre compte personnel (adresse électronique et mot de passe) au portail EcoStruxure Machine Advisor Code Analysis. 8 Cliquez sur ADMINISTRATION > <PROJET> page 38 <Projet> - Snapshots. 9 Faites glisser le fichier du snapshot enregistré jusqu'à la section Envoi (rectangle en pointillés). > SNAPSHOTS pour ouvrir la fenêtre, Résultat : Le snapshot envoyé s'affiche dans la fenêtre, page 38 <Projet> Snapshots. 10 Une autre solution consiste à cliquer sur Parcourir dans la section Envoi (rectangle en pointillés). Résultat : Une boîte de dialogue apparaît pour vous permettre de sélectionner le fichier de snapshot à envoyer. 11 Confirmez l'envoi à l'aide du bouton OK. Résultat : Le snapshot envoyé s'affiche dans la fenêtre, page 38 <Projet> Snapshots. Créer un jeton d'accès et envoyer un snapshot avec un script Python Présentation Vous pouvez envoyer un snapshot au portail EcoStruxure Machine Advisor Code Analysis : • Avec votre compte d'utilisateur personnel. Reportez-vous à la section expliquant comment créer un snapshot et l'envoyer (avec un compte d'utilisateur personnel), page 56. • Avec un compte d'utilisateur technique (jeton d'accès). You can create a technical user (access token) that is allowed to upload a snapshot for one specific analysis project. For example, for CI-Systems (Continuous Integration Systems) it is possible to upload snapshots via Python scripts. Click ADMINISTRATION > <PROJECT> > ACCESS TOKENS to open this window. Créer un jeton d'accès Step Action 1 Enter a Name. 2 Select an Expiration Date. After this date, the access token cannot be used to upload a snapshot. 3 Click the CREATE button. Result: A window is displayed which provides the access token as a character string. EIO0000003917.02 57 Mode d'emploi de EcoStruxure Machine Advisor Code Analysis Machine Advisor Code Analysis Step 4 5 Action NOTE: Copy this character string and paste it into some word processor or text editor, and save it to your local system. This character string is only provided once. Close the window. Result: A new row is displayed in the <Project> - Access Tokens table. Exemple de script Python Vous pouvez utiliser le jeton (chaîne de caractères enregistrée) pour vous connecter au portail EcoStruxure Machine Advisor Code Analysis via un script Python. NOTE: Le noeud Application du projet EcoStruxure Machine Expert Logic Builder dont le snapshot doit être envoyé au portail EcoStruxure Machine Advisor Code Analysis doit fournir un sous-noeud Gestionnaire d'analyse de code. Voici un exemple de script Python : # application object searched app = projects.primary.find("Application", True)[0] # full analysis will be executed app.code_analysis.perform_full_analysis() #login projects.primary.code_analysis.portal.login ('eyJVcmwiOiJodHRwczovL2Vjb3N0cnV4dXJlLW1hY2hpbmUtYWR2aXNvci1jb2RlYW5h' +'bHlzaXMuc2UuYXBwIiwiQ2xpZW50SWQiOiJlNWM5aDI4ODdiZDV3YWZiajlpMWw5N2Zl' +'NDMwZGNqOSIsIkNsaWVudFNlY3JldCI6Ijc2U1VBWkNVU0VEUDExMTExMTExIn0=' ) app.code_analysis.portal.snapshots.upload("mySnapshot") # logout app.code_analysis.portal.logout() Résultat : Après l'exécution du script Python, le snapshot envoyé est affiché dans la fenêtre, page 38 <Projet> - Snapshots. Connecter un projet d'analyse à un référentiel SVN Présentation The snapshots that are uploaded to EcoStruxure Machine Advisor Code Analysis do not contain source code. They only contain names of objects, methods, variables, and so on, and information on the relationship between them (call, read, define). Pour identifier les modifications de code source entre différents snapshots, vous pouvez lier Machine Advisor Code Analysis à un référentiel SVN qui fournit le code source avec son historique. Prérequis Pour utiliser Machine Advisor Code Analysis avec un référentiel SVN, il faut que les logiciels suivants soient installés sur le système où s'exécute Machine Advisor Code Analysis : 58 EIO0000003917.02 Mode d'emploi de EcoStruxure Machine Advisor Code Analysis Machine Advisor Code Analysis • Tortoise SVN • Logic Builder Diff Viewer (voir EcoStruxure Machine Expert Logic Builder Diff Viewer, User Guide) (fait partie de Schneider Electric Software Installer). Logic Builder Diff Viewer doit être démarré au moins une fois pour pouvoir être exécuté par le portail EcoStruxure Machine Advisor Code Analysis sur Internet. Exigences concernant les projets/snapshots Pour lier un projet d'analyse de Machine Advisor Code Analysis à un référentiel SVN, il faut que les snapshots devant être envoyés à Machine Advisor Code Analysis fournissent des données supplémentaires. Ces données sont ajoutées automatiquement aux snapshots, si le logiciel Machine Advisor Code Analysis avec lequel ils sont créés a le plugin SVN activé et que le projet analysé est vérifié à partir du référentiel SVN. Données ajoutées automatiquement au snapshot Si les exigences sont respectées, Machine Advisor Code Analysis ajoute automatiquement des données au snapshot créé : • URI de la base (URI Base de contrôle de version) où le code source du projet se trouve en général (voir la fenêtre, page 47 ADMINISTRATION > TOUS LES PROJETS DE LA SOCIETE > <Projet d'analyse> - Détails). • Sous-chemin (Branchement dans contrôle source) facultatif décrivant le chemin, par exemple vers le tronc ou le branchement fonctionnel (voir la fenêtre, page 38 ADMINISTRATION > <PROJET> > <SNAPSHOT> > Modifier snapshot > Snapshot - Détails). • ID de révision (Révision dans contrôle source) du projet que le snapshot envoyé représente (voir la fenêtre, page 38 ADMINISTRATION > <PROJET> > <SNAPSHOT> > Modifier snapshot > Snapshot - Détails). Boutons supplémentaires En fonction des données ajoutées automatiquement, Machine Advisor Code Analysis affiche des boutons supplémentaires (bouton SVN-CHANGELOG, bouton loupe) à la fenêtre Snapshot - Vue d'ensemble (voir , page 15SNAPSHOTS DE PROJET > <PROJET> > VUE D'ENSEMBLE). Ces boutons permettent de démarrer Tortoise SVN ou Logic Builder Diff Viewer avec les informations appropriées pour détecter les différences entre les révisions d'un projet analysé. EIO0000003917.02 59 Machine Advisor Code Analysis Annexes Contenu de cette partie Métriques ......................................................................................................62 Conventions ..................................................................................................85 EIO0000003917.02 61 Machine Advisor Code Analysis Métriques Métriques Contenu de ce chapitre Métrique : taille d'application (code) ................................................................62 Métrique : taille d'application (code+données) .................................................63 Métrique : taille d'application (données)...........................................................63 Métrique : Call In ..........................................................................................64 Métrique : Call Out.........................................................................................64 Métrique : taux de variables (toutes) commentées ...........................................64 Métrique : taux de variables commentées (entrée+sortie+globales)...................65 Métrique : Cyclomatic Complexity ...................................................................65 Métrique : Extended By..................................................................................67 Métrique : Extends ........................................................................................67 Métrique : Fan In ...........................................................................................68 Métrique : Fan Out.........................................................................................68 Métrique : Halstead Complexity ......................................................................69 Métrique : Implemented By ............................................................................72 Métrique : Implements ...................................................................................73 Métrique : Lines Of Code (LOC) .....................................................................74 Métrique : Memory Size (Data) .......................................................................74 Métrique : Number Of Actions ........................................................................75 Métrique : Number Of GVL Usages.................................................................76 Métrique : nombre de lignes de commentaire en en-tête...................................76 Métrique : Number Of Instances .....................................................................77 Métrique : Number Of Library References .......................................................77 Métrique : Number Of Messages ....................................................................78 Métrique : Number Of Methods.......................................................................78 Métrique : nombre de commentaires multilignes ..............................................79 Métrique : Number Of Properties ....................................................................79 Métrique : Number Of Reads..........................................................................80 Métrique : Number Of Tasks ...........................................................................80 Métrique : Number Of Transitions ...................................................................81 Métrique : Number Of Variables......................................................................81 Métrique : Number Of Writes ..........................................................................82 Métrique : Number Of FBD Networks ..............................................................82 Métrique : taux de commentaires du code source ............................................82 Métrique : Stack Size.....................................................................................83 Métrique : taille d'application (code) User Description Les applications écrites dans le langage de programmation IEC-61131-3 sont constituées de blocs fonction, de programmes, de fonctions, de listes de variables globales, etc. Lors de la connexion à un contrôleur, le code source est compilé et un code exécutable est envoyé au contrôleur. L'exécutable se compose de sections de code et de données lors du chargement dans la mémoire du contrôleur. La taille du code d'application est la quantité de mémoire nécessaire pour le gérer. NOTE: Cette métrique ne peut être calculée que si vous activez l'option Prendre en compte le code et la taille des données dans l'onglet Configuration (voir le document EcoStruxure Machine Expert, Machine Code Analysis, Guide de l'utilisateur). Metric Calculation La taille du code d'application est calculée sur la base de la taille du code machine généré pour chaque POU (programme, bloc fonction, fonction). 62 EIO0000003917.02 Métriques Machine Advisor Code Analysis Métrique : taille d'application (code+données) User Description Les applications écrites dans le langage de programmation IEC-61131-3 sont constituées de blocs fonction, de programmes, de fonctions, de listes de variables globales, etc. Lors de la connexion à un contrôleur, le code source est compilé ( génération de code incluse) et un code exécutable est envoyé au contrôleur. L'exécutable se compose de sections de code et de données lors du chargement dans la mémoire du contrôleur. La taille du code et des données de l'application est la quantité minimum de mémoire nécessaire sur le contrôleur pour exécuter l'application. NOTE: Cette métrique ne peut être calculée que si vous activez l'option Prendre en compte le code et la taille des données dans l'onglet Configuration (voir le document EcoStruxure Machine Expert, Machine Code Analysis, Guide de l'utilisateur). Metric Calculation La taille du code d'application est calculée sur la base de la taille du code machine généré pour chaque POU (programme, bloc fonction, fonction). La taille des données de l'application est calculée d'après la taille de toutes les variables de l'application. NOTE: La somme de la taille du code et de la taille des données de l'application (métrique dédiée) ne correspond pas exactement à l'addition de la taille du code et de la taille des données (cette métrique) en raison des paramètres d'alignement ou de page de code liés au matériel du contrôleur. Métrique : taille d'application (données) User Description Les applications écrites dans le langage de programmation IEC-61131-3 sont constituées de blocs fonction, de programmes, de fonctions, de listes de variables globales, etc. Lors de la connexion à un contrôleur, le code source est compilé ( génération de code incluse) et un code exécutable est envoyé au contrôleur. L'exécutable se compose de sections de code et de données lors du chargement dans la mémoire du contrôleur. La taille des données de l'application est la quantité de mémoire dont le contrôleur a besoin pour gérer les données nécessaires à l'exécution du code d'application. NOTE: Cette métrique ne peut être calculée que si vous activez l'option Prendre en compte le code et la taille des données dans l'onglet Configuration (voir le document EcoStruxure Machine Expert, Machine Code Analysis, Guide de l'utilisateur). Metric Calculation La taille des données de l'application est calculée d'après la taille de toutes les variables de l'application. EIO0000003917.02 63 Machine Advisor Code Analysis Métriques Métrique : Call In User Description La métrique Call In est utilisée pour obtenir des informations sur l'appelant d'une méthode, d'une fonction, d'un bloc fonction, etc. Metric Calculation Chaque appel à une implémentation est pris en compte, mais si le même objet (méthode, fonction...) est appelé deux fois dans la même implémentation, il est compté une seule fois. Exemple Exemple de calcul de la métrique Call In pour du code IEC-61131-3 : METH(); // Some other implementation METH(); Résultat de la métrique Call In (pour la méthode METH) Call In = 1 Métrique : Call Out User Description La métrique Call Out est utilisée pour obtenir des informations sur les autres objets (méthode, fonction, bloc fonction...) appelés par l'implémentation. Metric Calculation Chaque appel à une implémentation est pris en compte, mais si le même objet (méthode, fonction...) est appelé deux fois dans la même implémentation, il est compté une seule fois. Exemple Exemple de calcul de la métrique Call Out pour du code IEC-61131-3 : METH(); // Some other implementation METH(); Résultat de la métrique Call Out (pour la méthode METH) Call Out = 1 Métrique : taux de variables (toutes) commentées User Description Cette métrique calcule le rapport (unité : %) entre les variables commentées et non commentées dans un objet IEC. 64 EIO0000003917.02 Métriques Machine Advisor Code Analysis Metric Calculation Chaque déclaration de variable apparaissant dans des objets IEC (fonction (FUN), bloc fonction (FB), type d'unité de données (DUT), liste de variables globales (GVL), etc.) est vérifiée pour déterminer si elle est commentée ou pas. La métrique fournit le rapport entre ces deux valeurs. Exemple Exemple de calcul du taux de variables commentées pour du code IEC-61131-3 : Declaration: 1: PROGRAM SR_Main 2: VAR 3: xCheck1: BOOL;//flag to identify 4: uiMyVariable2: UINT; 5: xFlag: BOOL; 6: END_VAR Taux de variables commentées : 33,33 % Métrique : taux de variables commentées (entrée+sortie +globales) User Description Cette métrique calcule le taux (unité : %) de variables commentées dans les définitions de VAR_GLOBAL, VAR_INPUT, VAR_OUTPUT ou VAR_IN_OUT. Metric Calculation Chaque déclaration de variable apparaissant dans des objets IEC (fonction (FUN), bloc fonction (FB), type d'unité de données (DUT), liste de variables globales (GVL), etc.) est vérifiée pour déterminer si elle est commentée ou pas. La métrique fournit le rapport entre ces deux valeurs. Exemple Exemple de calcul du taux de variables (entrée+sortie+globales) commentées pour du code IEC-61131-3 : Declaration: 1: PROGRAM SR_Main 2: VAR_IN 3: i_xCheck1: BOOL;//flag to identify 3: i_uiMyVariable2: UINT; 4: END_VAR 2: VAR 3: xFlag: BOOL; 4: END_VAR Taux de variables (entrée+sortie+globales) commentées : 50 % Métrique : Cyclomatic Complexity User Description La métrique Cyclomatic Complexity est utilisée pour mesurer la complexité d'un programme en comptabilisant le nombre de chemins linéairement indépendants dans le code source. EIO0000003917.02 65 Machine Advisor Code Analysis Métriques Metric Calculation La métrique Cyclomatic Complexity est calculée à l'aide du graphique de contrôle de déroulement du programme. Cette mesure de complexité dépend des points de condition et de décision inclus dans ce graphique. Par exemple : • Aucun point de condition ou de décision : complexité = 1 (un seul chemin à travers le code). • Une instruction IF : complexité = 2 (deux chemins à travers le code). • Une instruction IF avec deux conditions : complexité = 3 (trois chemins à travers le code). • … En fonction de l'outil d'analyse utilisé, il existe plusieurs interprétations/ implémentations de la métrique Cyclomatic Complexity. Certains outils ne tiennent pas compte des expressions AND/OR/... dans les instructions IF, REPEAT, WHILE, etc. La métrique McCabe Cyclomatic Complexity est toujours incrémentée de 1. D'autres outils prennent également en compte les expressions du flux de code (hors instruction IF, REPEAT, etc.) mais utilisées ultérieurement dans une instruction IF ou REPEAT, ce qui produit un résultat Cyclomatic Complexity plus élevé. L'implémentation de la métrique Cyclomatic Complexity pour le code IEC-61131-3 dans EcoStruxure Machine Expert tient compte des expressions contenant AND/OR/..., mais pas des expressions précalculées dans le flux du code ou indiquées à un appel de méthode. Exemple Exemple de calcul de la métrique Cyclomatic Complexity pour du code IEC61131-3 : // MCC +1 (Initial Value) // MCC +0 (Pre calculation of condition not considered) a := b OR c; // MCC +0 (Method call with condition not considered in calling implementation) METH4(a); IF a AND b OR c XOR d AND NOT e THEN // MCC +5 (IF with 5 conditions) CASE i OF 1..4: // MCC +1 (CASE range is considered as one condition) FOR i := 1 TO 10 DO // MCC +1 METH1(); END_FOR 10, 11, 12, 13: // MCC +1 (multiple CASE labels considered as one condition) REPEAT // MCC +1 (one condition in REPEAT) WHILE (a = TRUE AND b = FALSE) DO // MCC +2 (two conditions in WHILE) METH2(); END_WHILE 66 EIO0000003917.02 Métriques Machine Advisor Code Analysis UNTIL (TRUE) END_REPEAT ELSE // MCC +0 (Default path through CASE statement) METH3(); END_CASE END_IF Résultat de la métrique Cyclomatic Complexity Cyclomatic Complexity (MCC) = 12 Métrique : Extended By User Description La métrique Extended By est utilisée pour obtenir des informations sur la fréquence d'extension d'un bloc fonction ou d'une interface par un autre bloc fonction ou une autre interface. Metric Calculation Un bloc fonction peut étendre exactement un bloc fonction et implémenter plusieurs interfaces. Une interface peut étendre plusieurs interfaces mais ne peut pas implémenter d'autres interfaces. Un bloc fonction ou une interface peut être étendu(e) par zéro ou plusieurs interfaces. Le nombre d'interfaces étendues directes est compté. Exemple Exemple de calcul de Extended By pour du code IEC-61131-3 : FB_Test extends FB_Base implements IF_Test1, IF_Test2 FB_Base implements IF_Test4 IF_Test2 extends IF_Test3, IF_Test5 Résultats du calcul de Implemented By Extended By (FB_Base) = 1 Extended By (IF_Test3) = 1 Extended By (IF_Test5) = 1 Métrique : Extends User Description La métrique Extends est utilisée pour obtenir des informations sur le nombre d'interfaces étendues par un bloc fonction ou une interface. Metric Calculation Un bloc fonction peut étendre exactement un bloc fonction et implémenter plusieurs interfaces. Une interface peut étendre plusieurs interfaces mais ne peut pas implémenter d'autres interfaces. Un bloc fonction ou une interface peut étendre zéro ou plusieurs interfaces. Le nombre d'interfaces étendues directes est compté. Exemple Exemple de calcul de Extends pour du code IEC-61131-3 : FB_Test extends FB_Base implements IF_Test1, IF_Test2 EIO0000003917.02 67 Machine Advisor Code Analysis Métriques FB_Base implements IF_Test4 IF_Test2 extends IF_Test3, IF_Test5 Résultats du calcul de Implemented By Extends (FB_Test) = 1 Extends (IF_Test2) = 2 Métrique : Fan In User Description La métrique Fan In est utilisée pour obtenir des informations sur le nombre de dépendances entrantes (lectures, écritures, appels, etc.) vers un noeud du modèle de données d'analyse (modèle de dépendance). Une dépendance entrante signifie, par exemple, qu'un noeud est appelé et qu'un autre noeud en dépend. Metric Calculation Chaque dépendance entrante est prise en compte pour un noeud donné. Un noeud peut être un bloc fonction, un programme, une fonction, une variable, une bibliothèque, une propriété, une méthode, une tâche, etc. Exemple Exemple de dépendance (liste de dépendances) : FunctionBlockA defines MethodA FunctionBlockA defines MethodB FunctionBlockA defines VariableC FunctionBlockA calls MethodA MethodA calls MethodB MethodB reads VariableC Résultats de la métrique Fan In Fan In (FunctionBlockA) = 0 Fan In (MethodA) = 2 Fan In (MethodB) = 2 Fan In (VariableC) = 2 Métrique : Fan Out User Description La métrique Fan Out est utilisée pour obtenir des informations sur le nombre de dépendances sortantes (lectures, écritures, appels, etc.) présentées par un noeud du modèle de données d'analyse (modèle de dépendance). Une dépendance sortante signifie, par exemple, qu'un noeud est appelé et qu'un autre noeud en dépend. Metric Calculation Chaque dépendance sortante est prise en compte pour un noeud donné. Un noeud peut être un bloc fonction, un programme, une fonction, une variable, une bibliothèque, une propriété, une méthode, une tâche, etc. Exemple Exemple de dépendance (liste de dépendances) : FunctionBlockA defines MethodA FunctionBlockA defines MethodB FunctionBlockA defines VariableC 68 EIO0000003917.02 Métriques Machine Advisor Code Analysis FunctionBlockA calls MethodA MethodA calls MethodB MethodB reads VariableC Résultats de la métrique Fan Out Fan Out (FunctionBlockA) = 4 Fan Out (MethodA) = 1 Fan Out (MethodB) = 1 Fan Out (VariableC) = 0 Métrique : Halstead Complexity User Description La métrique Halstead Complexity est utilisée pour mesurer la complexité d'un programme logiciel sans l'exécuter. Cette méthode de test statique permet d'identifier et d'évaluer des propriétés mesurables du logiciel. Le code source est analysé et scindé en une suite de jetons, lesquels sont ensuite classés et comptabilisés en tant qu'opérateurs ou opérandes. La métrique Halstead Complexity ne dépend d'aucune langage de programmation et peut être appliquée au code source IEC-61131-3. Les opérateurs et les opérandes sont classés et comptabilisés comme suit : Paramètre Description n1 Nombre d'opérateurs distincts n2 Nombre d'opérandes distinctes N1 Nombre total d'opérateurs N2 Nombre total d'opérandes Plusieurs valeurs de métrique peuvent être calculées pour représenter différents aspects de complexité : • Halstead Difficulty (D) • Halstead Length (N) • Halstead CalculatedLength (Nx) • Halstead Volume (V) • Halstead Effort (E) • Halstead Vocabulary (n) Métrique Halstead Complexity des POU en langage ST (littéral structuré) À l'origine, la métrique Halstead Complexity a été développée pour les langages textuels (C, C++, Pascal…). Elle s'applique aux POU en langage ST. NOTE: La métrique Halstead Difficulty est affichée par défaut. Métrique Halstead Complexity des POU en langage FBD (diagramme à blocs fonction) Le langage FBD est un langage d'implémentation graphique ; il n'est pas basé sur du texte. Un POU se compose de plusieurs réseaux FBD. La métrique Halstead Complexity doit être adaptée pour pouvoir s'appliquer aux langages graphiques. Le concept de base est le même. On considère que les opérandes et les opérateurs, ainsi que leur fréquence (par réseau FBD), sont présentés à l'utilisateur (voir la section Exemple en langage FBD). EIO0000003917.02 69 Machine Advisor Code Analysis Métriques Les valeurs Halstead Complexity calculées pour chaque réseau FBD sont agrégées pour tous ces réseaux et associées au niveau du POU (programme, bloc fonction, fonction, méthode ou propriété). NOTE: Les valeurs Halstead calculées (pour chaque réseau FBD) sont FBD Network Halstead Difficulty et FBD Network Halstead Length. Les types d'agrégation suivants sont appliqués aux métriques Halstead (Halstead Difficulty et Halstead Length) de chaque réseau FBD : • Moyenne • Minimum • Maximum • Somme • Cohérence NOTE: Les valeurs agrégées les plus pertinentes sont FBD Halstead Difficulty Network Max, FBD Halstead Difficulty Network Consistency, FBD Halstead Length Network Max et FBD Halstead Length Network Consistency. Les autres combinaisons (minimum, somme et moyenne) sont calculées et associées au modèle, mais ne s'affichent pas par défaut. Metric Calculation Valeur Formule Halstead Difficulty (D) D = (n1 / 2) * (N2 / n2) Halstead Length (N) N = N1 + N2 Halstead CalculatedLength (Nx) Nx = n1 * log2(n1) + n2 * log2(n2) Halstead Volume (V) V = N * log2(n) Halstead Effort (E) E=V*D Halstead Vocabulary (n) n = n1 + n2 NOTE: Une expression contenue dans une instruction IF <expression> THEN ne doit pas avoir de parenthèses. Ces expressions sont considérées comme toujours disponibles dans le code source IEC-61131-3 . Agrégation des valeurs de la métrique Les résultats de la métrique, comme FBD Network Halstead Difficulty et FBD Network Halstead Length, sont agrégés pour tous les réseaux FBD d'un POU. Le paramètre values représente la liste des valeurs d'une métrique (par exemple, FBD Network Halstead Length) pour tous les réseaux d'un POU. La valeur de cohérence est le résultat du coefficient Gini. Ce coefficient est une mesure de la dispersion statistique, qui sert à mesurer l'inégalité entre les valeurs d'une distribution fréquente. Un coefficient Gini de 0 exprime une égalité parfaite (les valeurs sont toutes identiques). Un coefficient Gini de 1 exprime une inégalité maximale entre les valeurs. Exemple en langage ST Exemple de calcul de métrique Halstead pour du code IEC-61131-3 (seule la partie implémentation est prise en compte pour le calcul) : IF (xInit = FALSE) THEN PerformInitialization(); xInit := TRUE; ELSE FOR i := 1 TO 5 DO iAxisId := i + 7; 70 EIO0000003917.02 Métriques Machine Advisor Code Analysis sAxisName := Standard.CONCAT('MyAxis ', INT_TO_ STRING(iAxisId)); // Do some math calculations for each axis here udiResult := CalculateStuff(sName := sAxisName, iID := iAxisId); END_FOR END_IF Liste des opérateurs et de leurs fréquences : Operator Frequency ======== ========= (operators) If 1 Then 1 LeftParenthesis 6 RightParenthesis 6 Equal 1 Semicolon 5 Assign 7 Else 1 For 1 EndFor 1 Do 1 Plus 1 Period 1 INT_TO_STRING 1 Colon 2 EndIf 1 (n1) 16 (N1) 37 Liste des opérandes et de leurs fréquences : Operand Frequency ======= ========= (variables/methods/functions) xInit 2 PerformInitialization 1 i 2 iAxisId 3 sAxisName 2 Standard 1 CONCAT 1 udiResult 1 CalculateStuff 1 sName 1 iID 1 (constants) FALSE TRUE INT#1 INT#5 INT#7 'MyAxis ' (n2) 17 (N2) 1 1 1 1 1 1 22 Résultat de la métrique de difficulté Halstead Halstead Difficulty (D = (16/2) * (22/17) = 10.3529411764706 Exemple en langage FBD EIO0000003917.02 71 Machine Advisor Code Analysis Métriques Exemple de calcul de la métrique Halstead pour du code IEC-61131-3 en FBD (seule la partie implémentation est prise en compte pour le calcul) : Liste des opérateurs et de leurs fréquences : Operator Frequency ======== ========= (operators) Assign 4 Set2 1 And 1 Negation2 2 Or 1 Eq 1 (n1) 6 (N1) 10 Liste des opérandes et de leurs fréquences : Operand Frequency ======= ========= (variables/methods/functions/constants) xResult 1 TON 1 fbTON 1 xEnable 1 T#1s 1 IN 1 PT 1 Q 1 ET 1 xTray1Empty 1 xTray2Empty 1 xInHomePosition 1 xBeltFull 1 xGroupReady 1 uiMasterStart 1 5 1 (n2) 16 (N2) 16 Résultat de la métrique FBD Network Halstead Difficulty FBD Network Halstead Difficulty (D) = (6/2) * (16/16) = 3 Métrique FBD Network Halstead Length FBD Network Halstead Length (D) = 10 + 16 = 26 Métrique : Implemented By User Description La métrique Implemented By est utilisée pour obtenir des informations sur la fréquence d'implémentation d'une interface par un bloc fonction. 72 EIO0000003917.02 Métriques Machine Advisor Code Analysis Metric Calculation Un bloc fonction peut étendre exactement un bloc fonction et implémenter plusieurs interfaces. Une interface peut étendre plusieurs interfaces mais ne peut pas implémenter d'autres interfaces. Une interface peut être implémentée par plusieurs blocs fonction. Le nombre d'interfaces implémentées directes est compté. NOTE: Si un bloc fonction prolonge un autre bloc fonction ou qu'une interface prolonge d'autres interfaces, les interfaces implémentées dérivées ne sont pas prises en compte. Si une interface est implémentée dans le bloc fonction de base et le bloc fonction dérivé, elle est comptée deux fois. Exemple Exemple de calcul de Implemented By pour du code IEC-61131-3 : FB_Test extends FB_Base implements IF_Test1, IF_Test2 FB_Base implements IF_Test4, IF_Test1 IF_Test2 extends IF_Test3, IF_Test5 Résultats du calcul de Implemented By Implemented By (IF_Test1) = 2 Implemented By (IF_Test2) = 1 Implemented By (IF_Test3) = 1 Implemented By (IF_Test4) = 1 Implemented By (IF_Test5) = 1 Métrique : Implements User Description La métrique Implements est utilisée pour obtenir des informations sur le nombre d'interfaces implémentées par un bloc fonction. Metric Calculation Un bloc fonction peut étendre exactement un bloc fonction et implémenter plusieurs interfaces. Une interface peut étendre plusieurs interfaces mais ne peut pas implémenter d'autres interfaces. Un bloc fonction peut implémenter zéro ou plusieurs interfaces. Le nombre d'interfaces implémentées directes est compté. NOTE: Si un bloc fonction prolonge un autre bloc fonction ou qu'une interface prolonge d'autres interfaces, les interfaces implémentées dérivées ne sont pas prises en compte. Exemple Exemple de calcul de Implements pour du code IEC-61131-3 : FB_Test extends FB_Base implements IF_Test1, IF_Test2 FB_Base implements IF_Test4 IF_Test2 extends IF_Test3, IF_Test5 Résultats du calcul de Implements Implements (FB_Test) = 2 Implements (FB_Base) = 1 EIO0000003917.02 73 Machine Advisor Code Analysis Métriques Métrique : Lines Of Code (LOC) User Description La métrique LOC compte le nombre de lignes de code source dans un programme. Elle détermine ainsi la taille du programme. Cette métrique peut être utilisée pour estimer la charge représentée par le développement du programme, sa mise en production et la maintenance du logiciel publié. Metric Calculation Chaque ligne d'un objet implémenté textuel (fonction (FUN), bloc fonction (FB), type d'unité de donnée (DUT), liste de variables globales (GVL), etc.) est prise en compte dans la métrique Lines Of Code. Exemple Exemple de calcul de la métrique LOC pour du code IEC-61131-3 : Declaration: 1: PROGRAM SR_Main 2: VAR 3: x: BOOL; 4: END_VAR Implementation: 1: 2: IF (x = TRUE) THEN 3: DoSomething(); 4: END_IF 5: 6: // A nice comment 7: SpecialMethod(); Résultat de la métrique LOC Lines Of Code (LOC) = 11 Métrique : Memory Size (Data) User Description Une application ou une bibliothèque basée sur IEC-61131-3 s'articule autour de types complexes tels que des programmes, des blocs fonction, des listes de variables globales, des méthodes, des actions, des fonctions, des structures, etc. Au sein de chacun de ces types, des variables peuvent être définies. Les types complexes blocs fonction et structures peuvent être instanciés plusieurs fois et placés en bloc dans la mémoire. Chaque définition de type complexe (informations de type et variables), lors de son instanciation, a besoin d'une certaine quantité de mémoire appelée son empreinte. Cette empreinte est utilisée pour obtenir les informations concernant la taille nécessaire dans la mémoire elle-même. Informations sur la quantité de mémoire à gérer, par exemple dans des situations de modification en ligne ou lors de l'utilisation en tant qu'argument d'entrée de méthodes (informations utilisées ensuite comme taille de pile). Elle peut aussi être utilisée pour identifier des types complexes volumineux qui peuvent poser des problèmes s'ils sont souvent instanciés, par exemple dans un tableau (array). Metric Calculation Pour un bloc fonction ou une structure, les tailles des variables sont additionnées. Le type bloc fonction a de plus besoin de mémoire (liste de méthodes, interfaces implémentées, etc.). Selon l'architecture de contrôleur sous-jacente, un 74 EIO0000003917.02 Métriques Machine Advisor Code Analysis alignement de mémoire doit également être envisagé. Il s'appuie sur le type et l'ordre des variables. Exemple Exemple de calcul de Memory Size (Data) pour du code IEC-61131-3 : FUNCTION_BLOCK FB_XXX VAR xVar1: BOOL; // 1 bit xVar2: BOOL; // 1 bit xVar3: BOOL; // 1 bit // 5 additional bits for alignment iVar4: INT; // 4 byte (on 32-bit architectures) xVar5: BOOL; // 1 bit // 7 additional bits for alignment fbComplex: FB_Test; // 20 byte END_VAR FUNCTION_BLOCK FB_YYY VAREND_VAR FUNCTION_BLOCK FB_ZZZ VAR iVar1: INT; END_VAR Résultats du calcul de Memory Size (Data) Memory Size (Data) (FB_XXX) = 32 Memory Size (Data) (FB_YYY) = 4 Memory Size (Data) (FB_ZZZ) = 8 Métrique : Number Of Actions User Description La métrique Number Of Actions est utilisée pour obtenir des informations sur le nombre d'actions associées à un programme ou à un bloc fonction. Metric Calculation Toute action associée à un programme ou à un bloc fonction est prise en compte. Les actions non utilisées sont également comptabilisées. Exemple Exemple de calcul de Number Of Actions pour du code IEC-61131-3 : FB_MyAlphaModule - ACT_InitAxis1 (Action) - ACT_InitAxis2 (Action) - UpdateStatus (Method) - Calculate (Method) - Enabled (Property) - Get (Property Get) - Set (Property Set) - Status (Property) - Get (Property Get) - Set (Property Set) - SwitchNextState (Transition) Résultat du calcul de Number Of Actions (pour la variable FB_ MyAlphaModule) Number Of Actions = 2 EIO0000003917.02 75 Machine Advisor Code Analysis Métriques Métrique : Number Of GVL Usages User Description La métrique Number Of GVL Usages est utilisée pour obtenir des informations sur le nombre de variables globales utilisées (en lecture ou en écriture) par un objet de programmation (programme, bloc fonction, fonction, méthode, etc.). Metric Calculation Chaque objet de programmation (programme, bloc fonction, fonction, méthode, obtention ou définition de propriété, etc.) est traité individuellement. Exemple Exemple de calcul de Number Of GVL Usages pour du code IEC-61131-3 : FB_MyAlphaModule VAR iMyState : INT; END_VAR iMyState := GVL_IOs.G_iState; if (iMyState = 10) THEN ; END_IF Résultat du calcul de Number Of GVL Usages (pour la variable FB_ MyAlphaModule) Number Of GVL Usages = 1 Métrique : nombre de lignes de commentaire en en-tête User Description Cette métrique compte le nombre de commentaires dans l'en-tête de la section de déclaration. Ces commentaires peuvent aider les développeurs à comprendre ce que fait l'objet considéré, à quelle fin et de quelle manière. Metric Calculation Chaque ligne de commentaire apparaissant dans l'en-tête d'une section de déclaration d'un objet IEC (fonction (FUN), bloc fonction (FB), type d'unité de données (DUT), liste de variables globales (GVL), etc.) est comptabilisée. Exemple Exemple de calcul des commentaires en en-tête pour du code IEC-61131-3 : Declaration: 1: //This PRG is the start point 2: //Methodes: 3: // - .... 4: // - .... 5: PROGRAM SR_Main 6: VAR 7: x: BOOL; 8: END_VAR Nombre de commentaires en en-tête : 4 76 EIO0000003917.02 Métriques Machine Advisor Code Analysis Métrique : Number Of Instances User Description La métrique Number Of Instances est utilisée pour obtenir des informations sur la fréquence d'utilisation d'un type complexe (bloc fonction, énumération, structure, etc.) en tant que type variable dans des objets de programmation (programmes, blocs fonction, etc.). Metric Calculation Vous pouvez déclarer des variables dans la section de déclaration. Un type de données (complexe ou élémentaire) est associé à chaque variable. Pour chaque utilisation, le nombre d'instances de ce type de données est augmenté d'une unité. NOTE: Si le type de données de la variable est un tableau (array), le type de données sous-jacent est utilisé et le nombre d'instances est augmenté de 1. La longueur du tableau n'est pas prise en compte. NOTE: Les chemins d'instanciation à travers différents types complexes ne sont pas pris en compte. Par exemple, si un bloc fonction est instancié plusieurs fois, les types complexes inclus ne sont comptés qu'une seule fois. Exemple Exemple de calcul de Number Of Instances pour du code IEC-61131-3 : SR_Main VAR fbMyAlphaModule: FB_MyAlphaModule; END_VAR FB_MyAlphaModule VAR astAxisStructures: ARRAY [1..10] OF ST_MyAxisStructure; fbSubModule: FB_MySubModule; END_VAR FB_MySubModule VAR fbAxis: FB_MyAxis; END_VAR ST_MyAxisStructure VAR iID: INT; fbAxis: FB_MyAxis; END_VAR FB_MyAxis VAR END_VAR Résultats du calcul de Number Of Instances Number Of Instances (FB_MyAlphaModule) = 1 Number Of Instances (FB_MySubModule) = 1 Number Of Instances (ST_MyAxisStructure) = 1 Number Of Instances (FB_MyAxis) = 2 Métrique : Number Of Library References User Description La métrique Number Of Library References est utilisée pour obtenir des informations sur le nombre de bibliothèques référencées directement par un espace d'application ou de POU. EIO0000003917.02 77 Machine Advisor Code Analysis Métriques Metric Calculation Toutes les références d'application à bibliothèque ou de bibliothèque à bibliothèque sont prises en compte. Exemple Exemple de calcul de Number Of Library References pour du code IEC-61131-3 : Application --> Library A --> Library B --> Library B --> Library C Résultat du calcul de Number Of Library References (pour l'application) Number Of Library References = 3 Métrique : Number Of Messages User Description La métrique Number Of Messages (simple information, avertissement, erreur détectée, erreur irrécupérable) est utilisée pour obtenir des informations sur le nombre de messages envoyés à la Vue Messages pendant la compilation. Metric Calculation La plupart des messages concernent un objet de programmation (bloc fonction, fonction, etc.). Tout message qui n'est pas lié à un objet de programmation est attaché à l'application (ou à l'espace POU en cas d'analyse de l'espace POU uniquement). NOTE: L'analyse du code est basée sur une application compilable exempte d'erreurs de compilation. Les messages de catégorie erreur et erreur irrécupérable émis pendant la compilation ne peuvent pas se produire dans les données d'analyse. Métrique : Number Of Methods User Description La métrique Number Of Methods est utilisée pour obtenir des informations sur le nombre de méthodes associées à un programme ou à un bloc fonction. Metric Calculation Toute méthode associée à un programme ou à un bloc fonction est prise en compte. Les méthodes non utilisées sont également comptabilisées. Exemple Exemple de calcul de Number Of Methods pour du code IEC-61131-3 : FB_MyAlphaModule - ACT_InitAxis1 (Action) - ACT_InitAxis2 (Action) - UpdateStatus (Method) - Calculate (Method) - Enabled (Property) - Get (Property Get) - Set (Property Set) - Status (Property) - Get (Property Get) - Set (Property Set) 78 EIO0000003917.02 Métriques Machine Advisor Code Analysis - SwitchNextState (Transition) Résultat du calcul de Number Of Methods (pour la variable FB_ MyAlphaModule) Number Of Methods = 2 Métrique : nombre de commentaires multilignes User Description Cette métrique compte les commentaires comprenant plusieurs lignes dans un objet IEC. Il n'est pas recommandé d'insérer des commentaires multilignes car le début et la fin du commentaire risquent d'être perdus lors de la fusion. Par exemple, un code source supprimé par un commentaire peut être réinséré accidentellement dans le programme. Metric Calculation Exemple Exemple de calcul des commentaires multilignes pour du code IEC-61131-3 : Declaration: 1: (*This is a multiline 2: comment in header*) 3: PROGRAM SR_Main 4: VAR 5: xCheck1: BOOL;(*not needed 6: uiMyVariable2: UINT;*) 7: xFlag: BOOL; 8: END_VAR Commentaires multilignes : 2 Métrique : Number Of Properties User Description La métrique Number Of Properties est utilisée pour obtenir des informations sur le nombre de propriétés associées à un programme ou à un bloc fonction. Metric Calculation Toute propriété associée à un programme ou à un bloc fonction est prise en compte. Les propriétés non utilisées sont également comptabilisées. Exemple Exemple de calcul de Number Of Properties pour du code IEC-61131-3 : FB_MyAlphaModule - ACT_InitAxis1 (Action) - ACT_InitAxis2 (Action) - UpdateStatus (Method) - Calculate (Method) - Enabled (Property) - Get (Property Get) - Set (Property Set) - Status (Property) - Get (Property Get) - Set (Property Set) - SwitchNextState (Transition) EIO0000003917.02 79 Machine Advisor Code Analysis Métriques Résultat du calcul de Number Of Properties (pour la variable FB_ MyAlphaModule) Number Of Properties = 2 Métrique : Number Of Reads User Description La métrique Number of Reads est utilisée pour obtenir des informations sur les variables qui ont été lues. Metric Calculation Chaque lecture d'une variable dans une implémentation est prise en compte, mais si une même variable est lue deux fois dans une implémentation, elle est comptée une seule fois. Exemple Exemple de calcul de Number Of Reads pour du code IEC-61131-3 : METH(iMyVariable); // Some other implementation METH(iMyVariable); Résultat du calcul de Number Of Reads (pour la variable iMyVariable) Number Of Reads = 1 Métrique : Number Of Tasks User Description La métrique Number Of Tasks est utilisée pour obtenir des informations sur le nombre de tâches actuellement définies dans une application. Metric Calculation Les tâches ne peuvent être définies que dans des applications. La métrique renvoie le nombre de tâches définies dans une application. Exemple Exemple de calcul de Number Of Tasks pour du code IEC-61131-3 : Application - SR_Main (Program) - FB_Test1 (FunctionBlock) - FB_Test2 (FunctionBlock) - TaskConfiguration - TASK_SR_Main (Task) - TASK_Visu (Task Résultat du calcul de Number Of Tasks (pour l'application) Number Of Tasks = 2 80 EIO0000003917.02 Métriques Machine Advisor Code Analysis Métrique : Number Of Transitions User Description La métrique Number Of Transitions est utilisée pour obtenir des informations sur le nombre de transitions associées à un programme ou à un bloc fonction. Metric Calculation Toute transition associée à un programme ou à un bloc fonction est prise en compte. Les transitions non utilisées sont également comptabilisées. Exemple Exemple de calcul du nombre de transitions pour du code IEC-61131-3 : FB_MyAlphaModule - ACT_InitAxis1 (Action) - ACT_InitAxis2 (Action) - UpdateStatus (Method) - Calculate (Method) - Enabled (Property) - Get (Property Get) - Set (Property Set) - Status (Property) - Get (Property Get) - Set (Property Set) - SwitchNextState (Transition) Résultat du calcul de Number Of Transitions (pour la variable FB_ MyAlphaModule) Number Of Properties = 2 Métrique : Number Of Variables User Description La métrique Number Of Variables est utilisée pour obtenir des informations sur le nombre de variables définies dans la section de déclaration de programmes, blocs fonction, fonctions, méthodes, commandes Get ou Set de propriétés, transitions, listes de variables globales, etc. Metric Calculation Toute variable définie dans une section de déclaration est prise en compte. Les variables non utilisées sont également comptabilisées. Exemple Exemple de calcul de Number Of Variables pour du code IEC-61131-3 : FB_MyAlphaModule VAR i: INT; END_VAR VAR_INPUT i_iCommand: INT; i_lrPosition: LREAL; END_VAR VAR_OUTPUT q_iStatus: INT; END_VAR Résultat du calcul de Number Of Variables (pour la variable FB_ MyAlphaModule) Number Of Variables = 4 EIO0000003917.02 81 Machine Advisor Code Analysis Métriques Métrique : Number Of Writes User Description La métrique Number Of Writes est utilisée pour obtenir des informations sur les variables qui ont été écrites. Metric Calculation Chaque écriture d'une variable dans une implémentation est prise en compte, mais si une même variable est écrite deux fois dans une implémentation, elle est comptée une seule fois. Exemple Exemple de calcul de Number Of Writes pour du code IEC-61131-3 : iMyVariable := 1; // Some other implementation iMyVariable := 2; Résultat du calcul de Number Of Writes (pour la variable iMyVariable) Number Of Writes = 1 Métrique : Number Of FBD Networks User Description La métrique Number of Function Block Diagram (FBD) Networks est utilisée pour obtenir des informations sur le nombre de réseaux disponibles dans un programme, un bloc fonction, une fonction, une méthode ou une propriété implémentés en FBD. Metric Calculation Chaque réseau FBD disponible dans le programme, le bloc fonction, la fonction, la méthode ou la propriété est pris en compte. Exemple Exemple de calcul de la métrique Number Of FBD Networks : FB_MyAlphaModule (FB) - implemented in FBD - FBD Network 1 - FBD Network 2 - FBD Network 3 Résultat de la métrique Number Of FBD Networks (pour la variable FB_ MyAlphaModule) Number Of FBD Networks = 3 Métrique : taux de commentaires du code source User Description Les commentaires peuvent aider les développeurs à comprendre ce que fait le code, à quelle fin et de quelle manière. Cette métrique calcule le rapport (unité : %) entre CLOC (Comment Lines Of Code) et SLOC (Source Lines Of Code) dans la section d'implémentation d'un objet IEC. 82 EIO0000003917.02 Métriques Machine Advisor Code Analysis CLOC : nombre de lignes de commentaire, y compris les lignes combinant code source et commentaire. SLOC : nombre de lignes sans commentaires et de lignes vides, y compris les lignes combinant code source et commentaire. Metric Calculation Chaque ligne d'un objet implémenté textuel (fonction (FUN), bloc fonction (FB), type d'unité de données (DUT), programme (PRG), etc.) est vérifiée pour déterminer si elle contient un commentaire ou du code source. La métrique fournit le rapport entre ces deux valeurs. Exemple Exemple de calcul du taux de commentaires du code source pour du code IEC61131-3 : 1: 2: IF (x = TRUE) THEN 3: DoSomething();//This is very important and hard to understand 4: END_IF 5: 6: // A nice comment 7: SpecialMethod(); Taux de commentaires du code source : 50 % Métrique : Stack Size User Description Une application ou une bibliothèque basée sur IEC-61131-3 s'articule autour de types complexes tels que des programmes, des blocs fonction, des listes de variables globales, des méthodes, des actions, des fonctions, des structures, etc. Au sein de chacun de ces types, des variables peuvent être définies. Lorsqu'un type complexe est appelé, par exemple une fonction, une méthode, une action, une opération Get ou Set de propriété ou une transition, l'exécution nécessite la mémoire de la pile. Les informations de taille de pile peuvent être utilisées pour identifier le type complexe qui consomme une quantité trop importante de mémoire de la pile. NOTE: La mémoire de pile disponible par tâche est limitée et définie par le contrôleur utilisé. Une consommation importante de la taille de la pile peut entraîner des exceptions. NOTE: Si un type de bloc fonction est utilisé comme type de variable d'entrée de méthode (appel par valeur), la taille mémoire du type complexe est nécessaire (voir Données de taille mémoire, page 74). L'appel par valeur ne doit pas être utilisé pour les types complexes tels que les entrées de méthode ou de fonction. Metric Calculation Pour un type complexe tel qu'une fonction ou une méthode, les tailles des variables s'additionnent. Lors de l'appel du type complexe, la taille mémoire est allouée par dessus la pile et les valeurs d'entrée y sont copiées. Pendant l'exécution du code de la fonction ou de la méthode, ces valeurs de mémoire sont utilisées. NOTE: Chaque appel de méthode ou de fonction a sa propre mémoire et aucun conflit ne se produit si une méthode est appelée en parallèle par une autre tâche. Exemple EIO0000003917.02 83 Machine Advisor Code Analysis Métriques Exemple de calcul de Stack Size pour du code IEC-61131-3 : FUNCTION_BLOCK FB_XXX VAR fbComplex: FB_Test; // 20 byte END_VAR // method call of FB_XXX Meth1(TRUE); METHOD Meth1 VAR_INPUT xTest1: BOOL; END_VARVAR iTest2: INT; END_VAR METHOD METH2 VAR_INPUT fbComp: FB_XXX; END_VAR Résultats du calcul de Stack Size Stack Size (METH1) = 8 Stack Size (METH2) = 32 84 EIO0000003917.02 Conventions Machine Advisor Code Analysis Conventions Contenu de ce chapitre Convention : messages de compilation ...........................................................85 Convention : POU complexe avec faible taux de commentaires ........................85 Conventions : Vérifications des noms de types complexes ...............................86 Conventions : Limite de profondeur d'héritage .................................................86 Convention : vérification de lecture de variable d'entrée ...................................87 Convention : vérification de type de variable d'entrée .......................................88 Convention : vérification d'écriture de variable d'entrée ....................................88 Convention : utilisation de commentaires multilignes........................................89 Convention : absence de commentaire en en-tête............................................90 Conventions : Nombre limite de méthodes ......................................................90 Conventions : Nombre limite de propriétés ......................................................90 Convention : vérification de lecture de variable de sortie...................................91 Convention : vérification de type de variable de sortie ......................................92 Convention : vérification de l'utilisation de déclarations PERSISTENT ...............92 Convention : vérification de l'utilisation de déclarations RETAIN........................93 Convention : variable non commentée (toutes) ................................................93 Convention : variable non commentée (entrée/sortie/globale) ...........................93 Conventions : Vérification des variables inutilisées...........................................94 Conventions : Vérification des noms de variable ..............................................94 Conventions : Vérification de la longueur des noms de variable ........................95 Convention : messages de compilation User Description Lors de la compilation d'une application basée sur IEC-61131-3, le compilateur signale au développeur les erreurs irrécupérables et les erreurs détectées, des conseils (avertissements) et diverses informations utiles. Les erreurs irrécupérables et les erreurs détectées doivent être résolues par le développeur pour que l'application puisse fonctionner sur un contrôleur. Les avertissements à titre de conseil doivent aussi être traités par le développeur. Leur nombre doit être aussi proche de zéro que possible pour une application dont la publication est déjà planifiée. Les messages simplement informatifs servent notamment à tenir le développeur au courant de l'évolution de l'application compilée ou de ses besoins en taille mémoire. NOTE: Il n'est possible de procéder à une analyse de code que sur une application exempte d'erreurs irrécupérables. Seuls les messages de compilation sont pris en compte lors d'une analyse de code. Les messages d'erreur ne sont pas disponibles. Convention Verification Rule Pour la vérification des conventions, les messages de compilation disponibles (données d'analyse complètes) sont pris en compte et signalés. La gravité des messages de compilation est utilisée comme pondération de la violation de convention. Convention : POU complexe avec faible taux de commentaires User Description Cette convention répertorie tous les objets IEC à faible taux de commentaires. EIO0000003917.02 85 Machine Advisor Code Analysis Conventions Contrairement aux autres métriques qui se concentrent uniquement sur les taux CLOC (Comment Lines Of Code) et SLOC (Source Lines Of Code), cette convention permet de filtrer les objets IEC présentant une grande complexité et un faible taux de commentaires. Cette convention s'intéresse uniquement à l'aspect implémentation d'un objet IEC. Conventions : Vérifications des noms de types complexes User Description Coding style is a set of rules or guidelines applied when writing source code. Following a specified coding style helps: • To read and understand the source code. • To avoid and find programming issues. • To easy maintenance of source code. Sur la base des instructions de programmation (conventions de nom (voir EcoStruxure Machine Expert, Programming Guide), préfixes (voir EcoStruxure Machine Expert, Programming Guide)) de Schneider Electric pour le code source IEC-61131-3, il existe des interrogations de conventions pour vérifier les noms de types complexes suggérés pour chaque type. Convention Verification Rule Pour la vérification de convention, le type complexe est combiné avec le nom d'objet. Préfixes de nom en fonction des types complexes : • Bloc fonction : préfixe FB_ • Programme : préfixe SR_ • Enumération : préfixe ET_ • Structure : préfixe ST_ • ... Exemple FB_MyAxisWrapper ST_MyDataStruct ET_MyEnumeration SR_Main ... Conventions : Limite de profondeur d'héritage User Description La norme IEC-61131-3 fournit des fonctionnalités de langage pour étendre des blocs fonction ou implémenter des interfaces. On parle alors d'héritage, et il peut se former des héritages en chaîne. En théorie, la profondeur d'héritage n'est pas limitée. En pratique, les imbrications peuvent devenir trop complexes pour permettre une bonne compréhension de l'arbre généalogique des interfaces et des blocs fonction. Pour faciliter la maintenance des applications, il est possible d'appliquer et de signaler une limite de profondeur d'héritage à l'aide de règles de violation de convention. 86 EIO0000003917.02 Conventions Machine Advisor Code Analysis Convention Verification Rule Le mot-clé extends est utilisé entre blocs fonction ou entre interfaces pour vérifier la longueur de la chaîne. Exemple La profondeur d'héritage est 6 pour cet exemple. FB_Test1 extends FB_Test2 FB_Test2 extends FB_Test3 FB_Test3 extends FB_Test4 FB_Test4 extends FB_Test5 FB_Test5 extends FB_Test6 FB_Test6 extends FB_Test7 Convention : vérification de lecture de variable d'entrée User Description In the declaration part of a program, function block, method, or function, input variables can be defined. When objects of this type are called, input values must be specified. When a method or a function is called, the input values are copied to the stack. These values (memory area) are only used by the method or function call. Compared to programs where exactly one instance exists in memory (or function blocks which are instantiated multiple times in memory), the programs or function blocks can be called multiple times, by multiple tasks, and the same memory location for the input variable is used (in parallel). Pour garantir la stabilité d'exécution des applications, une variable d'entrée ne doit pas être lue depuis l'extérieur du programme ou du bloc fonction (implémentation du corps). NOTE: Gardez à l'esprit que l'accès à une variable d'entrée depuis une méthode définie sous un bloc fonction est également considéré comme un accès depuis l'extérieur de ce bloc fonction. En effet, le corps du bloc fonction n'est pas nécessairement appelé au moins une fois avant l'appel d'une méthode depuis l'extérieur de ce bloc fonction et l'affectation du contenu correct aux variables d'entrée. La violation de la convention Variable Read Check d'entrée peut être un faux positif si le développeur, par exemple, vérifie par révision du code que la variable d'entrée est correctement initialisée avant de l'utiliser dans une méthode. Convention Verification Rule Chaque accès en lecture à une variable d'entrée depuis l'extérieur de l'implémentation du corps du bloc fonction ou du programme lui-même est signalé en tant que violation de convention. Exemple SR_Main VAR fbTest: FB_Test; END_VAR // call of FB method without calling FB (Body) before fbTest.Meth(); FB_Test VAR_INPUT i_lrCurrentAxisPosition: LREAL; EIO0000003917.02 87 Machine Advisor Code Analysis Conventions END_VAR METHOD Meth() VAR i_lrVar1: LREAL; END_VAR // potential access to not properly initialized variable i_lrVar1 := i_lrCurrentAxisPosition; Convention : vérification de type de variable d'entrée User Description Dans la partie déclarative d'une POU, des variables d'entrée peuvent être définies. Lorsque cette POU est appelée, des valeurs doivent être fournies pour ces variables. Ces valeurs d'entrée sont copiées par valeur (copie mémoire). Pour assurer la stabilité d'exécution de l'application, il faut éviter les variables d'entrée de type bloc fonction. Convention Verification Rule Toute variable d'entrée de type bloc fonction est signalée comme violation de convention. Exemple SR_Main VAR fbTest: FB_Test; fbArg: FB_MyArg; END_VAR // call of FB method without calling FB (Body) before fbTest(i_fbMyArg := fbArg); FB_MyArg VAR_INPUT END_VAR FB_Test VAR_INPUT i_fbMyArg: FB_MyArg; END_VAR Convention : vérification d'écriture de variable d'entrée User Description In the declaration part of a program, function block, method, or function, input variables can be defined. When objects of this type are called, input values must be specified. When a method or a function is called, the input values are copied to the stack. These values (memory area) are only used by the method or function call. Compared to programs where exactly one instance exists in memory (or function blocks which are instantiated multiple times in memory), the programs or function 88 EIO0000003917.02 Conventions Machine Advisor Code Analysis blocks can be called multiple times, by multiple tasks, and the same memory location for the input variable is used (in parallel). Pour assurer la stabilité d'exécution des applications, la variable d'entrée doit être écrite uniquement par le demandeur (de l'extérieur) du programme ou du bloc fonction. NOTE: La catégorie des variables d'entrée signifie que les données sont envoyées vers la structure considérée, qu'il s'agisse d'un programme, d'un bloc fonction, d'une méthode ou d'une fonction. Les résultats de l'appel sont de la catégorie sortie. Les variables d'entrée doivent se limiter à celles transmises à la structure et les entrées ne doivent pas être lues ni écrites depuis l'extérieur de cette structure. Convention Verification Rule Chaque accès en écriture à une variable d'entrée depuis l'intérieur du bloc fonction (implémentation du corps) lui-même est signalé en tant que violation de convention. Exemple SR_Main VAR fbTest: FB_Test; END_VAR // call of FB method without calling FB (Body) before fbTest (TRUE); FB_Test VAR_INPUT i_xEnable: BOOL; END_VAR // potential violation. Now the input value has changed its value. i_xEnable := FALSE; Convention : utilisation de commentaires multilignes User Description Cette convention vérifie si des commentaires sur plusieurs lignes sont utilisés dans des objets IEC. Il n'est pas recommandé d'insérer des commentaires multilignes car le début et la fin du commentaire risquent d'être perdus lors de la fusion. Par exemple, un code supprimé par un commentaire peut être réinséré accidentellement dans le programme. Exemple Commentaires multilignes - Code IEC-61131-3 Déclaration : 1: (*This is a multiline 2: comment in header*) 3: PROGRAM SR_Main 4: VAR 5: xCheck1: BOOL;(*not needed 6: uiMyVariable2: UINT;*) EIO0000003917.02 89 Machine Advisor Code Analysis Conventions 7: xFlag: BOOL; 8: END_VAR Convention : absence de commentaire en en-tête User Description De nombreux guides de style de codage préconisent l'insertion dans l'en-tête de la partie déclarative d'une POU une description générale de ce que fait cette POU et de quelle manière elle fonctionne. Exemple Toutes les variantes de commentaires sont comptabilisées dans cette vérification : - //my comment - ///my doc comment - (*my multi line comment*) Conventions : Nombre limite de méthodes User Description IEC-61131-3 propose des fonctionnalités de langage pour organiser les applications en programmes et blocs fonction. Aux fins de simplification et de prise en charge de l'orientation objet, chacun de ces éléments peuvent être fractionnés en morceaux de code pouvant être appelés et réutilisés plusieurs fois. Cela produit des méthodes, actions, propriétés etc. attachées à des programmes ou à des blocs fonction. Pour faciliter la maintenance des applications, il existe des principes de base concernant l'organisation du code. Par exemple, limitez chaque bloc fonction ou méthode à une tâche. L'application de règles de conception de code peut notamment permettre de détecter que trop de méthodes sont rattachées au même bloc fonction et, par conséquent, d'inciter à fractionner ce bloc fonction en plusieurs morceaux de code. Convention Verification Rule Cette métrique permet de vérifier si le nombre limite de méthodes rattachées à un bloc fonction ou un programme est dépassé. Conventions : Nombre limite de propriétés User Description IEC-61131-3 fournit des fonctionnalités de langage pour organiser une application en programmes, blocs fonction et listes de variables globales (GVL). Pour réduire la complexité et prendre en charge l'orientation objet, des propriétés peuvent être jointes. Chaque propriété fournit un accès fonctionnel aux informations qu'elle recouvre. Un nombre excessif de propriétés jointes : 90 • Est difficile à gérer, voire à comprendre, pour le développeur. • Peut entraîner des conflits de noms. • Peut être le signe qu'un programme ou un bloc fonction réalise plusieurs tâches. EIO0000003917.02 Conventions Machine Advisor Code Analysis Le résultat de cette convention peut être utilisé comme une incitation à fractionner un programme/bloc fonction en plusieurs programmes/blocs fonction exécutant chacun une seule tâche. La maintenance des applications peut s'en trouver facilitée. Convention Verification Rule Le nombre de propriétés attachées à un bloc fonction, un programme ou une liste de variables globales (GVL) est utilisé pour vérifier si la limite est dépassée. Convention : vérification de lecture de variable de sortie User Description Dans la section de déclaration d'un programme, d'un bloc fonction, d'une méthode ou d'une fonction, il est possible de définir des variables de sortie. Lorsque des objets de ce type sont appelés, des valeurs cibles de sortie peuvent être spécifiées. Lors de l'appel d'une méthode ou d'une fonction, les valeurs de sortie sont copiées dans la pile. Ces valeurs (zone de mémoire) sont attribuées uniquement par l'appel de méthode ou de fonction et elles sont réutilisées par l'appelant. Compared to programs where exactly one instance exists in memory (or function blocks which are instantiated multiple times in memory), the programs or function blocks can be called multiple times, by multiple tasks, and the same memory location for the input variable is used (in parallel). Pour assurer la stabilité d'exécution des applications, la variable de sortie doit être lue uniquement par le demandeur (de l'extérieur) du programme ou du bloc fonction. NOTE: La lecture d'une variable de sortie à partir d'une implémentation peut être un faux positif, par exemple si le développeur vérifie par révision du code que la variable de sortie est correctement écrite avant de l'utiliser ultérieurement dans le code. Convention Verification Rule Chaque accès en lecture à une variable de sortie depuis l'intérieur du bloc fonction (implémentation du corps) lui-même est signalé en tant que violation de convention car il n'est pas possible de vérifier qu'une valeur correcte a été affectée antérieurement. Exemple SR_Main VAR xResult: BOOL; fbTest: FB_Test; END_VAR // call of FB method without calling FB (Body) before fbTest (q_xEnable => xResult); FB_Test VAR_OUTPUT q_xEnable: BOOL; END_VAR EIO0000003917.02 91 Machine Advisor Code Analysis Conventions // potential violation. Now the input value has changed its value. IF (q_xEnable) THEN ; // Violation. Unclear value of output variable. END_IF Convention : vérification de type de variable de sortie User Description La section déclarative d'une POU peut définir des variables de sortie auxquelles des valeurs sont affectées lorsque la POU est appelée. Ces valeurs de sortie sont copiées par valeur (copie mémoire). Pour assurer la stabilité d'exécution de l'application, il faut éviter les variables de sortie de type bloc fonction. Convention Verification Rule Toute variable de sortie de type bloc fonction est signalée comme violation de convention. Exemple SR_Main VAR fbTest: FB_Test; fbArg: FB_MyArg; END_VAR // call of FB method without calling FB (Body) before fbTest(q_fbMyArg => fbArg); FB_MyArg VAR_INPUT END_VAR FB_Test VAR_OUTPUT q_fbMyArg: FB_MyArg; END_VAR Convention : vérification de l'utilisation de déclarations PERSISTENT User Description Si une variable est déclarée comme PERSISTENT dans un bloc fonction, l'instance entière de ce bloc fonction est enregistrée dans la plage persistante (toutes les données du bloc), mais seule la variable déclarée PERSISTENT est restaurée. Cette consommation accrue de mémoire et les autres contraintes de gestion des variables persistantes peuvent entraîner des problèmes de performance. NOTE: Le compilateur traite une déclaration VAR PERSISTENT comme une déclaration VAR PERSISTENT RETAIN ou VAR RETAIN PERSISTENT. 92 EIO0000003917.02 Conventions Machine Advisor Code Analysis Convention : vérification de l'utilisation de déclarations RETAIN User Description Si une variable est déclarée comme RETAIN dans un bloc fonction, l'instance entière de ce bloc fonction est enregistrée dans la plage conservée (toutes les données du bloc), mais seule la variable déclarée RETAIN est restaurée. Cette consommation accrue de mémoire et les autres contraintes de gestion des variables conservées peuvent entraîner des problèmes de performance. Convention : variable non commentée (toutes) User Description Cette convention vérifie la présence de variables non commentées dans un objet IEC. Exemple Exemple de variables non commentées dans un code IEC-61131-3 Déclaration : 1: PROGRAM SR_Main 2: VAR 3: xCheck1: BOOL;//flag to identify 4: uiMyVariable2: UINT; 5: xFlag: BOOL; 6: END_VAR Absence de commentaire pour uiMyVariable2 et xFlag. Une violation de convention est donc créée. Convention : variable non commentée (entrée/sortie/globale) User Description Cette convention vérifie l'existence dans le code source de variables non commentées définies dans VAR_GLOBAL, VAR_INPUT, VAR_OUTPUT ou VAR_ IN_OUT. Exemple Exemple de variable non commentée dans un code IEC-61131-3 Déclaration : 1: PROGRAM SR_Main 2: VAR_IN 3: i_xCheck1: BOOL;//flag to identify 3: i_uiMyVariable2: UINT; 4: END_VAR 2: VAR 3: xFlag: BOOL; 4: END_VAR i_uiMyVariable2 n'est pas commentée. Une violation de convention est donc créée. EIO0000003917.02 93 Machine Advisor Code Analysis Conventions Conventions : Vérification des variables inutilisées User Description Dans la section de déclaration d'un programme, d'un bloc fonction, d'une méthode ou d'une fonction, il est possible de définir des variables. Normalement, ces variables sont utilisées à l'intérieur du code. Si une variable définie n'est pas utilisée (lue ou écrite) dans le code, elle consomme de la mémoire. Convention Verification Rule Chaque variable ne présentant aucun accès en lecture ou en écriture est signalée comme une violation de convention. Exemple SR_Main VAR xMyUnusedVariableResult: BOOL; fbTest: FB_Test; END_VAR // call of FB method but output is not assigned to intended result variable. fbTest(q_xEnable => ); Conventions : Vérification des noms de variable User Description Coding style is a set of rules or guidelines applied when writing source code. Following a specified coding style helps: • To read and understand the source code. • To avoid and find programming issues. • To easy maintenance of source code. Sur la base des instructions de programmation (conventions de noms (voir EcoStruxure Machine Expert, Programming Guide), préfixes (voir EcoStruxure Machine Expert, Programming Guide)) de Schneider Electric pour le code source IEC-61131-3, il existe des interrogations de conventions pour vérifier le nom de variable suggéré par type de données et par portée (domaine de validité). Convention Verification Rule Pour la vérification de convention, le nom de la variable est combiné avec le type de données associé et le domaine de validité dans lequel la variable est définie. Portées : • Portée de variable locale : pas de préfixe de portée spécial (VAR ... END_ VAR) • Portée de variable d'entrée : préfixe i_ (VAR_INPUT ... END_VAR) • Portée de variable de sortie : préfixe q_ (VAR_OUTPUT ... END_VAR) • Portée de variable d'entrée/sortie : préfixe iq (VAR_IN_OUT_ ... END_VAR) • Portée de variable globale : préfixe G_ • Portée de constante globale : préfixe Gc_ • ... Préfixes de nom de variable en fonction du type de données : 94 EIO0000003917.02 Conventions Machine Advisor Code Analysis • INT : préfixe i • DINT : préfixe di • UDINT : préfixe udi • REAL : préfixe r • LREAL : préfixe lr • Bloc fonction : préfixe fb • POINTER TO : préfixe p • ... Exemple VAR iMyVariable1: INT; uiMyVariable1: UINT; rMyVariable1: REAL; piMyVariable7: POINTER TO INT; END_VAR VAR_INPUT i_iMyVariable2: INT; i_uiMyVariable2: UINT; i_rMyVariable2: REAL; END_VAR VAR_IN_OUT iq_iMyVariable3: INT; iq_uiMyVariable3: UINT; iq_rMyVariable3: REAL; END_VAR VAR_OUTPUT iq_iMyVariable2: INT; iq_uiMyVariable2: UINT; iq_rMyVariable2: REAL; END_VAR Conventions : Vérification de la longueur des noms de variable User Description Coding style is a set of rules or guidelines applied when writing source code. Following a specified coding style helps: • To read and understand the source code. • To avoid and find programming issues. • To easy maintenance of source code. Pour des raisons de lisibilité du code, il existe des suggestions concernant les noms de variable et leur longueur. La longueur des variables peut être vérifiée par rapport à une limite définie par l'utilisateur. Convention Verification Rule La longueur d'un nom de variable est comparée à un seuil limite. Exemple iMyVariable OK iSpecialAndVeryLongAndHardToReadVariable Not OK EIO0000003917.02 // length 11 --> // length 20 --> 95 Machine Advisor Code Analysis Index A D droits d'accès Machine Advisor Code Analysis ..........................49 absence de commentaire en en-tête conventions .......................................................90 ACCUEIL Machine Advisor Code Analysis ..........................13 ACHATS (administration) Machine Advisor Code Analysis ..........................51 ADMINISTRATION Machine Advisor Code Analysis ..........................38 affecter des utilisateurs Machine Advisor Code Analysis ..........................55 E C F call in métriques ..........................................................64 call out métriques ..........................................................64 COMPARAISON DE PROJETS Machine Advisor Code Analysis ..........................33 composantes Machine Advisor Code Analysis ..........................12 connecter un projet d'analyse à un référentiel SVN Machine Advisor Code Analysis ..........................58 conventions absence de commentaire en en-tête....................90 limite de profondeur d'héritage ............................86 Machine Advisor Code Analysis ..........................85 messages de compilation ...................................85 nombre limite de méthodes.................................90 nombre limite de propriétés.................................90 POU complexe avec faible taux de commentaires ..................................................85 utilisation de commentaires multilignes ................89 variable non commentée (entrée/sortie/globale) ...93 variable non commentée (toutes) ........................93 vérification d'écriture de variable d'entrée.............88 vérification de l'utilisation de déclarations PERSISTENT ..................................................92 vérification de l'utilisation de déclarations RETAIN ...........................................................93 vérification de la longueur des noms de variable...95 vérification de lecture de variable d'entrée............87 vérification de lecture de variable de sortie...........91 vérification de type de variable d'entrée ...............88 vérification de type de variable de sortie...............92 vérification des noms de variable.........................94 vérification des variables inutilisées .....................94 vérifications des noms de types complexes..........86 CONVENTIONS - ARCHIVAGE & EXPORT Machine Advisor Code Analysis ..........................24 CONVENTIONS - ARCHIVAGE & EXPORT (tendances de projet) Machine Advisor Code Analysis ..........................30 créer un compte de société Machine Advisor Code Analysis ..........................54 créer un jeton d'accès Machine Advisor Code Analysis ..........................57 créer un projet d'analyse Machine Advisor Code Analysis ..........................55 créer un snapshot Machine Advisor Code Analysis ..........................56 cyclomatic complexity métriques ..........................................................65 fan in métriques ..........................................................68 fan out métriques ..........................................................68 EIO0000003917.02 envoyer avec un script Python Machine Advisor Code Analysis ..........................57 envoyer un snapshot Machine Advisor Code Analysis ..........................56 extended by métriques ..........................................................67 extends métrique............................................................67 H Halstead complexity métriques ..........................................................69 I implemented by métriques ..........................................................72 implements métriques ..........................................................73 informations générales Machine Advisor Code Analysis .......................... 11 inviter des utilisateurs Machine Advisor Code Analysis ..........................54 J JETONS D'ACCES (administration) Machine Advisor Code Analysis ..........................44 JEU DE REGLES (administration) Machine Advisor Code Analysis ..........................41 L limite de profondeur d'héritage conventions .......................................................86 lines of code métriques ..........................................................74 M Machine Advisor Code Analysis ACCUEIL ..........................................................13 ACHATS (administration)....................................51 ADMINISTRATION ............................................38 affecter des utilisateurs.......................................55 COMPARAISON DE PROJETS ..........................33 composantes .....................................................12 connecter un projet d'analyse à un référentiel SVN ................................................................58 conventions .......................................................85 CONVENTIONS - ARCHIVAGE & EXPORT.........24 97 Machine Advisor Code Analysis CONVENTIONS - ARCHIVAGE & EXPORT (tendances de projet)........................................30 créer un compte de société .................................54 créer un jeton d'accès ........................................57 créer un projet d'analyse.....................................55 créer un snapshot ..............................................56 droits d'accès.....................................................49 envoyer avec un script Python ............................57 envoyer un snapshot ..........................................56 informations générales ....................................... 11 inviter des utilisateurs.........................................54 JETONS D'ACCES (administration) ....................44 JEU DE REGLES (administration).......................41 métriques ..........................................................62 METRIQUES - ARCHIVAGE & EXPORT .............22 METRIQUES - ARCHIVAGE & EXPORT (comparaison de projets) ..................................36 METRIQUES - ARCHIVAGE & EXPORT (tendances de projet) .........................................................28 mode d'emploi ...................................................54 paramètres utilisateur et société..........................52 PHASES DE DEVELOPPEMENT (administration) ................................................43 SNAPSHOTS (administration) ............................38 SNAPSHOTS DE PROJET.................................15 TABLEAU DE BORD (comparaison de projets) ....33 TABLEAU DE BORD (tendances de projet)..........26 TABLEAU DES CONVENTIONS.........................18 TABLEAU DES MESURES.................................17 TACHES DE TRAITEMENT (administration) ........40 TENDANCES DE PROJET.................................26 TOUS LES PROJETS DE LA SOCIETE (administration) ................................................47 TOUS MES PROJETS .......................................25 TOUS MES PROJETS (administration) ...............46 TOUS MES PROJETS (tendances).....................32 TOUTES LES CHAINES DE REQUETE (administration) ................................................46 UTILISATEUR ET ROLES D'UTILISATEUR (administration) ................................................49 VUE D'ENSEMBLE (snapshots)..........................15 VUE DETAILLEE (comparaison de projets)..........34 VUE DETAILLEE (snapshots) .............................19 VUE DETAILLEE (tendances de projet) ...............27 memory size métriques ..........................................................74 messages de compilation conventions .......................................................85 métrique call out ..............................................................64 extends .............................................................67 métriques call in ................................................................64 cyclomatic complexity.........................................65 extended by.......................................................67 fan in.................................................................68 fan out...............................................................68 Halstead complexity ...........................................69 implemented by .................................................72 implements........................................................73 lines of code ......................................................74 Machine Advisor Code Analysis ..........................62 memory size ......................................................74 nombre de commentaires multilignes...................79 nombre de lignes de commentaire en en-tête .......76 number of actions ..............................................75 Number Of FBD Networks ..................................82 number of GVL usages.......................................76 number of instances ...........................................77 98 number of library references ...............................77 number of messages..........................................78 number of methods ............................................78 number of properties ..........................................79 number of reads.................................................80 number of tasks .................................................80 number of transitions..........................................81 number of variables............................................81 number of writes ................................................82 stack size ..........................................................83 taille d'application (code) ....................................62 taille d'application (code+données)......................63 taille d'application (données)...............................63 taux de commentaires du code source.................82 taux de variables (toutes) commentées................64 taux de variables commentées (entrée+sortie +globales)........................................................65 METRIQUES - ARCHIVAGE & EXPORT Machine Advisor Code Analysis ..........................22 METRIQUES - ARCHIVAGE & EXPORT (comparaison de projets) Machine Advisor Code Analysis ..........................36 METRIQUES - ARCHIVAGE & EXPORT (tendances de projet) Machine Advisor Code Analysis ..........................28 mode d'emploi Machine Advisor Code Analysis ..........................54 N nombre de commentaires multilignes métriques ..........................................................79 nombre de lignes de commentaire en en-tête métriques ..........................................................76 nombre limite de méthodes conventions .......................................................90 nombre limite de propriétés conventions .......................................................90 number of actions métriques ..........................................................75 Number Of FBD Networks métriques ..........................................................82 number of GVL usages métriques ..........................................................76 number of instances métriques ..........................................................77 number of library references métriques ..........................................................77 number of messages métriques ..........................................................78 number of methods métrique............................................................78 number of properties métriques ..........................................................79 number of reads métriques ..........................................................80 number of tasks métriques ..........................................................80 number of transitions métriques ..........................................................81 number of variables métriques ..........................................................81 number of writes métriques ..........................................................82 P paramètres société EIO0000003917.02 Machine Advisor Code Analysis Machine Advisor Code Analysis ..........................52 paramètres utilisateur Machine Advisor Code Analysis ..........................52 PHASES DE DEVELOPPEMENT (administration) Machine Advisor Code Analysis ..........................43 POU complexe avec faible taux de commentaires conventions .......................................................85 S SNAPSHOTS (administration) Machine Advisor Code Analysis ..........................38 SNAPSHOTS DE PROJET Machine Advisor Code Analysis ..........................15 stack size métriques ..........................................................83 T TABLEAU DE BORD (comparaison de projets) Machine Advisor Code Analysis ..........................33 TABLEAU DE BORD (tendances de projet) Machine Advisor Code Analysis ..........................26 TABLEAU DES CONVENTIONS Machine Advisor Code Analysis ..........................18 TABLEAU DES MESURES Machine Advisor Code Analysis ..........................17 TACHES DE TRAITEMENT (administration) Machine Advisor Code Analysis ..........................40 taille d'application (code) métriques ..........................................................62 taille d'application (code+données) métriques ..........................................................63 taille d'application (données) métriques ..........................................................63 taux de commentaires du code source métriques ..........................................................82 taux de variables (toutes) commentées métriques ..........................................................64 taux de variables commentées (entrée+sortie +globales) métriques ..........................................................65 TENDANCES DE PROJET Machine Advisor Code Analysis ..........................26 TOUS LES PROJETS DE LA SOCIETE (administration) Machine Advisor Code Analysis ..........................47 TOUS MES PROJETS Machine Advisor Code Analysis ..........................25 TOUS MES PROJETS (administration) Machine Advisor Code Analysis ..........................46 TOUS MES PROJETS (tendances) Machine Advisor Code Analysis ..........................32 TOUTES LES CHAINES DE REQUETE (administration) Machine Advisor Code Analysis ..........................46 V variable non commentée (entrée/sortie/globale) conventions .......................................................93 variable non commentée (toutes) conventions .......................................................93 vérification d'écriture de variable d'entrée conventions .......................................................88 vérification de l'utilisation de déclarations PERSISTENT conventions .......................................................92 vérification de l'utilisation de déclarations RETAIN conventions .......................................................93 vérification de la longueur des noms de variable conventions .......................................................95 vérification de lecture de variable d'entrée conventions .......................................................87 vérification de lecture de variable de sortie conventions .......................................................91 vérification de type de variable d'entrée conventions .......................................................88 vérification de type de variable de sortie conventions .......................................................92 vérification des noms de variable conventions .......................................................94 vérification des variables inutilisées conventions .......................................................94 vérifications des noms de types complexes conventions .......................................................86 VUE D'ENSEMBLE (snapshots) Machine Advisor Code Analysis ..........................15 VUE DETAILLEE (comparaison de projets) Machine Advisor Code Analysis ..........................34 VUE DETAILLEE (snapshots) Machine Advisor Code Analysis ..........................19 VUE DETAILLEE (tendances de projet) Machine Advisor Code Analysis ..........................27 U UTILISATEUR ET ROLES D'UTILISATEUR (administration) Machine Advisor Code Analysis ..........................49 utilisation de commentaires multilignes conventions .......................................................89 EIO0000003917.02 99 Schneider Electric 35 rue Joseph Monier 92500 Rueil Malmaison France + 33 (0) 1 41 29 70 00 www.se.com Les normes, spécifications et conceptions pouvant changer de temps à autre, veuillez demander la confirmation des informations figurant dans cette publication. © 2020 – Schneider Electric. Tous droits réservés. EIO0000003917.02