Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND DEVICE FOR AUTOMATICALLY GENERATING COMPUTER INSTRUCTIONS
Document Type and Number:
WIPO Patent Application WO/2024/013199
Kind Code:
A1
Abstract:
The invention relates to a computer-implemented method (300) for automatically generating instructions configured to be stored in a computer-readable storage medium and to be executed by at least one computer processor, which method comprises: - a step (105) of inputting, on a computer interface, at least: - a definition of a computer entity, - a structure of data associated with the computer entities and - a software processing operation of at least one computer entity, - a step (110) of selecting, on a computer interface, an execution context for the instructions, - a step (115) of automatically generating, using a computing device, instructions depending on the result of the input step and the selected execution context and - a step (120) of storing, using a computing device, the instructions generated.

Inventors:
QUIVY ERIC (FR)
Application Number:
PCT/EP2023/069241
Publication Date:
January 18, 2024
Filing Date:
July 11, 2023
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
UNIFIED SOFTWARE YOO SOFT (FR)
International Classes:
G06F8/30; G06F8/60
Foreign References:
US20210149648A12021-05-20
US20170322716A12017-11-09
US20210124576A12021-04-29
US20210149648A12021-05-20
Attorney, Agent or Firm:
CORNUÉJOLS, Georges / Cassiopi (FR)
Download PDF:
Claims:
REVENDICATIONS

1. Procédé (100, 300) mis en œuvre par ordinateur de génération automatique d’instructions configurées pour être stockées dans un médium de stockage lisible par un ordinateur et pour être exécutées par au moins un processeur d’ordinateur, caractérisé en ce qu’il comporte :

- une étape (105) de saisie, sur une interface informatique, d’au moins :

- une définition d’entité informatique,

- une structure de données associées aux entités informatiques et

- un traitement logiciel d’au moins une entité informatique,

- une étape (110) de sélection, sur une interface informatique, d’un contexte d’exécution des instructions,

- une étape (115) de génération automatique, par un dispositif de calcul, des instructions en fonction du résultat de l’étape de saisie et du contexte d’exécution sélectionné et

- une étape (120) de stockage des instructions, par un dispositif de calcul, des instructions générées.

2. Procédé (300) selon la revendication 1 , qui comporte :

- une étape (305) de saisie, sur une interface informatique, d’une valeur représentative d’un environnement de déploiement des instructions générées et

- une étape (310) de fourniture automatique, par un dispositif de calcul, d’instructions de déploiement des instructions générées en fonction de la valeur représentative d’un environnement de déploiement saisie.

3. Procédé (300) selon la revendication 2, qui comporte une étape (315) de déploiement automatique, par un dispositif de calcul, des instructions générées en fonction des instructions de déploiement fournies.

4. Procédé (300) selon l’une des revendications 1 à 3, dans lequel l’étape (115) de génération comporte une étape (320) d’enrichissement de modèle, par un dispositif de calcul, réalisée en fonction du résultat de l’étape (105) de saisie.

5. Procédé (300) selon l’une des revendications 1 à 4, dans lequel l’étape (1 15) de génération comporte :

- une première étape (325) de génération, par un dispositif de calcul, d’instructions d’exécution sur ordinateur en fonction du résultat de l’étape (105) de saisie et du contexte d’exécution sélectionné et

- une deuxième étape (330) de génération, par un dispositif de calcul, d’instructions d’exécution sur périphérique mobile en fonction du résultat de l’étape (105) de saisie et du contexte d’exécution sélectionné.

6. Procédé (300) selon l’une des revendications 1 à 5, qui comporte :

- une étape (335) de modification, sur une interface informatique, d’au moins :

- une définition d’entité informatique,

- une structure de données associées aux entités informatiques et/ou

- un traitement logiciel d’au moins une entité informatique et

- une étape (340) de génération automatique, par un dispositif de calcul, des instructions modifiées en fonction du résultat de l’étape de modification et du contexte d’exécution sélectionné et - une étape (345) de stockage des instructions, par un dispositif de calcul, des instructions modifiées.

7. Procédé (300) selon la revendication 6, qui comporte une étape (350) de constitution automatique, par un dispositif de calcul, d’instructions de montée en version en fonction des instructions modifiées générées.

8. Procédé (300) selon la revendication 7, qui comporte une étape (355) de montée en version, par un dispositif de calcul, d’instructions déployées dans un environnement de déploiement sélectionné, en fonction des instructions de montée en version constituées.

9. Procédé (300) selon l’une des revendications 6 à 8, qui comporte une étape (360) de détection automatique d’un changement de version d’une bibliothèque de fonctions mise en œuvre au cours d’une étape (115) de génération d’instructions, l’étape (340) de génération automatique étant réalisée en fonction du changement détecté.

10. Procédé (600) mis en œuvre par ordinateur de génération automatique d’un environnement applicatif comportant au moins deux logiciels, chaque logiciel étant formé d’instructions configurées pour être stockées dans un médium de stockage lisible par un ordinateur et pour être exécutées par au moins un processeur d’ordinateur, caractérisé en ce qu’il comporte :

- une étape (105) de saisie, sur une interface informatique, d’au moins :

- une définition d’entité informatique commune,

- une structure de données communes associées aux entités informatiques et

- un traitement logiciel commun d’au moins une entité informatique,

- une étape (110) de sélection, sur une interface informatique, d’au moins deux contextes distincts d’exécution des instructions,

- une étape (115) de génération automatique, par un dispositif de calcul, pour au moins deux dits logiciels, d’instructions en fonction du résultat de l’étape de saisie et d’au moins deux contextes d’exécution sélectionnés, qui comporte, pour chaque dit logiciel, une étape (605) de filtration des entités saisies en fonction du contexte d’exécution sélectionné associé au logiciel et

- une étape (120) de stockage des instructions, par un dispositif de calcul, pour chaque logiciel, des instructions générées.

11. Procédé (600) selon la revendication 10, qui comporte :

- une étape (335) de modification, sur une interface informatique, d’au moins :

- une définition d’entité informatique commune,

- une structure de données communes associées aux entités informatiques et/ou

- un traitement logiciel d’au moins une entité informatique et

- une étape (340) de génération automatique, par un dispositif de calcul, pour au moins deux dits logiciels, des instructions modifiées en fonction du résultat de l’étape de modification et du contexte d’exécution sélectionné et

- une étape (345) de stockage des instructions, par un dispositif de calcul, pour chaque logiciel, des instructions générées.

