Skip to main content
Un site web officiel de l’Union européenneUn site officiel de l’UE
Aller à la page d’accueil de la Commission européenne (s’ouvre dans une nouvelle fenêtre)
français français
CORDIS - Résultats de la recherche de l’UE
CORDIS
Contenu archivé le 2024-05-27
COrrect development of reAl-time Embedded systems in UML

Article Category

Article available in the following languages:

Des améliorations au niveau de la validation des logiciels

En vue d'améliorer la qualité des logiciels tout en réduisant les frais de validation, le projet OMEGA a mis au point un jeu d'outils IF qui permet de modéliser et de valider des systèmes hétérogènes en temps réel. IFx est une version étendue de la boîte à outils IF, également développée dans le cadre du projet, utilisée à des fins de vérification, de simulation d'analyse de la programmation des modèles UML créés au sein du profil OMEGA.

Le développement à base de modèles est une idée séduisante pour créer des systèmes logiciels en temps réel intégrés. Cette approche consiste à transformer les modèles, qui représentent des aspects fonctionnels, en code pour des plates-formes particulières. Les tests nécessaires ne sont dès lors plus réalisés sur de véritables systèmes mais sur des prototypes virtuels (les modèles). Le langage UML (Unified Modeling Language) permet de décrire des modèles opérationnels d'un système à différents niveaux d'abstraction, qui correspondent à différentes phases du développement, tout en englobant des descriptions de l'architecture et du comportement. La facilité de construction, la généralité, l'observabilité et la contrôlabilité accrues, la possibilité d'analyse et la prévisibilité ne sont que quelques-uns des avantages des approches reposant sur des modèles. Une telle approche n'est toutefois utile que si elle est accompagnée d'outils permettant de valider les choix de conception. Le projet OMEGA s'est donc concentré sur l'élaboration d'outils et d'une méthodologie pour le développement de systèmes en temps réel et intégrés utilisant le langage UML. L'hétérogénéité des composants présentant des vitesses d'exécution différentes et les modes d'interaction généralement présents dans l'approche à base de modèles sont deux des principaux problèmes examinés. Le jeu d'outils IF/IFx permet à l'utilisateur de réaliser des opérations très similaires à celles proposées par des débogueurs avancés. Ces opérations incluent l'exécution pas à pas, l'inspection de l'état du système, des points d'interruption conditionnels, un rembobinage/répétition des scénarios et la vérification de contraintes de cohérence simples tels que les interblocages ou les verrous temporels. Les exigences des modèles à valider sont exprimées à l'aide d'observateurs, qui constituent une classe spéciale de modèles. Ceux-ci sont équipés de primitives qui permettent de surveiller et de contrôler les déviations par rapport à un comportement normal. De la même manière, des contraintes temporelles sont utilisées pour exprimer les contraintes de durée entre les événements du système et gérer la conception en fonction du temps ou pour décrire un environnement avec des propriétés temporelles particulières. Le principal composant de l'IFx est le traducteur UML-IF, qui produit des descriptions IF (Intermediate Format, format intermédiaire). Ces descriptions IF sont des représentations intermédiaires, qui expriment des spécifications techniques, des objectifs de test et des critères de portée visant à permettre la génération de tests basés sur des modèles. En guise d'entrée, le traducteur utilise un modèle UML enregistrée au format XMI, le format XML standard, et génère une spécification IF correspondant au modèle UML en fonction de la sémantique Omega. Un frontal UML offre en outre une interface spécialement conçue pour les modélisateurs UML des outils de validation IF, qui masque l'IF et les détails de la traduction. L'outil a été appliqué à trois études de cas OMEGA et est également utilisé dans plusieurs autres projets. Sa combinaison à d'autres outils de validation et de génération de code pourrait faire l'objet de collaborations futures.

Découvrir d’autres articles du même domaine d’application