• Aucun résultat trouvé

Bien que l’IDM soit fructueuse pour la conception des systèmes de contrôle-commande, elle ne résout qu’une partie du problème car les véritables difficultés sont avant la conception, au moment où l’on cherche à spécifier le système (Gervais 2004). L’importance de cette phase de spécification est particulièrement évidente, quelle que soit la démarche choisie.

Les travaux présentés dans cette thèse se situent dans la conception des systèmes sociotechniques complexes tels que les systèmes de contrôle-commande. Le développement de ces systèmes est un défi dans l'industrie, car il est difficile de comprendre, de tester et de maintenir de tels systèmes. Pourtant, ils nécessitent un développement rapide, de qualité et fiable car ils sont présents dans tous les secteurs de l’industrie.

Certaines approches basées sur l’IDM ont été proposées pour diminuer le temps, les erreurs et les coûts de développement des systèmes de contrôle-commande. Cependant, ces approches ne tiennent pas compte de la spécification fonctionnelle (comme par exemple le projet Anaxagore) et/ou proposent une démarche de spécification trop fastidieuse (l’outil SCADA CAD). De plus, aucune de ces deux approches ne tient compte de l’analyse de la tâche de haut-niveau permettant de faciliter le pilotage d’un tel système. On remarque donc toujours des erreurs de conception généralement dues aux spécifications incomplètes ou imprécises (Standish Group 2014). La prise en compte, dans la conception du système de contrôle-commande, de l’activité de l’utilisateur pour la description des tâches de haut niveau et la réaction (la partie fonctionnelle du système) du système à ces tâches, devient donc essentielle. Sur une IHM de supervision, ces spécifications sont mises en œuvre à travers les commandes

43 de haut-niveau. Une commande de haut-niveau est composée d’interfaces de contrôle permettant à un superviseur de lancer une fonction de haut-niveau et de codes de commandes qui répondent aux actions de haut-niveau du superviseur.

La Figure 18 décrit les activités de conception de système de contrôle-commande de haut niveau. Généralement, l’analyse des tâches humaines est à charge d’un cogniticien qui travaille avec l’opérateur. Le cogniticien communique ensuite son analyse aux concepteurs de l’interface de supervision (informaticiens) pour une modélisation de cette dernière. Les modèles de tâches devront être vérifiés et validés avec l’expert (mécanicien). Quant à la description des spécifications fonctionnelles, elle est à la charge de l’expert (mécanicien), qui les écrit typiquement en langage naturel, les communique ensuite aux concepteurs de l’interface de supervision (informaticiens) et du programme de commande (automaticiens) qui sont en charge de les implémenter et de les intégrer au système. Les concepteurs d’interfaces de supervision devront tenir compte des modèles de tâches préalablement obtenus. Le programme de commande et l’interface de supervision devront être cohérents, répondre aux exigences du cahier des charges et permettront de piloter le système physique.

Figure 18 Conception d’IHM et de programme de commande globaux

Les erreurs qui découlent de l’interprétation des spécifications sont dues à la différence de culture technique entre le prescripteur (mécanicien) et le concepteur (automaticien et/ou informaticien). Ces erreurs affectent le coût de développement et d’évolution des applications. En effet, 55% (Figure 19) des erreurs détectées dans le cycle de vie d’un logiciel proviennent des spécifications (Pham 2006). De plus, c’est pendant la phase de codage qu’on se rend souvent compte que les spécifications initiales étaient incomplètes, incohérentes, fausses ou irréalisables. Ces découvertes tardives de défauts affectent le coût de développement et d’évolution des applications.

Pour avoir une base correcte pour la conception d’un système, il faut donc s’assurer que les spécifications du système soient complètes et correspondent bien aux besoins du client. Cependant, il est quelquefois nécessaire de prendre en compte des changements importants

44

dans les spécifications dans une phase avancée du projet. Ces changements risquent d’affecter le système de sorte qu’il ne correspond plus aux besoins initiaux qui évoluent dans le temps. Dans le contexte actuel du «plus complexe », «premier coût », « plus vite » et « moins cher», les concepteurs de système de contrôle-commande doivent relever plusieurs défis :

- Définir des spécifications plus tôt, plus facilement et plus sûres.

- Vérifier et valider les spécifications au plus tôt,

- Tenir les délais même en cas de grosses modifications dans les spécifications, et ce,

même dans une phase avancée du projet,

- Concevoir plus vite les modèles de tâches qui sont complexes,

- Réduire le temps de conception général,

- Promouvoir la réutilisation.

Figure 19 Origine des erreurs de conception

Ces défis amènent deux grandes questions qui sont au cœur de ce mémoire :

1. Comment aider les concepteurs à spécifier plus facilement l’axe fonctionnel du système ?

2. Comment aider les concepteurs à obtenir plus facilement les modèles de tâches issus de l’analyse de la tâche humaine, surtout complexe, tout en promouvant la réutilisabilité ?

Aussi, l’intégration des spécifications dans le processus général de génération d’un système de contrôle-commande, afin de réduire les temps de conception et de re-conception est une étape importante.

L’activité de spécification (fonctionnelle, structurelle, tâche interactive de supervision, etc.) permet de modéliser le système à concevoir en s’appuyant sur des notations et formalismes. (Barthet 1988) a défini le formalisme comme une convention de représentation des concepts de modèle. Dans cette section, nous passons en revue quelques formalismes existants permettant de décrire le fonctionnement du procédé et la tâche de l’opérateur. Cette thèse s’intéresse à l’activité de spécification fonctionnelle de haut niveau et de la tâche interactive de supervision qui permettront de générer le système final.

45

2 Formalisme de spécification pour la construction des

systèmes de contrôle-commande

Généralement, pour construire les interfaces de supervision, le procédé physique est déjà existant ou du moins l’analyse fonctionnelle et/ou structurelle est déjà réalisée. La plupart du temps, les besoins pour la conception d’une application sont exprimés par le client dans le cahier des charges rédigé en langage naturel. De ce cahier des charges découle un dossier d’analyse ou de spécifications fonctionnelles. La spécification est une base de communication entre le client et les équipes de conception (Clarke and Wing 1996). Les documents de spécifications doivent être le plus explicite possible car ils constituent un point de référence sur lequel les informaticiens s’appuient pour le développement de l’axe fonctionnel du système (IEEE Computer Society 1998). Une bonne spécification fonctionnelle doit être correcte, sans ambigüité, complète et cohérente. Certaines méthodes formelles ou semi-formelles ont été proposées pour aider au respect de ces propriétés. Les méthodes semi-formelles permettent l’expression des spécifications avec des notations et sémantiques basées sur des concepts mathématiques. Ces méthodes se distinguent en trois principales classes : les langages de spécification basés sur les modèles, les langages de spécification algébrique et les langages de spécification graphique. Dans chaque classe de langages, nous nous intéressons aux approches proposées pour la spécification fonctionnelle du système pour tenter de répondre à notre problématique.

Notre état de l’art est complété par un retour d’expérience basé sur les documents de spécification fonctionnelle utilisés dans le cadre de projets réels.