12. Dispositif (200) de génération automatique d’instructions configurées pour être stockées dans un médium de stockage lisible par un ordinateur et pour être exécutées par au moins un processeur d’ordinateur, caractérisé en ce qu’il comporte : - un moyen (205) de saisie, sur une interface informatique (210), d’au moins :

- une définition d’entité informatique,

- une structure de données associées aux entités informatiques et

- un traitement logiciel d’au moins une entité informatique,

- un moyen (215) de sélection, sur une interface informatique, d’un contexte d’exécution des instructions, - un moyen (220) de génération automatique, par un dispositif (230) de calcul, des instructions en fonction une information saisie par le moyen de saisie et du contexte d’exécution sélectionné et

- un moyen (225) de stockage des instructions, par un dispositif de calcul, des instructions générées.

Description:
DESCRIPTION

TITRE DE L’INVENTION : PROCÉDÉ ET DISPOSITIF DE GÉNÉRATION AUTOMATIQUE D’INSTRUCTIONS INFORMATIQUES

Domaine technique de l’invention

La présente invention vise un procédé de génération automatique d’instructions informatiques et un dispositif de génération automatique d’instructions informatiques. Elle s’applique, notamment, au domaine de la génération automatique de logiciels informatiques.

État de la technique

Dans le domaine de la programmation informatique, on connaît deux types de logiciels : les logiciels dits « spécifiques », c’est-à-dire conçus pour être déployés une seule fois et les logiciels dits « standardisés », c’est-à-dire conçus pour être déployés de manière répétable et pouvant comporter des éléments de personnalisation.

Aujourd’hui, la programmation informatique nécessite des compétences spécialisées restreignant la capacité pour les individus de créer des logiciels pour leurs besoins.

On connait des approches dites « no code », c’est-à-dire ne nécessitant aucune compétence de programmation et permettant de réaliser des logiciels spécifiques. Dans ces approches, un utilisateur définit des objets et des interactions entre ces objets par le biais d’une interface graphique permettant la conversation de ces interactions définies en instructions informatiques par le biais d’un convertisseur.

Au-delà de la génération de tels logiciels, le déploiement et l’exploitation optimisés de tels logiciels est hors de portée d’opérateurs ne disposant pas des compétences techniques adéquates. Or un déploiement inadapté peut conduire à des dysfonctionnements techniques du logiciel, voire à sa mise en arrêt.

Toutefois, ces approches présentent plusieurs désavantages techniques significatifs : leur exécution peut être inadaptée à leur environnement matériel de déploiement et d’exécution, entraînant des dysfonctionnements de ce matériel, leur consommation de ressources logiques (mémoire) de déploiement et d’exécution peut être élevée en raison de cette inadaptation, leur consommation de ressources physiques (électricité) de déploiement et d’exécution peut être élevée en raison de cette inadaptation et leur absence de modularité ne permet pas de générer des logiciels standardisés.

On connaît, en particulier, le système tel que décrit dans le document US 2021/149648. Un tel système propose à un utilisateur de sélectionner un langage de programmation et un cas d’usage pour un logiciel. Il découle de ce choix la sélection d’un modèle (« template », en anglais) préétabli et la génération du code correspondant. L’utilisateur saisit ensuite du code informatique à injecter, correspondant à une logique métier voulue, ce code informatique étant inséré directement dans le modèle généré. Un tel système est dit « low-code » (qui peut traduit par « logiciel à faible intensité de programmation »), c’est-à- dire un logiciel dans lequel la structure principale du code est pré-générée et avec laquelle un utilisateur interagit seulement de manière marginale en adaptant la structure à un cas d’usage (correspondant à une logique métier). De tels systèmes permettent de générer des logiciels standardisés à partir de choix faits initialement par un utilisateur.

Objet de l’invention

La présente invention vise à remédier à tout ou partie de ces inconvénients.

À cet effet, selon un premier aspect, la présente invention vise un procédé mis en œuvre par ordinateur de génération automatique d’instructions configurées pour être stockées dans un medium de stockage lisible par un ordinateur et pour être exécutées par au moins un processeur d’ordinateur, qui comporte : une étape de saisie, sur une interface informatique, d’au moins : une définition d’entité informatique, une structure de données associées aux entités informatiques et un traitement logiciel d’au moins une entité informatique, une étape de sélection, sur une interface informatique, d’un contexte d’exécution des instructions, une étape de génération automatique, par un dispositif de calcul, des instructions en fonction du résultat de l’étape de saisie et du contexte d’exécution sélectionné et une étape de stockage des instructions, par un dispositif de calcul, des instructions générées. Grâce à ces dispositions, les instructions générées, formant un logiciel standardisé ou spécifique, sont optimisées techniquement pour leur contexte d’exécution. Cet avantage permet l’adaptation technique du logiciel et une même saisie peut ainsi donner lieu à plusieurs ensembles d’instruction distincts correspondant, chacun, à un contexte d’exécution de ces instructions. Ceci modifie substantiellement le fonctionnement du système développement-déploiement-exécution ordinaire, dans lequel les instructions à exécuter sont directement développées et soit non optimisées soit saisies manuellement.

La mise en œuvre de la méthode objet de la présente invention permet de définir, générer, déployer et exploiter un ou plusieurs logiciels.

Dans des modes de réalisation optionnels, le procédé objet de la présente invention comporte : une étape de saisie, sur une interface informatique, d’une valeur représentative d’un environnement de déploiement des instructions générées et une étape de fourniture automatique, par un dispositif de calcul, d’instructions de déploiement des instructions générées en fonction de la valeur représentative d’un environnement de déploiement saisie.

Ces modes de réalisation permettent d’optimiser les instructions générées automatiquement pour le contexte d’exécution ainsi que l’environnement informatique d’exécution.

Dans des modes de réalisation optionnels, le procédé objet de la présente invention comporte une étape de déploiement automatique, par un dispositif de calcul, des instructions générées en fonction des instructions de déploiement fournies.

Ces modes de réalisation permettent d’optimiser les instructions générées automatiquement pour le contexte d’exécution ainsi que l’environnement informatique d’exécution.

Dans des modes de réalisation optionnels, l’étape de génération comporte une étape d’enrichissement de modèle, par un dispositif de calcul, réalisée en fonction du résultat de l’étape de saisie. Une telle étape d’enrichissement permet de faciliter la génération d’instructions en constituant automatiquement des noms de variables ou de tables par exemple.

