Règles du forum

Les standards applicables à l’informatique et aux supports numériques, seulement. Les autres standards techniques ou scientifiques, ne sont pas prévus pour l’instant, car peu accessibles en pratique.

Auteur Message
Administrateur
Avatar de l’utilisateur
La programmation par contrainte, est une manière de décrire un programme par une spécification plutôt que par une implémentation. L’implémentation n’existe pas toujours explicitement, et les contraintes peuvent être résolues automatiquement par un solveur, qui peut être un logiciel ou une librairie logicielle spécialisée.

Cet notion de l’informatique fondamentale, existe depuis les années 1980 environ, et a connu en pratique, principalement des solveurs en Prolog.

Il existe un site ou un blog dédié à la standardisation de cette approche du logiciel. Cette standardisation a été souhaitée, car bien que étant une approche pertinente et ayant beaucoup à apporter à l’informatique, la programmation par contrainte n’a jamais percé dans l’industrie ou chez les éditeurs de logiciels. Comme souvent, c’est l’absence de standard qui en fut la cause, et c’est à cela que souhaite remédier cette initiative déjà bien avancée.


Le second lien redirige vers le premier, mais il est donné tout‑de‑même, parce que plus canonique. Il est possible que dans le futur, ce site ne soit plus sous Wordpress, et qu’il faille se référer au second lien plutôt qu’au premier.

Un aboutissement important de ce projet de standardisation, est la standardisation d’une API Java pour la programmation par contrainte. Ce standard se nomme JSR331.


Une API Java souffre probablement des défauts de Java, c’est à dire au moins comparé à Ada, l’impossibilité de donner des spécifications précises aux types numériques, ce qui est sûrement une lacune importante dans le domaine de la résolution de contraintes numériques. Mais je ne connais pas d’autre standard pour la programmation par contrainte, autre que cette API Java, pour l’instant.

Je ne connais pas de format de fichier ou de langage pour l’écriture des spécifications de contraintes, pour l’instant.
Profil