(12) united states patent us 7,110,936 b2 (45) date of ... · related us. application data ... a...
TRANSCRIPT
(12) United States Patent Hiew et a1.
US007110936B2
US 7,110,936 B2 Sep. 19, 2006
(10) Patent N0.: (45) Date of Patent:
(54) SYSTEM AND METHOD FOR GENERATING AND MAINTAINING SOFTWARE CODE
(75) Inventors: Fen Hiew, Mendota Heights, MN (US); Edwin M. Schroeder, Chicago, IL (Us)
(73) Assignee: Complementsoft LLC, Chicago, IL (Us)
( * ) Notice: Subject to any disclaimer, the term of this patent is extended or adjusted under 35 USC 154(b) by 923 days.
(21) Appl. No.: 09/992,624
(22) Filed: Nov. 19, 2001
(65) Prior Publication Data
US 2005/0229154 A1 Oct. 13, 2005
Related US. Application Data
(60) Provisional application No. 60/270,950, ?led on Feb. 23, 2001, provisional application No. 60/293,854, ?led on May 25, 2001.
(51) Int. Cl. G06F 9/45 (2006.01)
(52) US. Cl. ........................ .. 703/22; 703/26; 717/100; 717/108; 717/134; 717/135
(58) Field of Classi?cation Search ................ .. 703/22;
717/108, 100, 134, 135; 345/700 See application ?le for complete search history.
(56) References Cited
U.S. PATENT DOCUMENTS
5,187,788 A 5,485,615 A
2/ 1993 Marmelstein 1/ 1996 Wennmyr
(Continued)
FOREIGN PATENT DOCUMENTS
EP 1001338 A2 5/2000
(Continued) OTHER PUBLICATIONS
“Language Independent Generation of graphical Representations of Source Code”, Hendrix et a1, ACM 0-89791-737-5, ACM 1995*
(Continued) Primary ExamineriFred Ferris (74) Attorney, Agent, or FirmiGary R. Jarosik
(57) ABSTRACT
A system and method for intelligently generating computer code. The system being comprised of a local computer, Which is connected to a remote computer via a network system or the Internet and Which is capable of exchanging ?les With the remote computer. The local computer is further comprised of a document manager for transferring ?les between the local computer and the remote computer and for providing enhanced ?le management functions. The docu ment manager Works in connection With the server module, the site manager and the connectivity layer to connect to remote computers, to transparently exchange ?les With the remote computer and to manage server pro?les and connec tion information that is related to remote computers and transferred ?les. Once the ?le is transferred to the local computer, the editor can modify the code associated With the ?le; the editor is also capable of creating neW ?les. The visualiZer is capable of displaying a program How diagram and a data How diagram, Which are comprised of program How icons and data How arroWs to depict the code in terms of processing blocks and data blocks. To assist in developing neW code or editing existing code, the template manager alloWs the user to broWse through a directory of existing code sections or templates and to copy templates into the selected code for editing. For alloWing the editor to process code that is Written in different Data Management System programming languages and for creating the program How icons, the parser layer detects the ?le type of a selected ?le and activates the rules and logic that apply to the corre sponding Data Management System.
16 Claims, 42 Drawing Sheets
colllIllmlnlSMl ISA? MM!‘ Darwin!
60 B0 120 \Local Computer 160 zfo 70
a rwumwn .... Hm... H m.)
E 1 Java Virtual Machine
| Operating Systems
US 7,110,936 B2 Page 2
US. PATENT DOCUMENTS
5,652,899 A 7/1997 Mays et al. 5,937,190 A * 8/1999 Gregory et al. ........... .. 717/131
6,243,703 B1 * 6/2001 Couch et al. ............... .. 707/10
6,311,323 B1 10/2001 Shulman et a1. 6,356,285 B1* 3/2002 Burkwald et al. ........ .. 715/853
6,604,110 B1 8/2003 Savage et al. 6,851,107 B1* 2/2005 Coad et al. ............... .. 717/108
2001/0049682 A1* 12/2001 Vincent et a1. 707/100 2002/0059003 A1* 5/2002 Ruth et al. . . . . . . . . . . . . .. 700/19
2002/0097253 A1* 2002/0112225 A1* 2002/0116702 A1* 2003/0041314 A1*
7/2002 Charisius et al. 8/2002 Charisius et al. 8/2002 Aptus et a1. .... ..
2/2003 Heeren et al. .
2003/0056192 A1* 3/2003 Burgess .... .. . 717/100
2003/0061600 A1* 3/2003 Bates et al. ............... .. 717/133
FOREIGN PATENT DOCUMENTS
W0 WO 97/40443 A1 10/1997 W0 WO 01/08007 A1 2/2001
OTHER PUBLICATIONS
“GENOA-A Customizable, Frount-End-Retargetable Source Code Analysis Framewor ”, Devanbu, ACM Transactions on Software Engineering, vol. 8, No. 2, Apr. 1999*
“Visualizing th Performance of Higher-Order Programs”, Waddell et al., ACM 1-58133-055-04/98/0006, 1996 ACM.*
“Using a Fine-Grained Comparative Evaluation Technique to Understand and Design Software Visualization Tools”, Mulholland, Seventh workshop on Empirical studies of programmers, ACM 1997.*
“An Analysis of Geometric Modeling in Database Systems”, Kemper et al, ACM Computing Surveys, vol. 19, No. 1, Mar. 1987.* Togethersoft Corporation, Together Documentation Set Version 4.2, Dec. 21, 2000, pp. 1-257.
Benedusi, P. et al., A Reverse Engineering Methodology to Recon struct Hiearchical Data Flow Diagrams for Software Maintenance, Oct. 16-19, 1989, pp. 180-189.
SAS Institute, SAS Companion for the Microsoft Windows Envi ronment, Using the Enhanced Editor, Sep. 1999. SAS Institute, Bibliographic and copyright information, SAS onlinedoc, version 8, Sep. 1999, lpage. Anonymous, Togethersoft Ships Together Control Center 4.2, Latest Business Process Automation Software Speeds Development Time for E-Business Apps, Dec. 21, 2000, 2 pages.
SAS e-intelligence, Know Your Customers, SAS Institute Inc., 2001.
* cited by examiner
U.S. Patent Sep. 19, 2006 Sheet 1 0142 US 7,110,936 B2
Display
? 22b \
Local Computer
Video Central Processing Network _| Adapter Unit interface
|_ U
it V Q3 ' Q Serial Port! USB / Network
Interface
Memory Storage Device
Modern / Route / Network Hub
Internet / LAN / WAN
File System I Data Files File System I Data Files Remote Computer Remote Computer
FIG. 1
U.S. Patent Sep. 19, 2006 Sheet 3 0f 42 US 7,110,936 B2
gcnmplemenlSoll ASAP Vmsmn 2.0
1] Ella Edit gearch gpliuns Hetg
Document Manager
Editor
E Visualizer
Y \
44
El Server
8 i :
Database Manager
5'2. Site
Manager New Dowmenil
mam unened ‘\ J
48 / \ 8° FIG. 3 46
U.S. Patent Sep. 19, 2006 Sheet 4 0f 42 US 7,110,936 B2
1] file Edit geanzh gptinns Help
F5 Qpenm 001.0 glose Clnsagll Files
SaveAs.,,
Compare Flies...
Sort
Pag e S etup ..
Prinl Pregiew
Erinl Egit
NEW Document
43 46 Menu Item Functionality New Create a new document ( a program )
Open Open an existing document
Close Close the currently opened document
Save Save the currently open document
Save As Save the currently open document using a different name or in a different location
Print Preview Print Preview of the currently open (active) document
Print Print the currently open (active) document
Exit Exit the application
FIG. 4a
Sheet 5 0f 42 U.S. Patent Sep. 19, 2006
42
1] file Edit gearch Qptinns Helg
11B "UMCWZ UJQE%EEIMEJ§EEJEI>XSIQ uRedu CtrhShifhZ
3!, Cut mmx Hg cow cm‘c
lEPasle cmw
New Document
FIG. 4b
US 7,110,936 B2
U.S. Patent Sep. 19, 2006 Sheet 6 6f 42 US 7,110,936 B2
42
1] file gun geamn Qp?ons Helg
E» 5"" CWF EEC§IMQEEIEII>>QIO ?aplace 0111+}?
FindNaxi F3 Rgplace Nan F4
onmgna ctmo
New Document
48 46
Find
Replace Find Next
Replace Next Goto Line G0 to the n line in the currently active document
FIG. 4c
U.S. Patent Sep. 19, 2006 Sheet 7 of 42
42
[1 Elle dlt gearch Qp?ons Helg
' Q | QocumantManagerCon?guration £5 E E | > x, 3 Editor Configuration \jsual Con?guration
Qonnectiun Con?guration getwork File Con?guration
New Document
48 46
US 7,110,936 B2
Menu Item Functionality Document Activate the Document Manager Con?gurator Manager Con?guration Editor Activate the Editor Con?gurator Con?guration Visual Activate the Visual Con?gurator Con?guration Connection Activate the Connection Con?gurator Con?guration Network File Activate the Network File Con?gurator Con?guration
FIG. 4d
U.S. Patent Sep. 19, 2006 Sheet 8 0f 42 US 7,110,936 B2
@Document Manager Configuration a General I
Select the drive(s) to open in the local panel.
Local Drives:
A11
C31
D11
E11
i] Cancel |
FIG. 4da
U.S. Patent Sep. 19, 2006 Sheet 9 0f 42 US 7,110,936 B2
@ E dilor Con?guration E
.............. El Fomsl 001ml Executel
I] Use external Editor
External Editor:
III Disable line numbering
[:1 Print headerinformation (Date File name Page number)
III Print line numbers
[:1 Print wrapped text
Reset I iii Cancel I
FIG. 4db
U.S. Patent Sep. 19, 2006 Sheet 10 0f 42 US 7,110,936 B2
@ Site Manager Configuration E
I? No proxies F Firewallwith no proxies
FUseproxies (‘Nonetworkdetection
I] Enable HTTP proxy
-H‘|'I'P Proxy
Server I Server '80 Name Port
I] Enabie SOCKS proxy
-SOCKS Proxy
Server Server I108!) Name Port
5' Ver 4 User Name: I] Authentication
r‘ yer 5 Password:
Test I OK I Cancel I Apply FIG. 4dc
U.S. Patent Sep. 19, 2006 Sheet 11 0142 US 7,110,936 B2
@Nelwork File Configuration E
III Enable Network File location for Site Manageé
Path:
I] Enable Network File location for Message Manager
Path:
Precedence: f3‘ Local?le F‘ Neiwork?le
II] Enable Network File location forTemplaies
Path: | _<»<_| |
FIG. 4dd
U.S. Patent Sep. 19, 2006 Sheet 12 0f 42 US 7,110,936 B2
42
I] file _E_d|t geavch Qptlnns Help
#2 Q 5
Code
1
Online Documentation
Product Support
Ucsnse
Registration
Purchase
Download Updates
Send complsmentSott SuppunFilas
About/\SAP
NEW Document
48 46 Menu Item Functionality .
On-line Show On-line Documentation Documentation Product Support Displays the Product Support Page with e-mail address, How to . . . and Frequently Asked
Questions License Detailed license information with the ability to renew and/or upgrade the license
Registration Perform on~line product registration Purchase Displays the complementSo? e-store
Download Retrieve Product Updates Updates Send E-mail support ?les to complementSoft complementsoft Support ?les About ASAP Version and copyright information
FIG. 4e
U.S. Patent Sep. 19, 2006 Sheet 13 0f 42 US 7,110,936 B2
gcornplemenl?oll ASAP Version 2.0 HE E
1| Elle gun gearch OJ?nns Helg
llBL§QI§QIHQJL%EEIMEEEEI>ZSIO I coda] \
1 ' 42 T Document Manager 44
Editor
u Redo
Visualizer 3‘ cm |% Copy
_ @Pasie
? Flnd Server Find Next
' Replace
.‘. Replace Next I I
Database aéc'm Manager 2:: Line numbering
ETree splxt mTemplates EditPropenles
E1 , > Execute program
72' 0 Toggle Break Points Site Message Manager
Manager ' NswDocumenl
\ File(s) onened . v
48 46 FIG. 4f
U.S. Patent Sep. 19, 2006 Sheet 14 or 42 US 7,110,936 B2
Menu Item Functionality Undo
Redo
Cut
Copy Paste
Find
Find Next
Replace Replace Next Close Close the currently active document
Line numbering Tum line numbering on of off‘
Tree Split Activate the Tree View split screen mode
Template Activate the Template Manager Manager Edit Properties Edit the properties (timestamp, originating location, etc.) of the document Execute Program Execute the currently active program (i.e., the one that the user is currently editing)
The user can further specify the execution mode (i.e., how to execute, with which option turn on/o?", etc) and execution location (i.e., where to execute, which server, which execution engine, which location)
if the user has previously activated Break-Point execution (see below), then the execution will be carried out based out the break-points, i.e., start at where the user indicate that it should start, end at where the user indicate that it should end and skipping statements as indicated by the user.
Toggle Break Activate / deactivate Break-Point execution. Points Setup Break-Points if they have not been previously setup.
Reset/Remove Break-Points if they have been previously setup Message Activate the Message Manager to add, remove, or update the messages in the message Manager repository
F'G. (continued)
U.S. Patent Sep. 19, 2006 Sheet 15 0f 42 US 7,110,936 B2
44
/ Ill @lz'iel'gglnv-ateeta|nmzzszlzlml>>ele|
New
Open Save
Print Preview
Undo
Redo
Cut
Copy Paste
Find Find a word
Refresh Refresh the Editor display
Toggle Line Show or hide line numbers Numbers Toggle Tree View Enable or disable Tree View
Template Activate the Template manager
Execute Program Execute the currently active program
Close Close the currently active program
Toggle Break Enable of disable Break Point Execution Point Execution
‘FIG. 5