Dans des modes de réalisation optionnels, l’étape de génération comporte : une première étape de génération, par un dispositif de calcul, d’instructions d’exécution sur ordinateur en fonction du résultat de l’étape de saisie et du contexte d’exécution sélectionné et une deuxième étape de génération, par un dispositif de calcul, d’instructions d’exécution sur périphérique mobile en fonction du résultat de l’étape de saisie et du contexte d’exécution sélectionné.

Ces modes de réalisation permettent d’optimiser l’exécution du programme informatique généré pour les ordinateurs (« desktop computer », en anglais), fixes ou mobiles, et pour les périphériques mobiles, de type téléphone intelligent ou tablette par exemple.

Dans des modes de réalisation optionnels, le procédé objet de la présente invention comporte : une étape de modification, sur une interface informatique, d’au moins : une définition d’entité informatique, une structure de données associées aux entités informatiques et/ou un traitement logiciel d’au moins une entité informatique et une étape de génération automatique, par un dispositif de calcul, des instructions modifiées en fonction du résultat de l’étape de modification et du contexte d’exécution sélectionné et une étape de stockage des instructions, par un dispositif de calcul, des instructions modifiées.

Ces modes de réalisation permettent d’optimiser les instructions générées lors d’une mise à jour de ces instructions par un utilisateur.

Dans des modes de réalisation optionnels, le procédé objet de la présente invention comporte une étape de constitution automatique, par un dispositif de calcul, d’instructions de montée en version en fonction des instructions modifiées générées.

Ces modes de réalisation permettent d’automatiser la montée en version de logiciels déjà déployés dans des environnements d’exécution.

Dans des modes de réalisation optionnels, le procédé objet de la présente invention comporte une étape de montée en version, par un dispositif de calcul, d’instructions déployées dans un environnement de déploiement sélectionné, en fonction des instructions de montée en version constituées.

Ces modes de réalisation permettent d’automatiser la montée en version de logiciels déjà déployés dans des environnements d’exécution.

Dans des modes de réalisations optionnels, le procédé objet de la présente invention comporte une étape de détection automatique d’un changement de version d’une bibliothèque de fonctions mise en œuvre au cours d’une étape de génération d’instructions, l’étape de génération automatique étant réalisée en fonction du changement détecté.

Ces modes de réalisations permettent de mettre à jour, automatiquement, l’ensemble des logiciels générés sans nécessité d’action d’un opérateur.

Selon un deuxième aspect, la présente invention vise un procédé mis en œuvre par ordinateur de génération automatique d’un environnement applicatif comportant au moins deux logiciels, chaque logiciel étant formé d’instructions configurées pour être stockées dans un medium de stockage lisible par un ordinateur et pour être exécutées par au moins un processeur d’ordinateur qui comporte : une étape de saisie, sur une interface informatique, d’au moins : une définition d’entité informatique commune, une structure de données commune associées aux entités informatiques et un traitement logiciel commun d’au moins une entité informatique, une étape de sélection, sur une interface informatique, d’au moins deux contextes distincts d’exécution des instructions, une étape de génération automatique, par un dispositif de calcul, pour au moins deux dits logiciels, d’instructions en fonction du résultat de l’étape de saisie et d’au moins deux contextes d’exécution sélectionnés et une étape de stockage des instructions, par un dispositif de calcul, pour chaque logiciel, des instructions générées.

Grâce à ces dispositions, un écosystème applicatif peut être généré automatiquement. Cet écosystème peut ainsi mettre en œuvre des entités communes, structures de données communes et traitements logiciels adaptés dans des contextes applicatifs distincts. Il résulte de ces dispositions que les logiciels ainsi générés mettent en œuvre une même définition des données.

De plus, grâce à ces dispositions, la présente invention permet d’obtenir une isolation entre la partie fonctionnelle de la définition de logicielle et l’implémentation technologique de la génération d’instructions. Il est ainsi possible de changer de technologie de génération d’instructions, voire de langage ou de bibliothèque de fonctions (« framework », en anglais), ci-après nommé « framework », sans compromettre le fonctionnement du logiciel généré ou du moyen réalisant l’étape de saisie.

Dans des modes de réalisations optionnels, le procédé objet de la présente invention comporte : une étape de modification, sur une interface informatique, d’au moins : une définition d’entité informatique commune, une structure de données commune associées aux entités informatiques et/ou un traitement logiciel d’au moins une entité informatique et une étape de génération automatique, par un dispositif de calcul, pour au moins deux dits logiciels, des instructions modifiées en fonction du résultat de l’étape de modification et du contexte d’exécution sélectionné et une étape de stockage des instructions, par un dispositif de calcul, pour chaque logiciel, des instructions générées.

Selon un troisième aspect, la présente invention vise un dispositif de génération automatique d’instructions configurées pour être stockées dans un médium de stockage lisible par un ordinateur et pour être exécutées par au moins un processeur d’ordinateur, qui comporte : un moyen de saisie, sur une interface informatique, d’au moins : une définition d’entité informatique, une structure de données associées aux entités informatiques et un traitement logiciel d’au moins une entité informatique, un moyen de sélection, sur une interface informatique, d’un contexte d’exécution des instructions, un moyen de génération automatique, par un dispositif de calcul, des instructions en fonction une information saisie par le moyen de saisie et du contexte d’exécution sélectionné, qui comporte, pour chaque dit logiciel, une étape de filtration des entités saisies en fonction du contexte d’exécution sélectionné associé au logiciel et un moyen de stockage des instructions, par un dispositif de calcul, des instructions générées.

Ce deuxième aspect présente les mêmes avantages que la méthode objet du premier aspect de la présente invention.

Brève description des figures

D’autres avantages, buts et caractéristiques particulières de l’invention ressortiront de la description non limitative qui suit d’au moins un mode de réalisation particulier du procédé et du dispositif objets de la présente invention, en regard des dessins annexés, dans lesquels :

La figue 1 représente, schématiquement et sous forme d’un logigramme, une première succession d’étapes particulière du procédé objet de la présente invention

La figue 2 représente, schématiquement, un mode de réalisation particulier du dispositif objet de la présente invention,

La figue 3 représente, schématiquement et sous forme d’un logigramme, une deuxième succession d’étapes particulière du procédé objet de la présente invention,

La figue 4 représente, schématiquement, un exemple d’architecture informatique permettant de mettre en œuvre le procédé objet de la présente invention,

La figue 5 représente, schématiquement, un exemple d’architecture logicielle permettant de mettre en œuvre le procédé objet de la présente invention et

