United States Patent (19) 11 Patent Number: 5,819,090 Wolf Et Al
Total Page:16
File Type:pdf, Size:1020Kb
USOO5819090A United States Patent (19) 11 Patent Number: 5,819,090 Wolf et al. (45) Date of Patent: *Oct. 6, 1998 54 APPLICATION CONTROL MODULE FOR Guterman, “Tandy reported poised to add XT-class and 286 COMMONUSER ACCESS INTERFACE machines", PC Week, p. (1) 2, Jul. 1988. 75 Inventors: Julie M. Wolf, Crowley; Charles D. Deskmate Getting Started, Tandy, pp. 1-81, 1989. Lanier, Grapevine; Bryan L. Helm, Microsoft Works User's Guide, Microsoft Corp. pp. 1-45, Fort Worth, all of Tex. 300-305, 1989. HyperCard User's Guide, Apple Computer, Inc. pp. 1-161, 73 Assignee: AST Research, Inc., Irvine, Calif. 1988. * Notice: The term of this patent shall not extend Dykstra, “Professional DeskMate 1.01 Integrated Package”, beyond the expiration date of Pat. No. PC World, pp. 194–196, Sep. 1988. 5,430,836. DeskMate Development System 03.03.00, About This Kit Chapters 1-5 and Appendices, Tandy Corporation, 1989. 21 Appl. No.: 815,802 DeskMate Technical Reference, Version 03.03.00, Tandy 22 Filed: Mar 12, 1997 Corporation, pp. 1-1 through 26-8, 1989. Related U.S. Application Data Primary Examiner Alvin Oberley Assistant Examiner St. John Courtenay, III 63 Continuation of Ser. No. 459,026, Jun. 2, 1995, which is a continuation of Ser. No. 206,043, Mar. 4, 1994, Pat. No. Attorney, Agent, or Firm-Knobbe, Martens, Olson & Bear, 5,430,836. LLP. (51) Int. Cl." ........................................................ G06F 9/40 57 ABSTRACT 52 U.S. Cl. .................. ... 395/682; 395/335 An application management System for achieving a common 58 Field of Search ...................................... 395/335, 682 user access (CUA) interface throughout multiple applica tions of a computer System is described. The System includes 56) References Cited an operating environment having an application control U.S. PATENT DOCUMENTS module (ACM) that is run-time bound and executable by the applications. The ACM furnishes generalized procedural 4,889,136 12/1989 Beard et al. ............................ 128/855 5,062,060 10/1991 Kolnick ........ ... 395/339 codes for each application. The application uses data Struc 5,079,695 1/1992 Dysart et al. ........................... 395/680 tures to define the appearance and operation of the applica 5,103,498 4/1992 Lanier ....................................... 395/68 tion to the ACM. The System also integrates the application 5,287,514 2/1994 Gram ....... ... 395/333 program interfaces (API's) of an operating environment 5,327,529 7/1994 Fults et al. .............................. 395/335 graphic user interface (GUI) system and a database man agement system (DBMS) within the ACM. The invention OTHER PUBLICATIONS reduces the programming required for applications and Scheifler et al., “The X Window System”, ACM Transac improves consistency in programming acroSS multiple appli tions, pp. 79-109. cations. Fersko-Weiss, “DeskMate", PCMag., p. 153(2), Dec. 1989. Petzold, “DeskMate", PC Mag., pp. 115(3), Sep. 1989. 6 Claims, 10 Drawing Sheets 5OO 502-) - -530 - - - - - -APPLICATION - - - - - PROGRAM - - - - - - - - - - - | S GU Data structures Application Control Module Database Data structures AP . run a m m m m m s - we aar APPLICATIONm m m- m m CONTROLm was - MODULE- - - -204 210 O6 PROCEDURAL CODE 114 512 510 DATA CONVERSION Management System OPERATING ENVIRONMENT (DESKMATE) as as aaa a m m m m m. - U.S. Patent Oct. 6, 1998 Sheet 1 of 10 5,819,090 100 116 FIG. 1 104 y 114 CENTRAL SYSTEM DISK PROCESSER MEMORY STORAGE 118 PONTING KEYBOARD DEVICE 106 110 112 108 200 HIC. 2 212 Y 206 208 Operating Environment (DeskMate) APPLICATION CONTROL 210 MODULE FIC 3 (PRIOR ART) 308 PROCEDURAL CODE GUI DATA Database AP CONVERSION Management AP C : Operating Database Environment Monagement 4. GUI System Module Module 318 Ca C U.S. Patent Oct. 6, 1998 Sheet 2 of 10 5,819,090 F-Einduojºuº|| 907 U.S. Patent Oct. 6, 1998 Sheet 3 of 10 5,819,090 Database Management - - - - - - - - - - - - - - - - - 5 Operating Database 2 Environment Management 1. GU System 518 N-504 d - OPERATING ENVIRONMENT (DESKMATE) 600 502 FIG. 6 y APPLICATION Application Database data structures CONTROL ACM data structures MODULE ACM AP U - DRAW Management AP U.S. Patent Oct. 6, 1998 Sheet 4 of 10 5,819,090 * FN > 702 to ACM FIG. 7 704 FALSE TRUE 706 Bind DotabOSe 730 Module 708 IF Database FALSE Module Loaded Initialize Data and 710 Components 712 COI DRAW routine to present Screen to user Coll RUN module to process user input 720 Perform return code application S UNKNOWN Code COMMAND 722 724 726 728 F ERROR or CO END Unbind Unbind User requests to shutdown Database Application termination application module Control Module 732 730 FALSE Loop to 716 U.S. Patent Oct. 6, 1998 Sheet 5 of 10 5,819,090 8 OO { BEGINX FIC. 8 802 GlobalSet upDoto UCOision 804 ColDispatcher Command to init Screen 806 Register Application Components 808 Open Components 812 810 Error TRUE Closeapplication and delete Components Open database 814 file and table Initialize International 816 structure 818 IF ERROR FALSE 82O F dotd to initialize Initialize doto 822 and Components Activote the 824 bose window 826 Return status U.S. Patent Oct. 6, 1998 Sheet 6 of 10 5,819,090 900 Run { BEGIN) Function FIG. 9 902 |F TRUE Process 904 Focus has focus change changed Command O6 F 910 ERROR Redrow Reset component 912 Set Component Colors colors 908 Run Current 914 component Interpret component 916 return code 9 2O IF ERROR 918 FALSE CorikandCal Interpret 9999 1111 7951 Dispatcher Event 924 F ERROR FALSE 92 6 IF FALSE Focus Changing IF Notify Application FALSE 950 Loop to 902 U.S. Patent Oct. 6, 1998 Sheet 7 of 10 5,819,090 1000 u1 1902 FIC, 1 O Component TRUE Set modified Action hasmodified been flag Interpreterp 1008 1004 F IF 1006 set start state Event is application and trmp-command waiting to be should be based upon redd notified component return code Redd event into Event element of TEMPLATE RUNTIME structure F Event shouldignored be Get Commond from component. Use the TMPL COMMAND structure |F TRUE Commond is NULL send Command to Command Dispatcher set start state based on result of the Commond return status 1024 U.S. Patent Oct. 6, 1998 Sheet 8 of 10 5,819,090 1100 Event FIG. 1 1A 1102 Interpreter 1 104 eventIF is a selection of external TRUE task ApplicationIF should be notified IF Event is a Commond 1108 Call commond Set stort state dispatcher to set tmplcommand 1120 1118 execute set status to external tosk reason for leaving FALSE F focus will Event is a change chorocter IF SCreen TRUE Process needs to be character key redrown for focus change. 1114 Purge is andF Event "Event Redrawthe event that needs to be SCreer purged Set Event to NULL to indicate it has been processed N1128 1132 1130 IF set start state TRUE stort state S GET EVENT FALSE U.S. Patent Oct. 6, 1998 Sheet 9 of 10 5,819,090 Event Interpreter 1136 ( Continued ) Commond is the Set Commond Navigator Component to Navigator Identifier identifier Set focus id in Command is TEMPLATE RUNTIME a component structure to reflect identifier new component FALSE 1144 Set stort state Application to INTERP CMD set Wants to be tmp Cmd to the notified Current Command FALSE Call Command Dispatcher to perform user's input (command) continue With step 1128 1150 in F.G. 1 1A FIG. 1 1 B U.S. Patent Oct. 6, 1998 Sheet 10 0f 10 5,819,090 1200 Component ReOctions LOokup reaction in Component hedder 12O2 F Component reaction is NULL End 1300 Function Coll DOCMP REACTION (reaction, pCmp) Set up global data pointers for RUN, SCREEN, DATA IF 1302 more components structures to process 1208 close any open 1304 database files close all GUI 1306 Components Remove any added application defined components End session with GUI. Unbind from CSR. 5,819,090 1 2 APPLICATION CONTROL MODULE FOR accomplished, the procedural codes developed by one pro COMMONUSER ACCESS INTERFACE grammer will differ from another thereby requiring indi vidual testing of the same characteristic of the CUA in This is a continuation of applications(s) Ser. No. 08/459, multiple programs. 026 filed On Jun. 2, 1995, which is a continuation of Ser. No. Consistency in coding of CUA procedural code and common basic functions is therefore desirable to ensure 206,043, Mar. 4, 1994, now U.S. Pat. No. 5,430,836. thorough testing and quality control where multiple program COPYRIGHT NOTICE authors with individualized coding Styles each contribute to a package of applications. In order to achieve this A portion of the disclosure of this patent document consistency, procedural codes to maintain a CUA may be containes material which is Subject to copyright protection. coded one time, then shared between multiple applications. The copyright owner has no objection to the facsimile Similarly, many common basic functions of each application reproduction by anyone of the patent document or the patent may be coded once and shared. This increases the produc disclosure as it appears in the Patent and Trademark Office tivity of the programmer and also avoids duplication of effort in programming. In the past, Sharing of common basic file or records, but otherwise reserves all copyright rights 15 whatsoever. functions has been done by the use of code libraries. Code libraries have the advantage that a piece of code can be FIELD OF INVENTION developed, tested and maintained “outside' of the applica tion program. The program then links to this library and at The invention relates to application programming Systems link time the code is placed into the application's executable for computers, and particularly to a System for achieving a file.