Veuillez patienter...
ajax-loader

Conception de langages métier (DSL)

      Un DSL (Domain Specific Language) est un langage informatique créé spécifiquement pour un domaine d'application. Il se veut simple et est conçu pour manipuler les concepts métier couverts par le domaine. Il doit être accessible à des utilisateurs non informaticiens qui peuvent par son intermédiaire spécifier les règles de gestion d'une application pour l'adapter à leurs méthodes de travail.
L'intérêt d'un tel langage réside dans le fait qu'il est dans certains cas difficile voir impossible lors de la conception d'un logiciel de connaître toutes les règles de gestion ou de les prendre en compte. Lorsque le cœur d'une application est fonctionnel et cohérent, un DSL permet de garantir que le logiciel couvrira le besoin de l'utilisateur. En cas de lacune l'évolution du DSL peut suffire.
Évidement il n'y a rien de magique dans tout ça, la logique, la grammaire et les interfaces avec le domaine applicatif d'un DSL doivent être pensées en profondeur et constituent l'aspect le plus complexe de son élaboration.

sysord

Notre expérience

Sysord conçoit des langages informatique pour ses clients. Notre connaissance des outils d'analyse syntaxique et des stratégies d'évaluation et de transformation vous garantit un gain de temps dans la conception de votre DSL ou tout autre langage.

sysord

Cycle de conception

  • Etude de faisabilité et d'intérêt: il s'agit à cette d'étape d'évaluer la complexité et le gain attendu du DSL.
  • Analyse du domaine et des intéractions à mettre à disposition: une étude détaillée du domaine permet d'inventorier les concepts, les fonctionalités et le niveau d'expression que doit fournir le DSL.
  • Spécification et validation de la grammaire: il s'agit de créer une syntaxe simple et non ambigüe pour le langage.
  • Implémentation: réalisation en langage natif de l'analyseur syntaxique et des évaluateurs ou générateurs.
  • Tests et Evaluation: test de bon fonctionnement, debogage. Evaluation du niveau d'adhésion des utilisateurs.
  • Itérations d'enrichissement et d'améloiration du langage.
sysord

Utilisation d'un DSL

Les utilisateurs du DSL expriment à l'aide du langage des règles de gestion, des processus, des modèles et autres concepts du domaine. Il ne s'agit à ce stade que d'une description qu'il faut exploiter.

  • Exploitation en mode évalué: Les règles de gestion décrites dans le langage sont exploitées par une application du domaine. L'application utilisatrice s'appuie sur un programme écrit en langage natif chargé d'évaluer ces règles. Ce programme est l'évaluateur du DSL.
  • Exploitation pour la génération de code natif: Les règles et concepts spécifiés dans le langage sont utilisés en tant que modèle d'entrée d'un générateur pour être transformés en code source d'un programme.

[ Nos réalisations ]




okLangage déclaratif pour la mise en conformité WAI (Web Accessibility Initiative) des pages Web des partenaires de la société VitavieTravel.

  • Langage de spécification des règles de détection et de transformations.
  • Notion de portée des règles (entrepôt hiérarchique basé sur une classification par URL)
  • Evaluateur des règles pour application de styles et adaptation des contenus.

okLangage dédié au calcul d'expressions et la génération de rapports pour une gestion de production.

  • Langage basé sur une grammaire préfixée (comme Lisp).
  • Accès aux informations sur les flux, les processus et les stocks de la gestion de production.
  • Evaluateur des expressions du langage.
  • Générateur de rapports Excel: sources de données métier, règles de décision, ruptures, agrégats, calculs, mise en forme.

okLangage de script pour la spécification des règles métier d'une application de suivi de production.

  • Langage basé sur une grammaire infixée. (comme Java, C ,Basic, Cobol etc.)
  • Analyseur et Interpréteur de scripts.
  • Extensible par le développement et l'exploitation de bibliothèques écrites en langage natif.
  • Gestion des références et dépendances entre critères calculés.
  • Utilisation par l'application pour:
    • - La prise de décision dans le pilotage des workflows de suivi des processus métier.
    • - La valorisation de critères de suivi de production (qualité, productivité etc.).

okLangage dédié au calcul de prévisions agricoles pour le paramétrage du logiciel Agriprev.

  • Langage métier pour la définition :
    • - Des modèles de données.
    • - Des opérations d'intégration de données externes.
    • - Des paramètres de calcul.
    • - Des règles et processus de prévisions.
  • Définition des sujets et données utilisés pour les prévisions.
  • Configuration des opérations d'intégration de données externes.
  • Définition des paramètres de calcul et des tables de décision.
  • Expression des régles et processus de prévisions.
  • Moteur d'évaluation et de valorisation des prévisions.
  • Environnement de conception Agriprev basé sur Eclipse RCP: complétion, validation syntaxique, suivi de versions, références, génération de la documentation.