WO2009000976A1 - System and method for automatically generating a software application - Google Patents

System and method for automatically generating a software application Download PDF

Info

Publication number
WO2009000976A1
WO2009000976A1 PCT/FR2007/051503 FR2007051503W WO2009000976A1 WO 2009000976 A1 WO2009000976 A1 WO 2009000976A1 FR 2007051503 W FR2007051503 W FR 2007051503W WO 2009000976 A1 WO2009000976 A1 WO 2009000976A1
Authority
WO
WIPO (PCT)
Prior art keywords
software application
generation
data
scenarios
platform
Prior art date
Application number
PCT/FR2007/051503
Other languages
French (fr)
Inventor
Jean-Baptiste Briaud
Original Assignee
Jean-Baptiste Briaud
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jean-Baptiste Briaud filed Critical Jean-Baptiste Briaud
Priority to PCT/FR2007/051503 priority Critical patent/WO2009000976A1/en
Priority to EP07803926A priority patent/EP2171577A1/en
Publication of WO2009000976A1 publication Critical patent/WO2009000976A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code

Definitions

  • the present invention relates to a system for automatic generation of a software application manipulating structured data developed from elementary data predefined by the generation system.
  • a piece of data is elementary when it is directly represented by a key word of the programming language.
  • a structured data is composed of several basic data of the programming language.
  • a datum is elementary, when its type is defined in the generation system, and a structured datum is composed of several of these elementary data.
  • software application development cycles such as cascade development cycles, V development cycles, or iterative development cycles.
  • These programming concepts have allowed an increasingly high level formalization of the structures and functions to be implemented.
  • modeling languages to describe these structures and functions, as well as code generators, or series of instructions, to automatically produce, in a given language, a modeled function.
  • UML Unified Modeling Language
  • UML Unified Modeling Language
  • Another object of the invention is to reduce the production time and the cost of producing a software application.
  • a system for automatic generation of a software application manipulating structured data developed from elementary data predefined by the generation system.
  • the system comprises a generation platform connected to a communication network, and at least one terminal connected to said communication network.
  • the platform comprises data input means describing elementary interactions associated with scenarios associated with use cases of the software application, accessible from a terminal via the network, means for accessing data.
  • the present invention makes it possible to automatically generate a software application directly from scenarios associated with use cases of the software application. which reduces the cost and development time of the software application.
  • a use case is a tool used in software development to describe a possible use of software.
  • a possible scenario may be a quick creation of a new client taking into account only its name. and his first name, and another possible scenario may be the complete creation of a client, including his name, first name, address, telephone number and other desired characteristics.
  • the invention therefore proposes, from the input of data describing scenarios to be carried out by the software application, to automatically generate a software application performing these scenarios.
  • This data may include types, for example a client name may be of type string, and a cardinality, for example a scenario includes a unique client name.
  • the generated application is instantly available for a terminal connected to said communication network of the generation platform.
  • an application generated by a person working on a site can be immediately tested, used, or modified by another person working on another site.
  • a scenario defines, in a qualitative and quantitative way, for a particular use of the system, the interactions between the system and the outside, or, in other words, the interactions between the system and the system. users and interactions between the system and other systems.
  • an interaction of a scenario of creation of a new client can be the entry of its name in the form of a string of characters, which defines quantitatively and qualitatively the elementary interaction of the scenario.
  • said input means comprise a graphical interface displayable on a terminal connected to said communication network.
  • the person wanting to create the application can enter his scenarios easily on his terminal, remote from the platform of generation of the application.
  • the system comprises means for storing said data describing elementary interactions of strigrii.
  • the stored scenarios allow, for example, to re-generate a new version of the application to which new scenarios have been added, and / or modified existing scenarios.
  • the platform includes means for authenticating a user to enable the generation, use, or modification of the application.
  • said authentication means are adapted to recognize an identifier and a password, or biometric data representative of authorized users.
  • the generation means comprise first means for creating data representative of data structures, from the entered scenarios.
  • the relationships between these data are intrinsically contained in the structures.
  • a data structure representing a customer may contain a table of several bank accounts, a bank account being defined itself by a data structure.
  • the system is able to automatically create data representative of the data structures necessary for the application.
  • the data structures required for the application are object classes for an application generated in an object-oriented programming language.
  • An object class is a collection of objects that share certain properties including methods and attributes.
  • the object is the central concept of object - oriented programming, it is the realization of an instance corresponding to the model of the class to which it belongs.
  • the generation means comprise second means for creating, in a memory, a database dedicated to said software application, as a function of said data structures created.
  • the system is able to automatically create a database in a memory, according to the classes of objects automatically created by the system, according to scenarios entered.
  • the generation means comprise third means for creating graphical interfaces of the software application from the entered scenarios.
  • the generation means are also capable, automatically, of creating graphic interfaces corresponding to the different scenarios entered, and thus easily allow the user of the automatic generation system to use the scenarios he has defined.
  • said graphical interfaces created comprise graphic elements depending on the elementary interactions of the scenarios.
  • the graphical interfaces created include graphic elements, such as, for example, menus, sub-menus, checkboxes, text fields, tables, or drop-down lists, making it easy to adjust the GUI to the scenario chosen by the user.
  • said platform comprises means for storing said generated software application.
  • the generation means comprise means for setting the generation according to the hardware and software architecture of the software application execution platform.
  • the system includes means for transferring the software application from the generation platform to a terminal via the communication network.
  • the software application may further be possible to transfer the software application to a terminal, so that it can be installed on another platform of another network.
  • the means for transferring the software application from the generation platform to a terminal via the communication network may for example be remote download means.
  • the application may be etched on a data carrier, and sent directly to a user to be installed on a platform of another communication network, for example, a corporate network.
  • the generation means are adapted to verify the coherence of the input data describing elementary interactions of scenarios.
  • consistency checks are performed to warn the user of the presence of serious errors, or errors automatically corrected by the generation module 5.
  • an error may be raised when in two different client creation scenarios, the client name is once defined as a character string, and once as an integer.
  • a simple warning can be raised, and the application generated anyway, when in two different client creation scenarios, the client name is once defined as a string of twenty characters, and once as a string of thirty characters.
  • the generation module will choose the most suitable definition according to the generation rules, for example it will be defined twice as a string of thirty characters for the system to accept the most constraining case imagined by a user of the generation system. , or, in other words, a designer of the application.
  • the communication network may, for example, be the Internet network.
  • a method for automatic generation of a software application manipulating structured data developed from predefined elementary data for generation.
  • a software application is automatically generated remotely based on data describing elementary interactions associated with Scenarios associated with use cases of the software application, and the generated software application is instantly made available via a communication network.
  • FIG. 1 schematically represents a system according to an aspect of the invention
  • - Figure 2 schematically illustrates the method according to one aspect of the invention.
  • a system for automatic generation of a software application manipulating structured data produced from elementary data predefined by the generation system comprises a generation platform 1 connected to the Internet communication network. 2, and comprises an input module 3 of data representative of scenarios of use of the software application, accessible from a terminal 4 via the Internet network 2.
  • the generation platform 1 comprises a module automatic generation 5 of the software application according to said scenarios, and an instantaneous provisioning module 6 of the software application generated for the terminal 4 or another terminal 7, provided with a screen 8 connected to said network internet 2.
  • the input module 3 comprises a graphical interface 9 displayable on a terminal, for example the terminal 4, connected to the network in ternet 2, on the screen 10 of the terminal 4.
  • the platform 1 comprises a storage module or memory 1 1 for storing the data representative of the scenarios. entered by the user of the terminal 4 by remote access to the input module 3.
  • the generation platform 1 comprises an authentication module 12 to authenticate the user, for example by an identifier and a password, or by biometric data, and to enable the generation, use or modification of the software application.
  • the generation module 5 comprises a first creation module 13, in a memory, data representative of classes of objects from the entered scenarios.
  • the generation module 5 comprises a second creation module 14, in a memory, of a database 15 dedicated to said software application, according to the classes of objects created during the generation of the application, by the authoring module 13.
  • the generation module 5 further comprises a third module 16 for creating graphical interfaces of the software application from the entered scenarios.
  • the graphical interfaces created include main selection elements, or menus, and secondary selection elements, or sub-menus, representing the entered and stored scenarios.
  • the user of the software application can easily select a graphical interface corresponding to the scenario he wants to use.
  • the platform 1 comprises a storage module 17 of the generated software application.
  • the storage or memory module 17 may be organized, for example, in the form of a database, so as to be able to store a multitude of different software applications generated independently of each other.
  • the storage module 17 can store the different successive generated versions of a software application, as well as references to identify the scenarios of the memory module 1 1 corresponding to different successive versions.
  • the generation platform 1 further comprises a transfer module 18 for transferring the software application generated to the terminal 4, via the internet communication network 2, or to the terminal 5 after authentication of the rights of the user. user.
  • the transfer module, or download can be replaced by the registration of the software application on a digital data carrier, such as a CD or a DVD.
  • the generation platform 1 may also include a parameterization module 19 making it possible to parameterize the generation of the software application according to the hardware and software architecture of the execution platform on which the software application is executed. .
  • FIG. 2 illustrates the operation of the system of FIG. 1.
  • a user of the terminal 4 connects via the Internet network 2 to the platform 1 of generation of the software application (step 20).
  • the user Once connected to the platform 1, the user enters an identifier and a password to be able to access the services, after having been authenticated by the authentication module 12 (step 21). If these username and password correspond to the creation of a new software application, the user will then enter the scenarios to be realized by the software application, by means of the input module 3 and its displayable graphic interface 9. on the screen 10 of the terminal 4 of the user (step 22).
  • the user has entered all the scenarios to be carried out by the software application, he requests the generation (step 23) of the software application by the generation module 5.
  • the application Once generated and stored, in the module of storage 17, the application is made available by the provisioning module
  • step 22 If the user realizes that he has forgotten to enter a scenario, he can then add one or more scenarios to the scenarios stored in the memory module 1 1 (step 22) and re-generate a new version of the program. application (step 23), which will be made available instantly (step 24).
  • the user can then also decide to use the application (step 25) for example to test its operation.
  • step 26 download the application (step 26) so as to install it on a server of another communication network, for example a local area network. business.
  • Another user for example via the terminal 5, can connect remotely from the generation platform 1 (step 20) and authenticate using the same identifier and password corresponding to this software application (step 21) .
  • step 21 After authentication (step 21), the user can either choose to generate a new version of the application (step 23), after entering or modifying new scenarios (step 22). This new version of the generated application will then be made available immediately (step 24). It may also decide to use the application (step 25), for example to test it, or to download it (step 26).
  • the generation module 5 performs a generation of the application starting with by checking the coherence of the scenarios, and in particular the types of data used in the scenarios. For example, if a client addition scenario includes a text client name, and another client addition scenario, for example, a quick client addition that includes an integer type client name, an error consistency is detected.
  • the generation module 5 produces a description of the application, from the scenarios, in a description mode, or description metalanguage independent of the programming language that the generation module
  • the generation module 5 uses to create the software application.
  • the generation module 5 can be parameterizable so that it can choose the programming language used to generate the application, in particular according to the hardware and software equipment of the platform on which the software application will be executed.
  • the metalanguage description of the application makes it possible to preserve the information present in the scenarios.
  • the generation module 5 From the description of the software application in the metalanguage, data structures necessary for the application are generated by the generation module 5. The relationships between the data structures are implicitly included in the data structures. For example, for an object-oriented language such as Java or C ++ , the created data structures are object classes. Finally, the generation module 5 generates the software application from the elaborated data structures and all the elementary interactions of the scenarios entered, and generates the final application in the programming language provided. The invention makes it possible to generate, in a short time and at a reduced cost, in a simple and automatic manner, a software application realizing all the scenarios envisaged for the end users.
  • the instantaneous provisioning of the software application generated by the communication network enables various entities that are geographically distant from one another to have immediate access to the application, in particular to be able to test it independently.

