home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / calcpart.zip / CALCPART.INF (.txt)
OS/2 Help File  |  1995-04-23  |  121KB  |  229 lines

  1.  
  2. ΓòÉΓòÉΓòÉ 1. Title page ΓòÉΓòÉΓòÉ
  3.  
  4.                  Calculator Part for IBM Smalltalk and VisualAge
  5.  
  6.                           Product Description Brochure
  7.                               Copyright (C) - 1995
  8.                                        by
  9.                  DB Technologies, Inc. - Object Technology Group
  10.                               All rights reserved.
  11.  
  12.                                  April 18, 1995
  13.  
  14.                              PRELIMINARY INFORMATION
  15.  
  16.  
  17. ΓòÉΓòÉΓòÉ 2. Trademarks ΓòÉΓòÉΓòÉ
  18.  
  19. VisualAge is a trademark of the IBM Corporation. 
  20.  
  21.  
  22. ΓòÉΓòÉΓòÉ 3. Description ΓòÉΓòÉΓòÉ
  23.  
  24.  The Calculator Part is a VisualAge Part designed to provide an easy-to-use, 
  25. reusable, and extensible component for the construction of sophisticated 
  26. software calculator objects.  The Calculator Part is a non-visual part by 
  27. design.  By placing a core calculator engine in a non-visual part, it was 
  28. possible to increase functional flexibility and logically separate the 
  29. calculator engine from the calculator user-interface.  As a result, a wide 
  30. variety of different user-interfaces can be wrapped around the same core 
  31. calculator engine to accommodate virtually any user-interface specification. 
  32.  
  33.  
  34. ΓòÉΓòÉΓòÉ 4. Flexible user-interface ΓòÉΓòÉΓòÉ
  35.  
  36.  One of the initial design-requirements of the Calculator Part was the ability 
  37. to provide software emulation of a hand-held calculator and to present it as a 
  38. familiar user-interface object for use in VisualAge applications.  A further 
  39. requirement was that the user-interface portion of the calculator had to be 
  40. customizable by the VisualAge developer. The Calculator Part had to be able to 
  41. provide the VisualAge developer with the ability to construct a user-interface 
  42. which would emulate any hand-held calculator available on the open market 
  43. (Hewlett Packard, Texas Instruments, Casio, Sharp, etc.).  Additionally, the 
  44. developer had to be able to construct entirely new calculator objects which may 
  45. be functionally similar to  conventional hand-held calculators, yet uniquely 
  46. different and targeted for specialized use (an example of which would be a 
  47. lung-mechanics calculator used by respiratory health care professionals). 
  48.  
  49. While the typical hand-held calculator is a familiar object, it is a 
  50. procedurally oriented device which requires the user to perform a precise 
  51. number of sequences in a predetermined order. This interface can, at times, be 
  52. quite cumbersome.  For this reason, the Calculator Part had to accommodate 
  53. other types of user-interfaces such as form based user-interfaces. An example 
  54. of two very different user-interfaces for calculating compound interest are 
  55. shown in Figure 1.0. 
  56.  
  57.  The two different user-interfaces illustrated in Figure 1.0 are wrapped around 
  58. the same core calculator engine (FinancialCalculator Part).  Figure 2.0 
  59. illustrates the Form based user-interface in the design environment. Figure 3.0 
  60. shows the more conventional hand-held calculator user-interface in the design 
  61. environment. 
  62.  
  63.  To assist the VisualAge developer in constructing calculator part 
  64. user-interfaces, several composite visual parts are included in the Calculator 
  65. Part package.  These parts are intended to reduce the amount of work required 
  66. in creating hand-held calculator  type user-interfaces. They can be inherited 
  67. and extended upon by the VisualAge developer.  The following descriptions 
  68. illustrate a few of these parts (additional parts will ship with the release 
  69. version of the product): 
  70.  
  71.  
  72. ΓòÉΓòÉΓòÉ 4.1. Basic Numeric Keypad Part ΓòÉΓòÉΓòÉ
  73.  
  74.  The Basic Numeric Keypad Part is a composite visual part that represents the 
  75. basic numeric keypad found on most hand-held calculators.  VisualAge developers 
  76. can instantiate a Basic Numeric Keypad Part and connect it to a Calculator Part 
  77. during the design of their calculator user-interface. This saves the developer 
  78. time and effort during user-interface design work. 
  79.  
  80.  Figure 4.0 shows a Basic Numeric Keypad Part connected to a Calculator Part in 
  81. the VisualAge design environment. 
  82.  
  83.  
  84. ΓòÉΓòÉΓòÉ 4.2. Basic Operations Keypad Part ΓòÉΓòÉΓòÉ
  85.  
  86.  The Basic Operations Keypad Part is a composite visual part that represents 
  87. the basic operations keypad found on most hand-held calculators.  VisualAge 
  88. developers can instantiate a Basic Operations Keypad Part and connect it to a 
  89. Calculator Part during the design of their calculator user-interface. This 
  90. saves the developer time and effort during user-interface design work. 
  91.  
  92.  Figure 5.0 shows a Basic Operations Keypad Part connected to a Calculator Part 
  93. in the VisualAge design environment. 
  94.  
  95.  
  96. ΓòÉΓòÉΓòÉ 4.3. Basic Memory Keypad Part ΓòÉΓòÉΓòÉ
  97.  
  98.  The Basic Memory Keypad Part is a composite visual part that represents the 
  99. basic memory keypad found on most hand-held calculators.  VisualAge developers 
  100. can instantiate a Basic Memory Keypad Part and connect it to a Calculator Part 
  101. during the design of their calculator user-interface. This saves the developer 
  102. time and effort during user-interface design work. 
  103.  
  104.  Figure 6.0 shows a Basic Memory Keypad Part connected to a Calculator Part in 
  105. the VisualAge design environment. 
  106.  
  107. Additional composite visual Parts are also available in the standard product 
  108. package. Individual extentions of the above mentioned Parts are available for 
  109. the FinancialCalculator and the ScientificCalculator Parts. 
  110.  
  111.  
  112. ΓòÉΓòÉΓòÉ 5. Architecture ΓòÉΓòÉΓòÉ
  113.  
  114.  The core calculator engine (Calculator Part) can be inherited and extended by 
  115. the developer to add functionality. The basic product distributed by DB 
  116. Technologies, Inc. currently consists of three different variations of the core 
  117. calculator engine packaged as Calculator, FinancialCalculator, and the 
  118. ScientificCalculator.  At the lowest level of functionality is the Calculator 
  119. Part.  It consists of the basic calculator functionality (keyboard input, 
  120. result and status display output, and basic mathematical operations such as 
  121. addition, subtraction, multiplication, and division). The FinancialCalculator 
  122. Part inherits all of the functionality present in the Calculator Part and adds 
  123. special financial features to it (compound interest, annuity calculations, 
  124. amortization calculations, etc.).  The ScientificCalculator Part inherits all 
  125. of the functionality of the Calculator Part and adds advanced functions to it 
  126. (trigonometric functions, logarithmic functions, factorials, number base 
  127. conversions, etc). 
  128.  
  129.  All of the Calculator Parts Calculator, FinancialCalculator,and the 
  130. ScientificCalculator consist of four main functional modules which collectively 
  131. constitute the core calculator engine: 
  132.  
  133.  
  134.                             Display Output Module(s)
  135.  
  136.                               Keyboard Input Module
  137.  
  138.                        Arithmetic/Logic Unit (ALU) Module
  139.  
  140.                                   Memory Module
  141.  
  142.  A functional block diagram of the core calculator engine is illustrated in 
  143. Figure 7.0. 
  144.  
  145.  
  146. ΓòÉΓòÉΓòÉ 5.1. Calculator Part Public Interface ΓòÉΓòÉΓòÉ
  147.  
  148. The Calculator Part has the following public interface: 
  149.  
  150. The following information will describe the Calculator Part's public interface 
  151. in relation to the core calculator engine functional block diagram: 
  152.  
  153.  
  154. ΓòÉΓòÉΓòÉ 5.2. Display Module ΓòÉΓòÉΓòÉ
  155.  
  156.  The Calculator Part's Display Module consists of two attributes, 
  157. displayValueString, and statusDisplay. Usually label objects are connected to 
  158. these two attributes to provide the user-interface portion of the calculator 
  159. display. Two Actions (clearAll and clearDisplay) belong to the core calculator 
  160. engine's Display Module. 
  161.  
  162.  
  163. ΓòÉΓòÉΓòÉ 5.3. Keyboard Input Module ΓòÉΓòÉΓòÉ
  164.  
  165. The Calculator Part's  Keyboard Input Module consists of several Actions which 
  166. provide input to the Calculator Part's Display Module. The Calculator Part's 
  167. keyboard input Actions consist of: 
  168.  
  169.  The Calculator Part's Keyboard Input Module receives input via these Actions. 
  170. It automatically updates the calculators displayed value when any one of these 
  171. Actions are invoked. Usually these Actions are invoked when a user-interface 
  172. button object is clicked. Figure 8.0 shows the typical connection: 
  173.  
  174.  
  175. ΓòÉΓòÉΓòÉ 5.4. Arithmetic Logic Unit (ALU) Module ΓòÉΓòÉΓòÉ
  176.  
  177. The Calculator Part's  Arithmetic Logic Unit (ALU) Module consists of several 
  178. Actions which provide the mathematical functionality of the core calculator 
  179. engine . The Calculator Part's ALU Actions consist of: 
  180.  
  181.  The displayValue attribute is a part of the ALU Module (its string 
  182. representation- displayValueString attribute is part of the Display Module). 
  183. The ALU Module is the portion of the Calculator Part which is extended the most 
  184. in derived parts. The above mentioned Actions define the minimum of 
  185. functionality in the core calculator engine. 
  186.  
  187.  
  188. ΓòÉΓòÉΓòÉ 5.5. Memory Module ΓòÉΓòÉΓòÉ
  189.  
  190. The Calculator Part's Memory Module consists of several Actions which provide 
  191. the stored memory facilities of the core calculator engine . The Calculator 
  192. Part's Memory Module Actions consist of: 
  193.  
  194. The memoryValue attribute is the single unit of storage present in the 
  195. Calculator Part. It provides storage of a single floating point value.  Derived 
  196. Parts usually provide extensions to the core calculator engine's Memory Module 
  197. if needed. Statistical features provided in the FinancialCalculator and the 
  198. ScientificCalculator Parts extend the Memory Module via Smalltalk Collections. 
  199.  
  200.  
  201. ΓòÉΓòÉΓòÉ 6. Conclusion ΓòÉΓòÉΓòÉ
  202.  
  203.  All calculator parts can be extended and packaged as reusable VisualAge Parts. 
  204. Each of the core calculator engine's four functional modules (Keyboard Input, 
  205. Display Output, ALU, and Memory) can be extended as well. The ALU module is 
  206. frequently extended to add mathematical functionality. 
  207.  
  208. DB Technologies, Inc - Object Technology Group. is presently fabricating an 
  209. additional Display Output Module which will add graphic plotting facilities to 
  210. the Calculator Part.  The graphic plotting output module will be available in 
  211. the first release of the product. 
  212.  
  213. The Calculator Part was developed entirely with IBM VisualAge version 2.0. and 
  214. is therefore compatible with all IBM Smalltalk and VisualAge supported 
  215. platforms. 
  216.  
  217.  
  218. ΓòÉΓòÉΓòÉ 7. Additional Information ΓòÉΓòÉΓòÉ
  219.  
  220.  Revisions to this document, sales materials, technical data sheets and other 
  221. product information will be made available through the DB Technologies, Inc. 
  222. sales department as it becomes available. Product information will be available 
  223. in on-line form (Information Presentation Facility format) and circulated on 
  224. various information networks. 
  225.  
  226. The Calculator Part product is scheduled to enter Beta testing beginning May 1, 
  227. 1995.  You may contact DB Technologies, Inc. to request Beta site privileges. 
  228.  
  229.