|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - downloadIndex: ┃ R T ┃
Length: 80760 (0x13b78) Types: TextFile Names: »RCI_RELEASE2_0_5_LPT«
└─⟦5829e5ed5⟧ Bits:30000534 8mm tape, Rational 1000, RCI 2_0_5 └─ ⟦c9a165082⟧ »DATA« └─⟦2c082c1fb⟧ └─⟦this⟧
Rational Compilation Integrator Release Information Release 2_0_5 \f Copyright 1992 by Rational Part Number: 508-003279-002 December 1992 (Software Release 2_0_5) DEC, VAX, and VMS are trademarks of Digital Equipment Corporation. UNIX is a registered trademark of AT&T. Rational and R1000 are registered trademarks and Rational Environment and Rational Subsystems are trademarks of Rational. Rational 3320 Scott Boulevard Santa Clara, California 95054-3197 \f Release 2_0_5 1. Overview This release note describes Release 2_0_5 of the Rational Compilation Integrator (RCI), also referred to as the Customizable RCI. The purpose of this release is to enhance and expand Release 1_2_2 of the Customizable Remote Compilation Facility (RCF), the previous version of this product. This release provides support for CMVC integration, batch operations, spec views, cached Telnet connections, and restructured state information, in addition to problem fixes. For a complete list of fixed bugs, refer to Section 6, "Fixed Problems" of this document. 2. RCI Components The following RCI components are installed as part of the release: !Targets.Implementation.Rci_Release2_0_5 -- Main RCI release world !Machine.Target_Builder.Rci_Errors -- Encoded Rci Errors !Targets.Implementation.Rci_User_Interface -- Rci command interface Rev2_0_Spec Code2_0_5 !Targets.Implementation.Rci_Programmatic_Interface -- Rci Programmatic Interface Rev2_2_Spec !Targets.Implementation.Rci_Customization_Interface -- Rci Customization Interface Rev2_0_Spec !Rci.Reusable_Components.Rev2_0_0 -- Rational Reusable Components For more information on installation of this product, refer to the installation instructions delivered with this release. For user information, refer to the RCI User's Manual. 3. Upgrade Impact This section describes upgrade issues for the Customizable RCI, your site-specific extensions, and the Rational Environment. RATIONAL December 1992 1\f RCI Release Information 3.1. Rci Product Name In this release, the product name changes from Rational Remote Compilation Facility (RCF) to Rational Compilation Integrator (RCI). As of this release, the RCI no longer supports Rcf packages. Corresponding names for all packages have changed from Rcf to Rci. 3.2. Upgrading the Customizable RCI Installing the RCI handles base product upgrade requirements. Upgrade the following related areas in the RCI base product to support new functionality: * Convert customer-developed tools that depended on Rcf interfaces to import the corresponding Rci specs. * If you plan to use spec views, convert combined subsystems to spec/load subsystems, since CMVC only allows you to spawn spec views in a spec-load subsystem. See Section 5.4 and the RCI User's Manual for more information. 3.3. Upgrading Your Extensions To use this release, you must upgrade your existing RCF extensions. Appendix B provides step by step instructions to complete this process. Other changes to the RCI affect your extension: * The meaning of the Release Preprocess and Postprocess has changed in this release. The RCI calls these extensions in addition to, as opposed to instead of, the Make_Path Extensions, in the following order: - Release Preprocess - Make_Path Preprocess - View created - Make_Path Postprocess - Units coded if so specified - Release Postprocess. The customization impact of this change is that release extensions should no longer simply call the corresponding Make_Path extensions, as they are already called. Instead, they should only contain Release-specific operations (for example, freezing the remote directory after the release). 2 December 1992 RATIONAL\f Release 2_0_5 Note that the Make_Path extensions take a new For_Release parameter, that notifies the customization whether the current view-spawning operation is a release or not. * Make_Path Postprocess is no longer responsible for creating parent directories of the directory specified in the Remote- _Directory parameter. The RCI itself takes care of this for Rci.Build_Remote_Library (and Rci.Rebuild_Remote_Library) and view-creating CMVC operations. You should remove any modifications you have included in Make_Path_Postprocess to manage parent directory creation. 3.4. Upgrading the Rational Environment The Rational Environment Release D_12_7_3 (Delta3_1) includes a number of enhancements that allow the RCI 2_0 to work better. The following known problems occur with RCI running on Release D_12_6_5 (Delta3_0): * Cmvc.Make_Path takes secondary referencers and secondary state files that belong to body units in the source view and attaches them to corresponding spec units in the destination view. * Using a CMVC operation to change a secondary unit causes the associated primary unit to be demoted in Release D_12_6_5 even if one specifies Allow_Demotion => False. * Although error messages are printed, the RCI on D_12_6_5 does not prevent the user from creating load_views with RCI target keys. * Performing an Accept_Changes operation from one RCI view to another does not bring secondary information associated with a unit if that unit did not previously exist in the destination view. * Configuration-only releases leave flattened secondary state information in the source view after the operation is complete. * Destroy_View_Postprocess is not called in Release D_12_6_5. It is called under Release D_12_7_3 unless the view being destroyed is set to Host_Only. You can correct all of these problems by upgrading your Rational Envrionment to Release D_12_7_3. 4. Prerequisites Before you use the RCI, confirm the following prerequisite conditions: RATIONAL December 1992 3\f RCI Release Information * The R1000 is running Rational Environment Release D_12_6_5 (or higher). * The host R1000 and remote compilation server are on the same network. * An entry in !Machine.Transport_Name_Map identifies host communications operations. The entry should appear in the following format: tcp/id 127.000.000.001 local_host rational * An entry in !Machine.Transport_Name_Map identifies the remote compilation server. For example, where tcp/ip is the communications protocol, 89.64.128.9 is the internet address, Tilden is the logical machine name, and Aix is the remote compilation operating system, the entry appears as follows: tcp/ip 89.64.128.9 Tilden Aix * The network communication server is running. The RCI supports two modes of file transfer and command execution: DTIA and Telnet/FTP. DTIA is not a prerequisite for extensions using the Telnet/FTP transfer mode. If you are using a extension with a DTIA transfer mode, the DTIA server must be installed on the host R1000 and running on the remote compilation platform. To detect if the host server is running: - Execute What.Users. - Search for job name DTIA Remote_Operations Server in the list. To detect if the remote DTIA server is running, refer to the DTIA installation instructions. 5. New Features This section describes the features added since Release 1_2_2 of the Customizable RCF. See the RCI User's Manual for more detailed information on features described in this section. 4 December 1992 RATIONAL\f Release 2_0_5 5.1. CMVC Integration This RCI release incorporates the functionality of package Rcf_Cmvc into the Rational Environment's CMVC operations. In most cases you should use Cmvc commands in place of Rcf_Cmvc commands. In general, CMVC commands use values controlled by library and session switches to determine values for the remote machine and directory. Package Rci_Cmvc replaces package Rcf_Cmvc, but should be used under limited circumstances. Package Rci_Cmvc contains a limited number of commands for view-creation operations in which you need to provide explicit values for Remote_Machine and Remote_Directory parameters. Rci_Cmvc commands use the same parameter profile (but not necessarily default values) as their corresponding Cmvc commands with the exception of the two additional parameters, Remote_Machine and Remote_Directory. Package Rci_Cmvc contains the following commands: * Build * Copy * Initial * Make_Path * Make_Spec_View * Make_Subpath * Release 5.2. Using Cmvc.Destroy_View This release incorporates the functionality of the Rcf_Cmvc- .Destroy_View command (which is no longer supported) into the Cmvc.Destroy_View command. Since this command does not include a Destroy_Remote_Library parameter, the value in the Rci.Host_Only library switch determines whether or not to destroy the remote library. If Rci.Host_Only contains its default value (False), the command destroys the remote library (specified in the host view's Ftp.Remote_Directory library switch) and the host view. If you set Rci.Host_Only to True, the command destroys the host view but takes no action on the remote compilation platform. 5.3. Rci Switches This release contains the following new switches: * Session_Rci.Auto_Create_Remote_Directory * Rci.Auto_Transfer RATIONAL December 1992 5\f RCI Release Information * Rci.Custom_Key_Default_Machine * Session_Rci.Custom_Key_Default_Machine * Rci.Custom_Key_Default_Roof * Session_Rci.Custom_Key_Default_Roof * Rci.Operation_Mode * Rci.Optimize_Download * Rci.Remote_Library * Session_Rci.Retrieve_Executable 5.4. Using Spec Views The RCI provides support, with some limitations, for Spec_Views with the Cmvc.Make_Spec_View and the Rci_Cmvc.Make_Spec_View commands. The RCI does not support load views or activity-based dynamic linking. Spec views are intended to represent place-holders for target combined-views. The RCI does not maintain consistency between spec view units and combined-view units, or between spec view units and remote units. CMVC only permits you to spawn spec views in spec-load subsystems. If you have done previous RCI development in combined subsystems, you need to convert those to spec-load to use spec views. Note, also, that when using spec-load subsystems, you may need to set Create_Combined_View to True for the various view-creation operations. This is because the default behavior in spec-load subsystems is to create load views. 5.5. Setting FTP Switches with Remote-Library Creation Commands When you create a remote directory using one of the following procedures: * Cmvc (or Rci_Cmvc) view-creation commands * Rci.Build_Remote_Library or Rci.Rebuild_Remote_Library and the command successfully creates the remote directory, the RCI sets values in the view's Ftp.Remote_Machine and Ftp.Remote- _Directory library switches. If the command fails, the RCI does not set values in these switches. 6 December 1992 RATIONAL\f Release 2_0_5 5.6. Batch Operations You can register RCI extensions for either batch compilation mode or interactive mode. Under batch compilation mode, the RCI supports operations to generate batch scripts, execute the scripts on the remote compilation platform, transfer units to different machines, and upload associated files. 5.7. State Information Restructuring RCI Rev2_0_0 obsolesces the TBU-based RCI state files in View_Name.Tools.Tool_State. It replaces them with a set of separate files in the Tool_State directory. This change also extends the maximum unit-option length to 1024 characters. 5.8. Telnet Connection Caching The RCI caches remote connections. After a user establishes a connection, the RCI does not acquire new connections for the same user to the same remote machine, for as long as the original connection remains in the cache. The RCI caches a maximum of four connections on the host machine. The amount of time a connection is held in the cache is customizable, but users should be aware that holding a connection ties up a network port, and users may run out of available Telnet ports on the machine because the RCI has cached them and may not free them for the duration specified in the cache specification file. In such cases, you can still free the ports by making a call to the programmatic interface Release_Unused_Connections. This call releases unused cached connections. 6. Fixed Problems This section describes problems fixed since RCF Release 1_2_2. Fixes noted as Customizers Only apply to customization components of the RCI. Customizers should check these fixes; general users can ignore these sections. The following table provides the PRS number of the problem, the section number of the description in this release note, and the PRS summary of the problem. RATIONAL December 1992 7\f RCI Release Information Summary of Fixed Problems ------------------------------------------------------------- | | | | | PRS Number | Sec | PRS Summary | | | Num | | ------------------------------------------------------------- | | | | |none |6.3 |CUSTOMIZER ONLY | | | |The RCI ignores Remote_Unit_Name | | | |extension values | ------------------------------------------------------------- | | | | |1227523-Gato- |6.2 |Allow EXE retrieve to be an option on | |Mboy | |customization | ------------------------------------------------------------- | | | | |1546259-Jazm- |6.9 |Need target semantic checking in | |Jak | |spec/load views | ------------------------------------------------------------- | | | | |2002254-Gato- |6.10 |Build Remote Library message needs | |Mboy | |additional information | ------------------------------------------------------------- | | | | |2264311-Blut- |6.11 |rcf_cmvc package needs total | |Smp | |compatibility | ------------------------------------------------------------- | | | | |3178322-Blut- |6.12 |RCF initialization log messages | |Smp | | | ------------------------------------------------------------- | | | | |329380-Jazm- |6.13 |Slow response time | |Jak | | | ------------------------------------------------------------- | | | | |3483464-Gato- |6.14 |Log reporting problem with | |Mboy | |RCF.DISPLAY_UNIT_OPTIONS | ------------------------------------------------------------- | | | | |4136360-Bozo- |6.15 |Rcf.Rebuild_Remote_Library gets error | |Hvz | |messages if View parameter is an Ada | | | |unit. | ------------------------------------------------------------- | | | | |4718267-Gato- |6.1 |Download time should be download edit | |Mboy | |time | ------------------------------------------------------------- | | | | |5095347-Gato- |6.16 |csr6688: RCF_CMVC.ACCEPT_CHANGES uses | |Mboy | |excess time after completion of | | | |cmvc.accept_changes | ------------------------------------------------------------- 8 December 1992 RATIONAL\f Release 2_0_5 ------------------------------------------------------------- | | | | | PRS Number | Sec | PRS Summary | | | Num | | ------------------------------------------------------------- | | | | |5185401-Gato- |6.6 |RCI should check for null remote | |Mboy | |directory | ------------------------------------------------------------- | | | | |5374578-Gato- |6.15 |RCI, Rebuild_Remote_Library | |Mboy | |demote/promote context needs changed | ------------------------------------------------------------- | | | | |606019-Gato- |6.17 |IMPORTS ON R1000 and RS6000 alib.list | |Mboy | |not consistent | ------------------------------------------------------------- | | | | |6182774-Jazm- |6.4 |CUSTOMIZER ONLY | |Jak | |Destroy_View_Postprocess not being | | | |called | ------------------------------------------------------------- | | | | |6272895-Gato- |6.18 |When doing an Accept_remote_changes, if | |Mboy | |a unit fails, command fails | ------------------------------------------------------------- | | | | |6314946-Blut- |6.19 |RCF_Execute_Remote_Command ::: output | |Smp | |log message | ------------------------------------------------------------- | | | | |7099998-Gato- |6.19 |Log message for EXECUTE_REMOTE_COMMAND | |Mboy | |has too many commas | ------------------------------------------------------------- | | | | |7421117-Gato- |6.20 |Release configuration Conflict | |Mboy | | | ------------------------------------------------------------- | | | | |7905886-Gato- |6.5 |RCF_CMVC.BUILD does not restore the | |Mboy | |state file | ------------------------------------------------------------- | | | | |821379-Wood- |6.21 |Erroneous/incomplete/unclean Start | |Hvz | |messages {":::"} for Rcf commands | ------------------------------------------------------------- | | | | |8509773-Gato- |6.4 |CUSTOMIZER ONLY | |Mboy | |Destroy_View_Postprocess should be | | | |called. | ------------------------------------------------------------- RATIONAL December 1992 9\f RCI Release Information ------------------------------------------------------------- | | | | | PRS Number | Sec | PRS Summary | | | Num | | ------------------------------------------------------------- | | | | |9018679-Gato- |6.22 |Suggestion: Fix -i options to work | |Mboy | |better when including multiple libraries| ------------------------------------------------------------- | | | | |9123690-0157-0|6.23 |csr5073: RCF.IMPORT and MAKE_PATH should| | | |allow mult views. | ------------------------------------------------------------- | | | | |9123690-0167-4|6.8 |CUSTOMIZER ONLY | | | |csr5691: Assocatied file retrieval on | | | |warning not correct | ------------------------------------------------------------- | | | | |9123690-0173-4|6.7 |csr5983: Indirect files not working | | | |correctly | ------------------------------------------------------------- | | | | |9123690-0175-6|6.24 |RCI-invalid values using Swithes.Change | ------------------------------------------------------------- 6.1. Downloading Units PRS Number => 4718267-Gato-Mboy In previous releases, the RCI used the download time of an object to determine whether it needed to be downloaded. When units were compiled, the RCI checked to see if the edit time was more recent than the download time for the object; that is, if the unit had been edited since it was last downloaded, the unit needed to be downloaded. In some cases, particularly using Archive.Copy to move units into a new view, the edit time of the unit may have been older than the download time, so the RCI did not download the unit. Instead of recording the download time, the RCI now records the edit time when it downloads the unit. It compares the edit times to determine whether or not to download the unit. A new switch, Rci.Optimize_Download, has been added to the RCI to control downloading units in interactive mode. If you set the value of the switch to False, when you compile them, the RCI downloads all units regardless of the edit times. The default value of the switch is True. 10 December 1992 RATIONAL\f Release 2_0_5 6.2. Uploading Executable Files PRS Number => 1227523-Gato-Mboy In previous releases and depending on the specific extension, the RCI automatically uploaded the executable module created by the remote linker. A new session switch, Session_Rci.Retrieve- _Executable, has been added to the RCI to determine whether or not the RCI should upload the executable module to the host. In general, if you want to upload the executable module, set the value of the Session_Rci.Retrieve_Executable switch to True. Check your extension-specific documentation for more information about uploading executable files. 6.3. Customized Remote_Unit_Name Value CUSTOMIZER ONLY PRS Number => none The RCI previously ignored the value returned by the customizable Remote_Unit_Name extension. In this release, the RCI uses the customized name for the unit and stores that value in the state information. 6.4. Destroy_View_Postprocess CUSTOMIZER ONLY PRS Number => 6182774-Jazm-Jak; 8509773-Gato_Mboy The Destroy_View_Postprocess procedure was not called in previous RCI releases. The RCI, under D12_7_0 and later versions of the Environment, calls Destroy_View_Postprocess. You can manage remote library destruction from this extension. See Appendix B for more information on new parameters. Note: You must wait until you have installed Release D_12_7_3 to use this fix. 6.5. Rci_Cmvc.Build and the State File PRS Number => 7905886-Gato-Mboy In previous releases, you had to specify the Goal parameter as Goal => Compilation.Source when restoring from a configuration to avoid errors resulting from a nonexistent state file. Rci_Cmvc.Build, as well as all Rci_Cmvc operations, simply invokes its Cmvc counterpart in this release of the RCI, after RATIONAL December 1992 11\f RCI Release Information storing remote library information. Cmvc.Build now refreshes the state information before recoding units, so you no longer need to set Goal => Compilation.Source. 6.6. Null Remote_Directory Library Switch PRS Number => 5185401-Gato-Mboy In previous releases, if the Remote_Directory library switch was inadvertently set to null, when you promoted units to coded, the RCI tried to download and compile the units on the remote compilation platform. The RCI no longer attempts to code units if the Remote_Machine or Remote_Directory library switches are set to null. 6.7. Cmvc.Accept_Changes and Indirect Files PRS Number => 9123690-0173-4 Cmvc.Accept_Changes (and Rci_Cmvc.Accept_Changes) previously could produce errors when you used an indirect file as the Source parameter. Fixed; CMVC integration eliminates this action. 6.8. Associated-file Retrieval On Warning CUSTOMIZER ONLY PRS Number => 9123690-0167-4 In previous releases, the presence of warning messages did not alter file retrieval behavior in the remote compilation operation. If there were no errors in the output log, then the RCI retrieved files specified to be retrieved under "On_Normal" or "Always" conditions. The RCI did not recognize warnings, so no files were retrieved under that condition. The presence of warnings in an otherwise error free target compilation with a Telnet customization establishes the "On_Warning" file retrieval state. The RCI retrieves files specified to be retrieved "On_Warning", as well as files specified to be retrieved "On_Normal" and "Always". 6.9. Target Semantic Checking in Spec Views PRS Number => 1546259-Jazm-Jak The RCI 2_0_5 supports spec views and the corresponding target semantic checking. 12 December 1992 RATIONAL\f Release 2_0_5 See Section 5.4, "Using Spec Views" and the RCI User's Manual for more information about using spec views. 6.10. Rci.Build_Remote_Library Message PRS Number => 2002254-Gato-Mboy Fixed; Rci.Build_Remote_Library now properly displays its parameters on startup. 6.11. Package Rcf_Cmvc and CMVC Compatability PRS Number => 2264311-Blut-Smp Cmvc integration provides most Rcf_Cmvc functionality through direct use of Cmvc and a default switch naming mechanism for remote locations. Package Rci_Cmvc replaces package Rcf_Cmvc, but should be used under limited circumstances. It contains view-creation commands that provide finer control of remote library location through Remote_Directory and Remote_Machine parameters. 6.12. RCI Initialization Messages PRS Number =>3178322-Blut-Smp Fixed; RCI initialization now reports more descriptive, user-friendly error messages. 6.13. Improved Response Time with Telnet Connection Caching PRS Number => 329380-Jazm-Jak Fixed; Caching Telnet connections improves response time. 6.14. Rci.Display_Unit_Options Report PRS Number => 3483464-Gato-Mboy Fixed; The Rci.Display_Unit_Options command does not attempt to display unit options for anything other than Ada units. 6.15. Rci.Rebuild _Remote_Library View Parameter PRS Number => 4136360-Bozo-Hvz; 5374578-Gato-Mboy In previous releases, Rcf.Rebuild_Remote_Library generated error messages if you specified an Ada unit in the View parameter. RATIONAL December 1992 13\f RCI Release Information Rci.Rebuild_Remote_Library now obtains the enclosing view of objects specified in the View parameter. 6.16. Rcf_Cmvc.Accept_Changes PRS Number => 5095347-Gato-Mboy; CSR6688 Fixed; Cmvc.Accept_Changes replaces Rcf_Cmvc.Accept_Changes. 6.17. Inconsistent Imports PRS Number => 606019-Gato-Mboy Previous to this release, the Rcf.Refresh_View, Rcf.Build_Remote- _Library, and Rcf.Rebuild_Remote_Library commands did not always create correct import lists (alib.list files) on the remote compilation platform. In particular, whenever you used these commands to build a set of remote libraries from a set of host views, the remote imports list would be incorrect unless you built the remote libraries from the bottom up (that is, starting with the views that have no imports then building their clients, then building the next layer of clients, and so on). When you use the Rci.Refresh_View, Rci.Build_Remote_Library, and Rci.Rebuild_Remote_Library commands, the remote imports lists will be correct regardless of the order in which you build the remote libraries. 6.18. Rci.Accept_Remote_Changes with Missing Units PRS Number => 6272895-Gato-Mboy During an Rcf.Accept_Remote_Changes operation on several units, if one of those specified units did not exist on the remote compilation platform, the RCI would quit, and not accept changes from the remaining units. Now the RCI prints an error mesage indicating that the unit is not found on the remote platform, and continues to accept changes for the remaining units. 6.19. Rci.Execute_Remote_Command Message Format PRS Number => 6314946-Blut-Smp; 7099998-Gato-Mboy Fixed; the Rci.Execute_Remote_Command output message format is now correct. 14 December 1992 RATIONAL\f Release 2_0_5 6.20. Cmvc.Release Naming Conflict PRS Number => 7421117-Gato-Mboy Fixed; with Cmvc integration, the RCI cannot get out of sync with CMVC on Release naming. 6.21. Rci Message Format PRS Number => 821379-Wood-Hvz Fixed; the RCI now provides more descriptive, clearer start messages for Rci commands. 6.22. Including Multiple Libraries with -i Options PRS Number => 9018679-Gato-Mboy In previous releases, it was difficult to support -i compiler options to include multiple libraries. A possible solution for long -i parameter lists is to use unit options. The maximum length of the unit option has been expanded to hold up to 1024 characters per unit to support this. 6.23. Multiple Views with Import and Make_Path PRS Number => 9123690-0157-0; CSR5073 Fixed; with CMVC integration, Cmvc.Import and Cmvc.Make_Path accept multiple views. 6.24. Setting Invalid Switch Values PRS Number => 9123690-0175-6 Fixed; the RCI now does type checking to prevent you from setting boolean switches to non-boolean values. 7. Limitations This section describes limitations in Release 2_0_5 of the Customizable RCI. RATIONAL December 1992 15\f RCI Release Information 7.1. Demoting Units with Cmvc.Destroy_View CUSTOMIZER ONLY The RCI does not call Demote Preprocess and Postprocess for RCI units demoted by a Cmvc.Destroy_View operation. 7.2. Time-Stamp and Error Handling Support CUSTOMIZER ONLY The RCI does not yet use the new hooks added to the customization to obtain remote file time-stamp information and to perform perform pattern matching on output from the remote machine. Providing values for these hooks in your customization has no effect. 7.3. Rci.Remote_Library Switch The RCI now stores the value for the remote program library for a given view in the view's compiler library switch, Rci.Remote- _Library. If you alter the value of that switch, it can cause unspecified behavior. Note: Do not change the value of the Rci.Remote_Library switch. 7.4. Target Compiler Restrictions with Generics Units that instantiate generics declared in that unit are not considered to depend on the unit that provides the generic body. This requires the RCI to tolerate certain cyclic dependencies that are accepted on compilers such as the Telesoft Rs6000. Note that some target compilers produce errors when attempting to code such a unit, preventing coding from taking place. Customers that use these more restrictive compilers do not get the benefits of the host cyclic dependency check. 7.5. Using Only_Change_Imports Users must be careful using the Only_Change_Imports parameter when spawning RCI views from R1000 views (or any view of a different target key). CMVC rejects view-spawning operations that * Set Only_Change_Imports to True * Introduce a different model * List specific views in the Views_To_Import field 16 December 1992 RATIONAL\f Release 2_0_5 The default value of Only_Change_Imports is True; you may need to set it to False if the second and third conditions exist. 7.6. Creating Spec Views You can only make a spec view from a combined view in a spec-load subsystem, not in a combined subsystem. See Section 5.4, "Using Spec Views", for more information. 7.7. Restarting the RCI If you kill the RCI, then immediately restart it, you may kill the host Environment. Wait a few seconds to restart the RCI. 7.8. Compilation Order Involving Generics Compilation ordering involving generics assumes macro expansion, regardless of how your site-specific extension or Rational- supported extension has been implemented. The RCI always assumes macro expansions and introduces additional coding dependencies as a result. 7.9. Renamed Inlined Subroutines In some cases, the RCI does not properly handle inlined subroutines that are renamed, or are contained in packages that are renamed. In particular, the RCI may not consider units that call these routines through renames dependent on the inline bodies. Also, if the renamed routine is in a different view from the caller, the RCI may fail with an exception when it tries to install the caller. 7.10. Coding Subunits and Parents PRS Number => 9123690-0167-0 Coding a subunit requires that the parent be coded first. In the RCI, if units are installed, it is assumed that they will code on the remote compilation platform. The RCI does not provide special case handling for an unusual error in the event that an Ada unit fails to code on the remote compilation platform. The compilation operation does not record whether it has tried and failed to code the parent unit. The RCI tries to code the subunit even though the parent has failed to code. RATIONAL December 1992 17\f RCI Release Information 7.11. Using DTIA and UNIX Shells PRS Number => 4514072-Gato-Mboy When you use the RCI in conjunction with DTIA and UNIX, the UNIX default login shell must be "ksh". If the default shell is "csh", then the RCI job hangs on some commands and returns a "Variable Syntax" message. Killing the RCI leaves certain processes, csh and in.dtia, running on the remote UNIX system. Use the following steps to remove those jobs: 1. Log in to the remote UNIX system. 2. Use the UNIX kill -9 command for that system to kill the remaining associated jobs. 7.12. Telnet Logins For extensions using the Telnet/FTP transfer mode, remote user logins cannot request input. If they do, such logins hang. 7.13. Prompting For Passwords The RCI no longer supports the Prompt For Password feature. 7.14. Archive.Copy/Archive.Restore Operations Note the following conditions when you use Archive.Copy and Archive.Restore with the Customizable RCI. 7.14.1. Archiving and Restoring Views Archive.Copy and Archive.Restore refresh all RCI state information when copying/restoring a view, including the following: * Remote unit names * Unit download timestamps * Unit options Compiler_Switches are copied from the source view. This leaves the switches Ftp.Remote_Machine, Ftp.Remote_Directory, Ftp.- Username, and Ftp.Password unchanged. You are encouraged to copy views using the Goal_State => Installed option. 18 December 1992 RATIONAL\f Release 2_0_5 After the archive operation has completed, use Rci.Build_Remote- _Library to build a new remote library for the host view. 7.14.2. Copying and Restoring Secondaries Archive does not copy sub-objects such as secondary referencer files. Before you copy a view containing secondaries to a new location, run Rci.Expand_Secondary_Referencers to put secondary referencer files into a form that can be copied. Once your copy operation has completed, run Rci.Collapse_Secondary_Referencers to restore the secondary referencer sub-objects. 7.15. Trace_Command_Output And Rci.Execute_Remote_Command Since Trace_Command_Output is a library switch, and Execute- _Remote_Command is a command that is not associated with any library context, this switch is not recognized by this command. 7.16. Rci.Execute_Remote_Command Rci.Execute_Remote_Command cannot run commands that require input. 7.17. COTS Specifications Caution: Rational Technical Representatives must not upload third party vendor specifications into the RCI predefined areas. As the customer, you must contact your third party vendor for information regarding license and restrictions or to obtain written permission to upload or copy specifications yourself. 7.18. Associated Files Retrieval For Secondaries When processing a secondary file, the RCI does not call the Retrieve_Associated_Files Preprocess and Postprocess extensions. 7.19. Overloading Attributes The types of the attribute prefixes must be mutually exclusive when you customize to overload vendor-specific attributes. 8. Known Problems Following is a list of problems known at the time of this release. RATIONAL December 1992 19\f RCI Release Information 8.1. Nonexistent Page Error Exception Nonexistent Page Errors can occur when the RCI is not elaborated. To determine if the RCI is elaborated: 1. Execute What.Users. 2. Search for the job name Rci_Compiler Rev2_0_5. If the RCI_Compiler is not running: 1. Run Start_Rci_Main. 2. Use Custom_Key.Register to register your extension. 8.2. Remote Access Control The remote DTIA server creates all remote files with the access permissions: rw- r-- r-- This permission setting gives read and write permission to the owner of the file, but read permission only to group and others. This can prevent multiple host R1000 users with different remote userids from operating on the same set of host views. Note: This only affects extensions that use DTIA. 8.3. File Transfer Using FTP File transfer can fail occasionally for extensions using the Telnet/FTP transfer mode. In this case, the RCI attempts the transfer three times before it stops trying to transfer. If none of the attempts succeed, the host unit is not promoted to the coded state. 8.4. RCI Compiler Switch Modification Any changes to the Compiler_Switches file while the RCI is not elaborated cause all RCI switches in that file to revert to their default values when the RCI is next elaborated. 8.5. Compilation Warnings When you execute a Compilation.Make operation that includes predefined units in its closure, it generates warning messages stating that the predefined units have no bodies. Ignore these warnings. 20 December 1992 RATIONAL\f Release 2_0_5 Workaround: Set the Rational Environment Semantics.Subsystem- _Interface library switch to True. Setting this switch indicates that the world should be treated as a subsystem interface, a spec view, and thus the units do not require bodies. 8.6. Rci.Upload_Unit Remote_Unit_Name Parameter The Rci.Upload_Unit prompts with ">>REMOTE UNIT NAME<< for the value of the remote unit name. This value should be a simple name, since the RCI appends it to the remote directory name to create the name of the unit to upload. 8.7. Response Parameter With Compilation Operations PRS Number => 903338-Gato-Mboy Setting the Response parameter in Compilation.Make or Compilation.Promote has no effect on RCI messages. 8.8. Rci.Accept_Remote_Changes Temporary File PRS Number => 7288788-Gato-Mboy The Rci.Accept_Remote_Changes command creates a temporary file, Rci_Temp_<Time_Stamp>, in the directory containing the host unit. If the changes are not parsed successfully on the Rational Environment, then the RCI leaves this file behind without deleting it. 8.9. Rci.Check_Consistency Temporary File PRS Number => 7554142-Gato-Mboy Rci.Check_Consistency creates a temporary file, <Unit_Name>_Tmp, in the directory containing the host unit. If you have already created a file with the same name, then the operation fails. This also causes the same error as Rci.Accept_Remote_Changes. 8.10. Limited Private Types In Predefined Units PRS Number => 7059170-Gato-Mboy If an extension names a limited private type from a predefined package, it generates a name resolution error. An extension names a type if the string representation of the type name appears anywhere in the extension. For example, if you define an attribute that returns a value of type System.Address, and System.Address is a limited private type, the following error occurs during registration: RATIONAL December 1992 21\f RCI Release Information Name resolution failure for type 'System.Address': AMBIGUOUS. If you make the type private, the error message does not occur. 8.11. Private Type Equality Operator In Package System PRS Number => 4348467-Gato-Mboy An error occurs when you attempt to rename the equality operator of a private type in package System. This works if the type is not private. 9. Documentation The Rational Compilation Integrator: User's Manual, PN 4000-00500, Revision 2.0, provides additional information for RCI users. 10. Training Rational Target Tools Training: Rational Compilation Integrator Fundamentals, PN 7000-00653, Revision 2.0, provides user training for the RCI. 22 December 1992 RATIONAL\f Release 2_0_5 Appendix A Fixed Problems History This appendix describes problems fixed in previous releases of the product since RCF Release 1_0_3. Descriptions of these fixes are in the RCF: Release Information Release 1_1_1 Note (PN 508-003255-007) and Release 1_2_2 Note (PN 508-003255-009). Fixes noted as Customizer Only apply to customization components of the RCF. Customizers should check these fixes; general users can ignore these sections. The following table provides the PRS number of the problem, the release in which the problem was fixed, and the PRS summary of the problem. History of Fixed Problems ------------------------------------------------------------- | | | | | PRS Number | Rel | PRS Summary | | | Num | | ------------------------------------------------------------- | | | | |none |1_1_1|Compilation from detached jobs | ------------------------------------------------------------- | | | | |none |1_1_1|DTIA and Telnet/FTP connections have | | | |broken and hung | ------------------------------------------------------------- | | | | |none |1_2_2|Incremental pragma inline disallowal | ------------------------------------------------------------- | | | | |none |1_1_1|Customizer Only | | | |Remote_Command_Interface error statuses | ------------------------------------------------------------- | | | | |none |1_2_2|Subunits of a generic body not coded | | | |before the instantiation | ------------------------------------------------------------- | | | | |none |1_2_2|Telnet Connection Echo Option | ------------------------------------------------------------- | | | | |1548835-Blut- |1_2_2|Missing Reusable Component subunits have| |Smp | |been provided | ------------------------------------------------------------- | | | | |169982-Gato- |1_2_2|Customizer Only | |Mboy | |Invalid parameters for | | | |Promote_Preprocess using secondaries | ------------------------------------------------------------- RATIONAL December 1992 23\f RCI Release Information ------------------------------------------------------------- | | | | | PRS Number | Rel | PRS Summary | | | Num | | ------------------------------------------------------------- | | | | |2394595-Gato- |1_2_2|RCI error during import | |Mboy | | | ------------------------------------------------------------- | | | | |244898-Jazm- |1_2_2|Rcf.Accept_Remote_Changes should check | |Jak | |out units | ------------------------------------------------------------- | | | | |2523423-Gato- |1_2_2|Invalid compilation order created during| |Mboy | |multiple dependent views | ------------------------------------------------------------- | | | | |2760406-Blut- |1_2_2|rcf compiler locks terminal_nnn lines if| |Smp | |job.kill of a rcf command | ------------------------------------------------------------- | | | | |2912557-Jazm- |1_1_1|Slow demotion in RCI views | |Jak | | | ------------------------------------------------------------- | | | | |308411-Jazm- |1_1_1|Private type recognition problems | |Jak | | | ------------------------------------------------------------- | | | | |3546124-Jazm- |1_1_1|Customizer Only | |Jak | |Delete phase went away in customizations| ------------------------------------------------------------- | | | | |3617494-Gato- |1_2_2|Link with Make_Uncoded_Units does not | |Mboy | |work | ------------------------------------------------------------- | | | | |3907848-Jazm- |1_1_1|Ftp waits too long between retries | |Jak | | | ------------------------------------------------------------- | | | | |4379654-Gato- |1_1_1|Implementation defined attributes do not| |Mboy | |work for expanded names | ------------------------------------------------------------- | | | | |4514072-Gato- |1_2_2|DTIA doesn't close down csh process | |Mboy | |properly | ------------------------------------------------------------- | | | | |5379137-Gato- |1_2_2|RCF holds on to telnet port when link | |Mboy | |fails. | ------------------------------------------------------------- 24 December 1992 RATIONAL\f Release 2_0_5 ------------------------------------------------------------- | | | | | PRS Number | Rel | PRS Summary | | | Num | | ------------------------------------------------------------- | | | | |5386182-Gato- |1_2_2|Customizer Only | |Mboy | |CSR6322: RCI promote gets error UNIT | | | |<UNIT_NAME> unknown to the RCF | ------------------------------------------------------------- | | | | |5772860-Gato- |1_1_1|Problem with remote import command | |Mboy | | | ------------------------------------------------------------- | | | | |6133452-Jazm- |1_2_2|Privileges required for registering a | |Jak | |target key | ------------------------------------------------------------- | | | | |6158281-Jazm- |1_2_2|Customizer Only | |Jak | |create_predefined_library should check | | | |length of target key | ------------------------------------------------------------- | | | | |6164103-Blut- |1_2_2|RCI Initialize 2 minute delay needs to | |Smp | |be lengthened | ------------------------------------------------------------- | | | | |6663531-Jazm- |1_1_1|New Feature | |Jak | |Initialization routine should match RDF | | | |format | ------------------------------------------------------------- | | | | |6785680-Gato- |1_1_1|Customizer Only | |Mboy | |RCI passes a null "views_to_import" | | | |iterator into IMPORT_PREPROCESS | ------------------------------------------------------------- | | | | |680047-Gato- |1_1_1|Problem with "IS_PRE_OPTION" on Link | |Mboy | | | ------------------------------------------------------------- | | | | |7185171-Gato- |1_1_1|Cannot have a single view which uses | |Mboy | |both the RDF and RCI | ------------------------------------------------------------- | | | | |7274371-Gato- |1_2_2|RCF_CMVC.REMOVE_IMPORTS not working | |Mboy | |correctly. | ------------------------------------------------------------- | | | | |7443648-Gato- |1_1_1|Problem with built-in operators | |Mboy | | | ------------------------------------------------------------- RATIONAL December 1992 25\f RCI Release Information ------------------------------------------------------------- | | | | | PRS Number | Rel | PRS Summary | | | Num | | ------------------------------------------------------------- | | | | |8046554-Gato- |1_1_1|Customizer Only | |Mboy | |Type definitions during customization | | | |registrations are case sensitive | ------------------------------------------------------------- | | | | |8105473-Gato- |1_1_1|Version error occurs during demote and | |Mboy | |during link using RCI | ------------------------------------------------------------- | | | | |8385064-Jazm- |1_1_1|Customizer Only | |Jak | |Rcf_Cmvc.Release calls wrong library | | | |extension routines | ------------------------------------------------------------- | | | | |9080824-Jazm- |1_1_1|Customizer Only | |Jak | |Null option problem | ------------------------------------------------------------- | | | | |9123690-0166-7|1_1_1|Csr5674: Problem with associated file | | | |name formation | ------------------------------------------------------------- | | | | |9123690-0166-8|1_1_1|Customizer Only | | | |Csr5679: RCF_LINK doesn't retrieve all | | | |associated files | ------------------------------------------------------------- | | | | |9123690-0166-9|1_1_1|Csr5680: RCI Binary File retrieval | | | |doesn't work | ------------------------------------------------------------- | | | | |9123690-0172-4|1_2_2|Better interpretation of VAX error codes| | | |needed for RCI | ------------------------------------------------------------- | | | | |9348469-Jazm- |1_2_2|Customizer Only | |Jak | |status not always being checked for | | | |preprocess | ------------------------------------------------------------- | | | | |9523197-Jazm- |1_2_2|Problem resolving <cursor> in | |Jak | |Rcf_Cmvc.Import | ------------------------------------------------------------- | | | | |959311-Jazm- |1_1_1|Csr6036: Overloading of Attributes | |Jak | | | ------------------------------------------------------------- 26 December 1992 RATIONAL\f Release 2_0_5 ------------------------------------------------------------- | | | | | PRS Number | Rel | PRS Summary | | | Num | | ------------------------------------------------------------- | | | | |9930958-Jazm- |1_2_2|Nonexistent_Page_Error while promoting a| |Jak | |unit | ------------------------------------------------------------- RATIONAL December 1992 27\f RCI Release Information 28 December 1992 RATIONAL\f Release 2_0_5 Appendix B Upgrading RCI Customizaitons In order to take advantage of new functionality and run your customized extension with RCI 2_0_5, you need to upgrade your extension. This appendix outlines steps to upgrade your existing Rev1_2_2-compatible extension to Rev2_0. This procedure should take between one and two hours to upgrade your customization to run "as is" under Rev2_0. Allow additional time if you want to implement the batch extensions. Use the following steps to upgrade your extension: 1. Install RCI_Rev2_0_0 of the base product, following the installation instructions. 2. Archive.Copy your customization from: !Targets.Implementation.RCF_Customization to !Targets.Implementation.RCI_Customization. 3. Create a new view of your customization for Rev2_0 of the base product using Cmvc.Make_Path setting: VIEW_TO_IMPORT => "!targets.implementation. [rci_customization_interface.rev2_0_spec, rci_programmatic_interface.rev2_1_spec]", ONLY_CHANGE_IMPORTS => False; 4. Make general changes to your customization as follows: * Change all references from RCF_Customization to RCI_Customization. * Change all references from RCF_Customization_Interface to RCI_Customization_Interface. * Change all references from RCF_Programmatic_Interface to RCI_Programmatic_Interface. * Change all textual references from RCF to RCI. 5. Modify <Your_Target_Key>'spec: * Procedure register should allow two new parameters (see the example in the customization template (which is supplied with the base RCI product). Batch_Mode : Boolean := False Allow_Standard_Rebuild : Boolean := False * Batch_Mode will be used to tell the customization to register in batch mode. This will cause the creation of batch scripts during the execution of batch extensions, instead of normal downloading of files to the target. RATIONAL December 1992 29\f RCI Release Information * Allow_Standard_Rebuild is passed on to RCI_Customization- .Register. It indicates whether a new package Standard should be built automatically, if the Standard_Version defined in Get_Predefined_Info is different from the Standard_Version that currently resides in the predefined world. Changing the Standard_Version requires demotion of package Standard and dependent units. Unless specified in the customization, the default value of Allow_Standard- _Rebuild in RCI_Customization.Register is False. 6. Modify <Your_Target_Key>'body: * Make the specified changes to the Register procedure to correspond to the spec. * Add the following declaration to indicate the operation mode (batch or interactive), setting the default to interactive. The_Operation_Mode : Op.Operation_Mode := Op.Interactive; * Add the following function in the declarative part of the Register procedure. It will be used to append the string _batch to the end of the job name if the customization is registered as a batch customization. function Operation_Mode return String is begin if Batch_Mode then return "_batch"; end if; return ""; end Operation_Mode; * In the body of the Register procedure, reset The_Operation_Mode to batch according to the Batch_Mode parameter (see Customization template). if Batch_Mode then The_Operation_Mode := Op.Batch; end if; -- Override the default operation mode * Add the Allow_Standard_Rebuild parameter to the call to RCI_Customization.Register. * Add Operation_Mode to the name of the customization in Program.Run_Job (see following example or customization template). Program.Run_Job ("""!targets.implementation.RCI_customization"& ".rs6000_aix_ibm'view.units""" & ".register_all_extensions(""" & T_Name & """);", Context => 30 December 1992 RATIONAL\f Release 2_0_5 "!targets.implementation.RCI_customization.rs6000_aix_ibm' view", Options => "Name => " & "RCI_Rev2_0_0_Rs6000_Aix_Ibm_" & Operational_Characteristics.Transfer_Type'Image (Get_Transfer_Type) & Operation_Mode & ", output => !machine.error_logs." & T_Name & "_extensions_log"); 7. Add the following parameters to Get_Operational_Info: Ada_Name_Is_Lower_Case => true, -- indicates ada name on target must be lower case The_Operation_Mode => The_Operation_Mode, -- Set in the body Generate_Batch_Compile_Commands => False, Run_Script_Command => "sh", -- Target commands to execute script Copy_Command => "copy", -- for tape operations, command to copy from tape Batch_Move_Script_File_Name => "move_script_name", -- name of the move script file Create_Dir_Command => "mkdir", -- target command for creating new directory Date_Command => "", -- future Date_File_Suffix => "" -- future 8. Modify Get_Telnet_Info: A new parameter was added to the TC_Characteristics record called Telnet_Protocol_Local_Echo. This parameter has a default value of False. This parameter does not need to be changed unless your compilation platform requires the host to echo data sent to it. 9. Modify Library_Extensions'spec: Procedure Destroy_View_Postprocess has two new parameters. REMOTE_MACHINE : string; REMOTE_DIRECTORY : string; Add these new parameters (see customization template). Note that Destroy_View_Postprocess will not be called in D3.0 of the Environment. Environment version D3.1 will be the first release to call Destroy_View_Postprocess. 10. Modify Library_Extensions'body: Add the two new parameters to the Destroy_View_Postprocess procedure. 11. Modify Library_Extensions'spec: Procedures Make_Path_Preprocess and Make_Path_Postprocess have a new parameter: RATIONAL December 1992 31\f RCI Release Information FOR_RELEASE : BOOLEAN; Add this new parameter (see customization template). 12. Modify Library_Extensions'body: Add the new parameter to the Make_Path_Preprocess and Make_Path_Postprocess procedures. 13. Modify All_Extensions'body: A new package Batch_Extensions is provided with the base product in the template customization. You will need to implement this if you want to operate in batch mode. This additional package is reflected in the Extensions_Generic package. Update All_Extensions'body as follows: * With package Batch_Extensions * Change package All_Extensions to reflect the following additional procedures in Extensions_Generic. BUILD_SCRIPT_PREPROCESS BUILD_SCRIPT_POSTPROCESS EXECUTE_SCRIPT_PREPROCESS EXECUTE_SCRIPT_POSTPROCESS UPLOAD_ASSOCIATED_FILES_PREPROCESS UPLOAD_ASSOCIATED_FILES_POSTPROCESS 32 December 1992 RATIONAL\f Release 2_0_5 Contents 1. Overview 1 2. RCI Components 1 3. Upgrade Impact 1 3.1. Rci Product Name 2 3.2. Upgrading the Customizable RCI 2 3.3. Upgrading Your Extensions 2 3.4. Upgrading the Rational Environment 3 4. Prerequisites 3 5. New Features 4 5.1. CMVC Integration 5 5.2. Using Cmvc.Destroy_View 5 5.3. Rci Switches 5 5.4. Using Spec Views 6 5.5. Setting FTP Switches with Remote-Library Creation Commands 6 5.6. Batch Operations 7 5.7. State Information Restructuring 7 5.8. Telnet Connection Caching 7 6. Fixed Problems 7 6.1. Downloading Units 10 6.2. Uploading Executable Files 11 6.3. Customized Remote_Unit_Name Value 11 6.4. Destroy_View_Postprocess 11 6.5. Rci_Cmvc.Build and the State File 11 6.6. Null Remote_Directory Library Switch 12 6.7. Cmvc.Accept_Changes and Indirect Files 12 6.8. Associated-file Retrieval On Warning 12 6.9. Target Semantic Checking in Spec Views 12 6.10. Rci.Build_Remote_Library Message 13 6.11. Package Rcf_Cmvc and CMVC Compatability 13 6.12. RCI Initialization Messages 13 6.13. Improved Response Time with Telnet Connection Caching13 6.14. Rci.Display_Unit_Options Report 13 6.15. Rci.Rebuild _Remote_Library View Parameter 13 6.16. Rcf_Cmvc.Accept_Changes 14 6.17. Inconsistent Imports 14 6.18. Rci.Accept_Remote_Changes with Missing Units 14 6.19. Rci.Execute_Remote_Command Message Format 14 6.20. Cmvc.Release Naming Conflict 15 6.21. Rci Message Format 15 6.22. Including Multiple Libraries with -i Options 15 6.23. Multiple Views with Import and Make_Path 15 6.24. Setting Invalid Switch Values 15 7. Limitations 15 7.1. Demoting Units with Cmvc.Destroy_View 16 7.2. Time-Stamp and Error Handling Support 16 7.3. Rci.Remote_Library Switch 16 7.4. Target Compiler Restrictions with Generics 16 7.5. Using Only_Change_Imports 16 7.6. Creating Spec Views 17 7.7. Restarting the RCI 17 7.8. Compilation Order Involving Generics 17 RATIONAL December 1992 iii\f RCI Release Information 7.9. Renamed Inlined Subroutines 17 7.10. Coding Subunits and Parents 17 7.11. Using DTIA and UNIX Shells 18 7.12. Telnet Logins 18 7.13. Prompting For Passwords 18 7.14. Archive.Copy/Archive.Restore Operations 18 7.14.1. Archiving and Restoring Views 18 7.14.2. Copying and Restoring Secondaries 19 7.15. Trace_Command_Output And Rci.Execute_Remote_Command 19 7.16. Rci.Execute_Remote_Command 19 7.17. COTS Specifications 19 7.18. Associated Files Retrieval For Secondaries 19 7.19. Overloading Attributes 19 8. Known Problems 19 8.1. Nonexistent Page Error Exception 20 8.2. Remote Access Control 20 8.3. File Transfer Using FTP 20 8.4. RCI Compiler Switch Modification 20 8.5. Compilation Warnings 20 8.6. Rci.Upload_Unit Remote_Unit_Name Parameter 21 8.7. Response Parameter With Compilation Operations 21 8.8. Rci.Accept_Remote_Changes Temporary File 21 8.9. Rci.Check_Consistency Temporary File 21 8.10. Limited Private Types In Predefined Units 21 8.11. Private Type Equality Operator In Package System 22 9. Documentation 22 10. Training 22 A Fixed Problems History 23 B Upgrading RCI Customizaitons 29 iv December 1992 RATIONAL\f