Home

Eiffel in Computer Language - Chair of Software Engineering

image

Contents

1. EX OTIC LANGUAGE OF THE MONTH CLUB Eiffel Applying the principles of object oriented design ee iffel is a language based on the prin ciples of object oriented design augmented by features enhancing correctness extendability and efficiency Currently available on UNIX Eiffel includes a library of reusable classes and tools for tasks such as auto matic configuration management docu mentation and debugging Software quality involves trade offs among many factors Reusability or the ability to produce software components that may be used in many different ap plications is one of the more important factors Many of the same program pat terns frequently recur but actual reuse of program modules is much less wide spread than it ought to be Another im portant factor is extendability although software is supposed to be soft it is noto riously hard to modify software systems especially large ones Reusability and extendability allow for less software to be written Thus pre sumably more time may be devoted to other goals efficiency ease of use etc In the long run it may pay off to con centrate on these two factors they were indeed paramount in the design of Eiffel Other design goals that played a sig nificant part in developing Eiffel include software correctness and robustness por tability and efficiency in the context of practical medium to large scale developments To achieve r
2. end class FIXED_LIST The inherit clause lists the parents of the new class which is their heir The ancestors of a class include the class it self its parents grandparents etc The opposite term is descendant Declar ing FIXED_LIST as shown ensures all the features and properties of lists and arrays are applicable to fixed lists as well Another example of multiple inheri tance is extracted from a windowing sys tem based on a class WINDOW Windows have graphical features height width position etc with associ ated routines to scale them move them and so on The system permits windows to be nested allowing for hierarchical features access to subwindows and the parent window adding a subwindow de leting a subwindow attaching to another parent and so on Rather than writing a complex class that would contain specific implementations for all these features it is preferable to inherit all hierarchical features from TREE one of the classes in the basic Eiffel library describing tree implementations and all graphical fea tures from a class RECTANGLE Multiple inheritance raises the possi bility of name clashes This problem is solved in Eiffel by a rename construct which is also useful to provide locally well adapted names for inherited features An important aspect of inheritance is that it enables the definition of flexible program entities that may refer to ob jects of various forms at run
3. Standard Debugger Fast Compilation F77L FORTRAN LANGUAGE SYSTEM For porting or developing this is the critics choice Editor s Choice the most robust compiler tested the most efficient and productive FORTRAN development tool for the DOS environment F77L EM 32 bit 895 F77L EM 16 bit Break through the DOS 640K barrier The most powerful PC Fortran PC Magazine Micro Systems Language Systems for downloading or writing large programs PRODUCTIVITY TOOLS Profiler ULI Mathematical Functions Library Overlay Linker Toolkit Utility Libraries Windows Memory Boards 80386 HummingBoard IF YOU DEMAND THE VERY BEST THEN YOU SHOULD BE USING LAHEY CALL US TO DISCUSS YOUR PC FORTRAN NEEDS CALL FOR NEW FEATURES INCLUDING MATH COPROCESSOR EMULATION 30 DAY MONEY BACK GUARANTEE FOR INFORMATION OR TO ORDER 1 800 548 4778 L Lahey Computer Systems Inc ahey P O Box 6091 Incline Village NV 89450 Computer Systems Inc TEL 702 831 2500 TLX 9102401256 CIRCLE 49 ON READER SERVICE CARD 83 84 TRUE MULTITASKING With MultiDos Plus multitasking for the IBM PC Ideal for developing applications in process control data acquisi tion communications and other areas Check these features which make Multidos Pius an unbeat able value Run up to 32 programs concur rently Your software continues to run under DOS No need to learn a new operating system Use the compilers
4. as in entity_name feature name The two kinds of features in clude routines or operations such as open deposit may withdraw or with draw and attributes data items associ ated with objects of the class Routines are further divided into pro cedures and functions only functions re turn a result In the previous example may withdraw is a function with an in teger parameter returning a Boolean re sult the other three routines invoked are procedures The example of class X does not show whether in ACCOUNT balance is an at tribute or a function without parameters This ambiguity is intentional A class such as X a client of ACCOUNT does not need to know how a balance is ob tained it could be stored as an attribute of every account object or recomputed by a function from other attributes such as the list of previous deposits and with drawals The choice between these repre sentations is internal to ACCOUNT but irrelevant to clients The following is a first sketch of how ACCOUNT itself might look line seg ments beginning with two dashes are comments Entity and associated object O Figure 1 81 es Forth gives you total control of y computer but only HS FORTH gives 82 plemented functionality so you aren anging with great possibilities and lot ork With over 1500 functions you Imost done before you stari i COME TO HS FORTH where megab rams compile at 10 000 lines
5. is Withdraw sum from the account require sum gt 0 sum lt balance minimum_balance do add sum ensure balance old balance sum end withdraw may withdraw as before Create initial INTEGER is require initial gt minimum_balance do balance initial end Create invariant balance gt minimum_balance end class ACCOUNT Syntactically assertions are Boolean expressions with a few extensions such as the old notation The semicolon see the precondition to withdraw is equiv alent to and but permits individual iden tification of the components which is useful for producing informative error messages when assertions are checked at run time Assertions may indeed be monitored at run time since such monitoring may pe nalize the performance it is enabled on option class by class For each class two levels of monitoring are possible pre conditions only or all assertions The classes of the basic Eiffel library widely used in Eiffel programming are protect ed by carefully written assertions A vio lated assertion will trigger an exception Unless the programmer has written an appropriate exception handler the excep tion will cause an error message and termination Independently of any run time check ing however assertions are powerful tools for documenting correctness argu ments they make explicit the assump tions on which programmers rely when they write program fr
6. per m cute faster than ones built mitad systems Then use AUTOO ch within a few percent of fuli asse CIRCLE 47 ON READER SERVICE CARD class ACCOUNT export open deposit may_withdraw withdraw balance owner feature balance INTEGER minimum_balance INTEGER is 1000 owner STRING open who STRING is Assign the account to owner who do owner who end open add sum INTEGER is Add sum to the balance Secret procedure do balance balance sum end deposit deposit sum INTEGER is Deposit sum into the account do add sum end deposit withdraw sum INTEGER is Withdraw sum from the account do add sum end withdraw may withdraw sum INTEGER BOOLEAN is ls it permitted to withdraw sum from the account do Result balance gt minimum_ balance end deposit end class ACCOUNT This class includes two clauses fea ture which describes the features of the class and export which lists the names of features available to clients of the class Nonexported features are consid ered secret Here procedure add is se cret so accl add 3000 would be illegal in X Attribute minimum balance is also secret lasses are de fined as abstract data type imple mentations What defines an abstract data type however is not just the avail able operations but also the formal prop erties of these operations which do not appear in the previou
7. time a phe nomenon called polymorphism This capability is one of the distinctive fea tures of object oriented languages In Eiffel it is reconciled with static typing The underlying language convention is simple an assignment of the form a b is permitted not only if a and b are of the same type but more generally if a and b are of class types A and B such that B is a descendant of A This convention corresponds to the in tuitive idea that a value of a more spe cialized type may be assigned to an entity of a less specialized type but not the reverse As an analogy consider or dering vegetables asking for green vege tables and receiving a dish labeled vegetables is not acceptable as it could include carrots or another nongreen vegetable What makes polymorphism particular ly powerful is two complementary facili ties redefinition and dynamic binding A class s feature may be redefined in any descendant class the type of the re defined feature if an attribute or a func tion may be redefined as a descendant type of the original feature and in the case of a routine its body may also be replaced by a new one Assume for example that the class POLYGON describing polygons has among its features an array of points re presenting the vertices and a function perimeter returning a real result the perimeter of the current polygon ob tained by summing the successive dis tances between vertices An h
8. VISJON SCREENIO i is linked with your application just as any other COBOL subroutine wouid be Yes we ve always done windows SCREENIO supports Edit Masks Automatic Error Detection and Editing High Speed Video Hot Fields Key Redefinition Foreign Language Capability Custom Tabbing Order Color Control at Runtime PC Speaker Control and much much more A BMS Mapset Import is available Most programmers are amazed at how easy it is to build flashy applications using SCREENIO and COBOL gt Our Support is Outstanding We provide superb telephone support Upgrades are distributed to licensed users automatical ly for the first year There are no Runtime Fees the code you develop is yours to distribute freely We ll Send You a Free Demonstration Diskette This limited version of our Panel Editor shows how you design panels Because it s written with COBOL and SCREENIO it shows the kind of features and performance you can expect in your applications SCREENIO 2 1 is only 400 plus shipping Ask about our other programming tools and package deals too Ina hurry Most orders are delivered within 24 hours N O R CO MI Northern Computing Consultants PO Box 020897 Juneau Alaska 9980 907 780 6464 TELEX 510 601 4951 Norcom CIRCLE 53 ON READER SERVICE CARD 87
9. agments they be lieve are correct Writing assertions es pecially preconditions and postconditions amounts to spelling out the terms of a contract that controls the relationship be tween a routine and its callers The pre condition binds the callers the postcondition binds the routine This metaphor of programming as contracting is a general and fruitful paradigm Using contracts involves the risk that they may be broken which is where ex ceptions are needed An exception may arise from one of several causes When assertions are monitored an assertion violation will raise an exception Another cause is the occurrence of a hardware triggered abnormal signal which might arise from arithmetic overflow or a fail ure to find the memory needed for allo cating an object Unless a routine has made specific provisions to handle exceptions it will fail if an exception arises during its ex ecution A routine that fails triggers an exception in its caller However a routine may handle an exception through a res cue clause This optional clause attempts to patch things up by bringing the cur rent object to a stable state one satisfy ing the class invariant Then it can terminate in either of two ways m The rescue clause may execute a retry instruction This will cause the routine to restart its execution from the beginning attempting again to fulfill the routine s contract usually through another strate gy Retry as
10. d Object Oriented Soft ware Construction Englewood Cliffs N J Prentice Hall 1988 5 Interactive Software Engineering Inc Eif fel User s Manual Technical Report TREI5 UM 1986 Bertrand Meyer is president of Inter active Software Engineering Inc Santa Barbara Calif a company that pro duces and distributes CASE tools Now COBOL Programmers Can Do Formatted Screens Quickly and Easily with SCREENIO Realia COBOL Micro Focus COBOL IBM COBOL 2 SCREENIO is a high performance COBOL specific screen manager for the Personal Com puter and compatibles It s powerful offers an impressive array of features yet is easy to use SCREENIO was written by experienced COBOL professionals and represents a truly COBOL approach to screen management on the PC Design and Revise Screens Painlessly with Our Panel Editor Use our interactive Panel Editor Facility to design your screens with a What You See Is What You Get approach You can easily modify and experiment with screen layouts Type titles and descriptive information on the screen draw lines and boxes using the utsor movement keys and paint the colors you want using te cursor keys or tiae functioris Use all 256 color combinations on your screens Programmi g Sieh CREENIO i is s Easy You can display your screen and accept data with as few as two statements a COPY panelname in your WORKING STORAGE SECTION and a CALL SCREENIO statement in the PROCEDURE DI
11. d in the case of the client rela tion may involve cycles But Eiffel s solution frees programmers from having to keep track of changed modules to maintain the consistency of their sys tems An algorithm avoids many unneed ed recompilations by detecting modifications that do not impact class in terfaces In practice this algorithm pre vents a chain reaction of recompilations in a large system when a feature imple mentation is changed in a low level class Eiffel s environment also contains de bugging tools tools for run time asser tion checking a tracer and symbolic debugger and a viewer for interactive ex ploration of the object structure at run time A documentation tool short produces a summary version of a class that shows the interface as available to clients the exported features and in the case of rou tines the header precondition and post condition The manual for the basic Eiffel library contains Eiffel documenta tion produced almost entirely from out put generated by short Such documentation is essentially obtained for free and even more importantly is guar anteed to be consistent with the docu mented software as the documentation is extracted from it This should be con trasted with classical approaches where software and documentation are viewed as separate products A postprocessor integrated in es per forms various optional modifications on the generated C code removing of un nece
12. deferred routines of VEHICLE the following will be correct REALIA COBOL DRIVES THE HIGH SPEED DESKTOP Our competitors will tell you that performance is secondary it s not Or they ll want you to buy faster hardware don t Thousands of programmers Know how much difference Realia COBOL makes every day in their own productivity and their users satisfaction Realia COBOL is not only the fastest compiling COBOL for the PC or PS 2 2 to 10 times faster than the other PC COBOLs It also produces the tightest fastest executable programs 4 to 70 times faster than the others Call for your copy of the Realia COBOL 3 00 Benchmark Report Or ask for a free evaluation copy of the product we ll also send you the benchmark program so you can compare the compilers for yourself REALA v VEHICLE c CAR t TRUCK Geal J t Create if some test then v c else v end v register 1988 Deferred classes are particularly useful for applying Eiffel as a design language rather than just for implementation The first version of a system may be given as a set of deferred classes whose purpose may be described by assertions This is achieved with dynamic binding Depend ing on the outcome of a test the appro priate version or register will be used at run time iffel runs on UNIX System V 4 2BSD and XENIX and has been ported to about 15 different architectures The compiler uses C as an intermediate languag
13. e giv ing Eiffel the potential to be portable to any environment supporting C The task of making Eiffel portable to VAX VMS is under way The openness of Eiffel s implementa tion deserves mention Eiffel s classes are meant to be interfaced with code written in other languages This is reflected by the optional external clause that in a routine declaration lists external sub programs used by the routine For exam ple a square root routine might rely on an external function sqrt x REAL eps REAL REAL is Square root of x with precision eps require x gt 0 eps gt 0 external csqrt x REAL eps REAL REAL name sqrt language C do Result csqrt x eps ensure abs Result 2 x lt eps end sqrt The optional name subclause caters to the various naming conventions of other languages The construction of systems in Eiffel is supported by a set of development tools Most important are the facilities for automatic configuration management in tegrated in the compilation command es Eiffel System When a class C is com piled the system automatically looks for all classes on which C depends directly or indirectly as client or heir and re 10 South Riverside Plaza Chicago IL 60606 312 346 0642 Telex 332979 CIRCLE 46 ON READER SERVICE CARD B COMPUTER LANGUAGE m MAY 1988 compiles those whose compiled versions class may be a Client ol one of 11s descen dants an
14. east as much as promised by the original con tractor but may achieve more hence the possibility for the postcondition to be stronger bet Buy Let s C with csd for just 75 If you re not satisfied get Turbo C or QuickC Free you can own chores not all package a serious shortcoming LET S C Now compiles twice as fast Integrated edit compile cycle editor libraries automatically points lo errors gt Includes both small and targe memory assembler archiver mi Integrated environment or command source code include line interface 8087 sensing and support libraries number Products must be return on telephone orders M 1988 Mark Williams Company If youthink you can buya er C compiler don t We ll buy it for you Why are we making this incredible offer Because we re absolutely cer tain Lets C and csd C Source Debugger are the best C programming tools Rest assured that like its competition Let s C features incredibly fast in memory compilation and produces extremely tight high quality code The differences lie in how much faster you can perform other programming Our debugger for example can cut development time in half But that s csd is close to the ideal debugging environment a definite aid to learning C and an indispensable tool for program development And comparatively speaking No debugger ts included in the Michael Abrash Prog
15. eir of POLYGON may be eee class RECTANGLE export inherit POLYGON redefine perimeter feature Specific features of rectangles such as sidel REAL side2 REAL perimeter REAL is Rectangle specific version do Result 2 sidel side2 end perimeter other RECTANGLE features It is appropriate to redefine perimeter for rectangles since a simpler and more efficient algorithm exists Other descendants of POLYGON may also have their own redefinitions of perimeter Dynamic binding means that the version to use in any call is deter mined by the run time form of the pa rameter Consider the following class fragment p POLYGON r RECTANGLE PR p Create r Credlej ss if c then p r end print p perimeter The assignment p r is valid be cause of the rule in the previous example If condition is false p will refer to an object of type POLYGON when p peri meter is evaluated so the polygon algo rithm will be used In the opposite case however p will dynamically refer to a rectangle so the redefined version of the feature will be applied This capability is known as dynamic binding Dynamic binding provides a high de gree of flexibility and generality Its ad vantages include the ability to request an operation here the computation of a fig ure s perimeter without knowing what version of the operation will be selected the selection occurs only at run time This is essent
16. eusability and extend ability the principles of object oriented design provide the best known technical approach Object oriented design is the construction of software systems as structured collections of abstract data type implementations The following points are worth noting in this definition m The emphasis is on structuring a sys tem around the classes of objects it ma nipulates rather than the functions it performs m Objects are described as instances of abstract data types data structures known from an interface rather than through their representation w Basic modular units called classes de scribe implementations of abstract data types m Collection reflects how classes ood os By Bertrand Meyer should be designed as units that are in teresting and useful on their own inde pendent of the systems to which they belong and may be reused by many dif ferent systems Software construction is viewed as the assembly of existing classes not as a top down process start ing from scratch E Structured reflects the existence of important relationships between classes particularly the multiple inheritance relation A class represents an implementation of an abstract data type a set of run time objects characterized by the opera tions available on it which are the same for all instances of a given class and the properties of these operations These ob jects are called the class s
17. ial in large systems where many variants of operations may be available and each component of the sys tem should be protected against variant changes in other components Assertions are another tool in Eiffel for controlling the power of the redefini tion mechanism If no precautions are taken redefinition may be dangerous how can a user be sure evaluation of p perimeter will not in some cases return the area for instance One way to maintain the semantic consistency of routines throughout their redefinitions is to use preconditions and postconditions which are binding on re definitions More precisely any redefined version must satisfy a weaker or equal precondition and ensure a stronger or equal postcondition than in the original Thus by making the semantic con straints explicit routine writers may lim it the amount of freedom granted to eventual redefiners These rules should be understood in light of the contracting metaphor de scribed earlier Redefinition and dynamic binding introduce subcontracting for ex ample POLYGON subcontracts the im plementation of perimeter to RECTANGLE when applied to any enti ty that refers at run time to a rectangle object An honest subcontractor is bound by the contract accepted by the prime contractor it may not impose stronger requirements on the clients but may ac cept more general requests hence the possibility for the precondition to be weaker Also it must achieve at l
18. instances Classes and objects should not be con fused classes are a compile time notion whereas objects exist only at run time This difference is similar to the differ ence in classical programming between a program and one execution of that program A simple example of a class is AC COUNT which describes bank accounts Before showing the class we describe how it would be used by another class such as X called a client To use AC COUNT X may introduce an entity and declare it of this type acc ACCOUNT The term entity is preferred to vari able as it denotes a more general notion An entity declared of a class type such as acc may at any time during execu tion refer to an object Figure 1 since Eiffel is a typed language this object must be an instance of ACCOUNT or as I will discuss later a descendant class of ACCOUNT An entity that does not refer to any object is void By default at initialization entities are void ob jects must be created explicitly by an instruction acc Create This instruction associates acc with the newly created object Create is a pre defined feature of the language Once acc has been associated with an object the features defined in AC COUNT may be applied to it as in accl open John acc deposit 5000 if acc may _withdraw 3000 then acc withdraw 3000 end print acc balance All feature applications use the dot notation
19. r feature dues_paid year INTEGER BOOLEAN is end William G Wong BYTE tbo C osd Debug in C source cade not assembler Provides separate source evaluation program and history windows Ability z set trace points and monitor variadi Can interactively evaluate any C expression Can execule any C function in your program a Trace back function CIRCLE 51 ON READER SERVICE CARD 85 valid_plate yeor INTEGER BOOLEAN is end register year INTEGER is Register vehicle for year require dues_paid year deferred ensure valid_plate lyear end register Other features end This example assumes that no single registration algorithm is applicable to all types of vehicles the exact procedure to follow depends on the type of vehicle considered passenger car motorcycle truck etc However the same precondi tion and postcondition are applicable to all types of vehicles The solution is to treat register as a deferred routine mak ing VEHICLE a deferred class Effective versions of this routine are given in de scendants of class VEHICLE for exam ple CAR TRUCK etc A deferred class may not be instanti ated v Create is illegal if v is an entity declared of type VEHICLE But such an entity may be assigned a reference to an instance of a nondeferred descendant of VEHICLE For example assuming CAR and TRUCK provide effective definitions for all
20. rammer s Journal Unlike our competition Let s C includes its own full featured assembler features documentation with complete examples and technical support with complete answers the first time you call LET S C AND csd FEATURES Full UNIX compalibility and complete e Many powertul ulilities including make MicroEMAGS full screen editor with Supported by dozens of third party So ifyou re thinking about buying any other C compiler think again But this offer is only available fora limited time So think fast And see your software dealer or call 1 800 MWC 1700 soon 1 312 472 6659 in Illinois To exchange Lets C and csd or Turbo C or QuickC retum registration card within 15 days of purchase date notify Mark Williams Company that you are returning products and recelve a return authorization within 30 days of purchase date or within 30 days of shipping date Mark Williams Company 1430 West Wrightwood Chicago Illinois 60614 312 472 6659 Sea Tia n important ex _ tension of the in ee NE heritance mechanism is provided by deferred classes A deferred class is a class con taining at least one deferred routine a routine is declared as deferred to express that implementations of the routines will be provided only in descendants For ex ample a system used by the Department of Motor Vehicles to register vehicles could include a class of the form deferred class VEHICLE export dues_paid valid_plate registe
21. s example Eiffel enables programmers to express formal properties of classes by writing assertions which may appear in the fol lowing positions m Routine preconditions express condi tions that must be satisfied whenever a routine is called For example withdraw al might only be permitted if it keeps the account s balance on or above the mini mum Preconditions are introduced by the keyword require m Routine postconditions introduced by the keyword ensure express conditions guaranteed to be true on routine return m Class invariants must be satisfied by instances of a class at all times or more precisely after object creation and after any call to the class s routine They are described in the invariant clause of a class and represent general consistency constraints imposed on all routines of a class Assertions in Eiffel reflect the notion of correctness already mentioned Tech niques for producing extendable and re usable components are of little interest unless we convince ourselves these com ponents are also correct and robust The ACCOUNT class may be rewrit ten with appropriate assertions class ACCOUNT export as before feature Aue Attributes as before balance minimum_balance owner open as before add as before deposit sum INTEGER is Deposit sum into the account require sum gt 0 do add sum ensure balance old balance sum end deposit withdraw sum INTEGER
22. sary routines simplifying of calls to nonpolymorphic routines and in line ex pansion of simple routines One of its main options is the generation of a stand alone C package from an Eiffel system The package comes with a make file and a copy of the run time system It may be ported to any environment sup porting C and some primitive system functions This cross development facility is particularly interesting for developers who use Eiffel to design and implement their software but deliver it to their cus tomers in C form Eiffel need not be available on the target environments The basic Eiffel library is a repertoire of classes covering many important data structures and algorithms The library enables programmers to think and write in terms of lists trees stacks hash ta bles etc rather than arrays pointers flags and the like Recent Eiffel developments includ through the network oF rant ae These tools rely on on a set of graphical library classes based on the X Windows package from Massachusetts Institute of Technology Cambridge Mass I believe Eiffel is the first language to combine the powerful ideas of object oriented languages with the modern con cepts of software engineering These ca pabilities are available to software developers in an environment offering the facilities required to develop serious software RARP Raua suc ER E ER Pascal Ada and Modula 2 1988 to appear 4 Meyer Bertran
23. sumes the instructions of the rescue clause before the retry have attempted to correct the cause of the exception m If the rescue clause does not end with retry the routine fails it returns to its caller immediately signaling an excep tion The caller s rescue clause will be executed according to the same rules Note that a routine with no rescue clause is considered to have an empty rescue clause so any exception occurring during the routine s execution will cause the routine to fail immediately The prin ciple underlying this approach is that a routine must either succeed or fail If it fails it must notify its caller by trigger ing an exception The Advanced Programmer s Editor That Doesn t Waste Your Time For DOS Microportt gt a UNIX SCO Xenix or SAS 2 Protected Mode e Fast EMACS style commands completely reconfigurable e Run other programs without stopping Epsilon concurrently e C Language support fix errors while your compiler runs e Powerful extension language Great on line help system e Multiple windows files e Regular Expression search e Unlimited file size line length Supports large displays e 30 day money back guarantee e Not copy protected Only 195 LuUGgaArtu Software Ltd 5843 Forbes Avenue Pittsburgh PA 15217 for IBM PC XT AT s or compatibles CIRCLE 48 ON READER SERVICE CARD LAHEY SETS NEW FORTRAN STANDARDS LAHEY PERSONAL FORTRAN 77 Low cost Full 77
24. tech niques help make components as general and flexible as possible The first such technique is genericity which exists in different form in lan guages such as Ada but is new to object oriented languages Classes may have generic parameters representing types The following examples come from the basic Eiffel library ARRAY T LIST T LINKED_LIST T These classes describe one dimensional arrays general lists without commit ment as to a specific representation and lists in linked representation respective ly Each has a formal generic parameter T representing an arbitrary type To use these classes you provide actual generic parameters that may be either simple or class types as in the following declarations il LIST INTEGER aa ARRAY ACCOUNT aal LIST ARRAY ACCOUNT etc Another key reusability technique is multiple inheritance The basic idea is simple define a new class by combining and refining existing classes rather than as a new entity defined from scratch The following is a typical example of multiple inheritance from the basic Eiffel library LIST as indicated describes lists of any representation One possible representation for lists with a fixed num ber of elements uses an array Such a class will be defined by combination of LIST and ARRAY as follows class FIXED_LIST T export inherit LIST T ARRAY IT feature Specific features of fixed size lists
25. you already have Supports software written in most languages Operator commands to load run programs change priority check program status abort suspend resume programs Programmatic interface via INT 15H for the following Intertask message communica tion Send receive check mes sage present on 64 message ueues ask control b semaphores semaphores Change priority 256 priority levels Suspend task for specified interval Spawn and terminate external and internal tasks Disable enable multitasking and morel Independent foreground back displays cess to DOS while applications are running means of et release check Hardware Software Requirements IBM PC XT AT or true clone Enough memory to hold Multidos Plus 48 KB and all your application programs Also may need 4 or 16 KB memory for hidden screens for each active task MS DOS or PC DOS 2 0 or later operating system only 24 95 OR 99 95 with source code Outside USA add 5 00 shipping and handling Visa and Mastercard orders only call toll free 1 800 872 4566 ext 350 or send check or money order to NANOSOFT 13 Westfield Rd Natick MA 01760 MA orders add 5 sales tax CIRCLE 50 ON READER SERVICE CARD uilding software Bere or classes as imple mentations of abstract data types yields systems with a solid architecture but does not ensure reusability and extend ability However certain Eiffel

Download Pdf Manuals

image

Related Search

Related Contents

E・COOL用器具取扱説明書 - オプトロム 環境エネルギー事業部  Metra 99-5830B car kit  USER MANUAL NOR  Whistler Motorcycle Bluetooth Headset  Fiche projet vierge.ppt - Arts appliqués  IHCT2-RCUAG010 Rev03 Jul2008_WSZ  recuperatori di calore    Probe Stand - Electro  User's guide - LRBAR rev A.pub  

Copyright © All rights reserved.
Failed to retrieve file