Abstract

The system for automatically generating a software application manipulating structured data formulated from elementary data predefined by the generating system, comprises a generating platform (1) linked to a communication network (2), and at least one terminal (4, 5) linked to said communication network. The platform (1) comprises means for inputting data describing elementary interactions associated with scenarios associated with cases of use of the software application, which are accessible from a terminal (4, 4) by way of the network (2), means (5) for automatically generating the software application as a function of said scenarios, and means (6) for instantaneously making the software application generated available to a terminal (4, 5) linked to said communication network (2).

Description

Système et procédé de génération automatique d'une application logicielle System and method for automatically generating a software application
La présente invention porte sur un système de génération automatique d'une application logicielle manipulant des données structurées élaborées à partir de données élémentaires prédéfinies par le système de génération.The present invention relates to a system for automatic generation of a software application manipulating structured data developed from elementary data predefined by the generation system.
Dans un langage de programmation, une donnée est élémentaire quand elle est directement représentée par un mot clé du langage de programmation. Par opposition, une donnée structurée est composée de plusieurs données élémentaires du langage de programmation.In a programming language, a piece of data is elementary when it is directly represented by a key word of the programming language. In contrast, a structured data is composed of several basic data of the programming language.
Aussi, dans la présente invention, une donnée est élémentaire, quand son type est défini dans le système de génération, et une donnée structurée est composée de plusieurs de ces données élémentaires. II existe de nombreux cycles de développement d'une application logicielle, tels que les cycles de développement en cascade, de développement en V, ou encore des cycles de développement itératifs. Ces concepts de programmation ont permis une formalisation de niveau de plus en plus élevé des structures et des fonctions à implémenter. Il existe des langages de modélisation permettant de décrire ces structures et ces fonctions, ainsi que des générateurs de code, ou série d'instructions, permettant de produire automatiquement, dans un langage donné, une fonction modélisée. UML (« Unified Modeling Language ») est un exemple connu et de plus en plus répandu de langage de modélisation.Also, in the present invention, a datum is elementary, when its type is defined in the generation system, and a structured datum is composed of several of these elementary data. There are many software application development cycles, such as cascade development cycles, V development cycles, or iterative development cycles. These programming concepts have allowed an increasingly high level formalization of the structures and functions to be implemented. There are modeling languages to describe these structures and functions, as well as code generators, or series of instructions, to automatically produce, in a given language, a modeled function. UML ("Unified Modeling Language") is a known and increasingly common example of a modeling language.
A partir d'une telle modélisation, il est possible d' automatiser la production de tout ou partie d'une application. Une fo is l' application modélisée, les outils de génération de code permettent de générer les morceaux d' application concernés, et même de générer automatiquement les tests fonctionnels de l'application. Toutefois, aucun de ces procédés ou de ces systèmes de développement d'une application logicielle ne permet de s 'affranchir des causes principales d' échec de la réalisation d'une application logicielle, à savoir des besoins manquant de clarté, ou mal traduits lors de la modélisation de l' application. En outre, le travail de modélisation de l' application effectué par collaboration d'un groupe de personnes, ne peut être géré convenablement, et le code applicatif produit doit être modifié manuellement. Un but de la présente invention est de pallier à ces problèmes.From such modeling, it is possible to automate the production of all or part of an application. A modeled application, the code generation tools allow to generate the relevant application pieces, and even to generate automatically the functional tests of the application. However, none of these methods or systems for developing a software application makes it possible to overcome the main causes of failure of the implementation of a software application, ie needs that are unclear or poorly translated during modeling of the application. In addition, the application modeling work performed by a group of people can not be managed properly, and the product application code must be manually changed. An object of the present invention is to overcome these problems.
Un autre but de l' invention, est de réduire le temps de réalisation et le coût de réalisation d'une application logicielle.Another object of the invention is to reduce the production time and the cost of producing a software application.
Il est donc proposé, selon un aspect de l' invention, un système de génération automatique d'une application logicielle manipulant des données structurées élaborées à partir de données élémentaires prédéfinies par le système de génération. Le système comprend une plate-forme de génération reliée à un réseau de communication, et au moins un terminal relié audit réseau de communication. En outre, la plate-forme comprend des moyens d' entrée de données décrivant des interactions élémentaires associées à des scenarii associés à des cas d'utilisation de l' application logicielle, accessibles depuis un terminal par l'intermédiaire du réseau, des moyens de génération automatique de l' application logicielle en fonction desdits scenarii, et des moyens de mise à disposition instantanée, pour un terminal relié audit réseau de communication, de l' application logicielle générée.It is therefore proposed, according to one aspect of the invention, a system for automatic generation of a software application manipulating structured data developed from elementary data predefined by the generation system. The system comprises a generation platform connected to a communication network, and at least one terminal connected to said communication network. In addition, the platform comprises data input means describing elementary interactions associated with scenarios associated with use cases of the software application, accessible from a terminal via the network, means for accessing data. automatic generation of the software application according to said scenarios, and means for instantaneous provisioning, for a terminal connected to said communication network, of the generated software application.
Ainsi, la présente invention permet de générer automatiquement une application logicielle directement à partir de scenarii associés à des cas d'utilisation de l' application logicielle, ce qui permet de réduire le coût et le temps de développement de l' application logicielle.Thus, the present invention makes it possible to automatically generate a software application directly from scenarios associated with use cases of the software application. which reduces the cost and development time of the software application.
La réalisation de l' application est simplifiée, car on s ' intéresse directement à ce que doit faire l' application et non à comment elle doit le faire.Implementing the application is simplified because you are directly interested in what the application should do, not how it should do it.
Un cas d'utilisation est un outil utilisé en développement logiciel permettant de décrire une utilisation possible d'un logiciel. Par exemple, pour un cas d'utilisation concernant la création d'un profil d'un nouveau client pour une application logicielle de location de matériel, un scénario possible peut être une création rapide d'un nouveau client ne prenant en compte que son nom et son prénom, et un autre scénario possible peut être la création complète d'un client, comprenant son nom, son prénom, son adresse, son numéro de téléphone et d'autres caractéristiques souhaitées. L 'invention propose donc, à partir de l' entrée de données décrivant des scenarii à réaliser par l'application logicielle, de générer automatiquement une application logicielle réalisant ces scenarii. Ces données peuvent comprendre des types, par exemple un nom de client peut être de type chaîne de caractères, et une cardinalité, par exemple un scénario comprend un unique nom de client.A use case is a tool used in software development to describe a possible use of software. For example, for a use case concerning the creation of a new client profile for a hardware rental software application, a possible scenario may be a quick creation of a new client taking into account only its name. and his first name, and another possible scenario may be the complete creation of a client, including his name, first name, address, telephone number and other desired characteristics. The invention therefore proposes, from the input of data describing scenarios to be carried out by the software application, to automatically generate a software application performing these scenarios. This data may include types, for example a client name may be of type string, and a cardinality, for example a scenario includes a unique client name.
En outre, l' application générée est instantanément mise à disposition pour un terminal relié audit réseau de communication de la plate-forme de génération. Ainsi, une application générée par une personne travaillant sur un site peut être immédiatement testée, utilisée, ou modifiée par une autre personne travaillant sur un autre site.In addition, the generated application is instantly available for a terminal connected to said communication network of the generation platform. Thus, an application generated by a person working on a site can be immediately tested, used, or modified by another person working on another site.
Un scénario définit, de manière qualitative et quantitative, pour un usage particulier du système, les interactions entre le système et l' extérieur, ou, en d'autres termes, les interactions entre le système et les utilisateurs et les interactions entre le système et d' autres systèmes. Par exemple une interaction d'un scénario de création d'un nouveau client peut être l'entrée de son nom sous forme d'une chaîne de caractères, ce qui définit de manière quantitative et qualitative l' interaction élémentaire du scénario .A scenario defines, in a qualitative and quantitative way, for a particular use of the system, the interactions between the system and the outside, or, in other words, the interactions between the system and the system. users and interactions between the system and other systems. For example, an interaction of a scenario of creation of a new client can be the entry of its name in the form of a string of characters, which defines quantitatively and qualitatively the elementary interaction of the scenario.
Dans un mode de réalisation, lesdits moyens d' entrée comprennent une interface graphique affichable sur un terminal relié audit réseau de communication.In one embodiment, said input means comprise a graphical interface displayable on a terminal connected to said communication network.
Ainsi, la personne voulant créer l' application peut rentrer ses scenarii facilement sur son terminal, à distance de la plate-forme de génération de l'application.Thus, the person wanting to create the application can enter his scenarios easily on his terminal, remote from the platform of generation of the application.
Dans un mode de réalisation, le système comprend des moyens de mémorisation desdites données décrivant des interactions élémentaires de scenarii. Les scenarii mémorisés permettent, par exemple, de re-générer une nouvelle version de l' application à laquelle on a ajouté de nouveaux scenarii, et/ou modifié des scenarii existants.In one embodiment, the system comprises means for storing said data describing elementary interactions of scenarii. The stored scenarios allow, for example, to re-generate a new version of the application to which new scenarios have been added, and / or modified existing scenarios.
Dans un mode de réalisation, ladite plate-forme comprend des moyens d' authentification d'un utilisateur pour permettre la génération, l'utilisation ou la modification de l'application.In one embodiment, the platform includes means for authenticating a user to enable the generation, use, or modification of the application.
Ainsi, seules les personnes autorisées à générer, utiliser, ou modifier l' application logicielle peuvent y accéder.Thus, only those authorized to generate, use, or modify the software application can access it.
Par exemple, lesdits moyens d' authentification sont adaptés pour reconnaître un identifiant et un mot de passe, ou des données biométriques représentative d'utilisateurs autorisés.For example, said authentication means are adapted to recognize an identifier and a password, or biometric data representative of authorized users.
Dans un mode de réalisation, les moyens de génération comprennent des premiers moyens de création de données représentatives de structures de données, à partir des scenarii entrés. Les relations entre ces données sont contenues intrinsèquement dans les structures. Par exemple, une structure de données représentant un client peut contenir un tableau de plusieurs comptes bancaires, un compte bancaire étant défini lui-même par une structure de données. Durant la phase de génération de l' application logicielle, à partir des scenarii entrés, le système est capable de créer de manière automatique des données représentatives des structures de données nécessaires à l' application. Par exemple, les structures de données nécessaires à l' application sont des classes d' obj ets pour une application générée dans un langage de programmation orienté objet.In one embodiment, the generation means comprise first means for creating data representative of data structures, from the entered scenarios. The relationships between these data are intrinsically contained in the structures. For example, a data structure representing a customer may contain a table of several bank accounts, a bank account being defined itself by a data structure. During the generation phase of the software application, from the entered scenarios, the system is able to automatically create data representative of the data structures necessary for the application. For example, the data structures required for the application are object classes for an application generated in an object-oriented programming language.
Une classe d' objets est un ensemble d' objets partageant certaines propriétés comprenant des méthodes et des attributs. L ' objet est le concept central de la programmation orientée objet, il est la réalisation d'une instance correspondant au modèle de la classe à laquelle elle appartient.An object class is a collection of objects that share certain properties including methods and attributes. The object is the central concept of object - oriented programming, it is the realization of an instance corresponding to the model of the class to which it belongs.
Dans un mode de réalisation, les moyens de génération comprennent des deuxièmes moyens de création, dans une mémoire, d'une base de données dédiée à ladite application logicielle, en fonction desdites structures de données créées. Ainsi, le système est capable de créer automatiquement une base de données dans une mémoire, en fonction des classes d' objets créées automatiquement par le système, en fonction de scenarii entrés.In one embodiment, the generation means comprise second means for creating, in a memory, a database dedicated to said software application, as a function of said data structures created. Thus, the system is able to automatically create a database in a memory, according to the classes of objects automatically created by the system, according to scenarios entered.
Dans un mode de réalisation, les moyens de génération comprennent des troisièmes moyens de création d' interfaces graphiques de l'application logicielle à partir des scenarii entrés.In one embodiment, the generation means comprise third means for creating graphical interfaces of the software application from the entered scenarios.
Les moyens de génération sont en outre capables, automatiquement, de créer des interfaces graphiques correspondant aux différents scenarii entrés, et permettent ainsi aisément à l'utilisateur du système de génération automatique d'utiliser les scenarii qu'il a défini.The generation means are also capable, automatically, of creating graphic interfaces corresponding to the different scenarios entered, and thus easily allow the user of the automatic generation system to use the scenarios he has defined.
Dans un mode de réalisation, lesdites interfaces graphiques créées comprennent des éléments graphiques dépendant des interactions élémentaires des scenarii.In one embodiment, said graphical interfaces created comprise graphic elements depending on the elementary interactions of the scenarios.
En d' autres termes, les interfaces graphiques créées comprennent des éléments graphiques, tels, par exemple, des menus, des sous-menus, des cases à cocher, des champs de texte, des tableaux, ou des listes déroulantes, permettant facilement d' ajuster l' interface graphique au scénario choisi par l'utilisateur.In other words, the graphical interfaces created include graphic elements, such as, for example, menus, sub-menus, checkboxes, text fields, tables, or drop-down lists, making it easy to adjust the GUI to the scenario chosen by the user.
Dans un mode de réalisation, ladite plate-forme comprend des moyens de mémorisation de ladite application logicielle générée.In one embodiment, said platform comprises means for storing said generated software application.
Dans un mode de réalisation, les moyens de génération comprennent des moyens de paramétrage de la génération en fonction de l 'architecture matérielle et logicielle de la plate-forme d' exécution de l' application logicielle.In one embodiment, the generation means comprise means for setting the generation according to the hardware and software architecture of the software application execution platform.
Ainsi, il est possible de paramétrer la génération de l' application en fonction des moyens matériels et logiciels sur lesquels elle va être déployée. Dans un mode de réalisation, le système comprend des moyens pour transférer l' application logicielle de la plate-forme de génération à un terminal par l' intermédiaire du réseau de communication.Thus, it is possible to parameterize the generation of the application according to the hardware and software resources on which it will be deployed. In one embodiment, the system includes means for transferring the software application from the generation platform to a terminal via the communication network.
En effet, il peut en outre être possible de transférer l' application logicielle sur un terminal, afin que celle-ci puisse être installée sur une autre plate-forme d'un autre réseau. Les moyens pour transférer l'application logicielle de la plate-forme de génération à un terminal par l' intermédiaire du réseau de communication, peuvent être par exemple des moyens de téléchargement à distance. En variante, l' application peut être gravée sur un support de données, et envoyée directement à un utilisateur pour être installé sur une plate-forme d'un autre réseau de communication, par exemple, un réseau d' entreprise.Indeed, it may further be possible to transfer the software application to a terminal, so that it can be installed on another platform of another network. The means for transferring the software application from the generation platform to a terminal via the communication network may for example be remote download means. Alternatively, the application may be etched on a data carrier, and sent directly to a user to be installed on a platform of another communication network, for example, a corporate network.
Dans un mode de réalisation, les moyens de génération sont adaptés pour vérifier la cohérence des données entrées décrivant des interactions élémentaires de scenarii.In one embodiment, the generation means are adapted to verify the coherence of the input data describing elementary interactions of scenarios.
Ainsi, avant de générer l'application en fonction d'un environnement technique défini, des vérifications de cohérence sont effectuée afin d' avertir l'utilisateur de la présence d'erreurs graves, ou d' erreurs automatiquement corrigées par le module de génération 5. Par exemple une erreur peut être soulevée lorsque dans deux scenarii différents de création de client, le nom du client est une fois défini comme une chaîne de caractères, et une fois comme un nombre entier. Un simple avertissement peut être soulevé, et l'application générée quand même, lorsque dans deux scenarii différents de création de client, le nom du client est une fois défini comme une chaîne de vingt caractères, et une fois comme une chaîne de trente caractères. Dans ce cas le module de génération choisira la définition la mieux adaptée en fonction des règles de génération, par exemple le définira deux fois comme une chaîne de trente caractères pour que le système accepte le cas le plus contraignant imaginé par un utilisateur du système de génération, ou, en d' autres termes, un concepteur de l' application.Thus, before generating the application according to a defined technical environment, consistency checks are performed to warn the user of the presence of serious errors, or errors automatically corrected by the generation module 5. For example, an error may be raised when in two different client creation scenarios, the client name is once defined as a character string, and once as an integer. A simple warning can be raised, and the application generated anyway, when in two different client creation scenarios, the client name is once defined as a string of twenty characters, and once as a string of thirty characters. In this case, the generation module will choose the most suitable definition according to the generation rules, for example it will be defined twice as a string of thirty characters for the system to accept the most constraining case imagined by a user of the generation system. , or, in other words, a designer of the application.
Le réseau de communication peut, par exemple, être le réseau Internet.The communication network may, for example, be the Internet network.
Selon un autre aspect de l' invention, il est également proposé un procédé de génération automatique d'une application logicielle manipulant des données structurées élaborées à partir de données élémentaires prédéfinies pour la génération. On génère automatiquement, à distance, une application logicielle en fonction de données décrivant des interactions élémentaires associées à des scenarii associés à des cas d'utilisation de l' application logicielle, et on met instantanément à disposition l' application logicielle générée, par l' intermédiaire d'un réseau de communication.According to another aspect of the invention, there is also provided a method for automatic generation of a software application manipulating structured data developed from predefined elementary data for generation. A software application is automatically generated remotely based on data describing elementary interactions associated with Scenarios associated with use cases of the software application, and the generated software application is instantly made available via a communication network.
L 'invention sera mieux comprise à l' étude de la description détaillée suivante, de quelques modes de réalisation pris à titre d' exemples nullement limitatifs, et illustrés par les dessins annexés, sur lesquels : la figure 1 représente schématiquement un système selon un aspect de l' invention, et - la figure 2 illustre schématiquement le procédé selon un aspect de l' invention.The invention will be better understood on studying the following detailed description of some embodiments taken as non-limiting examples and illustrated by the accompanying drawings, in which: FIG. 1 schematically represents a system according to an aspect of the invention, and - Figure 2 schematically illustrates the method according to one aspect of the invention.
Tel qu' illustré sur la figure 1 , un système de génération automatique d'une application logicielle manipulant des données structurées élaborées à partir de données élémentaires prédéfinies par le système de génération, comprend une plate-forme 1 de génération reliée au réseau de communication Internet 2, et comprend un module d' entrée 3 de données représentatives de scenarii de cas d'utilisation de l' application logicielle, accessible depuis un terminal 4 par l' intermédiaire du réseau Internet 2. La plate-forme de génération 1 comprend un module de génération automatique 5 de l' application logicielle en fonction desdits scenarii, ainsi qu'un module de mise à disposition instantanée 6 de l' application logicielle générée pour le terminal 4 ou un autre terminal 7, muni d'un écran 8 relié audit réseau internet 2. Le module d' entrée 3 comprend une interface graphique 9 affichable sur un terminal, par exemple le terminal 4, reliée au réseau internet 2, sur l' écran 10 du terminal 4.As illustrated in FIG. 1, a system for automatic generation of a software application manipulating structured data produced from elementary data predefined by the generation system comprises a generation platform 1 connected to the Internet communication network. 2, and comprises an input module 3 of data representative of scenarios of use of the software application, accessible from a terminal 4 via the Internet network 2. The generation platform 1 comprises a module automatic generation 5 of the software application according to said scenarios, and an instantaneous provisioning module 6 of the software application generated for the terminal 4 or another terminal 7, provided with a screen 8 connected to said network internet 2. The input module 3 comprises a graphical interface 9 displayable on a terminal, for example the terminal 4, connected to the network in ternet 2, on the screen 10 of the terminal 4.
La plate-forme 1 comprend un module de mémorisation ou mémoire 1 1 pour mémoriser les données représentatives des scenarii entrés par l'utilisateur du terminal 4 par accès à distance au module d' entrée 3.The platform 1 comprises a storage module or memory 1 1 for storing the data representative of the scenarios. entered by the user of the terminal 4 by remote access to the input module 3.
En outre, la plate-forme de génération 1 comprend un module d'authentification 12 pour authentifier l'utilisateur, par exemple par un identifiant et un mot de passe, ou par données biométriques, et permettre la génération, l'utilisation ou la modification de l' application logicielle. Ainsi, seules les personnes autorisées peuvent avoir accès à la génération, l'utilisation ou la modification de l' application logicielle. Le module de génération 5 comprend un premier module de création 13 , dans une mémoire, de données représentatives de classes d' objets à partir des scenarii entrés. En outre, le module de génération 5 comprend un deuxième module de création 14, dans une mémoire, d'une base de données 15 dédiée à ladite application logicielle, en fonction des classes d' objets créées lors de la génération de l' application, par le module de création 13. Le module de génération 5 comprend, en outre, un troisième module de création 16 d'interfaces graphiques de l'application logicielle à partir des scenarii entrés. Les interfaces graphiques créées comprennent des éléments de sélection principaux, ou menus, et des éléments de sélection secondaires, ou sous-menus, représentant les scenarii entrés et mémorisés. Ainsi, l'utilisateur de l' application logicielle peut aisément sélectionner une interface graphique correspondant au scénario qu'il veut utiliser.In addition, the generation platform 1 comprises an authentication module 12 to authenticate the user, for example by an identifier and a password, or by biometric data, and to enable the generation, use or modification of the software application. Thus, only authorized persons can have access to the generation, use or modification of the software application. The generation module 5 comprises a first creation module 13, in a memory, data representative of classes of objects from the entered scenarios. In addition, the generation module 5 comprises a second creation module 14, in a memory, of a database 15 dedicated to said software application, according to the classes of objects created during the generation of the application, by the authoring module 13. The generation module 5 further comprises a third module 16 for creating graphical interfaces of the software application from the entered scenarios. The graphical interfaces created include main selection elements, or menus, and secondary selection elements, or sub-menus, representing the entered and stored scenarios. Thus, the user of the software application can easily select a graphical interface corresponding to the scenario he wants to use.
En outre, la plate-forme 1 comprend un module de mémorisation 17 de l' application logicielle générée. Le module de mémorisation ou mémoire 17 peut être organisé, par exemple, sous forme de base de données, de manière à pouvoir mémoriser une multitude d' applications logicielles diverses générées indépendamment les unes des autres. En outre, le module de mémorisation 17 peut mémoriser les différentes versions successives générées d'une application logicielle, ainsi que des références permettant d'identifier les scenarii du module de mémorisation 1 1 correspondant aux différentes versions successives.In addition, the platform 1 comprises a storage module 17 of the generated software application. The storage or memory module 17 may be organized, for example, in the form of a database, so as to be able to store a multitude of different software applications generated independently of each other. In addition, the storage module 17 can store the different successive generated versions of a software application, as well as references to identify the scenarios of the memory module 1 1 corresponding to different successive versions.
La plate-forme de génération 1 comprend, en outre, un module de transfert 18 pour transférer l' application logicielle générée au terminal 4, par l'intermédiaire du réseau de communication internet 2, ou au terminal 5 après authentification des droits de l'utilisateur. En variante, le module de transfert, ou de téléchargement, peut être remplacé par l' inscription de l' application logicielle sur un support de données numérique, tel qu'un CD ou un DVD.The generation platform 1 further comprises a transfer module 18 for transferring the software application generated to the terminal 4, via the internet communication network 2, or to the terminal 5 after authentication of the rights of the user. user. Alternatively, the transfer module, or download, can be replaced by the registration of the software application on a digital data carrier, such as a CD or a DVD.
La plate-forme de génération 1 peut également comprendre un module de paramétrage 19 permettant de paramétrer la génération de l' application logicielle en fonction de l'architecture matérielle et logicielle de la plate-forme d' exécution sur laquelle est exécutée l' application logicielle.The generation platform 1 may also include a parameterization module 19 making it possible to parameterize the generation of the software application according to the hardware and software architecture of the execution platform on which the software application is executed. .
La figure 2 illustre le fonctionnement du système de la figure 1. Un utilisateur du terminal 4 se connecte par l' intermédiaire du réseau Internet 2 à la plate-forme 1 de génération de l' application logicielle (étape 20). Une fois connecté à la plate-forme 1 , l'utilisateur rentre un identifiant et un mot de passe pour pouvoir accéder aux services, après avoir été authentifié par le module d'authentification 12 (étape 21 ). Si ces identifiant et mot de passe correspondent à la création d'une nouvelle application logicielle, l'utilisateur va alors entrer les scenarii devant être réalisés par l' application logicielle, au moyen du module d'entrée 3 et de son interface graphique 9 affichable sur l'écran 10 du terminal 4 de l'utilisateur (étape 22). Lorsque l'utilisateur a entré l 'ensemble des scenarii devant être réalisés par l' application logicielle, il demande la génération (étape 23) de l' application logicielle par le module de génération 5. Une fois générée et mémorisée, dans le module de mémorisation 17, l' application est mise à disposition par le module de mise à dispositionFIG. 2 illustrates the operation of the system of FIG. 1. A user of the terminal 4 connects via the Internet network 2 to the platform 1 of generation of the software application (step 20). Once connected to the platform 1, the user enters an identifier and a password to be able to access the services, after having been authenticated by the authentication module 12 (step 21). If these username and password correspond to the creation of a new software application, the user will then enter the scenarios to be realized by the software application, by means of the input module 3 and its displayable graphic interface 9. on the screen 10 of the terminal 4 of the user (step 22). When the user has entered all the scenarios to be carried out by the software application, he requests the generation (step 23) of the software application by the generation module 5. Once generated and stored, in the module of storage 17, the application is made available by the provisioning module
6 (étape 24).6 (step 24).
Si l'utilisateur se rend compte qu' il a oublié d' entrer un scénario, il peut alors ajouter un ou plusieurs scenarii aux scenarii mémorisés dans le module de mémorisation 1 1 , (étape 22) et re- générer une nouvelle version de l' application (étape 23), qui sera mise à disposition instantanément (étape 24).If the user realizes that he has forgotten to enter a scenario, he can then add one or more scenarios to the scenarios stored in the memory module 1 1 (step 22) and re-generate a new version of the program. application (step 23), which will be made available instantly (step 24).
L'utilisateur peut alors également décider d'utiliser l' application (étape 25) par exemple afin de tester son fonctionnement.The user can then also decide to use the application (step 25) for example to test its operation.
Il peut également, sous réserve qu'il y soit autorisé en fonction de son authentification, télécharger l' application (étape 26) de manière à l' installer sur un serveur d'un autre réseau de communication, par exemple un réseau local d' entreprise. Un autre utilisateur, par exemple par le terminal 5 , peut se connecter à distance de la plate-forme de génération 1 (étape 20) et s' authentifier au moyen du même identifiant et mot de passe correspondant à cette application logicielle (étape 21 ).It may also, provided that it is authorized according to its authentication, download the application (step 26) so as to install it on a server of another communication network, for example a local area network. business. Another user, for example via the terminal 5, can connect remotely from the generation platform 1 (step 20) and authenticate using the same identifier and password corresponding to this software application (step 21) .
Après authentification (étape 21 ), l'utilisateur peut soit choisir de générer une nouvelle version de l'application (étape 23), après avoir entré ou modifié de nouveaux scenarii (étape 22). Cette nouvelle version de l' application générée sera alors mise à disposition immédiatement (étape 24). Il peut également décider d'utiliser l' application (étape 25), par exemple pour la tester, ou de la télécharger (étape 26).After authentication (step 21), the user can either choose to generate a new version of the application (step 23), after entering or modifying new scenarios (step 22). This new version of the generated application will then be made available immediately (step 24). It may also decide to use the application (step 25), for example to test it, or to download it (step 26).
Lors d'une phase de génération (étape 23), le module de génération 5 effectue une génération de l' application en commençant par vérifier la cohérence des scenarii, et notamment des types de données utilisées dans les scenarii. Par exemple si un scénario d' ajout de client comprend un nom de client de type texte, et qu'un autre scénario d' ajout de client, par exemple un ajout rapide de client comprend un nom de client de type nombre entier, une erreur de cohérence est détectée.During a generation phase (step 23), the generation module 5 performs a generation of the application starting with by checking the coherence of the scenarios, and in particular the types of data used in the scenarios. For example, if a client addition scenario includes a text client name, and another client addition scenario, for example, a quick client addition that includes an integer type client name, an error consistency is detected.
Lorsque la cohérence des scenarii est établie, le module de génération 5 produit une description de l' application, à partir des scenarii, dans un mode de description, ou métalangage de description indépendant du langage de programmation que le module de générationWhen the coherence of the scenarios is established, the generation module 5 produces a description of the application, from the scenarios, in a description mode, or description metalanguage independent of the programming language that the generation module
5 utilise pour créer l'application logicielle. Le module de génération 5 peut être paramétrable, de sorte à pouvoir choisir le langage de programmation utilisé pour générer l'application, notamment en fonction des équipement matériels et logiciels de la plate-forme sur laquelle l'application logicielle sera exécutée. Le métalangage de description de l'application permet de conserver les informations présentes dans les scenarii.5 uses to create the software application. The generation module 5 can be parameterizable so that it can choose the programming language used to generate the application, in particular according to the hardware and software equipment of the platform on which the software application will be executed. The metalanguage description of the application makes it possible to preserve the information present in the scenarios.
A partir de la description de l'application logicielle dans le métalangage, des structures de données nécessaires à l' application sont générées par le module de génération 5. Les relations entre les structures de données sont implicitement comprises dans les structures de données. Par exemple, pour un langage orienté obj et tel que Java ou C++, les structures de données créées sont des classes d' objets. Enfin le module de génération 5 génère l'application logicielle à partir des structures de données élaborées et de l' ensemble des interactions élémentaires des scenarii entrés, et génère l'application finale dans le langage de programmation prévu. L 'invention permet de générer, dans un délai et un coût réduits, de manière simple et automatique, une application logicielle réalisant l' ensemble des scenarii prévus pour les utilisateurs finals.From the description of the software application in the metalanguage, data structures necessary for the application are generated by the generation module 5. The relationships between the data structures are implicitly included in the data structures. For example, for an object-oriented language such as Java or C ++ , the created data structures are object classes. Finally, the generation module 5 generates the software application from the elaborated data structures and all the elementary interactions of the scenarios entered, and generates the final application in the programming language provided. The invention makes it possible to generate, in a short time and at a reduced cost, in a simple and automatic manner, a software application realizing all the scenarios envisaged for the end users.
En outre, la mise à disposition instantanée de l' application logicielle générée par le réseau de communication, permet à diverses entités distantes géographiquement l'une de l' autre, d' avoir immédiatement accès à l'application, notamment pour pouvoir la tester indépendamment.Moreover, the instantaneous provisioning of the software application generated by the communication network enables various entities that are geographically distant from one another to have immediate access to the application, in particular to be able to test it independently. .
Tout ce qui est décrit précédemment pour un utilisateur s 'applique également pour plusieurs utilisateurs simultanés, qu' ils soient dans un lieu identique ou dans des lieux différents. Anything previously described for a user also applies to multiple simultaneous users, whether in the same location or in different locations.