La figue 6 représente, schématiquement et sous forme d’un logigramme, une troisième succession d’étapes particulière du procédé objet de la présente invention.

Description des modes de réalisation

La présente description est donnée à titre non limitatif, chaque caractéristique d’un mode de réalisation pouvant être combinée à toute autre caractéristique de tout autre mode de réalisation de manière avantageuse.

Comme on le comprend à la lecture de la présente description, divers concepts inventifs peuvent être mis en œuvre par une ou plusieurs méthodes ou dispositifs décrits ci-après, dont plusieurs exemples sont ici fournis. Les actions ou étapes réalisées dans le cadre de la réalisation du procédé ou du dispositif peuvent être ordonnées de toute manière appropriées. En conséquence, il est possible de construire des modes de réalisation dans lesquels les actions ou étapes sont exécutées dans un ordre différent de celui illustré, ce qui peut inclure l'exécution de certains actes simultanément, même s'ils sont présentés comme des actes séquentiels dans les modes de réalisation illustrés.

Les articles indéfinis "un" et "une", tels qu'ils sont utilisés dans la description et dans les revendications, doivent être compris comme signifiant "au moins un", sauf indication claire du contraire.

L'expression "et/ou", telle qu'elle est utilisée dans le présent document et dans les revendications, doit être comprise comme signifiant "l'un ou l'autre ou les deux" des éléments ainsi conjoints, c'est-à-dire des éléments qui sont présents de manière conjonctive dans certains cas et de manière disjonctive dans d'autres cas. Les éléments multiples énumérés avec "et/ou" doivent être interprétés de la même manière, c'est-à-dire "un ou plusieurs" des éléments ainsi conjoints. D'autres éléments peuvent éventuellement être présents, autres que les éléments spécifiquement identifiés par la clause "et/ou", qu'ils soient liés ou non à ces éléments spécifiquement identifiés. Ainsi, à titre d'exemple non limitatif, une référence à "A et/ou B", lorsqu'elle est utilisée conjointement avec un langage ouvert tel que "comprenant" peut se référer, dans un mode de réalisation, à A seulement (incluant éventuellement des éléments autres que B) ; dans un autre mode de réalisation, à B seulement (incluant éventuellement des éléments autres que A) ; dans un autre mode de réalisation encore, à A et B (incluant éventuellement d'autres éléments) ; etc.

Tel qu'utilisé ici dans la description et dans les revendications, "ou" doit être compris comme ayant la même signification que "et/ou" tel que défini ci-dessus. Par exemple, lorsqu'on sépare des éléments dans une liste, "ou" ou "et/ou" doit être interprété comme étant inclusif, c'est-à-dire l'inclusion d'au moins un, mais aussi de plus d'un, d'un nombre ou d'une liste d'éléments, et, facultativement, d'éléments supplémentaires non listés. Seuls les termes indiquant clairement le contraire, tels que "un seul des" ou "exactement un des", ou, lorsqu'ils sont utilisés dans les revendications, "consistant en", font référence à l'inclusion d'un seul élément d'un nombre ou d'une liste d'éléments. En général, le terme "ou" tel qu'il est utilisé ici ne doit être interprété comme indiquant des alternatives exclusives (c'est-à-dire Tun ou l'autre mais pas les deux") que lorsqu'il est précédé de termes d'exclusivité, tels que "soit", 'Tun de", "un seul de" ou "exactement un de".

Telle qu'elle est utilisée dans la présente description et dans les revendications, l'expression "au moins un", en référence à une liste d'un ou de plusieurs éléments, doit être comprise comme signifiant au moins un élément choisi parmi un ou plusieurs éléments de la liste d'éléments, mais n'incluant pas nécessairement au moins un de chaque élément spécifiquement énuméré dans la liste d'éléments et n'excluant pas toute combinaison d'éléments dans la liste d'éléments. Cette définition permet également la présence facultative d'éléments autres que les éléments spécifiquement identifiés dans la liste des éléments auxquels l'expression "au moins un" fait référence, qu'ils soient liés ou non à ces éléments spécifiquement identifiés. Ainsi, à titre d'exemple non limitatif, "au moins l'un de A et B" (ou, de manière équivalente, "au moins l'un de A ou B", ou, de manière équivalente, "au moins l'un de A et/ou B") peut se référer, dans un mode de réalisation, à au moins un, incluant éventuellement plus d'un, A, sans B présent (et incluant éventuellement des éléments autres que B) ; dans un autre mode de réalisation, à au moins un, comprenant éventuellement plus d'un, B, sans A présent (et comprenant éventuellement des éléments autres que A) ; dans encore un autre mode de réalisation, à au moins un, comprenant éventuellement plus d'un, A, et au moins un, comprenant éventuellement plus d'un, B (et comprenant éventuellement d'autres éléments) ; etc.

Dans les revendications, ainsi que dans la description ci-dessous, toutes les expressions transitoires telles que "comprenant", "incluant", "portant", "ayant", "contenant", "impliquant", "tenant", "composé de", et autres, doivent être comprises comme étant ouvertes, c'est-à-dire comme signifiant incluant mais non limité à. Seules les expressions transitoires "consistant en" et "consistant essentiellement en" doivent être comprises comme des expressions transitoires fermées ou semi-fermées, respectivement.

Dans la présente description, on appelle « moyen de saisie » ou « interface informatique » tout dispositif permettant la transmission d’information vers un système informatique. Un tel moyen d’entrée est, par exemple, un clavier, une souris et/ou un écran tactile adapté pour interagir avec un système informatique de manière à recueillir une saisie de l'utilisateur. Dans des variantes, le moyen d’entrée est de nature logique, tel un port réseau d'un système informatique configuré pour recevoir une commande de saisie transmise électroniquement. Un tel moyen d’entrée peut être associé à une interface graphique utilisateur (GUI) présentée à un utilisateur ou à une interface de programmation d'application (API). Dans d'autres variantes, le moyen d'entrée peut être un capteur configuré pour mesurer un paramètre physique spécifié pertinent pour le cas d'utilisation prévu.

On appelle « dispositif de calcul » tout dispositif de calcul électronique, unitaire ou distribué, capable de recevoir des entrées numériques et de fournir des sorties numériques par et vers toute sorte d'interface numérique. Typiquement, un dispositif de calcul désigne soit un ordinateur exécutant un logiciel ayant accès à un stockage de données, soit une architecture client-serveur dans laquelle les données et/ou au moins une partie des calculs est effectué côté serveur tandis que le côté client sert d'interface.

