Sémantique opérationnelle

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

En informatique, la sémantique opérationnelle est l'une des approches qui servent à donner une signification aux programmes informatiques d'une manière rigoureuse, mathématiquement parlant (voir Sémantique des langages de programmation).

Une sémantique opérationnelle d'un langage de programmation particulier décrit comment chaque programme valide du langage doit être interprété en termes de suite d'états successifs de la machine.
Cette suite est la signification du programme.
Dans le cas d'un programme fonctionnel, l'état final d'une suite qui termine donne la valeur de retour du programme. (Dans le cas général, il peut y avoir plusieurs suites de calculs et plusieurs valeurs de retour pour un seul programme, parce que celui-ci pourrait être non déterministe.)

Un des moyens les plus courants pour définir rigoureusement une sémantique opérationnelle est de fournir un système de transition d'états rendant compte du comportement attendu du programme considéré. Une telle définition autorise une analyse formelle du langage, permettant l'étude de relations entre les programmes. Parmi les relations importantes, on trouve : les pré-ordres de simulation et les bisimulations, qui sont très utiles dans le cadre du parallélisme.

Définir une sémantique opérationnelle au travers d'un système de transition se fait habituellement en donnant une définition inductive de l'ensemble des transitions possibles. Habituellement, cela prend la forme d'un ensemble de règles d'inférence définissant les transitions valides du système.

La sémantique opérationnelle est reliée à la sémantique dénotationnelle au travers du concept d'abstraction.