GB2445794A - Generating program code from natural language descriptions - Google Patents
Generating program code from natural language descriptions Download PDFInfo
- Publication number
- GB2445794A GB2445794A GB0700950A GB0700950A GB2445794A GB 2445794 A GB2445794 A GB 2445794A GB 0700950 A GB0700950 A GB 0700950A GB 0700950 A GB0700950 A GB 0700950A GB 2445794 A GB2445794 A GB 2445794A
- Authority
- GB
- United Kingdom
- Prior art keywords
- tokens
- source code
- sequence
- natural language
- code
- Prior art date
- Legal status (The legal status 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 status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Stored Programmes (AREA)
Abstract
Computer cod is generated from a set of pre-defined system tokens each of which has a natural language label. A process builder can be used to generate program code by sequencing tokens and component references, previously created to describe aspects of the system requirements. The sequence data may also be stored so that it can be reloaded to generate the code later.
Description
Field of the invention.
This invention relates to process of generating program source code, within the field of computer software development.
Background.
Traditionally all computer programs were developed by programmers writing code by hand. There have been a number of attempts to automate parts of the process, in order to speed it up. Most relate to object oriented design methods, generating some parts of the code required, based on object or class descriptions. These processes, 00 and other, all share one common aspect: that they are designed as an aid to the programmer and intended to generate only part of the source code required. The programmer still has to complete the code by hand, in particular the processes that represent the business logic, which is frequently complex and time consuming. It is also necessary for the business representative to have explained it to the programmer beforehand. The body of this invention covers the task of automatically generating the individual application processes as code from such user defined representations as might be presented to a programmer, in order that (s) he might be able to complete the task.
Description of the invention.
The system contains a set of pre-defined system tokens. Each token represents a specific action, or part of an action, which the process builder can recreate as units of program source code in any supported programming or scripting language, depending on the inclusion context. Each token also has a natural language label, or representation, so that when sequenced correctly, the token labels and other inclusions, taken in order, will meaningfully describe, or represent, the details of the process. Natural language, in this context, refers to the user's normal, spoken language, such as English or French.
A person with an understanding of the desired outcome, is be able to define their requirements within the system by specifying, in the correct sequence, a number of tokens and links to pre-existing components, with values where appropriate, such that each required process is unambiguously described by said sequence. These sequences hold the information necessary in order to generate the computer software processes and are stored as a collection of these tokens.
The sequence data created, may be stored in a supported electronic format, designed for the purpose and that data storage may be in the form of binary files, XML files, other file types or a database; it is not important. Where the specification data is stored, it must first be reloaded into memory, prior to code generation. The system may alternatively generate computer source code directly, without ever saving the sequence data to file.
The process builder method reads the sequences representing the process detail and generates computer program source code in a supported programming language, based on the selected components, tokens and values defining the process. Figure 1 shows the logical steps of the process code generator. The source code generated by this process can then integrated with any other code, components or processes required to form the whole application. * 2
Claims (4)
- Claims What is claimed is: 1. A method for generating computer sourcecode ready for compilation it into applications, application fragments or scripting pages, comprising: a collection of tokens representing stages in process flow; a method of collecting user requirements as a sequence of said tokens, links to system components and fixed values; a process of generating source code from the user defmed collections of tokens and links.
- 2. The method of claim 1, wherein said step of collecting user requirements requires the existence of a set of tokens representing stages, actions or partsof a process.
- 3. The method of claim 1, wherein said step of collecting user requirements further comprises presenting one or more appropriate data capture screens.
- 4. The method of claim 1, wherein said step of generating source code from the user defined collections of tokens, links and values will produce computer source code by iterating through the sequence, adding the corresponding code and values associated with each item in the sequence.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0700950A GB2445794A (en) | 2007-01-18 | 2007-01-18 | Generating program code from natural language descriptions |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0700950A GB2445794A (en) | 2007-01-18 | 2007-01-18 | Generating program code from natural language descriptions |
Publications (2)
Publication Number | Publication Date |
---|---|
GB0700950D0 GB0700950D0 (en) | 2007-02-28 |
GB2445794A true GB2445794A (en) | 2008-07-23 |
Family
ID=37846559
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
GB0700950A Withdrawn GB2445794A (en) | 2007-01-18 | 2007-01-18 | Generating program code from natural language descriptions |
Country Status (1)
Country | Link |
---|---|
GB (1) | GB2445794A (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5485601A (en) * | 1992-05-14 | 1996-01-16 | Ching; Hugh | Completely automated and self-generating software system |
US5572727A (en) * | 1991-11-27 | 1996-11-05 | Telefonaktiebolaget L M Ericsson | Software structure for telecommunication switching systems |
WO1997040425A2 (en) * | 1996-04-25 | 1997-10-30 | The Foxboro Company | Idiomatic control language implementation |
EP1122640A1 (en) * | 2000-01-31 | 2001-08-08 | BRITISH TELECOMMUNICATIONS public limited company | Apparatus for automatically generating source code |
WO2007056807A1 (en) * | 2005-11-18 | 2007-05-24 | Robert Arthur Crewdson | Computer software development system and method |
-
2007
- 2007-01-18 GB GB0700950A patent/GB2445794A/en not_active Withdrawn
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5572727A (en) * | 1991-11-27 | 1996-11-05 | Telefonaktiebolaget L M Ericsson | Software structure for telecommunication switching systems |
US5485601A (en) * | 1992-05-14 | 1996-01-16 | Ching; Hugh | Completely automated and self-generating software system |
WO1997040425A2 (en) * | 1996-04-25 | 1997-10-30 | The Foxboro Company | Idiomatic control language implementation |
EP1122640A1 (en) * | 2000-01-31 | 2001-08-08 | BRITISH TELECOMMUNICATIONS public limited company | Apparatus for automatically generating source code |
WO2007056807A1 (en) * | 2005-11-18 | 2007-05-24 | Robert Arthur Crewdson | Computer software development system and method |
Non-Patent Citations (1)
Title |
---|
"Natural Language Programming for Multimedia Information" Kodama, E; Sato K; Miyazaki M. Parallel and Distributed Systems: Seventh International Conference 4-7 July 2000. Pages 167 to 172 * |
Also Published As
Publication number | Publication date |
---|---|
GB0700950D0 (en) | 2007-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6678885B2 (en) | System and method for common code generation | |
CN102880452A (en) | Programming language capable of cross-language reusing | |
CN1364260A (en) | Introspective editor system, program, and method for software translation | |
US10394756B2 (en) | System and method for customizing archive of a device driver generator tool for a user | |
Behrens | MDSD for the iPhone: developing a domain-specific language and IDE tooling to produce real world applications for mobile devices | |
CN104050085A (en) | Forced code standard inspection method and system | |
JPH09509271A (en) | Methods and processes for inter-computer communication and generalized methods for writing programs therefor | |
CN104267966A (en) | Method and device for generating program codes of software | |
Yie et al. | Advanced traceability for ATL | |
CN107797805B (en) | Code packaging method and device and computer readable storage medium | |
US8683439B2 (en) | System and process for debugging object-oriented programming code leveraging preprocessors | |
Dunbar | Arduino Software Internals: A Complete Guide to How Your Arduino Language and Hardware Work Together | |
US20040154004A1 (en) | Web application code conversion system | |
CN112214256B (en) | Machine learning operation control method and device, electronic equipment and storage medium | |
US20080189675A1 (en) | Method and system for providing tooling instructions through parameterization as an aid for software application development | |
GB2445794A (en) | Generating program code from natural language descriptions | |
CN112446189A (en) | Data processing method | |
CN113867714B (en) | Automatic code generation method adapting to multiple languages | |
Gelhausen et al. | Customizing grgen. net for model transformation | |
CN114818679A (en) | Intelligent auxiliary labeling method and system for text data | |
JP2008052356A (en) | Source code automatic generation device | |
Schröpfer et al. | A Generic Projectional Editor for EMF Models. | |
Corre et al. | Fast template-based heterogeneous mpsoc synthesis on fpga | |
US8135943B1 (en) | Method, apparatus, and computer-readable medium for generating a dispatching function | |
Zhou | An observer-based technique with trace links for requirements validation in embedded real-time systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WAP | Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1) |