L'Advanced Solver® présente les caractéristiques suivantes :
| la description de la solution désirée est effectuée par le biais d'un programme de contraintes constitué d'un ensemble de variables, d'un ensemble de domaines (c'est-à-dire l'ensemble des valeurs possibles des variables) et d'un ensemble de contraintes sur les variables. | |
| l'objectif du moteur est de trouver une assignation A qui satisfasse toutes les contraintes, c'est-à-dire instancier chacune des variables par une valeur dans son domaine de valeurs possibles de telle sorte qu'aucune contrainte portant sur les variables ne soit violée (c'est-à-dire évaluée à faux). |
Le langage AQL.
L'Advanced Solver® exploite la PPC mais y ajoute un savoir-faire particulier sur le langage de déclarations de contraintes. Il paramètre en effet par le biais du langage AQL (Advanced Query Language), une évolution du langage standard de déclaration de requête SQL (Structured Query Language). SQL permettait de définir des tables et d'effectuer des requêtes génériques sur ces tables afin d'en produite de nouvelles. L'AQL permet de définir des tables puis de définir des associations entre ces tables pour en produire d'autres. Il permet en outre d'imposer des contraintes sur ces associations pour obtenir les tables résultantes répondant aux critères spécifiés par les dites contraintes.
Par son indépendance des données et de l'environnement informatique, la technologie Inovia offre la flexibilité d'un langage de 5e génération (L5G). L'objectif de l'AQL est de disposer d'une interface standard, simple et très déclarative entre l'utilisateur et le moteur AS.
Inovia explore et suit en permanence les avancées technologiques dans les domaines de l'IA et de la PPC. Frédéric Leroy, directeur Recherche et Développement, enseigne ainsi l'Intelligence Artificielle et la Programmation Par Contraintes à l'EPITA. L'imprégnation constante des développeurs et la réactivité d'Inovia permettent d'offrir aux clients le meilleur du savoir dans l'IA et la PPC.