Schneider Electric EcoStruxure - Machine Advisor Code Analysis Manuel utilisateur

Ajouter à Mes manuels
100 Des pages
Schneider Electric EcoStruxure - Machine Advisor Code Analysis Manuel utilisateur | Fixfr
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

Manuels associés