Collecteur de tension piézoélectrique à faible gouttelette d'eau (au centre)

3) Entités comportementales humaines

Définition 2.2. L'entité « comportement humain » est un tuple Env= , où Ienv désigne le port I et l'entité matérielle, et Qenv le port Q associé à cette entité. A est une entité d'automate décrivant le flux de travail, et A est un tuple A = , où s₀ est l'état initial de A, S est l'ensemble des états et T est l'ensemble des transitions entre les états.

Les entités comportementales humaines sont similaires aux entités matérielles ;

Ils partagent la même définition de statut. Il est difficile de simuler le comportement humain, en particulier lorsque la conception d'un PLC implique plusieurs personnes. Pour pallier ces difficultés, la modélisation du comportement humain doit suivre un processus itératif : dans un premier temps, un modèle comportemental simple est construit à l’aide d’une validation du modèle ; ensuite, si aucun contre-exemple n’est trouvé, un modèle plus complexe est construit et vérifié jusqu’à ce qu’un contre-exemple soit trouvé ou devienne plus difficile à trouver. Complexe ; enfin, si aucun contre-exemple significatif n’a été trouvé auparavant, un modèle de comportement humain entièrement aléatoire est généré (c’est-à-dire : le comportement humain est un graphe complet et toutes les transitions sont vraies) à des fins de vérification. Cependant, la vérification d’un comportement entièrement aléatoire entraînera une forte augmentation de l’espace d’états ; le choix d’un modèle de comportement humain approprié constitue donc un point délicat de la modélisation. Si les données d’entrée humaines sont relativement simples, on peut recourir à une modélisation du comportement entièrement aléatoire ; dans le cas contraire, il convient d’envisager sérieusement la construction d’un modèle raisonnable de comportement humain.

Nous modélisons le comportement de l'environnement du PLC et des personnes, puis nous modélisons le contrôleur du PLC. Le contrôleur du PLC fonctionnera en cycle lors de la rotation.

 L'automate lit toutes les entrées via le port I.

 L'automate programmable (PLC) effectue tous les calculs logiques.

 L'automate programme tous les ports Q.

L'unité de base du processus PLC est appelée « réseau ». Tous les réseaux sont numérotés dans l'ordre pour faciliter la configuration lors de la conception.

Le réseau d'opérations logiques de base du contrôleur PLC comprend : des bascules S, des bascules R, des bascules SR, des bascules EQ, des bascules RS, un détecteur de front montant POS, un détecteur de front descendant NEG, etc. Pour modéliser le réseau d'opérations logiques de base, nous adoptons une stratégie de mise en correspondance directe, c'est-à-dire que le modèle de contrôleur du comportement du réseau de l'automate est totalement équivalent au comportement logique du réseau. Les bascules S, R, SR, EQ et RS peuvent ainsi être directement mappées à leur comportement à l'aide d'expressions booléennes.

3. Analyse et amélioration du modèle de PLC

La section précédente a présenté le système de modélisation des automates programmables (PLC). Conformément à cette stratégie, nous pouvons abstraire le système PLC en un modèle formel en vue de la vérification de modèle. Par conséquent, la fiabilité de ce modèle déterminera directement les résultats de la vérification. Si le modèle ne couvre pas entièrement le système d’origine (on dit alors qu’il est plus petit que le système d’origine), certaines erreurs risquent de passer inaperçues ; si le système réel couvre entièrement le modèle, mais qu’il contient de nombreux états que le système d’origine ne possède pas (on dit alors qu’il est plus petit que le système d’origine, ce dernier étant « grand »), cela peut introduire des erreurs qui n’existent pas dans le système réel. C’est ce qu’on appelle une pseudo-erreur. Il existe donc deux stratégies de modélisation nécessaires.

Premièrement, afin de détecter toutes les erreurs du système, nous devons construire un modèle suffisamment large pour couvrir tous les états des systèmes d’origine ; deuxièmement, le modèle doit être aussi proche que possible du système réel. Cela permettra non seulement de réduire l’espace d’états, mais aussi d’améliorer l’efficacité. Sur la base de ces exigences, nous allons analyser le modèle d’intervalle de temps. Proposition 1 : Si le modèle par intervalles de temps satisfait aux propriétés requises, le modèle réel du système PLC les satisfait également. La validité de la proposition 1 peut être déduite de la relation entre les deux modèles. Cela signifie que tout ce qui se produira dans le modèle réel est contenu dans le modèle par intervalles de temps, ce dernier étant plus large que le modèle réel. Si l’on ne parvient pas à trouver de contre-exemple à l’aide du modèle par intervalles de temps, on peut prouver la validité du modèle réel de l’automate programmable ; en revanche, si l’on trouve un contre-exemple, on ne peut pas déterminer si le système réel de l’automate programmable comporte des erreurs. Autrement dit, le réciproque de la proposition 1 est faux. Une intervention manuelle est alors nécessaire pour analyser le contre-exemple afin de déterminer s’il s’agit d’une erreur parasite. La stratégie de modélisation par intervalle de temps permet d’obtenir un modèle PLC synthétique, et de nombreuses études basées sur NuSMV utilisent également des stratégies similaires à celle du modèle par intervalle de temps pour modéliser les systèmes PLC. Cependant, le “ modèle par intervalles de temps ” s’écarte considérablement du modèle réel et doit être amélioré. Cet écart réside dans le fait que le “ modèle par intervalles de temps ” ne reflète pas les caractéristiques de balayage à haute vitesse du PLC ni celles de balayage à basse vitesse des entités concurrentes. Autrement dit, tous les changements d’environnement devraient être balayés

