WO2001057653A2 - Apparatus for automatically generating source code - Google Patents

Apparatus for automatically generating source code Download PDF

Info

Publication number
WO2001057653A2
WO2001057653A2 PCT/GB2001/000375 GB0100375W WO0157653A2 WO 2001057653 A2 WO2001057653 A2 WO 2001057653A2 GB 0100375 W GB0100375 W GB 0100375W WO 0157653 A2 WO0157653 A2 WO 0157653A2
Authority
WO
WIPO (PCT)
Prior art keywords
semantically meaningful
elements
statement
identifying
combining
Prior art date
Application number
PCT/GB2001/000375
Other languages
French (fr)
Other versions
WO2001057653A3 (en
Inventor
Keith Robert Preston
Caroline Ann Leathem
Original Assignee
British Telecommunications Public Limited Company
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 British Telecommunications Public Limited Company filed Critical British Telecommunications Public Limited Company
Priority to US10/169,352 priority Critical patent/US7197739B2/en
Priority to EP01949042A priority patent/EP1252568A2/en
Publication of WO2001057653A2 publication Critical patent/WO2001057653A2/en
Publication of WO2001057653A3 publication Critical patent/WO2001057653A3/en

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
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/43Checking; Contextual analysis
    • G06F8/436Semantic checking

Abstract

A method of automatically generating software from one or more predefined functions in accordance with an input statement entered in natural language, the method comprising the steps of: (i) analysing the input statement for its semantic content, so as to extract first semantically meaningful elements from the input statement; (ii) analysing the one or more predefined functions for their semantic content, so as to extract one or more sets of second semantically meaningful elements from the one or more predefined functions; (iii) identifying at least one of a condition, an action and/or a statement in the input statement; (iv) comparing the first semantically meaningful elements with the second semantically meaningful elements so as to identify one or more predefined functions that correspond to one or more action and/or statement of the input statement; (v) combining at least some of the first semantic elements in accordance with any conditions identified at step (iii) so as to generate corresponding condition variables; (vi) combining functions and condition variables identified at steps (iv) and (v) according to a set of predetermined rules in order to generate the software.

Claims

28 CLAIMS
1 . A method of automatically generating software from one or more predefined functions in accordance with an input statement entered in natural language, the method comprising the steps of:
(i) analysing the input statement for its semantic content, so as to extract first semantically meaningful elements from the input statement; (ii) analysing the one or more predefined functions for their semantic content, so as to extract one or more sets of second semantically meaningful elements from the one or more predefined functions;
(iii) identifying at least one of a condition, an action and/or a statement in the input statement; (iv) comparing the first semantically meaningful elements with the second semantically meaningful elements so as to identify one or more predefined functions that correspond to one or more action and/or statement of the input statement; (v) combining at least some of the first semantic elements in accordance with any conditions identified at step (iii) so as to generate corresponding condition variables; (vi) combining functions and condition variables identified at steps (iv) and (v) according to a set of predetermined rules in order to generate the software.
2. A method according to claim 1 , in which the comparing step (iv) includes the steps of: a) inputting a set of second semantically meaningful elements into a predetermined rule; b) inputting the first semantically meaningful elements into the rule; c) processing the rule; d) evaluating the result of step (c); and e) repeating steps (a) to (c) for different sets of second semantically meaningful elements until a solution is evaluated at step (d) . 29
3. A method according to claim 1 or claim 2, in which the step (v) of combining at least some of the first semantic elements to form condition variables includes the steps, for each condition identified at step (iii), of: a) identifying an event governing the condition; b) identifying an entity associated with the event; c) identifying a relation between the event and the entity; and d) concatenating the event, the entity and the relation therebetween, thereby forming a condition variable.
4. A method according to any one of the preceding claims, in which the functions and condition variables identified at steps (iv) and (v) are inserted respectively into a predetermined code template.
5. Apparatus for automatically generating software from one or more predefined functions in accordance with an input statement entered in natural language, the apparatus comprising: (i) extracting means for extracting first semantically meaningful elements from the input statement and for extracting one or more sets of second semantically meaningful elements from the one or more predefined functions; (ii) identifying means for identifying any or all of conditions, actions and/or statements in the input statement; (iii) comparing means for comparing first semantically meaningful elements with second semantically meaningful elements so as to identify one or more predefined functions that correspond to one or more action and/or statement in the input statement;
(iv) first combining means for combining at least some of the first semantic elements in accordance with the conditions identified by identifying means (ii) so as to generate corresponding condition variables;
(v) second comparing means for combining the condition variables and predefined functions identified by means (iii) and (iv) according to a set of predetermined rules in order to generate the software. 30
6. Apparatus according to claim 5, wherein the extracting means is a natural language parser.
7. Apparatus according to any one of claims 5 or 6, including a predetermined code template.
8. Apparatus according to any one of claims 5 to 7, wherein the identifying means identifies conditions, actions and statements in accordance with the occurrence of one or more predetermined semantic patterns
9. Apparatus according to any one of claims 5 to 8, wherein the software is used in the control of terminal devices in a communications system.
10. Apparatus for generating code instructions for controlling equipment to carry out one or more activities, said apparatus comprising a) an input for receiving instructions for use in controlling the equipment; b) received instruction processing means for extracting one or more operations and one or more logical operators from received instructions; c) means for storing a plurality of code instructions for controlling the equipment to carry out activities; d) means for processing stored code instructions so as to identify a code instruction relevant to an operation extracted from a received instruction; e) means for translating extracted logical operators into code; and f) code generating means for selecting at least one identified code instruction and combining it with at least one translated logical operator to generate said code instructions for controlling the equipment to carry out the one or more activities.
1 1 . Apparatus according to Claim 1 0 wherein said received instructions comprise natural language. 31 2. Apparatus according to Claim 1 1 wherein the received instruction processing means comprises a oarsεr.
3. Apparatus according to any one of Claims 1 0 or 1 1 , 1 2 wherein the received instruction processing means also provides the means for processing stored code instructions.
PCT/GB2001/000375 2000-01-31 2001-01-30 Apparatus for automatically generating source code WO2001057653A2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US10/169,352 US7197739B2 (en) 2000-01-31 2001-01-30 Apparatus for automatically generating source code
EP01949042A EP1252568A2 (en) 2000-01-31 2001-01-30 Apparatus for automatically generating source code

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP00300742.4 2000-01-31
EP00300742A EP1122640A1 (en) 2000-01-31 2000-01-31 Apparatus for automatically generating source code

