Résumé:
Les systèmes de l’Internet des objets (IoT) sont des assemblages complexes de composants qui collaborent pour atteindre des objectifs communs. Ces composants sont basés sur différentes technologies hétérogènes et communiquent entre eux à l’aide de divers protocoles de communication. Cette hétérogénéité fait de la conception et du développement d’applications IoT un véritable défi. Diverses approches basées sur l’Ingénierie Dirigée par les Modèles (IDM) ont été proposées pour surmonter ce problème majeur en utilisant des langages de modélisation appropriés. ThingML est un profil UML prometteur pour la modélisation des applications IoT qui vise à relever les défis de l’hétérogénéité. Cependant, ThingML ne possède pas de sémantique rigoureuse, ce qui le rend inadapté à la vérification et à l’analyse formelles des conceptions de systèmes. Il manque également des outils pour tester le code généré avant de le déployer dans les dispositifs IoT. Dans cette thèse, nous proposons une approche formelle basée sur l’IDM pour définir une sémantique formelle pour le langage ThingML en utilisant la logique de réécriture et son langage Maude. En outre, nous développons un éditeur hybride textuel graphique pour le langage ThingML et nous présentons une approche basée sur la simulation pour tester le code source généré par le cadre de génération de code ThingML. Les approches proposées sont illustrées à travers des études de cas.