Les automates à grande vitesse ; cependant, le modèle par intervalles de temps ne tient pas compte des caractéristiques de haute vitesse de ces automates, ce qui peut empêcher la détection des changements dans l'environnement externe. Pour remédier aux problèmes susmentionnés, il convient de prendre en compte à la fois la détection externe à grande vitesse et la concurrence à faible vitesse.

Les propriétés physiques et les stratégies de modélisation des intervalles de temps seront améliorées grâce à l’ajout d’un mécanisme d’attente de notification. Conformément au modèle d’intervalle, chaque entité d’état concurrente doit être bloquée et attendre quelque part une fois le transfert terminé. Ce n’est que lorsque le contrôleur PLC aura effectué au moins un balayage complet que le mécanisme d’attente de notification enverra un message à l’entité concurrente pour lever le blocage et lui permettre de reprendre son fonctionnement. Le transfert est alors terminé. Le processus de migration des entités concurrentes via le mécanisme d’attente sans délai est illustré à la figure 2 :

Ce mécanisme garantit que le contrôleur PLC analyse au moins une fois chaque changement d'état des entités concurrentes. Proposition 2 : Une fois le mécanisme d’attente de notification ajouté, le modèle devient un sous-ensemble du modèle d’intervalle de temps. Parallèlement, ce modèle peut également englober toutes les situations du modèle réel. En d’autres termes, si un modèle intègre un mécanisme d’attente de notification conforme aux attributs, le modèle réel du système PLC est également conforme.

L'utilisation de la proposition 1 pour prouver la proposition 2 suit un raisonnement similaire. Grâce à la proposition 2, nous pouvons constater que le modèle de mécanisme conserve de bonnes propriétés après l'ajout de l'attente de notification. Comme mentionné précédemment, les modèles de systèmes abstraits doivent répondre à deux exigences : premièrement, que le système réel soit entièrement inclus, et deuxièmement, que le modèle soit aussi proche que possible du système réel. La première proposition consiste à prouver que le modèle à intervalles de temps englobe le système réel. Tant que des outils de vérification de modèles sont utilisés pour prouver que le modèle abstrait satisfait à certaines propriétés, les propriétés réelles du système les satisferont également. Cependant, ce modèle n’est pas exactement identique au modèle réel ; il devrait être bien plus vaste que ce dernier.

Par rapport aux modèles à intervalles de temps, ce modèle réduit encore davantage l’écart avec les systèmes réels, ce qui diminue considérablement le risque de détecter des erreurs parasites. Un outil de vérification de modèles fournira un contre-exemple qui enfreint la propriété du système ; il est facile de déterminer manuellement si un contre-exemple dans un système réel est vrai ou non. Si l’erreur existe réellement dans le système d’origine, nous trouvons alors un contre-exemple. Dans le cas contraire, l’erreur est due au fait que le modèle abstrait est plus vaste que le système réel ; il s’agit alors d’une fausse erreur. Par conséquent, bien que ce modèle à intervalle de temps ne soit pas totalement équivalent au système d’origine, il permet de déterminer si un système satisfait une certaine propriété et, le cas échéant, de trouver un contre-exemple spécifique (des vérifications supplémentaires sont toutefois nécessaires pour déterminer s’il s’agit d’une fausse erreur). Le modèle n’est pas équivalent au système d’origine principalement parce qu’il existe de nombreux facteurs difficiles à modéliser dans le système réel, dont certains peuvent entraîner des erreurs. Si tous ces facteurs étaient modélisés, cela conduirait à la construction d’un modèle gigantesque, impossible à vérifier, voire tout simplement impossible à mettre en œuvre. Le modèle par intervalles de temps extrait les facteurs clés du système réel et les modélise, ce qui réduit considérablement l’espace d’états et la complexité temporelle.

Parallèlement, grâce au mécanisme de mise en attente des notifications,

Le modèle se rapproche davantage du système réel, ce qui permet non seulement de réduire la complexité temporelle, mais aussi de diminuer les pseudo-erreurs évoquées précédemment.

À propos de moi
e87d0ef219292bb40d6f120e7d321bcb?s=150&d=mp&r=g
Plus d'articles