Ouvrir le menu Fermer le menu

De nouveaux challenges dans le développement de logiciels pour les systèmes cyber-physiques

trait de séparation
Temps de lecture : 7 minutes

Nous allons voir dans cet article comment les Systèmes Cyber Physiques (systèmes embarqués fusionnés avec des processus physiques) de plus en plus courants amènent de nouveaux défis pour des équipes pluridisciplinaires, et comment des outils pertinents aideront les concepteurs à y répondre.

Que voulons-nous dire quand nous disons cyber-physique ?


C'est un terme familier qui gagne en pertinence aujourd'hui et en gagnera encore plus à l'avenir.

Les Systèmes Cyber-Physiques (SCP) sont définis à la fois par les composants physiques et cybernétiques d'un système. Le logiciel embarqué utilise le réseau pour contrôler les processus du monde réel et reçoit des informations des capteurs. Cela crée une boucle de rétroaction qui aide à affiner le comportement là où le physique et le cyber se croisent.

Alors que le terme Système Cyber-Physique se rapporte à de nombreuses autres expressions vulgarisées telles que l'Internet des objets (IoT, IIoT), Machine-to-Machine (M2M), Industry 4.0, « Fog computing » et de nombreux autres mots à la mode qui décrivent une vision de créations connectées « intelligentes » qui unissent profondément les domaines physiques et de l'information, le terme SCP comprend plus profondément des domaines de recherche en technologies avancées telles que la fusion de capteurs, l'apprentissage automatique, le « cloud computing », la réalité augmentée et l'intelligence artificielle.

Le milieu universitaire étudie depuis longtemps les SCP et leurs implications, conçus comme un mélange technologique hétérogène de plusieurs domaines. Le résultat d'un tel intérêt académique présente une carte conceptuelle utile des systèmes cyber-physiques.

Carte conceptuelle SCP – http://cyberphysicalsystems.org

SCP est une intersection, pas une union, entre ce qui est considéré comme virtuel et ce qui est physique. Il ne suffit plus de comprendre, de développer, de gérer et d'entretenir séparément les composants physiques et virtuels. Il faut surtout comprendre leur interaction.

La compréhension générale des caractéristiques des systèmes cyber-physiques suppose :
  • Une cyber capacité existant dans chaque composant physique
  • Les composants sont constamment en réseau
  • La présence de capacités / technologies de détection
  • Un fonctionnement en temps réel et fournissant un contrôle en boucle fermée

L'inclusion substantielle et croissante de ces caractéristiques dans les principaux sous-systèmes des véhicules routiers actuels est emblématique du SCP. Ces véhicules sont des collections de multiples processeurs, de réseaux, de capteurs et de systèmes embarqués, faisant de l'ensemble du véhicule lui-même un système de systèmes.

Quels défis pour les SCP ?


Un défi majeur pour les SCP consiste à définir et à soutenir de nouveaux paradigmes d'ingénierie coopérative, pour permettre cette synthèse de la conception et du développement mécanique et logiciel. Les systèmes physiques sont réalisés dans de la matière, contrairement aux systèmes logiques conceptualisés dans les logiciels. En croisant les deux domaines, les systèmes cyber-physiques sont intrinsèquement plus difficiles à concevoir, à modéliser, à analyser, à simuler, à tester, et donc beaucoup plus difficiles à « inventer » et à réaliser avec succès.

De tels défis sont extrêmement problématiques dans le domaine logiciel, qui fait déjà face à une pléthore de challenges, associés au développement de logiciels en général. La complexité sous toutes ses formes, non seulement dans les livrables logiciels eux-mêmes, mais aussi dans les processus, les méthodologies, les outils et la collaboration, augmente considérablement dans les systèmes cyber-physiques.

Le développement Agile de logiciels, une transformation presque universelle dans les paradigmes de développement de logiciels informatiques et un souhait de longue date dans le développement de logiciels embarqués est intrinsèquement beaucoup plus difficile à adopter dans les projets de développement de logiciels SCP.

SCP introduit de nouvelles abstractions et artefacts dans des systèmes de documentation logicielle déjà surpeuplés, qui devront être  gérés et coordonnés durant tout le cycle de vie du développement, mais désormais également dans et entre les cycles de vie multi-domaines. Dans de nombreux cas, des artefacts, des abstractions et des modèles disparates associés à différentes facettes de conception doivent être synthétisés dans des formes et des formats significatifs dans les autres domaines pertinents.

Une exigence encore plus élevée sur l'assurance qualité existe pour les logiciels au sein d'un SCP, qui implémente souvent des fonctionnalités vitales, et / ou est responsable de la sécurité des personnes. La vérification, la validation et les tests en continu sont exigés, mais de manière beaucoup plus complexe et complète, et impliquant probablement plusieurs formes de simulation. La corrélation et la traçabilité de multiples processus de qualité sont essentielles à une innovation SCP réussie.

Bien que l'expression « Système Cyber Physique » ait une signification et une connotation nettement différente de celle du terme « cybersécurité », les deux disciplines sont néanmoins liées. Assurer la sécurité et l'intégrité d’un SCP implique nécessairement, à la fois des mesures de cybersécurité traditionnelles au sein du logiciel, intégrées à une ingénierie de sécurité, et une authentification, une cryptographie et un chiffrement avancés, combinés à des mesures de sécurité physiques.

La gestion du développement SCP oblige des solutions et processus novateurs à fournir des artefacts hybrides, à en assurer la gestion, l'orchestration, l'automatisation, l'application, la traçabilité et la visibilité, tout en étant à la fois extensibles et capables de s’intégrer  avec une large gamme d'outils et de technologies. Une orchestration flexible est nécessaire, permettant  une automatisation complète des processus et de la traçabilité, facilement accessible à l'échelle mondiale à des publics et des spécialités divers et dispersés, et qui peut être implémentée sur une variété de plateformes de déploiement et de modalités de mise en œuvre.

L'orchestration en contexte est à la fois neutre et facilitante sur le plan méthodologique. Dans de nombreux cas, il faut pouvoir appliquer différentes méthodologies en fonction du contexte du domaine, collecter et corréler les progrès et les résultats, et être capable de présenter des informations pertinentes de manière significative sur plusieurs domaines. La traçabilité inter-domaines complète dans tous les aspects est fondamentale pour gérer l'impact du changement, offrant une visibilité précise de l'état, permettant une analyse prédictive, une responsabilité d'ingénierie et une « auditabilité ».
Le développement d'applications et l'assurance qualité des systèmes physiques constituent un processus complexe et imbriqué, car ils doivent constamment tenir compte des considérations et des contraintes liées au matériel et au système de mise en œuvre.

C’est pour répondre à ces défis et enjeux complexes, qu’une plateforme d'ingénierie logicielle unifiée, comme Polarion de Siemens Digital Software, supporte l'environnement de conception en garantissant la cohérence des données malgré des changements constants, en gardant toutes les parties prenantes du processus de développement impliquées en permanence dans la fourniture d'applications logicielles de qualité.

Polarion atteint cette cohérence des données grâce à des intégrations robustes avec les divers outils utilisés dans le développement d'applications et de puissantes capacités de gestion des changements. Ces capacités sont essentielles à la fourniture de fonctionnalités et de fonctions logicielles de plus en plus complexes nécessaires pour être compétitifs sur le marché actuel.
Dans le cadre du développement de Systèmes Cyber Physiques, ISIT propose également une gamme d’outils et de services permettant d’assurer la qualité des logiciels développés, quelque soit l’approche retenue : cycle en V traditionnel, méthode agile, DevOpsSec…
2