GB2445794A - Generating program code from natural language descriptions - Google Patents

Generating program code from natural language descriptions Download PDF

Info

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
Application number
GB0700950A
Other versions
GB0700950D0 (en
Inventor
Ian Keith Hamilton
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to GB0700950A priority Critical patent/GB2445794A/en
Publication of GB0700950D0 publication Critical patent/GB0700950D0/en
Publication of GB2445794A publication Critical patent/GB2445794A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic 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)

  1. Claims What is claimed is: 1. A method for generating computer source
    code 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. 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. 3. The method of claim 1, wherein said step of collecting user requirements further comprises presenting one or more appropriate data capture screens.
  4. 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.
GB0700950A 2007-01-18 2007-01-18 Generating program code from natural language descriptions Withdrawn GB2445794A (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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
US7681176B2 (en) Generating a graphical designer application for developing graphical models
EP2530583A1 (en) Computer-implemented method, system and computer program product for displaying a user interface component
CN102880452A (en) Programming language capable of cross-language reusing
CN116757843A (en) System and method for executing different types of blockchain contracts
CN1364260A (en) Introspective editor system, program, and method for software translation
CN108469955B (en) Annotation-based Android injection framework implementation method
CN110096263A (en) Web front end code automatic generation method and device
US10394756B2 (en) System and method for customizing archive of a device driver generator tool for a user
CN104050085A (en) Forced code standard inspection method and system
Behrens MDSD for the iPhone: developing a domain-specific language and IDE tooling to produce real world applications for mobile devices
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
CN104881396A (en) Graphical-program compile file forming method
US20040154004A1 (en) Web application code conversion system
Dunbar Arduino Software Internals: A Complete Guide to How Your Arduino Language and Hardware Work Together
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
CN116955393A (en) Data processing method and device, electronic equipment and storage medium
CN103186388B (en) Software installation method and device
Gelhausen et al. Customizing grgen. net for model transformation
Schröpfer et al. A Generic Projectional Editor for EMF Models.
CN106886444A (en) A kind of online programming method and device

Legal Events

Date Code Title Description
WAP Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1)