Claims

REVENDICATIONS
1. Système de génération automatique d'une application logicielle manipulant des données structurées élaborées à partir de données élémentaires prédéfinies par le système de génération, comprenant une plate-forme ( 1 ) de génération reliée à un réseau de communication (2), et au moins un terminal (4, 5) relié audit réseau de communication, caractérisé en ce que la plate-forme ( 1 ) comprend des moyens d' entrée de données décrivant des interactions élémentaires associées à des scenarii associés à des cas d'utilisation de l' application logicielle, accessibles depuis un terminal (4, 4) par l' intermédiaire du réseau (2), des moyens de génération automatique (5) de l'application logicielle en fonction desdits scenarii, et des moyens de mise à disposition instantanée (6), pour un terminal (4, 5) relié audit réseau de communication (2), de l' application logicielle générée.A system for automatic generation of a software application manipulating structured data developed from elementary data predefined by the generation system, comprising a generation platform (1) connected to a communication network (2), and to at least one terminal (4, 5) connected to said communication network, characterized in that the platform (1) comprises data input means describing elementary interactions associated with scenarios associated with use cases of the software application, accessible from a terminal (4, 4) via the network (2), means for automatic generation (5) of the software application according to said scenarios, and means for instantaneous provision ( 6), for a terminal (4, 5) connected to said communication network (2), of the generated software application.
2. Système selon la revendication 1 , dans lequel lesdits moyens d' entrée (3) comprennent une interface graphique (7) affichable sur un terminal (4, 5) relié audit réseau de communication (2).2. The system of claim 1, wherein said input means (3) comprises a graphical interface (7) displayable on a terminal (4, 5) connected to said communication network (2).
3. Système selon la revendication 1 ou 2, dans lequel ladite plate-forme ( 1 ) comprend des moyens de mémorisation ( 1 1 ) desdites données décrivant des interactions élémentaires de scenarii.3. System according to claim 1 or 2, wherein said platform (1) comprises storage means (1 1) of said data describing elementary interactions of scenarii.
4. Système selon l'une des revendications 1 à 3 , dans lequel ladite plate-forme ( 1 ) comprend des moyens d' authentification ( 12) d'un utilisateur pour permettre la génération, l'utilisation ou la modification de l' application.4. System according to one of claims 1 to 3, wherein said platform (1) comprises means for authentication (12) of a user to enable the generation, use or modification of the application .
5. Système selon la revendication 4, dans lequel lesdits moyens d'authentification ( 12) sont adaptés pour reconnaître un identifiant et un mot de passe, ou des données biométriques représentative d'utilisateurs autorisés. 5. System according to claim 4, wherein said authentication means (12) are adapted to recognize an identifier and a password, or biometric data representative of authorized users.
6. Système selon l'une des revendications 1 à 5 , dans lequel les moyens de génération (5) comprennent des premiers moyens de création ( 13) de données représentatives de structures de données, à partir des scenarii entrés. 6. System according to one of claims 1 to 5, wherein the generating means (5) comprises first means for creating (13) data representative of data structures, from the entered scenarios.
7. Système selon la revendication 6, dans lequel les moyens de génération (5) comprennent des deuxièmes moyens de création ( 14), dans une mémoire, d'une base de données ( 15) dédiée à ladite application logicielle, en fonction desdites structures de données créées. 7. System according to claim 6, wherein the generating means (5) comprise second means for creating (14), in a memory, a database (15) dedicated to said software application, according to said structures. created data.
8. Système selon l'une des revendications 1 à 7, dans lequel les moyens de génération (5) comprennent des troisièmes moyens ( 16) de création d' interfaces graphiques de l' application logicielle à partir des scenarii entrés.8. System according to one of claims 1 to 7, wherein the generating means (5) comprises third means (16) for creating graphical interfaces of the software application from the entered scenarios.
9. Système selon la revendication 8, dans lequel lesdites interfaces graphiques créées comprennent des éléments graphiques dépendant des interactions élémentaires des scenarii.9. System according to claim 8, wherein said graphical interfaces created comprise graphic elements depending on the elementary interactions of the scenarios.
10. Système selon l'une des revendications 1 à 9, dans lequel ladite plate-forme (5) comprend des moyens de mémorisation ( 17) de ladite application logicielle générée. 10. System according to one of claims 1 to 9, wherein said platform (5) comprises storage means (17) of said generated software application.
1 1. Système selon l'une des revendications 1 à 10, dans lequel les moyens de génération (5) comprennent des moyens de paramétrage ( 19) de la génération de l'application logicielle en fonction de l'architecture matérielle et logicielle de la plate-forme d' exécution de l'application logicielle. 1. System according to one of claims 1 to 10, wherein the generating means (5) comprises means for setting (19) the generation of the software application according to the hardware and software architecture of the platform for running the software application.
12. Système selon l'une des revendications 1 à 1 1 , comprenant des moyens de transfert ( 18) pour transférer l'application logicielle de la plate-forme de génération ( 1 ) à un terminal (4, 5) par l' intermédiaire du réseau de communication (2).12. System according to one of claims 1 to 1 1, comprising transfer means (18) for transferring the software application of the generation platform (1) to a terminal (4, 5) via of the communication network (2).
13. Système selon l'une des revendications 1 à 12, dans lequel les moyens de génération (5) sont adaptés pour vérifier la cohérence des données entrées décrivant des interactions élémentaires de scenarii.13. System according to one of claims 1 to 12, wherein the generating means (5) are adapted to verify the coherence of input data describing elementary interactions of scenarii.
14. Système selon l'une quelconque des revendications 1 à14. System according to any one of claims 1 to
13 , dans lequel le réseau de communication (2) est le réseau internet. 13, wherein the communication network (2) is the internet network.
15. Procédé de génération automatique d'une application logicielle manipulant des données structurées élaborées à partir de données élémentaires prédéfinies pour la génération, caractérisé par le fait que l' on génère automatiquement, à distance, une application logicielle en fonction de données décrivant des interactions élémentaires associées à des scenarii associés à des cas d'utilisation de l' application logicielle, et que l' on met instantanément à disposition l' application logicielle générée, par l' intermédiaire d'un réseau de communication (2). A method of automatically generating a software application manipulating structured data from predefined elementary data for generation, characterized in that a software application is automatically generated remotely based on data describing interactions. elementary elements associated with scenarios associated with use cases of the software application, and that the generated software application is instantly made available via a communication network (2).
PCT/FR2007/051503 2007-06-22 2007-06-22 System and method for automatically generating a software application WO2009000976A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/FR2007/051503 WO2009000976A1 (en) 2007-06-22 2007-06-22 System and method for automatically generating a software application
EP07803926A EP2171577A1 (en) 2007-06-22 2007-06-22 System and method for automatically generating a software application

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/FR2007/051503 WO2009000976A1 (en) 2007-06-22 2007-06-22 System and method for automatically generating a software application

