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

Automata-theoretic approach compiler for adaptive software

Assignee: Northeastern University
•
Filing: 1996-03-22
•
Granted: 1999-08-31
•
Expires: 2016-03-22
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A compiler which generates object-oriented code from high level models is disclosed. The compiler uses a class graph to construct a finite intermediate automaton which is used in conjunction with an adaptive program to generate an object-oriented program in a target language. The intermediate automaton enables general case compilation of most combinations of adaptive programs and class graphs. The automaton also enables use of standard minimization techniques which reduce the size of the generated object-oriented code.

Inventors

  • 👤 Karl Lieberherr
  • 👤 Jens Palsberg
  • 👤 Boaz Patt-Shamir

Bibliographic Details

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

Claims Analysis

Total Claims: 11
Claim 1
Independent Claim 217 words
A compiler for providing software code in a target object-oriented language from an adaptive program and a class graph, comprising: an automata generator operative to provide a traversal automaton representative of a selected set of paths in the class graph, said automata generator providing said traversal automaton from a traversal specification in the adaptive program and the class graph, wherein said traversal automaton is a non-deterministic finite state automaton which is transformed into a minimal deterministic finite state automaton for the purpose of code generation and said automaton is a generalized automaton which contains state transitions of the form: {n}x where n is a set of numbers and x is a part to be traversed, set n controlling the circumstances under which x is traversed such that a source s* and target t* are added to said traversal automaton and further wherein all nodes are marked which are reachable from s* and from which t* is reachable; and a Traversal Method Algorithm ("TMA") operative to associate said traversal automaton with operations defined in the adaptive program, thereby translating said adaptive program into a traversal-state-passing program in the target language, whereby the traversal specification of the adaptive program does not need to satisfy constraints with respect to the class graph, and hence said compiler is a general compiler.
Claim 2
Dependent Claim 217 words
A compiler for providing software code in a target object-oriented language from an adaptive program and a class graph, comprising: an automata generator operative to provide a traversal automaton representative of a selected set of paths in the class graph, said automata generator providing said traversal automaton from a traversal specification in the adaptive program and the class graph, wherein said traversal automaton is a non-deterministic finite state automaton which is transformed into a minimal deterministic finite state automaton for the purpose of code generation and said automaton is a generalized automaton which contains state transitions of the form: {n}x where n is a set of numbers and x is a part to be traversed, set n controlling the circumstances under which x is traversed such that a source s* and target t* are added to said traversal automaton and further wherein all nodes are marked which are reachable from s* and from which t* is reachable; and a Traversal Method Algorithm ("TMA") operative to associate said traversal automaton with operations defined in the adaptive program, thereby translating said adaptive program into a traversal-state-passing program in the target language, whereby the traversal specification of the adaptive program does not need to satisfy constraints with respect to the class graph, and hence said compiler is a general compiler.
Claim 3
Dependent Claim 39 words
The compiler of claim 1 wherein the traversal specification of said adaptive program is a general directed graph with a constraint map, wherein a constraint map assigns class graph element exclusion constraints to the edges of the traversal specification.
Claim 4
Dependent Claim 22 words
The compiler of claim 1 wherein said class graph corresponds to a Unified Modeling Language class diagram or a Demeter class dictionary.
Claim 5
Dependent Claim 25 words
The compiler of claim 1 wherein said target language is an object-oriented target language selected from the group consisting of Java, C++, SmallTalk and CLOS.
Claim 6
Dependent Claim 30 words
The compiler of claim 2 wherein the traversal automaton is constructed by making k copies of the class graph, where k is the number of edges in the traversal specification.
Claim 7
Dependent Claim 26 words
The compiler of claim 2 wherein tokens are used as parameters to the traversal methods algorithm, and each token is a node in the traversal automaton.
Claim 8
Dependent Claim 24 words
The compiler of claim 6, wherein each hop in the class object graph updates the tokens based on the edges in the traversal automaton.
Claim 9
Dependent Claim 14 words
The compiler of claim 7, wherein the TMA is used to generate target code.
Claim 10
Dependent Claim 84 words
The compiler of claim 3 wherein said code generator is operative to provide a finite state automaton AutoΦ(A,B), wherein V in and V out are two distinguished copies of V where elements are subscripted by in and out, respectively, Φ=(V,E) is a class graph, and A, BεV, such that AutoΦ(A,B) includes: a set of states being V in ∪V out ; an alphabet being V∪N∪{⋄}; a start state being A in ; a single accept state being B out ; and transitions being: ##EQU18##10.
Claim 11
Dependent Claim 37 words
The compiler of claim 2 wherein the traversal specification of said adaptive program satisfies the grammar: D::= A,!|D.D and where the compilation algorithm has been modified to keep all automata deterministic, resulting in a polynomial time algorithm.

References Cited (Backward Citations)

US4558413A Cited
US4783730A Cited
US4912637A Cited
US5313646A Cited
US5075847A Cited
US5278979A Cited
US5355317A Cited
US5410703A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-08-30 2003-03-01 2003-08-31 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-08-30 2007-03-01 2007-08-31 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-08-30 2011-03-01 2011-08-31 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag