. USOO5379432A UIllted States Patent [19] [11] Patent Number: 5,379,432 Orton et al. [45] Date of Patent: Jan. 3, 1995 [54] OBJECT-ORIENTED INTERFACE FOR A 5,339,422 8/1994 Brender et al. ................... .. 395/700 PROCEDURAL OPERATING SYSTEM 5,341,478 8/1994 Travis, Jr. et a1. ............... .. 395/200 [75] Inventors: Debra L. Orton, San Jose; Eugenie L. OTHER PUBLICATIONS Boltmlr Sunnyvale; Daniel Guedes, Paulo, “Objet-Oriented Interfaces in the Mach chermlioff’ P810 Alto; DaYld B‘ 3.0 Multi-server System”, IEEE 1991. Goldsmlth’ Los Gatos; chnstoPher P‘ Rashid, Richard, “Machi A Foundation For Open Sys . Mwlle's L°S Ah“, 9“ °f Cahf- terns”, Carnegie Mellon University, IEEE 1989. [73] Assignee: Taligent, Inc., Cupertino, Calif. Mary Jo Foley, “Taligent, IBM draw closer”, PC Week, Feb. 21, 1994 vol. 11, No. 7 p. 8. [21] Appl‘ No‘: 94’675 Franz, Michael, “Emulating an Operating System on [22] Filed: Jul. 19, 1993 Top of Another”, 1993 by John Wiley & Sons, Ltd. [51] Int. Cl.6 .............................................. .. G06F 9/40 Primary Examiner-Kevin A. Kriess [52] US. Cl. .................................. .. 395/700; 364/280; Assistant Examiner—Matthew M. Payne 364/286; 364/ 976; 364/977.2; 395/500 Attorney, Agent, or Firm—Keith Stephens [58] Field of Search ....................................... .. 395/700 [57] ABSTRACT [56] References cued An apparatus for enabling an object-oriented applica U.S. PATENT DOCUMENTS tion to access in an object-oriented manner a procedural 4 456 954 M19“ Bunions) m et a1. " 364/200 operating system having a native procedural interface is 415301052 7/1985 King et a1. ............ .. 364/200 dlsclosed- The apparatus Includes a Computer and a 4,821,220 4/1989 Duisberg . .. 364/578 memory component In the computer A code library is 4,885,717 12/1989 Beck et a1. ........ .. 364/900 stored in the memory component. The code library 4,891,630 1/1990 Friedman et a1. .. 340/706 includes computer program logic implementing an ob 4,953,030 8/1990 Dysalft e! 81- --------- -- 364/200 ject-oriented class library. The object-oriented class 5041992 8/1991 cunmngham et a1‘ ' 364/518 library comprises related object-oriented classes for $1211: ‘1211' """"" " enabling the application to access in an object-oriented 5:075:848 12/1992 Lai et 211. 2.1.5.1‘. 595/425 manner sfirvices Provided by the °Perating System The 5,093,914 3/1992 Cop?en et a1_ __ 395/700 object-oriented classes include methods for accessing 5,119,475 6/ 1992 Smith et al. .. 395/ 156 the operating system services using procedural function 5,125,091 6/1992 Staas, Jr. et al. 395/650 calls compatible with the native procedural interface of 5,133,075 7/ 1992 RlSCh . .. 395/800 the operating system_ The computer processes object 5r136r705 8/1992 stubbs et a1‘ 395/575 oriented statements contained in the application and 5’151'987 9/1992 Abfaham et a1‘ 222/ de?ned by the class library by executing methods from 2:151:31 1211333 2233;681:1111: 3955700 rhs slsss lrbrsry corresponding rs rhs objssr-srrsrrsd 5,280,610 1/1994 Travis, Jr. et al. 395/600 Statements 5,287,507 2/1994 Hamilton et al. 395/650 5,293,385 3/ 1994 Hary .................................... .. 371/19 4 Claims, 17 Drawing Sheets START F 204 V LOCATE IN PROGRAM OBJECT-O 12 ENTED STATEMENT ACCESSING M 206 OPERATING SYSTEM ll THANSLATE OBJECT ORIENTED STATEMENT TO PROCEDURAL FUNCTION CALL COMPATIBLE WITH v208 PROCED URAL INTERFACE 0F OPERATING SYSTEM ll B<ECUTE PROC EDU RAL FUNCTION CALL ‘1 210 212 US. Patent Jan. 3, 1995 Sheet 2 of 17 5,379,432 202 204 LOCATE IN PROGRAM OBJECT-ORIENTED STATEMENT ACCESSING 206 OPERATING SYSTEM TRANSLATE OBJECT ORIENTED STATEMENT TO PROCEDURAL FUNCTION CALL COMPATIBLE WITH 208 PROCEDURAL INTERFACE OF OPERATING SYSTEM EXECUTE PROCEDURAL FUNCTION CALL 210 Figure 2 US. Patent Jan. s, 1995 Sheet 3 0f 17 5,379,432 3K @~ METHOD CODE IN TASK ADDRESS SPACE? LIBRARY SERVER FIND LIBRARY KNOWN? SERVER ACCESS LIBRARY SERVER AND COPY METHOD CODE FROM CODE LIBRARY TO TASK ADDRESS SPACE EXECUTE METHOD CODE Figure 3 US. Patent Jan. s, 1995 Sheet 4 0f 17 5,379,432 CODE THREAD CLASSES I 494 m LIBRARY 1 1O TASK CLASSES I 406 VIRTUAL MEMORY CLASSES I ,408 IPC CLASSES I‘ ,410 CLASS '\/ LIBRARY 402 SYNCHRONIZATION CLASSES|\,412 SCHEDULING CLASSES I 414 FAULT CLASSES I 416 MACHINE CLASSES I 418 SECURITY CLASSES I 420 Figure 4 US. Patent »‘ Jan. s, 1995 Sheet 7 of 17 5,379,432 2:9".h mmmmwm?omimob vi. Emgwiczcoh Non US. Patent Jan. s, 1995 Sheet 8 of 17 5,379,432 959".m 8226:Sw 59.2 mom vow?mmotawboémsc. boEmEmEdOSOF coEwoQwi EmmSSQcoEmE... mom US. Patent Jan. 3, 1995 Sheet 10 of 17 5,379,432 coEucoOhoscoik moo?coop :0’N2:0:: 22:2“ \.\ \\ 292E802 AEEwHSEoSC.xuodouucog.v woo?1/ mooF US. Patent Jan. 3, 1995 Sheet 11 of 17 5,379,432 3.: oicmInmmEt.E:_. ségowumezt. 2.6m2 0P: mo: mo: \\K8: US. Patent Jan. 3, 1995 Sheet 12 of 17 5,379,432 1 202 TFaultDesignation ( TI'askHandle ) 1 206 Tl'hreadHandle '1 1210 1 208 FaultAssociation ( TPortSendHightHandle ’ 1212 1212 TFaultTypeSet ( TFaultType ) EFaultMessageType 121 6 1218 1 220 \ 1222 TFaultType 1230 1 224 TMCsaoxoFault-rype - etc. for all possible 68K faults ( TMC68OXOAddressFault ) ( mcsaoxoBadAcoessFault ’ 1226 1228 Figure 12 US. Patent Jan. 3, 1995 Sheet 14 of 17 5,379,432 k2=28comm85:26?c.Sun9:22m9: m5 325223m 23E3 v83/‘@8956”; / ?mommmognmmh mow? US. Patent Jan. s, 1995 Sheet 15 of 17 5,379,432 82952m2. shows.29939 222350.“. VEEPA$58885 V82).‘#58885 BSwDnEOXQQQOE 3EVA2230805;mosmm?smoxowwog mmEmExoEwoXommOSC.:3w gmuwummhct. momP comp amesmvagmoxommozh momF US. Patent Jan. a, 1995 Sheet 16 of 17 5,379,432 25E2 065163829?$9wizmIummEC. 5?osucwzxwmt.sucm?uwozuomgzih c .Pc 0 \c0651.85. Na: cmow? F c momF mooF US. Patent Jan. 3, 1995 Sheet 17 of 17 5,379,432 EaEaomam:2;m‘III HHOAAJ$08.258:m8: ‘J3:AcgaememaéHU$9 ‘wt63u.vf3.“A“ 2.5m2 3263x 3?_onm_x 5,379,432 1 2 A second “fringe bene?t” of good encapsulation in OBJECT-ORIENTED INTERFACE FOR A object-oriented design and programming is that the PROCEDURAL OPERATING SYSTEM resulting code is more modular and maintainable than code written using more traditional techniques. A portion of the disclosure of this patent application 5 The fact that objects are encapsulated produces an contains material which is subject to copyright protec other important fringe bene?t that is sometimes referred tion. The copyright owner has no objection to the fac to as data abstraction. Abstraction is the process by simile reproduction by anyone of the patent disclosure, which complex ideas and structures are made more as it appears in the Patent and Trademark Of?ce patent understandable by the removal of detail and the gener ?les or records, but otherwise reserves all copyright alization of their behavior. From a software perspec rights whatsoever. tive, abstraction is in many ways the antithesis of hard coding. Consider a software windowing example: if FIELD OF THE INVENTION every detail of every window that appears on a user’s The present invention relates generally to object-ori screen in a graphical user interface (GUI)-based pro ented computing environments, and more particularly 5 gram had to have all of its state and behavior hard to a system and method for providing an object-ori coded into a program, then both the program and the ented interface for a procedural operating system. windows it contains would lose almost all of their ?exi bility. By abstracting the concept of a window into a BACKGROUND OF THE INVENTION window object, object-oriented systems permit the pro Object-oriented technology (OOT), which generally 20 grammer to think only about the speci?c aspects that includes object-oriented analysis (OOA), object-ori make a particular window unique. Behavior shared by ented design (00D), and object-oriented programming all windows, such as the ability to be dragged and (GOP), is earning its place as one of the most important moved, can be shared by all window objects. new technologies in software development. OOT has This leads to another basic component of OOT, already begun to prove its ability to create signi?cant which is the class. A class includes a set of data attri increases in programmer productivity and in program butes plus a set of allowable operations (that is, meth maintainability. By engendering an environment in ods) on the data attributes. Each object is an instance of which data and the procedures that operate on the data some class. As a natural outgrowth of encapsulation and are combined into packages called objects, and by abstraction, OOT supports inheritance. A class (called a adopting a rule that demands that objects communicate subclass) may be derived from another class (called a with one another only through well-de?ned messaging base class, a'parent class, etc.) wherein the subclass paths, OOT removes much of the complexity of tradi inherits the data attributes and methods of the base tional, procedure-oriented programming. class. The subclass may specialize the base class by The following paragraphs present a brief overview of adding code which overrides the data and/or methods some of the more important aspects of OOT. More of the base class, or which adds new data attributes and detailed discussions of OOT are available in many pub methods. Thus, inheritance represents a mechanism by licly available documents, including Object Oriented which abstractions are made increasingly concrete as Design With Applications by Grady Booch (Benjamin/ subclasses are created for greater levels of specializa Cummings Publishing Company, 1991) and Object-Ori tion.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages38 Page
-
File Size-