Publications (2)

Publication Number Publication Date
WO2001057653A2 true WO2001057653A2 (en) 2001-08-09
WO2001057653A3 WO2001057653A3 (en) 2002-04-25

Family

ID=8172673

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB2001/000375 WO2001057653A2 (en) 2000-01-31 2001-01-30 Apparatus for automatically generating source code

Country Status (3)

Country Link
US (1) US7197739B2 (en)
EP (2) EP1122640A1 (en)
WO (1) WO2001057653A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108196880A (en) * 2017-12-11 2018-06-22 北京大学 Software project knowledge mapping method for automatically constructing and system

Families Citing this family (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7210117B2 (en) * 1999-08-19 2007-04-24 National Instruments Corporation System and method for programmatically generating a graphical program in response to program information
US7606782B2 (en) * 2000-05-24 2009-10-20 Oracle International Corporation System for automation of business knowledge in natural language using rete algorithm
US7200838B2 (en) * 2000-12-20 2007-04-03 National Instruments Corporation System and method for automatically generating a graphical program in response to a state diagram
US20030088858A1 (en) * 2001-11-07 2003-05-08 International Business Machines Corporation Closed-loop design methodology for matching customer requirements to software design
EP1387261A1 (en) * 2002-07-30 2004-02-04 Sereneo Application software generation and language for software description
US20040148612A1 (en) * 2003-01-27 2004-07-29 Jesse Olsen System and method for generating an application programming interface from a schema
US20050033576A1 (en) * 2003-08-08 2005-02-10 International Business Machines Corporation Task specific code generation for speech recognition decoding
US20050114147A1 (en) * 2003-11-12 2005-05-26 Santosh Kumaran System and method for creating business process models by multi-modal conversation
US20050154742A1 (en) * 2003-11-26 2005-07-14 Aviv Roth Business software application generation system and method
US7434200B2 (en) * 2003-12-11 2008-10-07 Sap Ag Using incremental generation to develop software applications
US7440942B2 (en) * 2004-02-05 2008-10-21 The State Of Oregon Acting By And Through The State Board Of Higher Education On Behalf Of The University Of Oregon Database manipulations using group theory
US20050187905A1 (en) * 2004-02-05 2005-08-25 Dixon Heidi E. Database manipulations using group theory
US6876314B1 (en) 2004-02-18 2005-04-05 Robocoder Corporation Self-generating automatic code generator
US7409675B2 (en) * 2004-02-27 2008-08-05 Microsoft Corporation Code rewriting
US7849440B1 (en) * 2004-04-16 2010-12-07 The Mathworks, Inc. Real-time code preview for a model based development process
US7797676B2 (en) * 2004-04-20 2010-09-14 International Business Machines Corporation Method and system for switching between prototype and real code production in a graphical call flow builder
US7409683B2 (en) * 2004-04-22 2008-08-05 Sap Ag Executing wizard data using a metawizard framework
US7099753B2 (en) * 2004-04-27 2006-08-29 The Boeing Company Automatic generation of telemetry flight software, accompanying specifications, and decode files
US7802231B2 (en) * 2004-04-30 2010-09-21 Microsoft Corporation Generating programmatic interfaces from natural language expressions of authorizations for provision of information
US8050907B2 (en) * 2004-07-30 2011-11-01 Microsoft Corporation Generating software components from business rules expressed in a natural language
US20090125892A1 (en) * 2005-11-18 2009-05-14 Robert Arthur Crewdson Computer Software Development System and Method
EP1832975A1 (en) * 2006-03-09 2007-09-12 Alcatel Lucent Automatic generation of source program
US7765097B1 (en) * 2006-03-20 2010-07-27 Intuit Inc. Automatic code generation via natural language processing
US8589869B2 (en) * 2006-09-07 2013-11-19 Wolfram Alpha Llc Methods and systems for determining a formula
GB2445794A (en) * 2007-01-18 2008-07-23 Ian Keith Hamilton Generating program code from natural language descriptions
US8214796B2 (en) * 2007-04-20 2012-07-03 National Instruments Corporation Event firing node for asynchronously passing events from a graphical data flow program to a statechart
US7882445B2 (en) * 2007-04-20 2011-02-01 National Instruments Corporation Configurable wires in a statechart
US8020144B2 (en) * 2007-06-29 2011-09-13 Microsoft Corporation Metadata-based application deployment
US8200604B2 (en) 2007-06-29 2012-06-12 Microsoft Corporation Multi-platform business calculation rule language and execution environment
US8250534B2 (en) * 2007-08-09 2012-08-21 Infonovus Technologies, Llc Method and system for constructing a software application from a complete and consistent specification in a software development process
US8386999B2 (en) * 2007-08-09 2013-02-26 Infonovus Technologies, Llc Method and system for analyzing a software design
EP2071452A1 (en) 2007-12-07 2009-06-17 Alcatel Lucent Device and method for automatically building applications from specifications and from off-the-shelf components selected by semantic analysis
US8219407B1 (en) 2007-12-27 2012-07-10 Great Northern Research, LLC Method for processing the output of a speech recognizer
US8458667B2 (en) * 2008-01-30 2013-06-04 National Instruments Corporation Debugging a statechart for a real time target
US20090254881A1 (en) * 2008-04-04 2009-10-08 Microsoft Corporation Code generation techniques for administrative tasks
US7974744B2 (en) * 2008-04-30 2011-07-05 The United States Of America As Represented By The Secretary Of The Navy Multiple telemetry stream parsing and reconstruction system
US8332394B2 (en) * 2008-05-23 2012-12-11 International Business Machines Corporation System and method for providing question and answers with deferred type evaluation
US8275803B2 (en) 2008-05-14 2012-09-25 International Business Machines Corporation System and method for providing answers to questions
US8601015B1 (en) 2009-05-15 2013-12-03 Wolfram Alpha Llc Dynamic example generation for queries
US9213768B1 (en) 2009-05-15 2015-12-15 Wolfram Alpha Llc Assumption mechanism for queries
US8832676B2 (en) * 2009-09-30 2014-09-09 Zynga Inc. Apparatuses, methods and systems for a social networking application updater
US8484015B1 (en) 2010-05-14 2013-07-09 Wolfram Alpha Llc Entity pages
US8812298B1 (en) 2010-07-28 2014-08-19 Wolfram Alpha Llc Macro replacement of natural language input
US9176490B2 (en) * 2010-08-16 2015-11-03 Mitsubishi Electric Corporation Control program generation device, control program generation program, and control program generation method
US9645992B2 (en) 2010-08-21 2017-05-09 Oracle International Corporation Methods and apparatuses for interaction with web applications and web application data
US8843879B2 (en) 2010-09-13 2014-09-23 Massively Parallel Technologies, Inc. Software design and automatic coding for parallel computing
US8892550B2 (en) 2010-09-24 2014-11-18 International Business Machines Corporation Source expansion for information retrieval and information extraction
US20120265519A1 (en) * 2011-04-14 2012-10-18 Dow Jones & Company, Inc. System and method for object detection
US9069814B2 (en) 2011-07-27 2015-06-30 Wolfram Alpha Llc Method and system for using natural language to generate widgets
US9734252B2 (en) 2011-09-08 2017-08-15 Wolfram Alpha Llc Method and system for analyzing data using a query answering system
US9851950B2 (en) 2011-11-15 2017-12-26 Wolfram Alpha Llc Programming in a precise syntax using natural language
US9152385B2 (en) * 2012-02-22 2015-10-06 GM Global Technology Operations LLC Systems and methods for generating high-quality formal executable software feature requirements
US9722972B2 (en) 2012-02-26 2017-08-01 Oracle International Corporation Methods and apparatuses for secure communication
US20140013299A1 (en) * 2012-07-06 2014-01-09 Microsoft Corporation Generalization and/or specialization of code fragments
US9405424B2 (en) 2012-08-29 2016-08-02 Wolfram Alpha, Llc Method and system for distributing and displaying graphical items
US10621880B2 (en) 2012-09-11 2020-04-14 International Business Machines Corporation Generating secondary questions in an introspective question answering system
US9344422B2 (en) 2013-03-15 2016-05-17 Oracle International Corporation Method to modify android application life cycle to control its execution in a containerized workspace environment
CN104903909B (en) * 2013-03-15 2018-07-31 甲骨文国际公司 Between applications in computer guarded communication method and apparatus
US9129112B2 (en) 2013-03-15 2015-09-08 Oracle International Corporation Methods, systems and machine-readable media for providing security services
WO2016048404A1 (en) 2014-09-24 2016-03-31 Oracle International Corporation Method to modify android application life cycle to control its execution in a containerized workspace environment
US20160357519A1 (en) * 2015-06-05 2016-12-08 Microsoft Technology Licensing, Llc Natural Language Engine for Coding and Debugging
US10140101B2 (en) 2015-08-26 2018-11-27 International Business Machines Corporation Aligning natural language to linking code snippets to perform a complicated task
US10445070B2 (en) 2016-05-05 2019-10-15 International Business Machines Corporation ASCII based instant prototype generation
CN106155686B (en) * 2016-06-30 2020-11-17 华为技术有限公司 Interface generation method, device and system
CN106293727B (en) * 2016-08-04 2020-10-27 深圳市微我科技有限公司 Data table-based intelligent sharing method
CN106293725B (en) * 2016-08-04 2021-03-02 深圳市微我科技有限公司 Natural language hybrid programming method based on post-realization
US10331415B2 (en) * 2016-11-08 2019-06-25 International Business Machines Corporation Formal specification generation using examples
US10761812B2 (en) * 2016-11-21 2020-09-01 Sap Se Visual code editor for visually developing features in applications
WO2018115970A1 (en) * 2016-12-19 2018-06-28 (Un)Manned N.V. Method and apparatus for real-time control loop application execution from a high-level description
US20180196889A1 (en) * 2017-01-06 2018-07-12 Autodesk, Inc. Techniques for designing interactive objects with integrated smart devices
US10930067B2 (en) * 2017-05-17 2021-02-23 Lawrence Livermore National Security, Llc Tool for shared engineering mesh-run integration with version evolution tracking
US10635483B2 (en) * 2017-09-29 2020-04-28 Red Hat, Inc. Automatic synopsis generation for command-line interfaces
US10552540B2 (en) 2017-11-27 2020-02-04 International Business Machines Corporation Automated application composer with natural language processing
DE102018112364A1 (en) * 2018-05-23 2019-11-28 Fujitsu Technology Solutions Intellectual Property Gmbh Method for providing application-oriented software and computer system
RU2691837C1 (en) * 2018-09-20 2019-06-18 Юрий Михайлович Акаткин Method of automated design of applications
CN110162297A (en) * 2019-05-07 2019-08-23 山东师范大学 A kind of source code fragment natural language description automatic generation method and system
FR3103594B1 (en) * 2019-11-26 2022-07-15 Irt Antoine De Saint Exupery SYSTEM AND METHOD FOR COMPUTER-ASSISTED CREATION OF COMPUTER CODE
EP4124989A1 (en) * 2021-07-30 2023-02-01 Waylay NV Automation rules definition and audit using natural language processing

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0442240A2 (en) * 1990-01-25 1991-08-21 International Business Machines Corporation Method of using natural language to program a window system
US5634024A (en) * 1994-05-18 1997-05-27 Nec Corporation Definition execution system for operations and functions in computer system
WO1997040425A2 (en) * 1996-04-25 1997-10-30 The Foxboro Company Idiomatic control language implementation

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5167009A (en) * 1990-08-03 1992-11-24 E. I. Du Pont De Nemours & Co. (Inc.) On-line process control neural network using data pointers
WO1995003586A1 (en) * 1993-07-21 1995-02-02 Persistence Software, Inc. Method and apparatus for generation of code for mapping relational data to objects
US5555367A (en) * 1994-09-30 1996-09-10 General Electric Company Method and system for generating computer programs for queries formed by manipulating object-oriented diagrams
US6016467A (en) * 1997-05-27 2000-01-18 Digital Equipment Corporation Method and apparatus for program development using a grammar-sensitive editor
US6493694B1 (en) * 1999-04-01 2002-12-10 Qwest Communications Interational Inc. Method and system for correcting customer service orders

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0442240A2 (en) * 1990-01-25 1991-08-21 International Business Machines Corporation Method of using natural language to program a window system
US5634024A (en) * 1994-05-18 1997-05-27 Nec Corporation Definition execution system for operations and functions in computer system
WO1997040425A2 (en) * 1996-04-25 1997-10-30 The Foxboro Company Idiomatic control language implementation

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HIROYUKI SEKI ET AL: "A METHOD FOR TRANSLATING NATURAL LANGUAGE PROGRAM SPECIFICATIONS INTO ALGEBRAIC SPECIFICATIONS" SYSTEMS & COMPUTERS IN JAPAN,US,SCRIPTA TECHNICA JOURNALS. NEW YORK, vol. 23, no. 11, 1 January 1992 (1992-01-01), pages 1-16, XP000380833 ISSN: 0882-1666 *
See also references of EP1252568A2 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108196880A (en) * 2017-12-11 2018-06-22 北京大学 Software project knowledge mapping method for automatically constructing and system

Also Published As

Publication number Publication date
EP1122640A1 (en) 2001-08-08
EP1252568A2 (en) 2002-10-30
WO2001057653A3 (en) 2002-04-25
US20030046061A1 (en) 2003-03-06
US7197739B2 (en) 2007-03-27

Similar Documents

Publication Publication Date Title
EP1252568A2 (en) Apparatus for automatically generating source code
CN104317589B (en) A kind of code automatic generation method and device for being used to load dynamic link library
CN109445834A (en) The quick comparative approach of program code similitude based on abstract syntax tree
BR9914549A (en) Apparatus and method for the construction of modeling tools
AU2000254223A1 (en) A transaction dispute management system and method
WO2001096980A3 (en) Method and system for text analysis
KR101589621B1 (en) Method of establishing lexico semantic pattern knowledge for text analysis and response system
CN104461548B (en) The adding method and device of code snippet
CN110737439B (en) Equipment control system and method based on rule file
EP3379443A1 (en) Method and computer device to deobfuscate a source code
CN110532267A (en) Determination method, apparatus, storage medium and the electronic device of field
CN106649118B (en) A kind of generation method of the Java code SSA single path based on AST
CN104424173B (en) Typesetting quick interface arrangement method and device
CN111079407B (en) Method and device for analyzing content input by user
JP2001125783A (en) Method and device for extracting group of instructions of the same kind
WO2018122660A1 (en) Method and system for migration of control logic in a distributed control system
KR102655432B1 (en) Device and method for drawing object extraction using machine learning
JP2861630B2 (en) Connection structure analyzer
KR100290623B1 (en) A method of controlling data of database
KR940015798A (en) How to Configure, Send, and Extract Normalized Command Information Messages Between User Registration Software and Application Software
CN114218080A (en) Output data multiplexing method, device, equipment and readable storage medium
CN116501381A (en) Linkage method, device, equipment and storage medium suitable for multi-scene system
JPH05210537A (en) Test item preparing device
WO2023091784A3 (en) Apparatus, engine, system and method for predictive analytics in a manufacturing system
KR0154487B1 (en) The small scale fess capable of conversion input command and formatting output message and method thereof

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): JP US

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 10169352

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2001949042

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2001949042

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: JP