Publications (1)

Publication Number Publication Date
WO2009000976A1 true WO2009000976A1 (en) 2008-12-31

Family

ID=38645797

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2007/051503 WO2009000976A1 (en) 2007-06-22 2007-06-22 System and method for automatically generating a software application

Country Status (2)

Country Link
EP (1) EP2171577A1 (en)
WO (1) WO2009000976A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012149977A1 (en) * 2011-05-05 2012-11-08 Novlog Method and corresponding system for generating a software application manipulating structured data

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0859313A1 (en) * 1995-10-30 1998-08-19 Fumio Negoro Software production method, processor and recording medium
US20020100015A1 (en) * 2000-12-28 2002-07-25 Yeda Research And Development Co., Ltd. Playing scenarios of system behavior
US20030217333A1 (en) * 2001-04-16 2003-11-20 Greg Smith System and method for rules-based web scenarios and campaigns

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0859313A1 (en) * 1995-10-30 1998-08-19 Fumio Negoro Software production method, processor and recording medium
US20020100015A1 (en) * 2000-12-28 2002-07-25 Yeda Research And Development Co., Ltd. Playing scenarios of system behavior
US20030217333A1 (en) * 2001-04-16 2003-11-20 Greg Smith System and method for rules-based web scenarios and campaigns

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012149977A1 (en) * 2011-05-05 2012-11-08 Novlog Method and corresponding system for generating a software application manipulating structured data