On appelle « identifiant numérique » toute information représentative, de manière univoque, d’un objet physique ou logique. Un tel identifiant numérique est, par exemple, un identifiant dans une base de données.

On observe, sur la figure 1 , une première succession d’étapes particulière de réalisation du procédé 100 objet de la présente invention. Ce procédé 100 mis en œuvre par ordinateur de génération automatique d’instructions configurées pour être stockées dans un médium de stockage lisible par un ordinateur et pour être exécutées par au moins un processeur d’ordinateur, comporte : une étape 105 de saisie, sur une interface informatique, d’au moins : une définition d’entité informatique, une structure de données associées aux entités informatiques et un traitement logiciel d’au moins une entité informatique, une étape 110 de sélection, sur une interface informatique, d’un contexte d’exécution des instructions, une étape 115 de génération automatique, par un dispositif de calcul, des instructions en fonction du résultat de l’étape de saisie et du contexte d’exécution sélectionné et une étape 120 de stockage des instructions, par un dispositif de calcul, des instructions générées.

L’étape 105 de saisie est réalisée, par exemple, par la mise en œuvre d’un logiciel informatique exécuté par un dispositif de calcul. Ce logiciel informatique présente, par exemple, une interface graphique permettant à un utilisateur de définir : une définition d’entité informatique, une structure de données associées aux entités informatiques et un traitement logiciel d’au moins une entité informatique.

Une entité informatique, ou « entité métier », est associée à un nom, ou identifiant numérique et dispose d’un jeu de champs (« Fieldset », en anglais) maître. Ce jeu de champs maître dispose de 0 à N jeu de champs fils. Chacun des jeux de champs fils peut disposer lui-même de 0 à N jeu de champs fils. Ainsi de suite récursivement et sans limite. La seule contrainte est que la structure est ainsi hiérarchique. Chaque table ne peut disposer au maximum que d’un jeu de champs fils. Si tel n’est pas le cas pour couvrir le besoin, cela implique que l’entité doit être découpée en deux entités métiers distinctes.

À titre illustratif, un logiciel ainsi créé par un utilisateur peut comporter : une entité nommée « client » comporte un unique jeu de champs comportant un champ « nom » et un champ « prénom », une entité nommée « produit » comporte un unique jeu de champs comportant un champ « référence » et une entité nommée « commande » comporte trois jeux de champs : un premier jeu de champs, nommé « entête », comportant un champ de « numéro de commande », un deuxième jeu de champs, nommé « lignes », comportant un champ de « numéro de ligne », un champ de « prix unitaire », un champ de « quantité » et un champ de « montant de la ligne » et un troisième jeu de champs, nommé « règlement » comportant un champ de « numéro de règlement » et un champ de « montant réglé ».

Un traitement logiciel peut être défini par un utilisateur, sur l’interface graphique du logiciel de création, en définissant par exemple le comportement d’un bouton d’une interface du logiciel en cours de création. Un tel comportement peut correspondre, par exemple, à l’exécution d’un calcul en fonction d’une valeur saisie dans un champ de saisie par un utilisateur du logiciel.

Un traitement logiciel peut consister, par exemple, à compter le nombre de lignes dans une table de données ou à réaliser une opération mathématique entre deux valeurs numériques. Un tel exemple d’un traitement logiciel est, par exemple, la définition d’une date limite d’envoi d’un colis, en ajoutant à une date de réception de commande un nombre de jours déterminés. Ces deux valeurs peuvent être associées à des entités différentes. Dans un autre exemple, une valeur correspondant à un montant hors taxes de commande est calculée en fonction des valeurs de montants hors taxes individuels de produits associés à une commande d’un utilisateur.

L’étape 110 de sélection est réalisée, par exemple, par la mise en œuvre d’un logiciel informatique exécuté par un dispositif de calcul. Ce logiciel informatique présente, par exemple, une interface graphique permettant à un utilisateur de choisir, parmi une liste de contexte d’utilisation des instructions, au moins un tel contexte. Un contexte d’utilisation peut être, par exemple et à titre non limitatif : logiciel de vente en ligne (« e-commerce », en anglais), logiciel de planification des ressources d’entreprises (pour « entreprise ressource planning », ou ERP, en anglais), logiciel de gestion d’entrepôt (pour « warehouse management system », ou WMS, en anglais), un logiciel d’intelligence économique (pour « business intelligence », ou Bl, en anglais), un logiciel pour périphérique mobile et/ou un logiciel pour magasin.

L’étape 115 de génération est réalisée, par exemple, par la mise en œuvre d’un logiciel informatique exécuté par un dispositif de calcul. Au cours de cette étape 115 de génération, au moins une technologie informatique, tel un langage informatique ou une architecture informatique, adaptée au contexte d’exécution sélectionné au cours de l’étape 1 10 de sélection, est choisie. Préférentiellement, une pluralité de technologies est sélectionnée pour correspondre à un ensemble de briques logicielles fondamentales, telles par exemple et de manière non limitative : une architecture dorsale (« backend », en anglais), un langage dorsal, une technologie frontale (« frontend », en anglais) et une technologie de couche de persistance.

À titre indicatif, le tableau 1 suivant présente six exemples de telles sélections en fonction de contexte d’exécution possible.

Tableau 1

Au cours de cette étape 115 de génération, en fonction d’un langage de programmation ou d’un framework mis en œuvre, les instructions sont générées. Cette étape 115 de génération est réalisée par un convertisseur, configuré pour convertir les entités, structures de données et traitements logiciels saisis en instructions dans un langage ou framework déterminé.

Au cours de cette étape 115 de génération, par exemple, en fonction du contexte d’exécution sélectionné, les valeurs saisies au cours de l’étape 105 de saisie sont associées à des modèles (« template », en anglais) pour produire des instructions. Le nombre et le type de ces modèles dépendent par exemple du contexte d’exécution sélectionné.

