← Back to Patent Explorer
US5448740A Expired / Lapsed US ⏱️ 0.0 years remaining

Generation of a user interface code from a corresponding declarative language program

Assignee: International Business Machines Corp
•
Filing: 1993-10-01
•
Granted: 1995-09-05
•
Expires: 2013-10-01
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method for automatically generating a computer code of a procedural language program from a corresponding program in a declarative language. The declarative language program is analyzed to obtain information about variables to be described in the procedural language program and information about the data flow to be used in the procedural language program. The information extracted from the declarative language program in this analysis is combined with code blocks from a code block file to form the procedural language program that is compiled to form the computer code. This method finds particular application in a computer system with an input/output device, a processor and a memory for developing applications programs that comprise an interface declaration and a business logic. When resident in the computer system, the code generator performs the method to produce interface specific code to produce a user interface between a user and the applications program.

Inventors

  • 👤 Thomas Kiri
  • 👤 Ralf Thelen

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-01 01:41
CPC Classifications
G; G06; G06F; G06F8/00; G06F8/40; G06F8/51

Claims Analysis

Total Claims: 19
Claim 1
Independent Claim 159 words
A method for automatically generating computer code in a procedural language from a program coded in a declarative language, said program having elements specifying variables and communication units, and a data flow defined by a processing sequence of said communication units, comprising the steps of: providing a code block file having a set of code blocks defining a basic code structure of said procedural language code; analyzing said variables of said declarative language program to obtain variables information corresponding to said code blocks; analyzing said data flow of said declarative language program to obtain data flow information about the order of said processing sequence in which said communication units are used, said data flow information corresponding to said code blocks; extracting from said code block file fragments of said procedural language code; and combining said variables information and said data flow information with said fragments of said code block file to produce said computer code in said procedural language.
Claim 2
Independent Claim 159 words
A method for automatically generating computer code in a procedural language from a program coded in a declarative language, said program having elements specifying variables and communication units, and a data flow defined by a processing sequence of said communication units, comprising the steps of: providing a code block file having a set of code blocks defining a basic code structure of said procedural language code; analyzing said variables of said declarative language program to obtain variables information corresponding to said code blocks; analyzing said data flow of said declarative language program to obtain data flow information about the order of said processing sequence in which said communication units are used, said data flow information corresponding to said code blocks; extracting from said code block file fragments of said procedural language code; and combining said variables information and said data flow information with said fragments of said code block file to produce said computer code in said procedural language.
Claim 3
Dependent Claim 52 words
A method according to claim 1 wherein said analyzing variables comprises the steps of establishing a first communications unit list, each element of said first communications unit list comprising the names of said communications units in said declarative language and pointers to variable lists for those variables included in a communication unit.
Claim 4
Dependent Claim 30 words
A method according to claim 2 wherein said variable lists comprises at least a name of a variable, a type of a variable, and an access type of a variable.
Claim 5
Dependent Claim 19 words
A method according to claim 3 wherein said code block file comprises separate code blocks for each variable type.
Claim 6
Dependent Claim 56 words
A method according to claim 1 wherein said analyzing data flow comprises the steps of establishing a second communications unit list, where each element of said second communications unit list comprises a language element of the declarative language, the communications unit being operated on, and a pointer to the next communications unit to be operated on.
Claim 7
Dependent Claim 20 words
A method according to claim 5 wherein said code block file comprises separate code blocks for each declarative language element.
Claim 8
Dependent Claim 24 words
A method according to claim 1 wherein said code block file comprises separate code blocks for each variable type and each declarative language element.
Claim 9
Independent Claim 193 words
A method for automatically generating interface code in a procedural language code for an applications program having a business logic in a procedural language code, and a user interface defined in a declarative language, said user interface having variables and communications units to be processed in a predetermined order, said user interface providing an interface between a user and said applications program comprising the steps of: providing a code block file having a set of code blocks defining a basic code structure of said procedural language code; analyzing said user interface to establish information on said variables used in said user interface that correspond to said code blocks; analyzing said user interface to establish data flow information on said order in which said communications units in said user interface are processed and that correspond to said code blocks; extracting from said code block file fragments of said procedural language code corresponding to said information on said variables and said data flow information; and combining said information on said variables and said data flow information with said fragments extracted from said code block file to produce said interface code in said procedural language code.
Claim 10
Independent Claim 193 words
A method for automatically generating interface code in a procedural language code for an applications program having a business logic in a procedural language code, and a user interface defined in a declarative language, said user interface having variables and communications units to be processed in a predetermined order, said user interface providing an interface between a user and said applications program comprising the steps of: providing a code block file having a set of code blocks defining a basic code structure of said procedural language code; analyzing said user interface to establish information on said variables used in said user interface that correspond to said code blocks; analyzing said user interface to establish data flow information on said order in which said communications units in said user interface are processed and that correspond to said code blocks; extracting from said code block file fragments of said procedural language code corresponding to said information on said variables and said data flow information; and combining said information on said variables and said data flow information with said fragments extracted from said code block file to produce said interface code in said procedural language code.
Claim 11
Dependent Claim 94 words
A method according to claim 8 wherein said step of analyzing said user interface to establish information on said variables used in said user interface comprises the steps of establishing a first communications unit list, each element of said first communications unit list comprising the names of said communications units in said declarative language and pointers to variable lists for those variables included in the communication unit, whereby the information in said variable lists comprises at least a name of the variable, a type of the variable, and an access type of the variable.
Claim 12
Dependent Claim 19 words
A method according to claim 9 wherein said code block file comprises separate code blocks for each variable type.
Claim 13
Dependent Claim 31 words
A method according to claim 8 wherein said code block file comprises code establishing an entry for said variables in a variable table which can be accessed by said business logic.
Claim 14
Dependent Claim 61 words
A method according to claim 8 wherein analyzing said user interface to establish data flow information on said order of said communications units comprises establishing a second communications unit list, each element of said second communications unit list comprising a declarative language element, the communications unit being operated on, and a pointer to the next communications unit to be operated on.
Claim 15
Dependent Claim 20 words
A method according to claim 12 whereby said code block file comprises separate code blocks for each declarative language element.
Claim 16
Dependent Claim 46 words
A method according to claim 8 where said code block file comprises separate code blocks for each variable type, separate code blocks for each element of said declarative language, and code for establishing entry of said variables into a variable table accessible by said business logic.
Claim 17
Dependent Claim 226 words
A computer system for generating an interface code in a procedural language from a declarative language program that comprises: an applications program means comprising a business logic means for performing a predetermined task, and an interface declaration means having variables and communications units processed in a predetermined order, said interface declaration means coded as said declarative language program for providing a user interface between an end user and said applications program; and a code generator means for analyzing said applications program and generating said user interface code, said code generator means comprising: a code block file means having a set of code blocks for defining a basic code structure of said procedural language code; data analyzer means for analyzing said declarative language program to obtain information on said variables and said communications units; a first communications unit list means for defining said order said communications units in said declarative language program are processed; a second communications unit list means for defining said variables associated with said communications units; a variables list means, having a plurality of variable lists, for providing attribute information on said variables in said communications units; and means for combining code blocks from said code block file, entries from said first communications unit list means and said second communications unit list means, and said plurality of variable lists to produce said interface code.
Claim 18
Dependent Claim 226 words
A computer system for generating an interface code in a procedural language from a declarative language program that comprises: an applications program means comprising a business logic means for performing a predetermined task, and an interface declaration means having variables and communications units processed in a predetermined order, said interface declaration means coded as said declarative language program for providing a user interface between an end user and said applications program; and a code generator means for analyzing said applications program and generating said user interface code, said code generator means comprising: a code block file means having a set of code blocks for defining a basic code structure of said procedural language code; data analyzer means for analyzing said declarative language program to obtain information on said variables and said communications units; a first communications unit list means for defining said order said communications units in said declarative language program are processed; a second communications unit list means for defining said variables associated with said communications units; a variables list means, having a plurality of variable lists, for providing attribute information on said variables in said communications units; and means for combining code blocks from said code block file, entries from said first communications unit list means and said second communications unit list means, and said plurality of variable lists to produce said interface code.
Claim 19
Dependent Claim 17 words
A computer system according to claim 15 wherein said interface code is independent of the interface used.

References Cited (Backward Citations)

US4831525A Cited
US4956773A Cited
US4742467A Cited
WO1992017838A1 Cited
EP0515739A1 Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1998-09-04 1999-03-06 1999-09-05 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2002-09-04 2003-03-06 2003-09-05 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2006-09-04 2007-03-06 2007-09-05 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag