CA2643234A1 - Method and system for generating a computer program - Google Patents
Method and system for generating a computer program Download PDFInfo
- Publication number
- CA2643234A1 CA2643234A1 CA002643234A CA2643234A CA2643234A1 CA 2643234 A1 CA2643234 A1 CA 2643234A1 CA 002643234 A CA002643234 A CA 002643234A CA 2643234 A CA2643234 A CA 2643234A CA 2643234 A1 CA2643234 A1 CA 2643234A1
- Authority
- CA
- Canada
- Prior art keywords
- node
- program tree
- program
- representation
- computational
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract 51
- 238000004590 computer program Methods 0.000 title claims abstract 12
- 238000003780 insertion Methods 0.000 claims 22
- 230000037431 insertion Effects 0.000 claims 22
- 230000004075 alteration Effects 0.000 claims 3
- 230000006870 function Effects 0.000 claims 2
- 230000004044 response Effects 0.000 claims 1
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
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/33—Intelligent editors
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S715/00—Data processing: presentation processing of document, operator interface processing, and screen saver display processing
- Y10S715/961—Operator interface with visual structure or function dictated by intended use
- Y10S715/965—Operator interface with visual structure or function dictated by intended use for process control and configuration
- Y10S715/966—Computer process, e.g. operation of computer
- Y10S715/967—Visual or iconic programming
Abstract
A method and system for generating a computer program. In a preferred embodiment, the present invention provides a program tree editor for directly manipulating a program tree. A program tree comprises of plurality of nodes corresponding to computational constructs. The program tree editor receives commands from a user that are independent of a programming language syntax. The present invention also provides a display representation generator for generating a display representation of the program tree. The display representation generator retrieves nodes from the program tree and displays a display representation of the node. A user of the present invention preferably interacts with the program tree editor based on the display representation.
Claims (47)
1. A method in a computer system for specifying computer program, the method comprising the steps of:
inputting a plurality of nodes to form a program tree representing the computer program;
storing the program tree containing the inputted node within the computer system; and generating a display representation of the program tree based on one of a plurality of display representation formats.
inputting a plurality of nodes to form a program tree representing the computer program;
storing the program tree containing the inputted node within the computer system; and generating a display representation of the program tree based on one of a plurality of display representation formats.
2. The method of claim 1 including the step of displaying the generated display representation on a display device of the computer system.
3. The method of claim 1 including the step of selecting one of the plural-ity of display representation formats for use in generating the display representation.
4. The method of claim 3 including the steps of:
selecting a second one of the plurality of display representation formats; and generating a second display representation of the program tree based on the second selected plurality of display representation for-mats.
selecting a second one of the plurality of display representation formats; and generating a second display representation of the program tree based on the second selected plurality of display representation for-mats.
5. The method of claim 3 wherein the generating step includes the steps of:
traversing a subtree of the program tree, each node of the subtree having a display representation for each of the plurality of display representation formats; and for each traversed node of the program tree, inserting the display representation of the traversed node corresponding to the selected display representation format into a display representation of the program tree at a position corresponding to the position of the traversed node in the subtree.
traversing a subtree of the program tree, each node of the subtree having a display representation for each of the plurality of display representation formats; and for each traversed node of the program tree, inserting the display representation of the traversed node corresponding to the selected display representation format into a display representation of the program tree at a position corresponding to the position of the traversed node in the subtree.
6. The method of claim 5 wherein the traversing step includes the steps of:
selecting a node of the program tree as a crown node;
defining the subtree as the crown node and all of the descendant nodes of the crown node in the program tree; and traversing the subtree in a depth-first manner.
selecting a node of the program tree as a crown node;
defining the subtree as the crown node and all of the descendant nodes of the crown node in the program tree; and traversing the subtree in a depth-first manner.
7. The method of claim 1 wherein the inputting step includes the steps of:
positioning an insertion point within the program tree; and inserting a new node into the program tree at the insertion point.
positioning an insertion point within the program tree; and inserting a new node into the program tree at the insertion point.
8. The method of claim 7, further including the step of receiving an insertion point positioning instruction, and wherein the positioning step positions in response to the step of receiving an insertion point position-ing instruction.
9. The method of claim 7 wherein the step of receiving an insertion point positioning instruction includes the step of receiving an absolute inser-tion point positioning instruction from a pointing device.
10. The method of claim 7 wherein the step of receiving an insertion point positioning instruction includes the step of receiving an insertion point positioning instruction chosen from a menu by a user.
11. The method of claim 7 wherein each node of the program tree is of one of a plurality of types, further including the step of receiving an insert node instruction specifying the type of node to insert, and wherein the inserting step inserts a new node of the type specified in the received insert node instruction.
12. The method of claim 11 wherein the step of receiving an insert node instruction specifying the type of node to insert includes receiving an insert node instruction specifying the type of node chosen from a menu by a user.
13. The method of claim 12, further including the step of repositioning the insertion point in the program tree based on the former insertion point and the type of node inserted.
14. The method of claim 7, further including the step of inserting a place-holder node into the program tree to reserve a place for a required child node of the inserted node.
15. The method of claim 14, further including the step of repositioning the insertion point at the placeholder node.
16. A computer program generating system, the system comprising:
a computer having a central processing unit, a memory, an input device, and a display device;
a display representation generator for displaying a representation of a program tree on the display device; and a program tree editor for creating a program tree and for editing the program tree based on instructions received from the input device, the instructions being relative to the currently displayed representation of the program tree.
a computer having a central processing unit, a memory, an input device, and a display device;
a display representation generator for displaying a representation of a program tree on the display device; and a program tree editor for creating a program tree and for editing the program tree based on instructions received from the input device, the instructions being relative to the currently displayed representation of the program tree.
17. The system of claim 16 wherein the program tree editor maintains a current insertion point within the program tree and displays a represen-tation of the current insertion point on the display device.
18. The system of claim 16 wherein the program tree editor maintains a current selection of a portion of the program tree and displays a high-lighted form of the current selection of the display device.
19. A method in a computer system for creating a program tree describing a computer program, the program tree comprising a plurality of nodes representing operator and operands, the method comprising the steps of:
receiving from a user an identification of a language-independent computational construct;
determining a current insertion point in the program tree; and creating a node corresponding to the received computational construct and inserting the node in the program tree at the insertion point.
receiving from a user an identification of a language-independent computational construct;
determining a current insertion point in the program tree; and creating a node corresponding to the received computational construct and inserting the node in the program tree at the insertion point.
20. A method in a computer system for modifying a program tree, the program tree representing a computer program, the program tree having nodes describing elements of the computer program, the method comprising the steps of:
retrieving the nodes of the program tree for generating a display representation of the program tree based on the retrieved nodes;
displaying the display representation of the program tree on a display device;
selecting a displayed representation of a node of the program tree to effect the selection of the node as a currently selected node;
receiving from a user of the computer system a location of an insertion point relative to the displayed representation of the currently selected node;
positioning the insertion point at the received location;
receiving from the user a computational construct to insert into the program tree;
creating a node corresponding to the received computational construct; and inserting the created node into the program tree at the insertion point.
retrieving the nodes of the program tree for generating a display representation of the program tree based on the retrieved nodes;
displaying the display representation of the program tree on a display device;
selecting a displayed representation of a node of the program tree to effect the selection of the node as a currently selected node;
receiving from a user of the computer system a location of an insertion point relative to the displayed representation of the currently selected node;
positioning the insertion point at the received location;
receiving from the user a computational construct to insert into the program tree;
creating a node corresponding to the received computational construct; and inserting the created node into the program tree at the insertion point.
21. The method of claim 20 wherein the step of receiving from a user a location of an insertion point includes the step of receiving an indica-tion that the location is above the currently selected node.
22. The method of claim 21 wherein the step of inserting the created node inserts the node such that the currently selected node is a child node of the created node.
23. The method of claim 22 wherein the step of inserting the created node inserts the node such that the currently selected node is a left child node of the created node.
24. The method of claim 22 wherein the step of inserting the created node inserts the node such that the currently selected node is a right child node of the created node.
25. A method in a computer system for generating a computer program, the method comprising the steps of:
for each of a plurality of computational constructs, determining a current insertion point in a program tree, the program tree representing the computer program;
receiving from a user of the computer system an indication of the computational construct;
before receiving another computational construct, altering the program tree based on the received computational construct; and after altering the program tree, resetting the current insertion point based on the altering of the program tree.
for each of a plurality of computational constructs, determining a current insertion point in a program tree, the program tree representing the computer program;
receiving from a user of the computer system an indication of the computational construct;
before receiving another computational construct, altering the program tree based on the received computational construct; and after altering the program tree, resetting the current insertion point based on the altering of the program tree.
26. The method of claim 25 wherein the computer has a list of computa-tional constructs, and wherein the received indication indicates a computational construct in the list.
27. The method of claim 25 wherein the step of altering the program tree includes the step of inserting a node into the program based on a one-to-one correspondence between a received indication of a computa-tion construct and a node.
28. The method of any one of claims 25, 26 or 27 including the step of receiving from the user of the computer system a command to change the current insertion point.
29. The method of any one of claims 25, 26 or 27 including the step of displaying a representation of the program tree on a display device.
30. The method of claim 29 wherein the step of displaying includes the step of retrieving references to the computational constructs from the program tree for the displaying of the representation.
31. The method of claim 29 wherein the program tree contains nodes corresponding to the received computational constructs and each computational construct that represents a declaration includes a function for displaying a representation of computational constructs associated with the declaration.
32. The method of claim 31 wherein a function generates a graphics-based display representation.
33. The method of any one of claims 25, 26 or 27 wherein the program tree contains nodes corresponding to the received computational con-structs and certain nodes are designated as declaration computational constructs and wherein the step of altering the program tree includes the step of storing a reference to a node designated as a declaration computational construct.
34. The method of any one of claims 25, 26 or 27 wherein the step of receiving an indication of the computational construct includes the step of receiving a command indicating a form of alteration.
35. The method of claim 34 wherein the form of alteration includes insert-ing a node into the program tree.
36. The method of claim 34 wherein the form of alteration includes pasting a node into the program tree to replace a currently selected node of the program tree.
37. The method of claim 34 wherein the command is a command for directly manipulating the program tree.
38. The method of claim 34 wherein the commands are received through menu selection by a user of the computer system.
39. The method of claim 34 wherein the commands are received from a tokenizer that receives input from the user.
40. The method of any one of claims 25, 26 or 27 wherein the program tree includes nodes corresponding to computational constructs and wherein the step of altering includes the step of inserting into the program tree an undefined node that represents an operand of the computational construct.
41. The method of claim 40 including the step of displaying a list of undefined nodes so that the user can specify a computational construct for the node.
42. The method of claim 41 including the step of displaying a display representation of undefined nodes in a predefined representation.
43. The method of any one of claims 25, 26 or 27 wherein the step of receiving an indication of the computational construct includes the step of receiving a programming language independent indication of the computational construct.
44. The method of any one of claims 25, 26 or 27 wherein in the program tree includes declaration nodes corresponding to computational con-structs representing declarations and wherein each declaration node may have a non-unique name.
45. The method of claim 44 including the step of identifying a declaration node by pointing to a displayed representation off the declaration node.
46. The method of claim 44 including the step of identifying a declaration node by location of the declaration node within the computer program.
47. A method in a computer system for specifying a computational con-struct representing a declaration during entry of a computer program, the computer system having a multiplicity computation constructs with non-unique names, the method comprising the steps of:
displaying a unique representation of each of a plurality of the computational constructs; and selecting a displayed unique representation of a computational construct whereby the computational construct corresponding to the selected unique representation is specified.
displaying a unique representation of each of a plurality of the computational constructs; and selecting a displayed unique representation of a computational construct whereby the computational construct corresponding to the selected unique representation is specified.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14568993A | 1993-10-29 | 1993-10-29 | |
US08/145,689 | 1993-10-29 | ||
CA002134059A CA2134059C (en) | 1993-10-29 | 1994-10-21 | Method and system for generating a computer program |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002134059A Division CA2134059C (en) | 1993-10-29 | 1994-10-21 | Method and system for generating a computer program |
Publications (2)
Publication Number | Publication Date |
---|---|
CA2643234A1 true CA2643234A1 (en) | 1995-04-30 |
CA2643234C CA2643234C (en) | 2012-05-15 |
Family
ID=22514125
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002134059A Expired - Lifetime CA2134059C (en) | 1993-10-29 | 1994-10-21 | Method and system for generating a computer program |
CA2643234A Expired - Lifetime CA2643234C (en) | 1993-10-29 | 1994-10-21 | Method and system for generating a computer program |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002134059A Expired - Lifetime CA2134059C (en) | 1993-10-29 | 1994-10-21 | Method and system for generating a computer program |
Country Status (4)
Country | Link |
---|---|
US (7) | US6097888A (en) |
EP (1) | EP0651325A3 (en) |
JP (2) | JP4140980B2 (en) |
CA (2) | CA2134059C (en) |
Families Citing this family (133)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2134059C (en) * | 1993-10-29 | 2009-01-13 | Charles Simonyi | Method and system for generating a computer program |
JP3368141B2 (en) * | 1996-04-10 | 2003-01-20 | シャープ株式会社 | Assembler language source program generator |
US5987249A (en) * | 1996-08-27 | 1999-11-16 | Numega Technologies | IR code instrumentation |
US5983016A (en) * | 1996-11-12 | 1999-11-09 | International Business Machines Corporation | Execution engine in an object modeling tool |
CA2287303A1 (en) * | 1997-04-30 | 1998-11-05 | Geodesic Systems L.L.C. | Automatically-maintained customizable user interfaces |
US6061513A (en) * | 1997-08-18 | 2000-05-09 | Scandura; Joseph M. | Automated methods for constructing language specific systems for reverse engineering source code into abstract syntax trees with attributes in a form that can more easily be displayed, understood and/or modified |
US6314562B1 (en) * | 1997-09-12 | 2001-11-06 | Microsoft Corporation | Method and system for anticipatory optimization of computer programs |
US6237136B1 (en) * | 1997-12-02 | 2001-05-22 | National Instruments Corporation | System and method for automatically creating source code example files for an application program in a plurality of programming languages |
US6256618B1 (en) * | 1998-04-23 | 2001-07-03 | Christopher Spooner | Computer architecture using self-manipulating trees |
US6745384B1 (en) * | 1998-05-29 | 2004-06-01 | Microsoft Corporation | Anticipatory optimization with composite folding |
US6134709A (en) * | 1998-06-29 | 2000-10-17 | Cisco Technology, Inc. | Method and apparatus for parsing commands |
US6260042B1 (en) * | 1998-11-05 | 2001-07-10 | International Business Machines Corporation | Quick difference and update for tree structure data |
CA2256931A1 (en) * | 1998-12-23 | 2000-06-23 | Robert Weisz | Source editing in a graphical hierarchical environment |
US7065717B1 (en) * | 1999-01-19 | 2006-06-20 | International Business Machines Corporation | Tree-based interface apparatus for display of call dependencies and method therefor |
DE19907328C2 (en) * | 1999-02-20 | 2002-10-24 | Johannes Reichardt | Visual programming method and system |
US6282699B1 (en) * | 1999-02-23 | 2001-08-28 | National Instruments Corporation | Code node for a graphical programming system which invokes execution of textual code |
US6370683B1 (en) | 1999-05-07 | 2002-04-09 | Arnold Sobers | Computer software for generating flowchart images of a source program |
US9262383B2 (en) | 1999-05-21 | 2016-02-16 | E-Numerate Solutions, Inc. | System, method, and computer program product for processing a markup document |
US6920608B1 (en) * | 1999-05-21 | 2005-07-19 | E Numerate Solutions, Inc. | Chart view for reusable data markup language |
US7421648B1 (en) | 1999-05-21 | 2008-09-02 | E-Numerate Solutions, Inc. | Reusable data markup language |
US7249328B1 (en) * | 1999-05-21 | 2007-07-24 | E-Numerate Solutions, Inc. | Tree view for reusable data markup language |
US9262384B2 (en) | 1999-05-21 | 2016-02-16 | E-Numerate Solutions, Inc. | Markup language system, method, and computer program product |
US9268748B2 (en) | 1999-05-21 | 2016-02-23 | E-Numerate Solutions, Inc. | System, method, and computer program product for outputting markup language documents |
US6493869B1 (en) | 1999-05-28 | 2002-12-10 | Microsoft Corporation | Inheriting code in a transformational programming system |
US6665866B1 (en) | 1999-05-28 | 2003-12-16 | Microsoft Corporation | Extensible compiler utilizing a plurality of question handlers |
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 |
GB2354849B (en) | 1999-09-29 | 2004-08-25 | Ibm | Method and tool for graphically defining an expression |
US6993759B2 (en) * | 1999-10-05 | 2006-01-31 | Borland Software Corporation | Diagrammatic control of software in a version control system |
US6931625B1 (en) * | 1999-10-05 | 2005-08-16 | Borland Software Corporation | Method and system for collapsing a graphical representation of related elements |
GB2356946B (en) * | 1999-12-01 | 2003-11-05 | Int Computers Ltd | Computer system user interface design |
US6691218B2 (en) * | 1999-12-10 | 2004-02-10 | Mosaid Technologies, Inc. | Method and apparatus for longest match address lookup |
JP3430252B2 (en) * | 2000-01-24 | 2003-07-28 | 独立行政法人産業技術総合研究所 | Source code conversion method, recording medium recording source code conversion program, and source code conversion device |
AU2001241564A1 (en) * | 2000-02-17 | 2001-08-27 | E-Numerate Solutions, Inc. | Rdl search engine |
GB0004090D0 (en) * | 2000-02-22 | 2000-04-12 | Innovation Venture Ltd | Application programming system and method of operation thereof |
AU2001250016A1 (en) * | 2000-03-02 | 2001-09-12 | Wind River Systems, Inc. | System and method for automatic software code generation |
US7966421B2 (en) * | 2000-06-21 | 2011-06-21 | SAtech Group, A.B. Limited Liability Company | Method and apparatus for logically expanding the length of a search key |
US6980996B1 (en) | 2000-06-28 | 2005-12-27 | Cisco Technology, Inc. | Generic command interface for multiple executable routines having character-based command tree |
US7047526B1 (en) * | 2000-06-28 | 2006-05-16 | Cisco Technology, Inc. | Generic command interface for multiple executable routines |
WO2002027485A1 (en) * | 2000-09-28 | 2002-04-04 | Curl Corporation | Integrated content language for use on the web |
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 |
US9600842B2 (en) | 2001-01-24 | 2017-03-21 | E-Numerate Solutions, Inc. | RDX enhancement of system and method for implementing reusable data markup language (RDL) |
US7110936B2 (en) * | 2001-02-23 | 2006-09-19 | Complementsoft Llc | System and method for generating and maintaining software code |
US7089298B2 (en) * | 2001-08-20 | 2006-08-08 | Nokia Corporation | Naming distribution method for ad hoc networks |
US7212984B2 (en) | 2001-10-29 | 2007-05-01 | Qualcomm Incorporated | Method and apparatus for providing virtual capacity to a provider of services |
US7080352B2 (en) * | 2002-01-30 | 2006-07-18 | Dloo, Incorporated | Method and system for creating programs using code having coupled syntactic and semantic relationships |
EP1343079A1 (en) * | 2002-03-07 | 2003-09-10 | Infix Software-Systeme GmbH | Method, software product and system for universal computer-based information processing |
GB0206285D0 (en) * | 2002-03-16 | 2002-05-01 | Ibm | Apparatus method and computer program for providing a GUI representation of relationships between a set of resources of a data processing system |
US7254808B2 (en) * | 2002-07-20 | 2007-08-07 | Microsoft Corporation | Method for specifying and parsing expressions |
US7219328B2 (en) * | 2002-08-28 | 2007-05-15 | Honeywell International Inc. | Model-based composable code generation |
US7707544B2 (en) * | 2002-12-05 | 2010-04-27 | Bea Systems, Inc. | System and method for generating and reusing software application code with source definition files |
US7284242B2 (en) * | 2003-01-06 | 2007-10-16 | Xerox Corporation | Program compiler with abstraction composer |
GB2401217B (en) * | 2003-05-02 | 2005-11-09 | Transitive Ltd | Improved architecture for generating intermediate representations for program code conversion |
US7237226B2 (en) * | 2003-05-09 | 2007-06-26 | Intentional Software Corporation | Method and system for storing pending changes to data |
US20040230945A1 (en) * | 2003-05-15 | 2004-11-18 | Bryant Deborah E. | Integration of a configuration tool with a graphical program language |
US7165238B2 (en) * | 2003-06-06 | 2007-01-16 | Intentional Software Corporation | Method and system for organizing and manipulating nodes by category in a program tree |
US7051279B2 (en) * | 2003-07-08 | 2006-05-23 | Intentional Software Corporation | Method and system for providing multiple levels of help information for a computer program |
US20050044528A1 (en) * | 2003-08-18 | 2005-02-24 | Olsen Jesse Dale | Systems and methods for viewing code |
US7210135B2 (en) * | 2003-08-26 | 2007-04-24 | Microsoft Corporation | Data flow analysis of transactional processes |
US7360175B2 (en) * | 2003-10-03 | 2008-04-15 | Lexisnexis, A Division Of Reed Elsevier Inc. | Hierarchical, multilevel, expand and collapse navigation aid for hierarchical structures |
US7607099B2 (en) * | 2003-11-03 | 2009-10-20 | Intentional Software Corporation | Method and system for reversible design tree transformations |
US7877400B1 (en) * | 2003-11-18 | 2011-01-25 | Adobe Systems Incorporated | Optimizations of XPaths |
US8037102B2 (en) | 2004-02-09 | 2011-10-11 | Robert T. and Virginia T. Jenkins | Manipulating sets of hierarchical data |
US7426694B2 (en) * | 2004-02-17 | 2008-09-16 | Schweitzer Engineering Laboratories, Inc. | System and method for customizing design of settings management user interface systems used to configure settings for intelligent electronic devices |
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 |
US7769783B2 (en) * | 2004-04-20 | 2010-08-03 | Reuters Limited | Computing algebraic equations |
JP4616829B2 (en) * | 2004-04-28 | 2011-01-19 | 富士通株式会社 | Source code creation support program and source code creation support method |
US9646107B2 (en) | 2004-05-28 | 2017-05-09 | Robert T. and Virginia T. Jenkins as Trustee of the Jenkins Family Trust | Method and/or system for simplifying tree expressions such as for query reduction |
US8849892B2 (en) * | 2004-06-10 | 2014-09-30 | Verizon Patent And Licensing Inc. | Method and system for brokering messages in a distributed system |
US7464375B2 (en) * | 2004-06-24 | 2008-12-09 | International Business Machines Corporation | Method for flattening hierarchically structured flows |
US7620632B2 (en) | 2004-06-30 | 2009-11-17 | Skyler Technology, Inc. | Method and/or system for performing tree matching |
US7801923B2 (en) | 2004-10-29 | 2010-09-21 | Robert T. and Virginia T. Jenkins as Trustees of the Jenkins Family Trust | Method and/or system for tagging trees |
US7627591B2 (en) * | 2004-10-29 | 2009-12-01 | Skyler Technology, Inc. | Method and/or system for manipulating tree expressions |
US7630995B2 (en) | 2004-11-30 | 2009-12-08 | Skyler Technology, Inc. | Method and/or system for transmitting and/or receiving data |
US7636727B2 (en) | 2004-12-06 | 2009-12-22 | Skyler Technology, Inc. | Enumeration of trees from finite number of nodes |
US8316059B1 (en) | 2004-12-30 | 2012-11-20 | Robert T. and Virginia T. Jenkins | Enumeration of rooted partial subtrees |
US8615530B1 (en) | 2005-01-31 | 2013-12-24 | Robert T. and Virginia T. Jenkins as Trustees for the Jenkins Family Trust | Method and/or system for tree transformation |
US7681177B2 (en) | 2005-02-28 | 2010-03-16 | Skyler Technology, Inc. | Method and/or system for transforming between trees and strings |
US8356040B2 (en) | 2005-03-31 | 2013-01-15 | Robert T. and Virginia T. Jenkins | Method and/or system for transforming between trees and arrays |
US7899821B1 (en) | 2005-04-29 | 2011-03-01 | Karl Schiffmann | Manipulation and/or analysis of hierarchical data |
RU2005124030A (en) * | 2005-07-28 | 2007-02-10 | Александр Михайлович Юров (RU) | METHOD OF VISUAL ADDRESSING TEAMS IN TREE |
US20070101256A1 (en) * | 2005-11-01 | 2007-05-03 | Charles Simonyi | Perfect source control |
WO2007063248A1 (en) * | 2005-11-30 | 2007-06-07 | France Telecom | Method for creating an approximation graph relating to the behaviour of the man-machine interface of an application |
US7827537B2 (en) * | 2006-05-26 | 2010-11-02 | Oracle America, Inc | Searching computer programs that use different semantics |
US7886284B2 (en) * | 2006-09-05 | 2011-02-08 | International Business Machines Corporation | Using a backend simulator to test and develop xforms templates before linking the xforms templates to backend data processing systems |
US7949949B2 (en) * | 2006-11-20 | 2011-05-24 | Intentional Software Corporation | Domain transformation languages |
WO2008083639A1 (en) * | 2007-01-12 | 2008-07-17 | Siemens Aktiengesellschaft | Automation tool, use of an automation tool, and corresponding computer program |
US8276118B2 (en) * | 2007-03-01 | 2012-09-25 | International Business Machines Corporation | Depicting changes to structures in an integrated development environment |
US7954067B2 (en) * | 2007-03-16 | 2011-05-31 | Apple Inc. | Parameter setting superimposed upon an image |
US20080229232A1 (en) * | 2007-03-16 | 2008-09-18 | Apple Inc. | Full screen editing of visual media |
US8312427B2 (en) * | 2007-05-15 | 2012-11-13 | International Business Machines Corporation | Selecting a set of candidate code expressions from a section of program code for copying |
US8484629B2 (en) * | 2007-05-24 | 2013-07-09 | Microsoft Corporation | Programming model for modular development |
US7949994B2 (en) * | 2007-08-23 | 2011-05-24 | International Business Machines Corporation | Method and computer program product for viewing extendible models for legacy applications |
US8370751B2 (en) * | 2007-08-31 | 2013-02-05 | Sap Ag | User interface customization system |
US20090077511A1 (en) * | 2007-09-13 | 2009-03-19 | International Business Machines Corporation | Generating Constraints in a Class Model |
US9304983B2 (en) * | 2007-10-16 | 2016-04-05 | International Business Machines Corporation | Method and system for Xform generation and processing application integration framework |
US8281287B2 (en) * | 2007-11-12 | 2012-10-02 | Finocchio Mark J | Compact, portable, and efficient representation of a user interface control tree |
US8181167B2 (en) * | 2008-01-09 | 2012-05-15 | Kan Zhao | Method and system for presenting and analyzing software source code through intermediate representation |
US7966345B1 (en) * | 2008-03-28 | 2011-06-21 | Cypress Semiconductor Corporation | Method, system, and graphical user interface for generating firmware code for a programmable integrated circuit |
US8473897B2 (en) | 2008-10-03 | 2013-06-25 | Microsoft Corporation | Common intermediate representation for data scripting language |
US9292478B2 (en) | 2008-12-22 | 2016-03-22 | International Business Machines Corporation | Visual editor for editing complex expressions |
US8060857B2 (en) * | 2009-01-31 | 2011-11-15 | Ted J. Biggerstaff | Automated partitioning of a computation for parallel or other high capability architecture |
US9354629B2 (en) | 2009-02-19 | 2016-05-31 | Fisher-Rosemount Systems, Inc. | Methods and apparatus to configure a process control system using an electronic description language script |
US8423981B2 (en) * | 2009-06-18 | 2013-04-16 | National Instruments Corporation | Compiling a graphical program having a textual language program portion for a real time target |
US8909678B2 (en) * | 2009-09-30 | 2014-12-09 | Red Hat, Inc. | Conditioned distribution of data in a lattice-based database using spreading rules |
US8984013B2 (en) * | 2009-09-30 | 2015-03-17 | Red Hat, Inc. | Conditioning the distribution of data in a hierarchical database |
US8996453B2 (en) * | 2009-09-30 | 2015-03-31 | Red Hat, Inc. | Distribution of data in a lattice-based database via placeholder nodes |
US8996604B2 (en) * | 2010-03-04 | 2015-03-31 | International Business Machines Corporation | Distributed symbol table with intelligent lookup scheme |
US8533671B2 (en) * | 2010-06-07 | 2013-09-10 | Microsoft Corporation | Assigning type parameters |
US20110321020A1 (en) * | 2010-06-23 | 2011-12-29 | Starview Technology, Inc. | Transforming declarative event rules into executable procedures |
US9286037B2 (en) * | 2010-12-29 | 2016-03-15 | Microsoft Technology Licensing, Llc | Platform for distributed applications |
US20130067432A1 (en) * | 2011-09-12 | 2013-03-14 | Microsoft Corporation | Application development toolkit |
US20130152061A1 (en) * | 2011-12-12 | 2013-06-13 | Microsoft Corporation | Full fidelity parse tree for programming language processing |
US20130196305A1 (en) * | 2012-01-30 | 2013-08-01 | International Business Machines Corporation | Method and apparatus for generating questions |
GB2506162A (en) * | 2012-09-24 | 2014-03-26 | Ibm | Searching source code |
US9569274B2 (en) | 2012-10-16 | 2017-02-14 | Microsoft Technology Licensing, Llc | Distributed application optimization using service groups |
US9715372B2 (en) * | 2013-03-13 | 2017-07-25 | Microsoft Technology Licensing, Llc | Executable guidance experiences based on implicitly generated guidance models |
US20150029346A1 (en) * | 2013-07-23 | 2015-01-29 | Insurance Auto Auctions, Inc. | Photo inspection guide for vehicle auction |
US20160259641A1 (en) * | 2013-12-16 | 2016-09-08 | Hewlett Packard Enterprise Development Lp | Tagging a program code portion |
US9304743B1 (en) * | 2014-06-03 | 2016-04-05 | The Mathworks, Inc. | Converting from incorrect program code to correct program code |
US10423623B2 (en) * | 2015-02-05 | 2019-09-24 | Sap Se | Hierarchy modeling and query |
US9678724B2 (en) * | 2015-05-29 | 2017-06-13 | Intentional Software Corporation | System and method for combining text editing and tree encoding for computer programs |
JP6162909B2 (en) * | 2015-07-31 | 2017-07-12 | 楽天株式会社 | Tree structure data editing device, tree structure data editing method, and program |
US10795935B2 (en) | 2016-02-05 | 2020-10-06 | Sas Institute Inc. | Automated generation of job flow definitions |
US10650046B2 (en) | 2016-02-05 | 2020-05-12 | Sas Institute Inc. | Many task computing with distributed file system |
US10642896B2 (en) | 2016-02-05 | 2020-05-05 | Sas Institute Inc. | Handling of data sets during execution of task routines of multiple languages |
US10671038B2 (en) | 2016-07-15 | 2020-06-02 | Fisher-Rosemount Systems, Inc. | Architecture-independent process control |
USD898059S1 (en) | 2017-02-06 | 2020-10-06 | Sas Institute Inc. | Display screen or portion thereof with graphical user interface |
US10310969B2 (en) * | 2017-05-31 | 2019-06-04 | Oracle International Corporation | Systems and methods for test prediction in continuous integration environments |
USD898060S1 (en) | 2017-06-05 | 2020-10-06 | Sas Institute Inc. | Display screen or portion thereof with graphical user interface |
CN107644073A (en) * | 2017-09-18 | 2018-01-30 | 广东中标数据科技股份有限公司 | A kind of field consanguinity analysis method, system and device based on depth-first traversal |
US10503498B2 (en) | 2017-11-16 | 2019-12-10 | Sas Institute Inc. | Scalable cloud-based time series analysis |
US11294645B2 (en) | 2019-04-02 | 2022-04-05 | Gavriel Loria | Visual virtual programming machine for real-time interactive creation, playback, execution, inspection and manipulation of programming elements |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4782444A (en) * | 1985-12-17 | 1988-11-01 | International Business Machine Corporation | Compilation using two-colored pebbling register allocation method such that spill code amount is invariant with basic block's textual ordering |
US4827404A (en) * | 1986-04-14 | 1989-05-02 | Schlumberger Technology Corporation | Method and system for computer programming |
GB2197506A (en) | 1986-10-27 | 1988-05-18 | Burr Brown Ltd | Providing and handling break points in a software monitor |
US5191646A (en) * | 1986-11-20 | 1993-03-02 | Hitachi, Ltd. | Display method in software development support system |
US5396627A (en) | 1987-11-06 | 1995-03-07 | Hitachi, Ltd. | Method of producing object program based on interprocedural dataflow analysis of a source program |
US4821211A (en) * | 1987-11-19 | 1989-04-11 | International Business Machines Corp. | Method of navigating among program menus using a graphical menu tree |
US5343554A (en) * | 1988-05-20 | 1994-08-30 | John R. Koza | Non-linear genetic process for data encoding and for solving problems using automatically defined functions |
US5148513A (en) * | 1988-05-20 | 1992-09-15 | John R. Koza | Non-linear genetic process for use with plural co-evolving populations |
JP2534360B2 (en) * | 1988-09-26 | 1996-09-11 | インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン | Connection method, node connection method, data processing method, and method of inserting node in tree |
US5161216A (en) * | 1989-03-08 | 1992-11-03 | Wisconsin Alumni Research Foundation | Interprocedural slicing of computer programs using dependence graphs |
US5175843A (en) * | 1989-10-30 | 1992-12-29 | General Electric Company | Computer-aided design method for restructuring computational networks to minimize shimming delays |
JPH04280320A (en) * | 1991-03-08 | 1992-10-06 | Nec Corp | Automatic generation device for program |
US5265254A (en) | 1991-08-14 | 1993-11-23 | Hewlett-Packard Company | System of debugging software through use of code markers inserted into spaces in the source code during and after compilation |
US5327561A (en) * | 1991-09-20 | 1994-07-05 | International Business Machines Corporation | System and method for solving monotone information propagation problems |
GB9126269D0 (en) * | 1991-12-11 | 1992-02-12 | Renishaw Metrology Ltd | Temperature sensor for coordinate positioning apparatus |
JPH05257664A (en) * | 1991-12-12 | 1993-10-08 | Internatl Business Mach Corp <Ibm> | System and method for generating version-independent object-oriented application program |
US5432901A (en) | 1992-01-30 | 1995-07-11 | Bmc Software, Inc. | Method of dynamically generating a local format for use by a logical unit in a VTAM-type communications session |
US5408603A (en) * | 1992-03-31 | 1995-04-18 | Dow Benelux N.V. | Global process control information system and method |
AR247303A1 (en) * | 1992-08-21 | 1994-11-30 | Gilligan Federico Gustavo Y Fa | New computer keyboard. |
US5339433A (en) * | 1992-11-19 | 1994-08-16 | Borland International, Inc. | Symbol browsing in an object-oriented development system |
CA2134059C (en) | 1993-10-29 | 2009-01-13 | Charles Simonyi | Method and system for generating a computer program |
US5680622A (en) * | 1994-06-30 | 1997-10-21 | Borland International, Inc. | System and methods for quickly detecting shareability of symbol and type information in header files |
US5717883A (en) * | 1995-06-28 | 1998-02-10 | Digital Equipment Corporation | Method and apparatus for parallel execution of computer programs using information providing for reconstruction of a logical sequential program |
US5857212A (en) | 1995-07-06 | 1999-01-05 | Sun Microsystems, Inc. | System and method for horizontal alignment of tokens in a structural representation program editor |
US5813019A (en) * | 1995-07-06 | 1998-09-22 | Sun Microsystems, Inc. | Token-based computer program editor with program comment management |
US5896537A (en) | 1996-05-13 | 1999-04-20 | Siemens Corporate Research, Inc. | Partition based alias analyzer for pointers |
US6012152A (en) | 1996-11-27 | 2000-01-04 | Telefonaktiebolaget Lm Ericsson (Publ) | Software fault management system |
-
1994
- 1994-10-21 CA CA002134059A patent/CA2134059C/en not_active Expired - Lifetime
- 1994-10-21 CA CA2643234A patent/CA2643234C/en not_active Expired - Lifetime
- 1994-10-26 EP EP94116922A patent/EP0651325A3/en not_active Ceased
- 1994-10-31 JP JP26711894A patent/JP4140980B2/en not_active Expired - Lifetime
-
1995
- 1995-04-28 US US08/431,049 patent/US6097888A/en not_active Expired - Lifetime
-
1996
- 1996-11-08 US US08/745,251 patent/US5790863A/en not_active Expired - Lifetime
-
1997
- 1997-06-27 US US08/884,447 patent/US6070007A/en not_active Expired - Lifetime
- 1997-06-27 US US08/884,443 patent/US5911072A/en not_active Expired - Lifetime
- 1997-06-27 US US08/884,202 patent/US6078746A/en not_active Expired - Lifetime
- 1997-06-27 US US08/884,441 patent/US6189143B1/en not_active Expired - Lifetime
-
2000
- 2000-12-05 US US09/730,375 patent/US6966054B2/en not_active Expired - Fee Related
-
2008
- 2008-01-04 JP JP2008000190A patent/JP4448881B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP4448881B2 (en) | 2010-04-14 |
US6189143B1 (en) | 2001-02-13 |
US5790863A (en) | 1998-08-04 |
US6966054B2 (en) | 2005-11-15 |
CA2134059C (en) | 2009-01-13 |
US6078746A (en) | 2000-06-20 |
JPH07182147A (en) | 1995-07-21 |
CA2643234C (en) | 2012-05-15 |
US6070007A (en) | 2000-05-30 |
US5911072A (en) | 1999-06-08 |
US20010037496A1 (en) | 2001-11-01 |
JP2008140410A (en) | 2008-06-19 |
EP0651325A3 (en) | 1998-01-28 |
CA2134059A1 (en) | 1995-04-30 |
US6097888A (en) | 2000-08-01 |
EP0651325A2 (en) | 1995-05-03 |
JP4140980B2 (en) | 2008-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2643234A1 (en) | Method and system for generating a computer program | |
US6964010B1 (en) | Formatted-item list control | |
US7954082B2 (en) | Automatically analyzing and modifying a graphical program | |
JP4934482B2 (en) | System for assisting configuration of environment for process control | |
US6757889B1 (en) | Source program checking device and program and method for same | |
US7730102B2 (en) | Method and system for organizing and manipulating nodes by category in a program tree | |
US20030237026A1 (en) | Target device-specific syntax and semantic analysis for a graphical program | |
CN112035101B (en) | Method, device, medium and equipment for creating command library combining RPA and AI | |
EP0735466A2 (en) | Method and apparatus for displaying locations of errors detected inside software macro calls | |
US6992575B2 (en) | Methods and apparatus for generating a data structure indicative of an alarm system circuit | |
WO2003085557A1 (en) | Method and apparatus for modeling extensible markup language (xml) applications using the unified modeling language (uml) | |
US20040080409A1 (en) | Methods and apparatus for generating a data structure indicative of an alarm system circuit | |
US7161478B2 (en) | Methods and apparatus for generating a data structure indicative of an alarm system circuit | |
JPH01501978A (en) | Parametric design drawing method and system | |
EP0685955A2 (en) | Outline programming for developing communication services | |
US6970078B2 (en) | Methods and apparatus for generating a data structure indicative of an alarm system circuit | |
US5754808A (en) | Method for implementing a program for an object-oriented programming system using graphics | |
US8671394B1 (en) | Monitoring test steps in test environments | |
US20030016242A1 (en) | Use of hyperlinks in an automation application program and a station for programming such an application | |
JPH0194404A (en) | Nc data generation system | |
JPH0833834B2 (en) | Display panel generation method | |
JPS60128530A (en) | User menu display processing system | |
JP2007094453A (en) | Program development support system, program development support method and program | |
EP0694835A1 (en) | Integrated software command specification and documentation system | |
JP3822263B2 (en) | File list display customization processing apparatus and processing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request | ||
MKEX | Expiry |
Effective date: 20141021 |