Par exemple, dans le cas d’un contexte d’exécution sur périphérique mobile : tout ou partie des valeurs saisies sont associées à un modèle de gestion des sections d’écran (« Screen section », en anglais), pour produire une classe par section d’écran, constituant ainsi une couche d’interface utilisateur (« User interface layer », en anglais), tout ou partie des valeurs saisies sont associées à un modèle de gestion de contrôleurs d’interface utilisateur (« Ul Controller », en anglais), pour produire une classe par écran (« Screen », en anglais), constituant ainsi un contrôleur d’interface utilisateur, tout ou partie des valeurs saisies sont associées à un modèle de service d’entités (« Entity service », en anglais) pour produire une classe par entité, tout ou partie des valeurs saisies sont associées à un modèle de service de règles (« Rules service », en anglais) pour produire une classe par règle, tout ou partie des valeurs saisies sont associées à un modèle de services de processus (« Process service », en anglais) pour produire une classe par processus, les classes d’entité, règle et processus constituant ainsi une couche de service (« Service layer », en anglais) et tout ou partie des valeurs saisies sont associées à un modèle de dépôt de jeu de champs (« Fieldset repository », en anglais), pour produire une classe par jeu de champ, constituant ainsi une couche de dépôt (« Repository layer », en anglais).

Par exemple, dans le cas d’un contexte d’exécution d’un contexte de logiciel web : tout ou partie des valeurs saisies sont associées à un modèle de gestion des sections d’écran (« Screen section », en anglais), pour produire une classe par section d’écran, constituant ainsi une couche d’interface utilisateur (« User interface layer », en anglais), tout ou partie des valeurs saisies sont associées à un modèle de gestion de contrôleurs d’interface utilisateur (« Ul Controller », en anglais), pour produire une classe par écran (« Screen », en anglais), constituant ainsi un contrôleur d’interface utilisateur, tout ou partie des valeurs saisies sont associées à un modèle de service d’entités (« Entity service », en anglais) pour produire une classe par entité, tout ou partie des valeurs saisies sont associées à un modèle de contrôleur d’interfaces de données (« Data interface controller », en anglais) pour produire une classe par interface de donnée, tout ou partie des valeurs saisies sont associées à un modèle de service de règles (« Rules service », en anglais) pour produire une classe par règle, tout ou partie des valeurs saisies sont associées à un modèle de services de processus (« Process service », en anglais) pour produire une classe par processus, les classes d’entité, interface de données, règle et processus constituant ainsi une couche de service (« Service layer », en anglais) et tout ou partie des valeurs saisies sont associées à un modèle de dépôt de jeu de champs (« Fieldset repository », en anglais), pour produire une classe par jeu de champ, constituant ainsi une couche de dépôt (« Repository layer », en anglais).

L’étape 120 de stockage des instructions est réalisée, par exemple, par la mise en œuvre d’une mémoire informatique, locale ou distante, c’est-à-dire associée directement au terminal réalisant l’étape 105 de saisie ou associée avec ce terminal à travers un réseau de données, tel Internet par exemple.

Cette étape 120 de stockage met en œuvre, par exemple, un disque dur, un disque à état solide (pour « Solid State Drive », ou SSD, en anglais) ou un serveur informatique.

On observe, en figure 2, schématiquement, un mode de réalisation du dispositif 200 objet de la présente invention. Ce dispositif 200 de génération automatique d’instructions configurées pour être stockées dans un médium de stockage lisible par un ordinateur et pour être exécutées par au moins un processeur d’ordinateur, comporte : un moyen 205 de saisie, sur une interface informatique 210, d’au moins : une définition d’entité informatique, une structure de données associées aux entités informatiques et un traitement logiciel d’au moins une entité informatique, un moyen 215 de sélection, sur une interface informatique, d’un contexte d’exécution des instructions, un moyen 220 de génération automatique, par un dispositif 230 de calcul, des instructions en fonction une information saisie par le moyen de saisie et du contexte d’exécution sélectionné et un moyen 225 de stockage des instructions, par un dispositif de calcul, des instructions générées.

Le moyen 205 de saisie est, par exemple, un périphérique d’ordinateur permettant à un utilisateur d’interagir avec une interface graphique permettant la définition d’entités, de structures de données et de traitements logiciels.

Le moyen 215 de sélection est, par exemple, un périphérique d’ordinateur permettant à un utilisateur d’interagir avec une interface graphique permettant la sélection d’un contexte d’exécution.

Le moyen 220 de génération automatique est, par exemple, un logiciel mis en œuvre par un dispositif de calcul configuré pour traduire la saisie réalisée par l’utilisateur en choix technologiques correspondant au contexte d’exécution sélectionné et en génération d’instructions correspondant à ces choix technologiques.

Le moyen 225 de stockage est, par exemple, une mémoire informatique locale ou distante.

On observe, en figure 3, une deuxième succession d’étapes particulière de réalisation du procédé 300 objet de la présente invention. Ce procédé 300 mis en œuvre par ordinateur de génération automatique d’instructions configurées pour être stockées dans un médium de stockage lisible par un ordinateur et pour être exécutées par au moins un processeur d’ordinateur, comporte : une étape 105 de saisie, sur une interface informatique, d’au moins : une définition d’entité informatique, une structure de données associées aux entités informatiques et un traitement logiciel d’au moins une entité informatique, une étape 110 de sélection, sur une interface informatique, d’un contexte d’exécution des instructions, une étape 115 de génération automatique, par un dispositif de calcul, des instructions en fonction du résultat de l’étape de saisie et du contexte d’exécution sélectionné et une étape 120 de stockage des instructions, par un dispositif de calcul, des instructions générées.

Ce procédé 300 présente une pluralité des modes de réalisations et variantes, indépendantes, du procédé 100 tel que décrit en regard de la figure 1 .

Dans des modes de réalisation particuliers du procédé 300 objet de la présente invention, le procédé 300 comporte : une étape 305 de saisie, sur une interface informatique, d’une valeur représentative d’un environnement de déploiement des instructions générées et une étape 310 de fourniture automatique, par un dispositif de calcul, d’instructions de déploiement des instructions générées en fonction de la valeur représentative d’un environnement de déploiement saisie.

L’étape 305 de saisie est réalisée, par exemple, par la mise en œuvre d’un logiciel informatique exécuté par un dispositif de calcul. Un tel logiciel présente, par exemple, une interface graphique permettant à un utilisateur de saisir, parmi une liste d’environnements de déploiement prédéterminée, au moins un environnement de déploiement pour le logiciel généré.

Un tel exemple d’environnement de déploiement peut être, par exemple, une machine virtuelle ou un serveur dédié. Chaque environnement de déploiement est associé à des caractéristiques techniques, tel un système d’exploitation par exemple, nécessitant aujourd’hui un déploiement adapté.

L’étape 310 de fourniture est réalisée, par exemple, par la mise en œuvre d’un logiciel informatique exécuté par un dispositif de calcul. Au cours de cette étape 310 de fourniture, des instructions propres à un environnement de déploiement sont générées. Ces instructions comportent, par exemple, le transfert du logiciel généré vers une ressource d’hébergement, puis le déploiement de ce logiciel sur une ressource de calcul par exemple.