Also Published As

Publication number Publication date
EP2171577A1 (en) 2010-04-07

Similar Documents

Publication Publication Date Title
US7174534B2 (en) Efficient system and method for running and analyzing multi-channel, multi-modal applications
US8341531B2 (en) Content formatting and installation techniques
US7937458B2 (en) On-demand software service system and method
US8140987B2 (en) GUI modeling of web services
US9015651B2 (en) Gateway data distribution engine
EP1387261A1 (en) Application software generation and language for software description
US20090319958A1 (en) Machine Readable Design Description for Function-Based Services
US7707072B2 (en) Method, system, and apparatus configured to manage entitlements relative to new purchases
US20060069735A1 (en) Content formatting and installation techniques
WO2007141446A1 (en) System for managing a multimodal interactive service
CN115599347A (en) Automatic code development implementation method and system
EP2187321B1 (en) Method and system for editing an object represented on a web page
EP2171577A1 (en) System and method for automatically generating a software application
CN112230938B (en) Method and device for configuring rental products of industrial Internet
US20210342130A1 (en) Systems and methods for software application generation and delivery
Skogberg Android application development
EP2284751B1 (en) Method for traceability and accountability of dynamic exchange in an internet environment
US11652652B2 (en) Function as a service console for an online application exchange platform
FR3043812B1 (en) METHOD FOR GENERATING A FORM OF MESSAGES
Mishra et al. Web Application using Spring Boot
Kumar Microservices Architecture with Springboot
Patino Better Reviews
WO2012149977A1 (en) Method and corresponding system for generating a software application manipulating structured data
CN117170732A (en) Multi-version form configuration file maintenance method, device, equipment and medium
EP1089534B1 (en) Personalised voice response unit

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07803926

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2007803926

Country of ref document: EP