Dans des modes de réalisation particuliers du procédé 300 objet de la présente invention, le procédé 300 comporte une étape 315 de déploiement automatique, par un dispositif de calcul, des instructions générées en fonction des instructions de déploiement fournies.

L’étape 315 de déploiement est réalisée, par exemple, par la mise en œuvre d’un logiciel informatique de déploiement exécuté par un dispositif de calcul. Au cours de cette étape 315 de déploiement, les instructions de déploiement (ou « script » de déploiement) sont exécutées et permettent, par exemple, d’initialiser un environnement de déploiement, de créer une base de données dans cet environnement et de déployer le logiciel généré.

Dans des modes de réalisation particuliers du procédé 300 objet de la présente invention, l’étape 115 de génération comporte une étape 320 d’enrichissement de modèle, par un dispositif de calcul, réalisée en fonction du résultat de l’étape 105 de saisie.

Au cours de cette étape 320 d’enrichissement, par exemple, des noms de variable sont initialisés de sorte à faciliter la génération d’instructions dans un framework déterminé. Cette étape 320 d’enrichissement est réalisée en fonction des besoins opérationnels du framework de génération d’instruction choisi pour le logiciel.

Au cours de cette étape 320 d’enrichissement, par exemple, un modèle objet correspondant à la saisie réalisée par l’utilisateur est réalisé et des liens sont établis entre des instances de classes conformément aux liens décrits dans le modèle.

Un modèle additionnel est ensuite préférentiellement généré par langage cible, un tel modèle additionnel comportant par exemple un gestionnaire (« handler », en anglais), éventuellement liés, pour chaque constituant du modèle (entité, champ de données, champ, logiciel, par exemple) et des informations (noms de classe, de champ, de table, par exemple) définissant la manière dont les instructions doivent être générées.

Dans des modes de réalisation particuliers du procédé 300 objet de la présente invention, l’étape 115 de génération comporte : une première étape 325 de génération, par un dispositif de calcul, d’instructions d’exécution sur ordinateur en fonction du résultat de l’étape 105 de saisie et du contexte d’exécution sélectionné et une deuxième étape 330 de génération, par un dispositif de calcul, d’instructions d’exécution sur périphérique mobile en fonction du résultat de l’étape 105 de saisie et du contexte d’exécution sélectionné. Structurellement, les premières et deuxièmes étapes, 325 et 330, de génération sont réalisées de manière analogue à l’étape 1 15 de génération. Les instructions ainsi générées sont adaptées à leur environnement de mises en œuvre par les utilisateurs.

Dans des modes de réalisation particuliers du procédé 300 objet de la présente invention, le procédé 300 comporte : une étape 335 de modification, sur une interface informatique, d’au moins : une définition d’entité informatique, une structure de données associées aux entités informatiques et/ou un traitement logiciel d’au moins une entité informatique et une étape 340 de génération automatique, par un dispositif de calcul, des instructions modifiées en fonction du résultat de l’étape de modification et du contexte d’exécution sélectionné et une étape 345 de stockage des instructions, par un dispositif de calcul, des instructions modifiées.

L’étape 335 de modification est réalisée de manière similaire à l’étape 105 de saisie. Par exemple, au cours de cette étape 335 de modification, un utilisateur modifie une entité pour ajouter un champ représentatif d’un montant toutes taxes comprises d’une commande et modifie un traitement logiciel pour ajouter le calcul d’un montant toutes taxes comprises, mettant en œuvre un champ déjà existant dans une version antérieure du logiciel représentative du montant hors taxes de la commande et y appliquant un facteur multiplicateur déterminé correspondant aux taxes sur cette commande. Tout ceci peut être réalisé dans une interface graphique, par un utilisateur, en modifiant une entité déjà créée et en ajoutant un traitement logiciel permettant le calcul de la nouvelle valeur de cette entité.

L’étape 340 de génération automatique est réalisée de manière similaire à l’étape 115 de génération. Par exemple, au cours de cette étape 340 de génération, un champ correspondant à une valeur de commande toutes taxes comprises est ajouté à une entité représentative de la commande. Ensuite, deux fonctions, de collecte (« get », en anglais) ou de définition (« set », en anglais) sont automatiquement générées pour ce champ. Ensuite, une classe permettant d’implémenter le processus de calcul du champ est générée.

L’étape 345 de stockage est réalisée de manière similaire à l’étape 120 de stockage.

Une modification est ici entendue au sens de mis à jour des instructions générées, par ajout, modification ou suppression d’instructions. Cette mise à jour peut être réalisée par un utilisateur via une interface graphique. Une telle mise à jour peut consister en la modification, l’ajout ou la suppression d’une entité ou d’un traitement logiciel appliqué à une entité par exemple.

Dans des modes de réalisation particuliers du procédé 300 objet de la présente invention, le procédé 300 comporte une étape 350 de constitution automatique, par un dispositif de calcul, d’instructions de montée en version en fonction des instructions modifiées générées.

Les instructions de montée de version permettent notamment de définir comment migrer les données d'un logiciel d'une version vers une autre version.

Par exemple si un champ est ajouté dans une table qui existait déjà dans une version précédente du logiciel, la valeur de ce champ dans les enregistrements déjà existant doit être initialisée. Une telle initialisation peut être définie par une règle de calcul. Dans des modes de réalisation particuliers du procédé 300 objet de la présente invention, le procédé 300 comporte une étape 355 de montée en version, par un dispositif de calcul, d’instructions déployées dans un environnement de déploiement sélectionné, en fonction des instructions de montée en version constituées.

L’étape 355 de montée en version est réalisée, par exemple, par la mise en œuvre d’un logiciel informatique de montée en version exécuté par un dispositif de calcul. Au cours de cette étape 355 de montée en version, les instructions de montée en version (ou « script » de montée en version) sont exécutées et permettent, par exemple, de mettre à jour un environnement de déploiement, de modifier une base de données dans cet environnement et de déployer une nouvelle version d’un logiciel déjà déployé dans cet environnement.

Dans des modes de réalisation particuliers du procédé 300 objet de la présente invention, le procédé 300 comporte une étape 360 de détection automatique d’un changement de version d’une bibliothèque de fonctions mise en œuvre au cours d’une étape 115 de génération d’instructions, l’étape 340 de génération automatique étant réalisée en fonction du changement détecté.

L’étape 360 de détection automatique est réalisée, par exemple, par la mise en œuvre d’un logiciel exécuté par un dispositif de calcul. Au cours de cette étape 360 de détection, par exemple, un identifiant de framework ou de version de framework est associé avec un jeu d’instructions généré au cours d’une étape 115 de génération ou une étape 350 de constitution. Lorsqu’un identifiant de framework ou de version de framework de référence, fixé manuellement par un administrateur du système permettant la saisie d’entités, structures de données ou traitement logiciel ou fixé automatiquement, diffère de l’identifiant de framework ou de version de framework associé à un jeu d’instructions, l’étape 340 de génération automatique est mise en œuvre. Au cours de cette étape 340 de génération, un jeu d’instruction mis à jour en fonction de l’identifiant de référence de framework ou de version de framework est généré.

On observe, en figure 4, schématiquement, une architecture 400 mettant en œuvre le procédé 200 objet de la présente invention. Cette architecture 400 comporte : un ordinateur 405 configuré pour afficher une interface utilisateur 430 permettant à un utilisateur de réaliser la saisie d’entités, structures de données et traitements logiciels à opérer, cette saisie pouvant être facilitée par la mise en œuvre de modèles 460 correspondant à des cas type de logiciels, un serveur 410 informatique d’exécution du logiciel 435 de saisie associé à l’interface utilisateur 430, un serveur 415 informatique de conversion de saisie en instructions et de déploiement des instructions ainsi générées, configuré pour exécuter : un logiciel de génération 440 d’instructions, à partir de modèles 465 prédéterminés, pour générer des logiciels, 470 et 475, standards et un moteur de déploiement 445 des logiciels, 470 et 475, ainsi générés.

Cet architecture 400 permet ainsi de générer automatiquement et de déployer, sur plusieurs ordinateurs, 420 et 425, plusieurs logiciels, 450 et 455, pouvant être identiques ou distincts.

On observe, sur la figure 5, schématiquement, une architecture 500 logicielle permettant la mise en œuvre du procédé 200 objet de la présente invention. Cette architecture 500 comporte : au moins un modèle 505 de logiciel définissant des entités 510 à saisir, au moins une entité 510 saisie par un utilisateur, au moins un écran 515 généré par le logiciel de génération 520 d’instructions en fonction d’au moins une entité 510 saisie, au moins une interface de donnée 525 générée par le logiciel de génération 520 d’instructions en fonction d’au moins une entité 510 saisie, au moins un processus 530 générée par le logiciel de génération 520 d’instructions en fonction d’au moins une entité 510 saisie et d’au moins une règle de calcul saisie 535 et au moins une règle de calcul 535 saisie, une telle règle de calcul correspondant à un traitement logiciel.

On observe sur la figure 6, une succession d’étapes particulier du procédé 600 objet de la présente invention. Ce procédé 600 mis en œuvre par ordinateur de génération automatique d’un environnement applicatif comportant au moins deux logiciels, chaque logiciel étant formé d’instructions configurées pour être stockées dans un médium de stockage lisible par un ordinateur et pour être exécutées par au moins un processeur d’ordinateur, comporte : une étape 105 de saisie, sur une interface informatique, d’au moins : une définition d’entité informatique commune, une structure de données commune associées aux entités informatiques et un traitement logiciel commun d’au moins une entité informatique, une étape 110 de sélection, sur une interface informatique, d’au moins deux contextes distincts d’exécution des instructions, une étape 1 15 de génération automatique, par un dispositif de calcul, pour au moins deux dits logiciels, d’instructions en fonction du résultat de l’étape de saisie et d’au moins deux contextes d’exécution sélectionnés, qui comporte, pour chaque dit logiciel, une étape 605 de filtration des entités saisies en fonction du contexte d’exécution sélectionné associé au logiciel et une étape 120 de stockage des instructions, par un dispositif de calcul, pour chaque logiciel, des instructions générées.

On appelle « environnement applicatif » un ensemble de logiciels coopérant pour produire un ensemble d’effets techniques. Un tel environnement applicatif est, par exemple, constitué d’un logiciel de gestion d’entrepôt et d’un logiciel de vente en ligne. De la nature coopérative de ces logiciels et de leur intrication importante résulte un besoin de définitions communes de données à échanger entre logiciels. C’est ainsi que l’étape 105 de saisie permet à un utilisateur de définir des entités, structures de données et traitement logiciels dont une partie peut être partagée entre différents jeux d’instructions correspondant à des logiciels distincts.

Le procédé 600 comporte, par exemple, une étape 115 de génération par logiciel à générer. Chaque étape 115 de génération peut mettre en œuvre des technologies distinctes et ainsi présenter, pour un même traitement logiciel, des instructions très différentes correspondant à la technologie utilisée.

Au moins une étape 115 de génération comporte une étape 605 de filtration des entités. Cette étape 605 de filtration est réalisée, par exemple, réalisée par la mise en œuvre d’un logiciel exécuté par un dispositif de calcul. Au cours de cette étape 605 de filtration, seules les entités mises en œuvre dans un traitement logiciel associé aux instructions à générer sont retenues. Ceci permet de diminuer la consommation de ressource lors de la génération, du déploiement et de l’exécution des instructions. Dans des modes de réalisations particuliers, le procédé 600 objet de la présente invention comporte : une étape 335 de modification, sur une interface informatique, d’au moins : une définition d’entité informatique commune, une structure de données communes associées aux entités informatiques et/ou un traitement logiciel d’au moins une entité informatique et une étape 340 de génération automatique, par un dispositif de calcul, pour au moins deux dits logiciels, des instructions modifiées en fonction du résultat de l’étape de modification et du contexte d’exécution sélectionné et une étape 345 de stockage des instructions, par un dispositif de calcul, pour chaque logiciel, des instructions générées.

Ainsi, comme on le comprend à la lecture de la présente description, la mise en œuvre de la présente invention octroie à un utilisateur : la capacité de décrire l’ensemble des fonctionnalités des logiciels métiers sans écrire une seule ligne de code informatique - la modélisation étant centrée sur la définition des entités métiers à partie de laquelle, la présente invention est capable, de déduire automatiquement de la définition des comportements de base des logiciels tels que les écrans, les règles de validation et les interfaces de données, la capacité à définir des composants métiers standard permettant de réaliser très rapidement des logiciels personnalisés tout en bénéficiant de meilleures pratiques des logiciels standards et la capacité à simuler plusieurs logiciels de nature technique différente à partir d’un seul modèle et d’un seul logiciel.