|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 421165 (0x66d2d) Types: TextFile Notes: R1k Text-file segment
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« └─⟦ba941b672⟧ └─⟦this⟧
The use of this system is subject to the software license terms and conditions agreed upon between Rational and the Customer. Copyright 1990 by Rational. RESTRICTED RIGHTS LEGEND Use, duplication, or disclosure by the Government is subject to restrictions as set forth in subdivision (c)(1)(ii) in the Rights in Technical Data and Computer Software clause at DoD FAR Supplement 252..227-7013. Rational 3320 Scott Blvd. Santa Clara, California 95054-3197 procedure Destroy_All (Of_These : in String := ">>OBJECT(S) TO DELETE<<"; Response : in String := "<PROFILE>"); pragma Loaded_Main;procedure Destroy_Users (Named : in String := "!USERS.[>>USER(S) TO DELETE<<]"; Response : in String := "<PROFILE>"); pragma Loaded_Main;-- This package provides a mechanism for writing commands which -- perform error reporting and error handling in a manner consistent -- with Environment commands. -- -- NOTE: This package has internal state, so it cannot be used safely -- multi-tasking applications. -- with Profile; generic Old_Response_Profile : Profile.Response_Profile; -- -- Is the response profile to which the response profile should -- be reset when exiting. New_Response_Profile : Profile.Response_Profile; -- -- Is the response profile which should be used to evaluate log -- output destination, error reaction, etc. Operation_Name : in String; -- -- Specifies the name of the operation to be used in the closing -- message (i.e. "[end of <Operation_Name>--error(s) detected]"). Parameter_List : in String; -- -- Should be a list of the parameters supplied to the operation, -- of the form: -- -- First_Parameter => Some_Value, Second_Parameter => Another_Value, etc -- -- String values should be quoted: -- -- String_Parameter => ""Some_String"" package Errors is procedure Prologue; -- -- Sets the response profile to the new response profile, and then -- writes an auxiliary message of the form: -- -- [<Operation_Name> (<Parameter_List>);] -- -- Should be the first thing called in any program. procedure Epilogue; -- -- If there were no errors, writes an auxiliary message of the form: -- -- [end of <Operation_Name> operation--no errors detected] -- -- If there were errors (non-fatal ones), writes an auxiliary message of -- the form -- -- [end of <Operation_Name> operation--error(s) detected] -- -- In both cases, resets the response profile to the original response -- profile. Propagate : exception; Quit : exception; Nil_Message : constant String := ""; procedure Report (This_Message : in String; This_Type : in Profile.Msg_Kind := Profile.Error_Msg; Fatal : in Boolean := True; Nested : in Boolean := False; Suppress_Closing_Message : in Boolean := False); -- -- Does a "Log.Put_Line" of the specified message to the appropriate -- output. Message will be of the specified kind (if the message is -- equal to Nil_Message, nothing will be output, but the error reaction -- will still work as described below). -- -- Once the message is written: -- -- If the error reaction is "QUIT": -- -- A closing message is written (unless "Suppress_Closing_Message" is -- True), and the response profile is reset to -- "Original_Response_Profile". Then: -- -- If "Nested" is True, "Quit" is raised. -- -- If the error reaction is "PROPAGATE": -- -- A closing message is written (unless "Suppress_Closing_Message" is -- True), the response profile is reset to "Original_Response_Profile", -- and "Propagate" is raised. -- -- If the error reaction is "PERSEVERE": -- -- If "Fatal" is True: -- -- A closing message is written (unless "Suppress_Closing_Message" is -- True), and the response profile is reset to -- "Original_Response_Profile". Then: -- -- If "Nested" is True, "Quit" is raised. -- -- If the error reaction is "RAISE_ERROR": -- -- If "Fatal" is True: -- -- A closing message is written (unless "Suppress_Closing_Message" is -- True), the response profile is reset to -- "Original_Response_Profile", and "Propagate" is raised. -- -- For this procedure to work correctly, two conditions must be -- satisfied in the client: -- -- 1) The client must provide the following exception handler alternatives -- at the outermost lexical level: -- -- when Errors.Propagate => -- raise; -- when Errors.Quit => -- null; -- -- 2) Every raise of "Propagate" and "Quit" by every call to "Report" -- must be able to get to the above exception handler alternatives. -- Here is an example template of how this package should be used: -- with Log; -- with Errors; -- with Profile; -- with Debug_Tools; -- with <others>; -- procedure Template (This_Parameter : in String := "<SPECIAL_NAME>"; -- That_Parameter : in String := ">> PLACEHOLDER <<"; -- Another_Parameter : in Boolean := True; -- Response : in String := "<PROFILE>") is -- -- package Error is -- new Errors -- (Profile.Get, -- Profile.Value (Response), -- "Template", -- "This_Parameter => """ & This_Parameter & -- """, That_Parameter => """ & That_Parameter & -- """, Another_Parameter => " & -- Boolean'Image (Another_Parameter) & -- ", Response => """ & Response & """"); -- -- <other declarations>; -- -- begin -- Error.Prologue; -- loop -- begin -- Call_Some_Other_Procedure ("PROPAGATE," & Response); -- -- -- exception -- when others => -- Error.Report ("<message for call failure>", -- -- IF CALL FAILURE IS NOT FATAL: -- Fatal => False, -- Nested => True); -- end; -- end loop; -- Error.Epilogue; -- -- -- exception -- when This_Exception => -- Error.Report ("<message for this exception>"); -- when That_Exception => -- Error.Report ("<message for different exception>"); -- when Error.Propagate => -- raise; -- when Error.Quit => -- null; -- when others => -- Error.Report ("EXCEPTION: " & Debug_Tools.Get_Exception_Name, -- Profile.Exception_Msg); -- end Template; -- -- ***** -- -- NOTE: This procedure should NOT be used to report progress messages, -- warnings, and other non-errors. end Errors;with Log; package body Errors is Errors_Detected : Boolean := False; procedure Prologue is begin Profile.Set (New_Response_Profile); Log.Put_Line ("[" & Operation_Name & " (" & Parameter_List & ");]", Profile.Auxiliary_Msg); end Prologue; procedure Report (This_Message : in String; This_Type : in Profile.Msg_Kind := Profile.Error_Msg; Fatal : in Boolean := True; Nested : in Boolean := False; Suppress_Closing_Message : in Boolean := False) is -- procedure Output_Error_Message is begin if (This_Message /= Nil_Message) then Log.Put_Line (This_Message, This_Type); end if; end Output_Error_Message; -- procedure Output_Closing_Message is begin if (not Suppress_Closing_Message) then Log.Put_Line ("[end of " & Operation_Name & " operation--error(s) detected]", Profile.Auxiliary_Msg); end if; Profile.Set (Old_Response_Profile); end Output_Closing_Message; -- begin Errors_Detected := True; case (Profile.Reaction (New_Response_Profile)) is when Profile.Quit => Output_Error_Message; Output_Closing_Message; if (Nested) then raise Quit; end if; when Profile.Propagate => Output_Error_Message; Output_Closing_Message; raise Propagate; when Profile.Persevere => Output_Error_Message; if (Fatal) then Output_Closing_Message; if (Nested) then raise Quit; end if; end if; when Profile.Raise_Error => Output_Error_Message; if (Fatal) then Output_Closing_Message; raise Propagate; end if; end case; end Report; procedure Epilogue is begin if (Errors_Detected) then Log.Put_Line ("[end of " & Operation_Name & "--error(s) detected]", Profile.Auxiliary_Msg); else Log.Put_Line ("[end of " & Operation_Name & "--no errors detected]", Profile.Auxiliary_Msg); end if; Profile.Set (Old_Response_Profile); end Epilogue; end Errors;package Pathnames is subtype Full_Name is String; function Training_User_Indicator_File_For (This_User : in Full_Name) return Full_Name; function Release_Tape_Contents return String; function Backup_Tape_Contents return String; end Pathnames;with String_Utilities; package body Pathnames is function Training_User_Indicator_File_For (This_User : in Full_Name) return Full_Name is begin return (String_Utilities.Upper_Case (This_User) & ".THIS_IS_A_@_TRAINING_USER"); end Training_User_Indicator_File_For; function Release_Tape_Contents return String is begin return ("[!TRAINING.TOOLS," & "!TRAINING.NOTES," & "!TRAINING.COPYRIGHT@," & "!TRAINING.SOFTWARE_RELEASES.@.[@,~TEMPLATE,~RELEASE_TOOLS,~UTILITIES]]"); end Release_Tape_Contents; function Backup_Tape_Contents return String is begin return ("[!TRAINING,!USERS.@_TRAINING_MASTER]"); end Backup_Tape_Contents; end Pathnames;procedure Destroy_Training_Users (Named : in String := "<SELECTION>"; Response : in String := "<PROFILE>");with Log; with Errors; with Profile; with Pathnames; with Debug_Tools; with Destroy_Users; with Directory_Tools; procedure Destroy_Training_Users (Named : in String := "<SELECTION>"; Response : in String := "<PROFILE>") is -- package Error is new Errors (Profile.Get, Profile.Value (Response), "Destroy_Training_Users", "Response => """ & Response & """"); -- The_Users : Directory_Tools.Object.Iterator := Directory_Tools.Naming.Resolution (Named); -- function Is_Training_User (This_User : in String) return Boolean is begin return (not Directory_Tools.Object.Is_Bad (Directory_Tools.Object.Handle' (Directory_Tools.Naming.Resolution (Pathnames.Training_User_Indicator_File_For (This_User))))); end Is_Training_User; -- begin Error.Prologue; while (not Directory_Tools.Object.Done (The_Users)) loop declare Current_User : constant Directory_Tools.Object.Handle := Directory_Tools.Object.Value (The_Users); Current_User_Name : constant String := Directory_Tools.Naming.Full_Name (Current_User); begin if (Is_Training_User (Current_User_Name)) then begin Destroy_Users (Current_User_Name, "RAISE_ERROR," & Response); exception when others => Error.Report ("Unable to destroy user """ & Current_User_Name & """", Nested => True, Fatal => False); end; else Log.Put_Line (Current_User_Name & " is not a training user", Profile.Warning_Msg); end if; end; Directory_Tools.Object.Next (The_Users); end loop; Error.Epilogue; -- exception when Error.Propagate => raise; when Error.Quit => null; when others => Error.Report ("EXCEPTION: " & Debug_Tools.Get_Exception_Name, Profile.Exception_Msg); -- end Destroy_Training_Users;procedure Reset_Scripts; pragma Loaded_Main;procedure Return_To_Menu; pragma Loaded_Main;procedure Select_Script; pragma Loaded_Main;procedure Start_Training_Scripts (Course_Name : String; Release_Name : String := "<LATEST RELEASE>"); pragma Loaded_Main;procedure Step_Backward; pragma Loaded_Main;procedure Step_Forward; pragma Loaded_Main;procedure Training_Authorization (Code : String := ">>Authorization Code<<"; Enable : Boolean := True; Response : String := "<PROFILE>"); pragma Loaded_Main;page 11 Step 7 Deletions made with Object-D are NOT pushed on the region stack. page 12 4th Dash (Facit version only) The keymap does not contain commands that edit the screen stack. page 13 Step 3 (Facit Version Only) No key is bound to Editor.Screen.Previous page 15 No bullet describes how to lock a window page 64 Step 4 delete the "as" in "has as an" page 64 Step 5 The "$." in the parameter to For_Object is unnecessary page 73 Step 4 the restored world is Debugging not Program_Profile_System page 90-I Special_Instructions The expression assigned to Total_Elapsed should be System_Utilities.Elapsed - Start_Elapsed; in both cases page 121 Step 4 There should be no difference in the results. page 139 Some of the macro constuction exercises are missing. the exercise refers to saving the macros you just created. changes: there is no enclosing scope on nested design components [i.e. @DECOMPOSITION (Foo.Bar) is now simply @DECOMPOSITION (Bar)]. This is not how it is explained in the course. in generic PDL entry exercise: after semanticizing after doing second PDL Complete: many errors come up: the instructions refer to a SINGLE error "prompt illegal for" message has been changed to "Prompt is not permitted for the ________________ annotation." instructions tell students to fill in prompts with "NONE." instead of "NONE" after deleting annotation, the error message is "The __________ annotation must be specified." instead of "No ________ annotation specified" after adding @ALGORITHM annotation, the error message is "The ________ annotation is not permitted here." rather than "__________ annotation not permitted" prompting for PDL Complete resolves to Design_Implementation.Complete, not Design.Complete step 28.a. is not generic--talks about "use" clause summary exercise: page 115 5.a change "unsatisfied" to "unallocated" page 116 delete "The log will..." instructor note 4 page 117 4 needs @DESCRIPTION, @SOURCE, and @DESTINATION annotations page 120 4.c. @LIMITATIONS annotation should not be there we need to teach them about activity-relative traversal diagram of transaction processor needs second "add money" loop which leaves and enters the "accumulating transaction" bubble bugs: multiple @REQUIREMENT annotations currently don't work, so one of the traversals in the exercises does not work (supposed to be fixed in next release) traversal within a CSCI is activity-dependent, so instructions on summary exercise do not work (supposed to be fixed in next release) incremental compilation is very fragile, and it is used in some of the exercises, resulting in errors Runtime compatibility is NOT supported directly in D1. If the spec and load view are not spec-load compatible, the application will not load even if the client does not call the incompatible declaration. Is is possible to disable compatibility checking entirely, allowing a run-time compatible subsystem to load and execute. If the subsystem is spec-load incompatible, one will likely get the exception Operand_Class_Error as before. Comments from ANNE on the Exercises : --------------------------- 1. p 84 : using import/export restrictions : several "students" forgot to control the units ! A good idea would be to put a warning message in step 2 ("construct the subsystem-based mail application"). 2. p 139 : non-upward compatible changes. As you suggested on the phone, we had to give the spec-views as clients of the spec-view we just created, in the CMVC.IMPORT command. This was not obvious, since the import from the supplier view in the client view is not done explicitely (but via <inherit ipmorts> in the CMVC.MAKE_SPEC_VIEW command). It is really a pity,the user has to know about the referencers for a given view and even worse, about the order in which to give the client views , in the CMVC.IMPORT command. 3. p 279 : setting up primary and secondary subsystems : it should be mentionned somewhere that the model used to create a given subsystem has to exist on the target machine before transfering that subsystem. To the question " Does it make any difference how the subsystems are transferred ?" , my answer would be : NO if the tranfer is on ANOTHER MACHINE (in the same location, ie same pathname), because then you keep the same links to the units ; YES if you transfer in a world with a different name , then you would have to build again the application from bottom-up in the target world. SOFTWARE RELEASE CHECKLIST ========================== DATE: 88/08/09 PRODUCT DESCRIPTION Name: Training Software Revision: (Cross-Development Facility - Mc68020_Bare Version) Delta_Prerelease_Rev1_0 Applicable Environment Release: Delta One Minus Description/Use: This tape contains the pre-release version of the training software for the Cross-Development Facility (Mc68020_Bare version) course. This tape is to be used to update Delta One Minus systems as required. This tape contains the current release for this training software including all tools used to create and maintain training users. Installation of this software depends on a 2_0_0 or later version of the Mc68020_Bare Cross-Development Facility having already been installed and the server currently running. Course Name Status ------------------ ----------------------- Cdf (Mc68020_Bare) in Production Additional Information: If you require other information or want some home office participation when presenting this material, please contact Bob Gable at (408) 496-3708. PLANNED RELEASE DATES Master Tape to CS: 3rd Quarter, 1988 Internal Ship: As Required Customer Ship: As Required MILESTONES Master Tape Released by Marketing: 3rd Quarter, 1988 Master Tape Accepted by CS: As Delivered Production release: As Above\f PREPARATION/INSTALLATION NOTES: ------------------------------ (from the file "!Training.Notes.Instructor_Notes") 1. PREPARING FOR A TRAINING COURSE When preparing to deliver a training course, please check with the Response Center to ensure that the training software on the training machine is the latest release for the course to be delivered. If required, a tape containing the latest release is available from the Response Center. To determine the release level, check the training software installed on the training machine. Training software releases are located in "!Training.Software_Release.<COURSE NAMEs>.<COURSE VERSIONs>" For example, "!Training.Software_Release.Fundamentals.Delta_Rev6" supports the Fundamentals training for Delta and is the sixth version of the Fundamentals course. 2. INSTALLING THE LATEST TRAINING SOFTWARE RELEASE (if required) 2.1 Install the current release tape using the following command (from any context): Archive.Restore (Options => "CHANGED_OBJECTS, PROMOTE"); 2.2 if any errors are reported, please call the Response Center for assistance. 2.3 If step 2 is successful, you may want to delete any older versions of the training software in "!Training.Software_Releases.<COURSE NAMEs>". 3. CREATING TRAINING USERS Please follow the instructions in the "Course_Preparation_Notes" file for the applicable course(s). It is a good idea to have the training account user(s) create an empty text file such as "!Users.<TRAINING USER NAME>.In_Use_By_<USER INFORMATION>_<DATE>" to indicate that the account is in use. In addition to preventing others from accidently using the same account, it also provides information useful to the trainer and the system manager. 4. USING THE SCRIPT TOOLS No script tools are currently used. TAPE CREATION LOG: ----------------- None supplied [end of document] ~major_heading(Courses included in this production release) ~begin(itemize) Fundamentals Advanced Topics Subsystems and CMVC System Management Project Development Methods Networking Target Build Utility MIL-STD-1750A CDF Mc68020 Bare CDF Design Facility User Training ~end(itemize) ~major_heading(Changes since the last release) ~startnp ~np New training software has been released for all courses. The latest release is named, Delta1_Rev1 for both old and new courses. ~np System Mangement, Project Development Methods, and the DF and CDF course are newly added with this release. Fundamentals, Subsystems and CMVC, Networking, and Target Build Utility have changed very little. Advanced Topics has changed alot with many new exercises added and several bugs fixed. ~np New script tools have been released. The script window should automatically come up on the screen when users invoke the scripts. Users will no longer have to go to the window directory to find the script window. ~np Due to a conflict with keybindings for the Design Facility, the "Next Step" and "Previous Step" operations that were previously bound to F4 and F3 on the Rational Terminal have been switched. They are now bound to F3 and F4 respectively. Also the highest performance operation is the "Next Step" operation ([F3]). All other operations have slightly lower performance. Replacement pages describing the script tool changes for the Rational version of Fundamentals will be distributed to the field. ~np Facit keybindings for the scripts have not changed. On-line scripts are not supported for the VT100 or SUN terminals. ~np A new training user is now available. It's name is Basic_Product_Training and it contains all exercise software from Fundamentals, Advanced Topics, and Subsystems and CMVC. This was created to support training classes that combined a variety of material from each course together into one class. Students will be able to perform any exercise from the basic product training series within the single user login. ~np Software for all CDF products will be distributed to all sites even though that site does not have all CDFs running. ~endnp Courses included in this production release * Fundamentals * Advanced Topics * Subsystems and CMVC * System Management * Project Development Methods * Networking * Target Build Utility * MIL-STD-1750A CDF * Mc68020 Bare CDF * Design Facility User Training Changes since the last release 1. New training software has been released for all courses. The latest release is named, Delta1_Rev1 for both old and new courses. 2. System Mangement, Project Development Methods, and the DF and CDF course are newly added with this release. Fundamentals, Subsystems and CMVC, Networking, and Target Build Utility have changed very little. Advanced Topics has changed alot with many new exercises added and several bugs fixed. 3. New script tools have been released. The script window should automatically come up on the screen when users invoke the scripts. Users will no longer have to go to the window directory to find the script window. 4. Due to a conflict with keybindings for the Design Facility, the "Next Step" and "Previous Step" operations that were previously bound to F4 and F3 on the Rational Terminal have been switched. They are now bound to F3 and F4 respectively. Also the highest performance operation is the "Next Step" operation ([F3]). All other operations have slightly lower performance. Replacement pages describing the script tool changes for the Rational version of Fundamentals will be distributed to the field. 5. Facit keybindings for the scripts have not changed. On-line scripts are not supported for the VT100 or SUN terminals. 6. A new training user is now available. It's name is Basic_Product_Training and it contains all exercise software \f from Fundamentals, Advanced Topics, and Subsystems and CMVC. This was created to support training classes that combined a variety of material from each course together into one class. Students will be able to perform any exercise from the basic product training series within the single user login. 7. Software for all CDF products will be distributed to all sites even though that site does not have all CDFs running. \f RELEASE NOTE and INSTALLATION PROCEDURE Training Software Date: 19 February 1991 This is a release of all available training software for current courses. It includes software for the following courses: Rational Environment Training: System Management Rational Environment Training: Fundamentals Rational Environment Training: Advanced Topics Rational Environment Training: Subsystems and Configuration Management Rational Environment Training: Project Development Methods Rational Environment Training: Toolsmithing Rational Network Training Rational Design Facility Training: DOD-STD-2167 Rational Design Facility Training: DOD-STD-2167 Product Customization Rational Design Facility Training: Fundamentals and DOD-STD-2167A Rational Design Facility Training: Toolsmithing and DOD-STD-2167A Customization Rational Universal Host Training: MC68020/Bare Cross-Development Facility Rational Universal Host Training: MC68020/OS-2000 Cross-Development Facility The training software for the following course is not available now. (The plan is for it to be included in the next release.) Rational Universal Host Training: MC68020/UNIX Cross-Development Facility Most of the training software in this release is unchanged from the Delta 1 release. Most of the release world names and file names still refer to Delta 1. This software works correctly under Delta 2. This release note and installation procedure includes the information you need to install the software and build training users. Because this release of the training software is intended to be included in an environment release, all links to layered software have been removed. (This does not effect training user accounts, which must be built after the layered software is installed.) The procedures describing preparing to build training user accounts for individual courses included later in this document tell you how to add links when needed. INSTALLING THE TRAINING SOFTWARE FROM TAPE If this training software has not been installed as part of an Environment installation, restore it from tape using Archive.Restore (Options => "Changed_Objects, Promote"); LOCATING THE TRAINING SOFTWARE FOR A COURSE The following list gives the directory or directories in !Training.Software_Releases that contains the training software for each course: Rational Environment Training: System Management System_Management Rational Environment Training: Fundamentals Fundamentals Rational Environment Training: Advanced Topics Advanced_Topics Rational Environment Training: Subsystems and Configuration Management Subsystems_Cmvc Rational Environment Training: Project Development Methods Pdm Rational Environment Training: Toolsmithing Toolsmithing Rational Network Training Networking Rational Design Facility Training: DOD-STD-2167 Design_Facility_User_Training Rational Design Facility Training: DOD-STD-2167 Product Customization Design_Facility_Customization_Training Rational Design Facility Training: Fundamentals and DOD-STD-2167A Design_Facility_Fundamentals Design_Facility_2167a_User Rational Design Facility Training: Toolsmithing and DOD-STD-2167A Customization Design_Facility_Toolsmithing Design_Facility_2167a_Customization Rational Universal Host Training: MC68020/Bare Cross-Development Facility Cdf_Mc68020_Bare Rational Universal Host Training: MC68020/OS-2000 Cross-Development Facility Cdf_Mc68020_Os2000 Each of these directories contains a release world with the procedure to build training user accounts. The release world also contains the data and index files that are the archive of the master training user home world that the procedure uses to create the home world for each training user. The release world may also contain additional notes to the instructor and other software required for training. Some directories also contain utility worlds with units used by the training software. PREPARING TO BUILD TRAINING USER ACCOUNTS Read the preface to the course's instructor's notes, if any. Also read relevant files in !Training.Notes.Release_Notes and in the course's training software world(s), if any. Review relevant instructor notes, including those for the introductory course material and the exercises. Assure that the correct layered software is installed and running. The Design Facility user courses require additional preparation. For Rational Design Facility Training: DOD-STD-2167, add a link for the release world as follows: Links.Add (Source => "!Tools.Design.Release.Rational_2167" & ".Pdl_Commands.Rev6_0_Spec.Units.Design", Link => "#", World => "!Training.Software_Releases" & ".Design_Facility_2167_User_Training.Delta1_Rev6", Response => "<PROFILE>"); Now code the body of Build_Design_Facility_User_Training_Users in the release world. For Rational Design Facility Training: Fundamentals and DOD-STD-2167A, copy links for the nested world that contains the implementation of the simple Design Facility instance used in the Fundamentals part of the course. Links.Copy (Source_World => "!Model.R1000_Pdl", Target_World => "!Training.Software_Releases.Design_Facility_Fundamentals" & ".Rev1.Simple_Instance", Link => "@", Source => "[!Tools.Design?,!Tools.Lrm?]", Kind => Links.Any, Response => "<PROFILE>"); Now code all units in the world. Compilation.Promote (Unit => "!Training.Software_Releases.Design_Facility_Fundamentals" & ".Rev1.Simple_Instance??", Scope => Compilation.All_Parts, Goal => Compilation.Coded, Limit => "<WORLDS>"); Finally, run the Register_Pdl procedure in this world. BUILDING TRAINING USER ACCOUNTS Run the Build_Training_Users (or Build_..._Training_Users) procedure in the release world. (If you need to destroy existing training users before you build new ones, use the Destroy_Users procedure in !Training.Tools.Utilities.) Some Build_..._Training_Users procedures take over 30 minutes, so be sure to allocate enough time to build all users before the class. Some release worlds contain Log text files with typical build logs or lists of acceptable errors and warnings. USING SCRIPT TOOLS If you will use the scripts tools for Rational Environment Training: Fundamentals, see !Training.Notes.Instructor_Notes. OVERRIDING SESSION LIMITS If you need to run more sessions for training than your customer has authorized, get a training authorization code from SMSE and run the Training_Authorization procedure in !Training.Tools. Send mail to SMSE_Req requesting the code. You must include the date you will execute the Training_Authorization procedure and the ID of the machine you will execute it on. SMSE will reply with an Authorization_Code and an Expiration_Date. You must run the Training_Authorization procedure on that date with that code. When training is over, reboot the machine or run Training_Authorization with the Enable parameter False to reinstitute the session limits. Destroy codes after use. Do not disclose authorization codes to customers. Do not draw the customer's attention to the the existence of the Training_Authorization procedure. DESIGN FACILITY CUSTOMIZATION TRAINING PRE-RELEASE NOTE: ======================================================== DATE: March 16th, 1988 This course does not require a training tape. Even the individual training accounts are constructed by the participants as part of the exercises. DESIGN FACILITY USER TRAINING PRE-RELEASE NOTE: =============================================== DATE: March 16th, 1988 PRODUCT DESCRIPTION Name: Design Facility User Training Software Revisions: Delta_0_Plus_Rev4_2_Version_1 (4_2 release, D0+) Delta_Rev4 (10/21 release, D0 vanilla) Description/Use: This tape contains the pre-release versions of the training software for the Design Facility User Training course. This tape is to be used to update Delta 0 and/or Delta 0 Plus systems as requiraed. This tape contains the current releases for this training software including all tools used to create and maintain training users. The course works with both the Rational Terminal and the Facit terminal. Additional Information: If you require other information or want some home office participation when presenting this material, please contact Jim Showalter at (415) 940-4754. PLANNED RELEASE DATES: The 10/21, D0 version of the tape and training materials will never be released to production. Tapes and training materials will be delivered on an as-needed basis. PLEASE ALLOW AT LEAST 10 DAYS LEAD TIME FOR REQUESTS. The Rev4_2, D0+ version of the tape and training materials will never be released to production, although the training materials will go through the production editing cycle. Tapes and training materials will be delivered on an as-needed basis. PLEASE ALLOW AT LEAST 10 DAYS LEAD TIME FOR REQUESTS. Full production availability of the tape and training materials is planned for the July, 1988 timeframe, concurrent with the full production release of the Design Facility itself, as well as the D1 version of the Environment. PREPARATION/INSTALLATION NOTES: ------------------------------ (from the file "!Training.Notes.Instructor_Notes") 1. PREPARING FOR A TRAINING COURSE When preparing to deliver a training course, please check with the Response Center to ensure that the training software on the training machine is the required release for the course to be delivered. While this course is in prerelease, it is important to make sure you verify both the version of the Environment and the version of the Design Facility in use on the training machine. To determine the release level, check the training software installed on the training machine. Training software releases are located in "!Training.Software_Release.<COURSE NAMEs>.<COURSE VERSIONs>" For example, "!Training.Software_Release.Fundamentals.Delta_Rev6" supports the Fundamentals training for Delta and is the sixth version of the Fundamentals course. 2. INSTALLING THE LATEST TRAINING SOFTWARE RELEASE (if required) 2.1 Install the current release tape using the following command (from any context): Archive.Restore (Options => "CHANGED_OBJECTS, PROMOTE"); 2.2 if any errors are reported, please call the Response Center for assistance. 2.3 If step 2 is successful, you may want to delete any older versions of the training software in "!Training.Software_Releases.<COURSE NAMEs>". 3. CREATING TRAINING USERS Please follow the instructions in the "Course_Preparation_Notes" file for the applicable course(s). It is a good idea to have the training account user(s) create an empty text file such as "!Users.<TRAINING USER NAME>.In_Use_By_<USER INFORMATION>_<DATE>" to indicate that the account is in use. In addition to preventing others from accidently using the same account, it also provides information useful to the trainer and the system manager. TAPE CREATION LOG: ----------------- --- ============================================================================ --- Creating a training release tape (February 13, 1988 at 9:48:38 AM). --- ---------------------------------------------------------------------------- --- [Archive.Save rev 440, objects => "[!Training.[Copyright_@_Rational,Notes. ... @],!Training.Software_Releases.Large_Systems.Delta_Prerelease_Rev02, ... !Training.Tools.[Live_Job_Files,~Live_Job_Files.@,Start_Training_Scripts, ... Reset_Scripts]", options => "R1000", device => "MACHINE.DEVICES.TAPE_0", ... response => "<PROFILE>"]. --- volume mounted for writing: 005101. +++ text !TRAINING.COPYRIGHT_1985_1986_1987_1988_RATIONAL has been saved. +++ text !TRAINING.NOTES.COURSE_DESCRIPTIONS has been saved. +++ text !TRAINING.NOTES.INSTRUCTOR_NOTES has been saved. +++ text !TRAINING.NOTES.RELEASE_NOTE_87_12_03 has been saved. +++ world !TRAINING.SOFTWARE_RELEASES.LARGE_SYSTEMS.DELTA_PRERELEASE_REV02 has ... been saved. +++ proc_spec !TRAINING.SOFTWARE_RELEASES.LARGE_SYSTEMS.DELTA_PRERELEASE_REV02. ... BUILD_TRAINING_USERS has been saved. +++ proc_body !TRAINING.SOFTWARE_RELEASES.LARGE_SYSTEMS.DELTA_PRERELEASE_REV02. ... BUILD_TRAINING_USERS'BODY has been saved. +++ text !TRAINING.SOFTWARE_RELEASES.LARGE_SYSTEMS.DELTA_PRERELEASE_REV02. ... COURSE_PREPARATION_NOTES has been saved. +++ file !TRAINING.SOFTWARE_RELEASES.LARGE_SYSTEMS.DELTA_PRERELEASE_REV02.DATA ... has been saved. +++ text !TRAINING.SOFTWARE_RELEASES.LARGE_SYSTEMS.DELTA_PRERELEASE_REV02.INDEX ... has been saved. +++ directory !TRAINING.TOOLS.LIVE_JOB_FILES has been saved. +++ load_proc !TRAINING.TOOLS.START_TRAINING_SCRIPTS has been saved. +++ load_proc !TRAINING.TOOLS.RESET_SCRIPTS has been saved. +++ code for !TRAINING.TOOLS.RESET_SCRIPTS has been saved. +++ code for !TRAINING.TOOLS.START_TRAINING_SCRIPTS has been saved. --- saved 15 objects in 882085 bytes. --- tape has been written. --- [end of Archive.Save operation]. SOFTWARE RELEASE CHECKLIST ========================== DATE: 88/05/05 PRODUCT DESCRIPTION Name: Training Software Revision: (Project Development Methods) Pdm - Delta_Prerelease_Rev03 Applicable Environment Release: Delta "Zero" Description/Use: This tape contains the pre-release version of the training software for the Project Development Methods course. This tape is to be used to update Delta "Zero" systems as required. This tape contains the current release for this training software including all tools used to create and maintain training users. Current Rational Current Facit Course Name Terminal Doc'n Status Doc'n Status ------------------ ----------------------- ------------------- Pdm in Beta test not started Additional Information: If you require other information or want some home office participation when presenting this material, please contact Bryan Derman at (415) 940-4755. PLANNED RELEASE DATES Master Tape to CS: 2nd Quarter, 1988 Internal Ship: As Required Customer Ship: As Required MILESTONES Master Tape Released by Marketing: 2nd Quarter, 1988 Master Tape Accepted by CS: As Delivered Production release: As Above\f PREPARATION/INSTALLATION NOTES: ------------------------------ (from the file "!Training.Notes.Instructor_Notes") 1. PREPARING FOR A TRAINING COURSE When preparing to deliver a training course, please check with the Response Center to ensure that the training software on the training machine is the latest release for the course to be delivered. If required, a tape containing the latest release is available from the Response Center. To determine the release level, check the training software installed on the training machine. Training software releases are located in "!Training.Software_Release.<COURSE NAMEs>.<COURSE VERSIONs>" For example, "!Training.Software_Release.Fundamentals.Delta_Rev6" supports the Fundamentals training for Delta and is the sixth version of the Fundamentals course. 2. INSTALLING THE LATEST TRAINING SOFTWARE RELEASE (if required) 2.1 Install the current release tape using the following command (from any context): Archive.Restore (Options => "CHANGED_OBJECTS, PROMOTE"); 2.2 if any errors are reported, please call the Response Center for assistance. 2.3 If step 2 is successful, you may want to delete any older versions of the training software in "!Training.Software_Releases.<COURSE NAMEs>". 3. CREATING TRAINING USERS Please follow the instructions in the "Course_Preparation_Notes" file for the applicable course(s). It is a good idea to have the training account user(s) create an empty text file such as "!Users.<TRAINING USER NAME>.In_Use_By_<USER INFORMATION>_<DATE>" to indicate that the account is in use. In addition to preventing others from accidently using the same account, it also provides information useful to the trainer and the system manager. 4. USING THE SCRIPT TOOLS When required the script tools are set up to be automatically involked by a training user. There is currently a bug in the environment which causes the created script window to remain "invisible". Users must visit their window directory in order to locate this window. When the window is visible, users should perform a "[Window] - [Format]" operation to obtain the correct window size then issue a "[Window] - [Promote]" to lock the window once it is visible. The tools also prevent users from creating more than one script tool job. The tools do this by creating a file, named by user and session, in the directory "!Training.Tools.Live_Job_Files". Upon execution, the script tools check for the existence of this file and will not run if the file exists -- i.e. the file is used as a lockout mechanism. If the user cancels the job (e.g. with a Job.kill) or otherwise terminates abnormally (e.g. system crash), this file will still exist even though no script job is running. If a file exists for the user/session in "!Training.Tools.Live_Jobs_Files" when the script tool is started, it will prevent itself from operating and, therefore, effectively be locked out. The way to fix this situation is to execute the procedure "!Training.Tools.Reset_Scripts" from the user's session. Do not execute this procedure unless the user's session is locked out. Not all courses use the script tools. TAPE CREATION LOG: ----------------- --- ============================================================================ --- Creating a training release tape (May 5, 1988 at 11:27:48 AM). --- ---------------------------------------------------------------------------- --- [Archive.Save rev 440, objects => "[!Training.[Copyright_@_Rational,Notes. ... @],!Training.Software_Releases.Pdm.Delta_Prerelease_Rev03,!Training.Tools. ... [[Delete_All;Destroy_Training_Users], ... [Live_Job_Files;Start_Training_Scripts;Reset_Scripts],~Live_Job_Files.@]", ... options => "R1000", device => "MACHINE.DEVICES.TAPE_0", response => ... "<PROFILE>"]. --- volume mounted for writing: 006305. +++ text !TRAINING.COPYRIGHT_1985_1986_1987_1988_RATIONAL has been saved. +++ text !TRAINING.NOTES.IMPLEMENTATION_PLANNING has been saved. +++ text !TRAINING.NOTES.IMPLEMENTATION_PLANNING_AUX has been saved. +++ text !TRAINING.NOTES.IMPLEMENTATION_PLANNING_LPT has been saved. +++ ps !TRAINING.NOTES.IMPLEMENTATION_PLANNING_PS has been saved. +++ text !TRAINING.NOTES.INSTRUCTOR_NOTES has been saved. +++ directory !TRAINING.NOTES.RELEASE_NOTES has been saved. +++ text !TRAINING.NOTES.RELEASE_NOTES. ... DESIGN_FACILITY_CUSTOMIZATION_PRERELEASE_NOTE_88_03_16 has been saved. +++ text !TRAINING.NOTES.RELEASE_NOTES. ... DESIGN_FACILITY_USER_TRAINING_PRERELEASE_NOTE_88_03_16 has been saved. +++ text !TRAINING.NOTES.RELEASE_NOTES.PDM_PRERELEASE_NOTE_88_04_04 has been ... saved. +++ text !TRAINING.NOTES.RELEASE_NOTES.PRODUCTION_RELEASE_NOTE_87_12_03 has ... been saved. +++ world !TRAINING.SOFTWARE_RELEASES.PDM.DELTA_PRERELEASE_REV03 has been saved. +++ proc_spec !TRAINING.SOFTWARE_RELEASES.PDM.DELTA_PRERELEASE_REV03. ... BUILD_TRAINING_USERS has been saved. +++ proc_body !TRAINING.SOFTWARE_RELEASES.PDM.DELTA_PRERELEASE_REV03. ... BUILD_TRAINING_USERS'BODY has been saved. +++ text !TRAINING.SOFTWARE_RELEASES.PDM.DELTA_PRERELEASE_REV03. ... COURSE_PREPARATION_NOTES has been saved. +++ file !TRAINING.SOFTWARE_RELEASES.PDM.DELTA_PRERELEASE_REV03.DATA has been ... saved. +++ text !TRAINING.SOFTWARE_RELEASES.PDM.DELTA_PRERELEASE_REV03.INDEX has been ... saved. +++ load_proc !TRAINING.TOOLS.DELETE_ALL has been saved. +++ load_proc !TRAINING.TOOLS.DESTROY_TRAINING_USERS has been saved. +++ directory !TRAINING.TOOLS.LIVE_JOB_FILES has been saved. +++ load_proc !TRAINING.TOOLS.START_TRAINING_SCRIPTS has been saved. +++ load_proc !TRAINING.TOOLS.RESET_SCRIPTS has been saved. +++ code for !TRAINING.TOOLS.RESET_SCRIPTS has been saved. +++ code for !TRAINING.TOOLS.START_TRAINING_SCRIPTS has been saved. +++ code for !TRAINING.TOOLS.DESTROY_TRAINING_USERS has been saved. +++ code for !TRAINING.TOOLS.DELETE_ALL has been saved. --- saved 26 objects in 1363643 bytes. --- tape has been written. --- [end of Archive.Save operation]. [end of document] INSTRUCTOR NOTES ================ 1. PREPARING FOR A TRAINING COURSE When preparing to deliver a training course, please check with the Response Center to ensure that the training software on the training machine is the latest release for the course to be delivered. If required, a tape containing the latest release is available from the Response Center. To determine the release level, check the training software installed on the training machine. Training software releases are located in "!Training.Software_Release.<COURSE NAMEs>.<COURSE VERSIONs>" For example, "!Training.Software_Release.Fundamentals.Delta_Rev6" supports the Fundamentals training for Delta and is the sixth version of the Fundamentals course. 2. INSTALLING THE LATEST TRAINING SOFTWARE RELEASE (if required) 2.1 Install the current release tape using the following command (from any context): Archive.Restore (Options => "CHANGED_OBJECTS, PROMOTE"); 2.2 If any errors are reported, please call the Response Center for assistance. 2.3 If step 2 is successful, you may want to delete any older versions of the training software in "!Training.Software_Releases.<COURSE NAMEs>". 3. CREATING TRAINING USERS Please follow the instructions in the "Course_Preparation_Notes" file for the applicable course(s). It is a good idea to have the training account user(s) create an empty text file such as "!Users.<TRAINING USER NAME>.In_Use_By_<USER INFORMATION>_<DATE>" to indicate that the account is in use. In addition to preventing others from accidently using the same account, it also provides information useful to the trainer and the system manager. 4. USING THE SCRIPT TOOLS When required, the script tools are set up to be automatically involked by a training user. There is currently a bug in the environment which causes the created script window to remain "invisible". Users must visit their window directory in order to locate this window. When the window is visible, users should perform a "[Window] - [Format]" operation to obtain the correct window size then issue a "[Window] - [Promote]" to lock the window once it is visible. The tools also prevent users from creating more than one script tool job. The tools do this by creating a file, named by user and session, in the directory "!Training.Tools.Live_Job_Files". Upon execution, the script tools check for the existence of this file and will not run if the file exists -- i.e. the file is used as a lockout mechanism. If the user cancels the job (e.g. with a Job.kill) or otherwise terminates abnormally (e.g. system crash), this file will still exist even though no script job is running. If a file exists for the user/session in "!Training.Tools.Live_Jobs_Files" when the script tool is started, it will prevent itself from operating and, therefore, effectively be locked out. The way to fix this situation is to execute the procedure "!Training.Tools.Reset_Scripts" from the user's session. Do not execute this procedure unless the user's session is locked out. Not all courses use the script tools.~major_heading(Installing the Training Tape) To install the training software you need to perform two steps: ~startnp ~np Destroy ~bold(!Training) with ~begin(verbatim) Compilation.Destroy (Unit => "!Training", Threshold => 9999, Limit => "<ALL_WORLDS>", Response => "<PROFILE>"); ~end(verbatim) ~np Restore the training tape with: ~begin(verbatim) Archive.Restore (Options => "R1000, promote"); ~end(verbatim) ~endnp Installing the Training Tape To install the training software you need to perform two steps: 1. Destroy !Training with Compilation.Destroy (Unit => "!Training", Threshold => 9999, Limit => "<ALL_WORLDS>", Response => "<PROFILE>"); 2. Restore the training tape with: Archive.Restore (Options => "R1000, promote"); \f Please see !Training.Notes.Release_Notes.Delta2_Release_Note_And- _Installation_Procedure_91_02_19.procedure Build_Training_Users (First_User_Number : in Positive := 1; Last_User_Number : in Positive; Username_Prefix : in String := "Advanced"; Response : in String := "<PROFILE>");with Access_List; with Archive; with Debug_Tools; with Directory_Tools; with Links; with Log; with Operator; with Profile; with String_Utilities; procedure Build_Training_Users (First_User_Number : in Positive := 1; Last_User_Number : in Positive; Username_Prefix : in String := "Advanced"; Response : in String := "<PROFILE>") is package Naming renames Directory_Tools.Naming; package Object renames Directory_Tools.Object; function Capitalize (A_String : String) return String renames String_Utilities.Capitalize; Old_Response_Profile : Profile.Response_Profile := Profile.Get; Current_Response_Profile : Profile.Response_Profile := Profile.Value (Response); procedure Closing_Message_For_Errors is begin Log.Put_Line ("[Finished building training users -- Error(s) detected]"); Profile.Set (Old_Response_Profile); end Closing_Message_For_Errors; function Current_Library (Of_Object : String) return String is All_Objects : Object.Iterator := Naming.Resolution (Of_Object); An_Object : Object.Handle; begin An_Object := Object.Value (All_Objects); return Naming.Unique_Full_Name (An_Object); end Current_Library; begin -- set up the response profile and log the command line -- Profile.Set (Current_Response_Profile); Log.Put_Line ("[Build_Training_Users (First_User_Number => " & String_Utilities.Number_To_String (First_User_Number) & ", Last_User_Number => " & String_Utilities.Number_To_String (Last_User_Number) & ", Username_Prefix => """ & Username_Prefix & """, Response => """ & Response & """);]", Profile.Auxiliary_Msg); declare Context : constant String := Capitalize (Current_Library ("$")); Course : constant String := Capitalize (Naming.Simple_Name (Naming.Prefix (Context))); Master_Full_Pathname : constant String := Capitalize ("!Users." & Course & "_Master"); begin Operator.Enable_Privileges (Enable => True); if Operator.Privileged_Mode /= True then Log.Put_Line ("You must have operator capability to create training users", Profile.Error_Msg); Closing_Message_For_Errors; return; end if; if First_User_Number > Last_User_Number then Log.Put_Line ("The First_User_Number must be 'less than' or 'equal to' the Last_User_Number", Profile.Error_Msg); Closing_Message_For_Errors; return; end if; for User_Count in First_User_Number .. Last_User_Number loop declare User_Number : constant String := String_Utilities.Number_To_String (User_Count); User_Name : constant String := Username_Prefix & "_" & User_Number; Users_Full_Pathname : constant String := Capitalize ("!Users." & User_Name); begin Operator.Create_User (User => User_Name, Password => User_Name, Volume => 0, Response => "<PROFILE>"); Links.Delete (Link => "Text_Io", World => Users_Full_Pathname); Archive.Restore (Objects => "?", Use_Prefix => Users_Full_Pathname, For_Prefix => Master_Full_Pathname, Options => "R1000, PROMOTE, BECOME_OWNER, WORLD_ACL=(Network_Public => RWCOD), DEFAULT_ACL=(Network_Public => RW), OBJECT_ACL=(Network_Public => RW)", Device => Context, Response => "<PROFILE>"); Access_List.Set (To_List => "Network_Public => R", For_Object => Users_Full_Pathname & ".Acl_World", Response => "<PROFILE>"); Log.Put_Line ("Completed building training user " & User_Name, Profile.Positive_Msg); end; end loop; Log.Put_Line ("[Finished building training users -- Examine the log]"); Profile.Set (Old_Response_Profile); end; exception when others => Log.Put_Line ("Encountered an unexpected exception: " & Debug_Tools.Get_Exception_Name, Profile.Exception_Msg); Closing_Message_For_Errors; end Build_Training_Users; COURSE PREPARATION NOTES ======================== COURSE NAME: Advanced_Topics RELEASE: Delta1_Rev1 LOCATION: !Training.Software_Releases.Advanced_Topics.Delta1_Rev1 CONTENTS: This library contains the course preparation instructions, the software used to create a set of training user accounts and the archived software for the Delta1_Rev1 release of the Advanced_Topics training course. PREPARING TO PRESENT A COURSE: 1. Follow the instructions in "!Training.Notes.Instructor_Notes". 2. Ensure that the user accounts and worlds you want to create do not exist. 3. Create the training user worlds -- execute the "Build_Training_Users" procedure in "!Training.Software_Releases.Advanced_Topics.Delta1_Rev1" to create the desired training users. NOTES: - To create a set of training accounts for this release (Delta1_Rev1), the "Build_Training_Users" procedure must be executed: a) by a user with operator capability b) within "!Training.Software_Releases.Advanced_Topics.Delta1_Rev1" - As required, supply the "First_User_Number", the "Last_User_Number" and the "Username_Prefix" arguments to define the series of training user accounts to be created -- e.g. entering "1", "3" and "Learning", respectively, will create the following training user accounts: "Learning_1", "Learning_2" and "Learning_3". - The password for a training user account is the same as the user name (e.g. "Learning_1", "Learning_2" and "Learning_3" in the example above). 4. Subject to the note above, check the log to ensure that the training users have been created correctly.generic type Element is (<>); package Buffer is type Queue is private; function Make return Queue; procedure Add (Item : Element; To : in out Queue); procedure Remove (Item : out Element; From : in out Queue); function Length (Of_Queue : Queue) return Natural; function Is_Empty (Q : Queue) return Boolean; function Display (Q : Queue) return String; Empty : exception; private type Node; type Node_Access is access Node; type Node is record Next : Node_Access; Previous : Node_Access; Value : Element; end record; type Queue is record First : Node_Access := null; Last : Node_Access := null; end record; end Buffer;package body Buffer is function Make return Queue is The_Queue : Queue := (First => null, Last => null); begin return The_Queue; end Make; procedure Add (Item : Element; To : in out Queue) is Temp : Node_Access := To.First; begin To.First := new Node'(Next => Temp, Previous => null, Value => Item); if Temp /= null then Temp.Previous := To.First; end if; if To.Last = null then To.Last := To.First; end if; end Add; procedure Remove (Item : out Element; From : in out Queue) is begin if From.First = null or From.Last = null then raise Empty; else Item := From.Last.Value; From.Last := From.Last.Previous; if From.Last = null then From.First := null; else From.Last.Next := null; end if; end if; end Remove; function Length (Of_Queue : Queue) return Natural is Temp : Node_Access; Count : Natural := 0; begin if Of_Queue.First = null then return 0; else Temp := Of_Queue.First; while Temp /= null loop Count := Count + 1; Temp := Temp.Next; end loop; return Count; end if; end Length; function Is_Empty (Q : Queue) return Boolean is begin return Q.First = null; end Is_Empty; function Display (Node : Node_Access) return String is begin if Node = null then return ""; else return Element'Image (Node.Value) & " " & Display (Node.Next); end if; end Display; function Display (Q : Queue) return String is begin return Display (Q.First); end Display; end Buffer;procedure Producer_Consumer;with Buffer; with Debug_Tools, Text_Io; procedure Producer_Consumer is type Commodity is (Cotton, Paper, Coal, Silver, Plastic, Timber); function Next (C : Commodity) return Commodity is begin if C = Commodity'Last then return Commodity'First; else return Commodity'Succ (C); end if; end Next; task Queue is entry Put_At_End (Product : in Commodity); entry Get_From_Beginning (Product : out Commodity); end Queue; task Producer; task Consumer; task body Producer is Current : Commodity := Commodity'First; My_Delay : Duration := 2.5; begin Debug_Tools.Set_Task_Name ("producer"); Debug_Tools.User_Break ("start of producer execution"); for I in 1 .. 200 loop Current := Next (Current); Queue.Put_At_End (Current); delay My_Delay; end loop; end Producer; task body Consumer is Product : Commodity; My_Delay : Duration := 4.0; begin Debug_Tools.Set_Task_Name ("consumer"); Debug_Tools.User_Break ("start of consumer execution"); for I in 1 .. 200 loop Queue.Get_From_Beginning (Product); delay My_Delay; end loop; end Consumer; task body Queue is package Commodity_Buffer is new Buffer (Commodity); The_Buffer : Commodity_Buffer.Queue := Commodity_Buffer.Make; Buffer_Size : Natural := 8; Buffer_Length : Natural := 0; Last_In : Commodity := Commodity'First; Last_Out : Commodity := Commodity'First; begin Debug_Tools.Set_Task_Name ("queue"); for I in 1 .. 200 loop select when (Buffer_Length < Buffer_Size) => accept Put_At_End (Product : in Commodity) do Commodity_Buffer.Add (Last_In, The_Buffer); Last_In := Product; end Put_At_End; or when Buffer_Length > 0 => accept Get_From_Beginning (Product : out Commodity) do Commodity_Buffer.Remove (Last_Out, The_Buffer); Product := Last_Out; end Get_From_Beginning; or delay 10.0; end select; Buffer_Length := Commodity_Buffer.Length (The_Buffer); Text_Io.Put_Line ("QUEUE: " & Commodity_Buffer.Display (The_Buffer)); end loop; end Queue; begin null; end Producer_Consumer;package Line is type Line_Kind is (Blank, -- all blank line Comment_Only, -- first non_blank characters are "--" Other_Line); -- non-blank and non-comment-only function Kind (The_Line : String) return Line_Kind; function Has_Comment (The_Line : String) return Boolean; end Line;package body Line is function Locate_Comment (The_String : String) return Natural is begin for I in The_String'First .. The_String'Last - 1 loop if The_String (I .. I + 1) = "--" then return I; end if; end loop; return 0; end Locate_Comment; function Strip_Blanks (The_String : String) return String is begin for I in The_String'Range loop if The_String (I) /= ' ' then return The_String (I .. The_String'Last); end if; end loop; return ""; end Strip_Blanks; function Kind (The_Line : String) return Line_Kind is Clean_Line : constant String := Strip_Blanks (The_Line); Comment_Location : constant Natural := Locate_Comment (Clean_Line); begin if Clean_Line'Length = 0 then return Blank; elsif Comment_Location = 1 then return Comment_Only; else return Other_Line; end if; end Kind; function Has_Comment (The_Line : String) return Boolean is Clean_Line : constant String := Strip_Blanks (The_Line); Comment_Location : constant Natural := Locate_Comment (Clean_Line); begin if Comment_Location = 0 then return False; else return True; end if; end Has_Comment; end Line;package Line_Copy is type Line_Kind is (Blank, -- all blank line Comment_Only, -- first non_blank characters are "--" Other_Line); -- non-blank and non-comment-only function Kind (The_Line : String) return Line_Kind; function Has_Comment (The_Line : String) return Boolean; end Line_Copy;package body Line_Copy is function Locate_Comment (The_String : String) return Natural is begin for I in The_String'First .. The_String'Last - 1 loop if The_String (I .. I + 1) = "--" then return I; end if; end loop; return 0; end Locate_Comment; function Strip_Blanks (The_String : String) return String is begin for I in The_String'Range loop if The_String (I) /= ' ' then return The_String (I .. The_String'Last); end if; end loop; return ""; end Strip_Blanks; function Kind (The_Line : String) return Line_Kind is Clean_Line : constant String := Strip_Blanks (The_Line); Comment_Location : constant Natural := Locate_Comment (Clean_Line); begin if Clean_Line'Length = 0 then return Blank; elsif Comment_Location = 1 then return Comment_Only; else return Other_Line; end if; end Kind; function Has_Comment (The_Line : String) return Boolean is Clean_Line : constant String := Strip_Blanks (The_Line); Comment_Location : constant Natural := Locate_Comment (Clean_Line); begin if Comment_Location = 0 then return False; else return True; end if; end Has_Comment; end Line_Copy;package Overloaded_Declarations is procedure P (I : Integer); pragma Nickname ("First_P"); procedure P (B : Boolean); pragma Nickname ("Second_P"); end Overloaded_Declarations;with Report; procedure Program_Profile (The_System : String; Output_Destination : Report.Destination := "");with Report, Unit; procedure Program_Profile (The_System : String; Output_Destination : Report.Destination := "") is begin Report.Display (Unit.Analyze (The_System), Output_Destination); end Program_Profile;with Unit; package Report is subtype Destination is String; procedure Display (The_Unit : Unit.Statistics; The_Destination : Destination); end Report;with Unit, Text_Io; package body Report is package Statistics_Io is new Text_Io.Integer_Io (Natural); procedure Display (The_Unit : Unit.Statistics; The_Destination : Destination) is Stats_File : Text_Io.File_Type; begin if The_Destination /= "" then begin Text_Io.Create (File => Stats_File, Mode => Text_Io.Out_File, Name => The_Destination, Form => ""); exception when Text_Io.Name_Error => begin Text_Io.Open (File => Stats_File, Mode => Text_Io.Out_File, Name => The_Destination, Form => ""); exception when Text_Io.Name_Error => Text_Io.Put_Line ("Invalid output file"); return; end; end; Text_Io.Set_Output (Stats_File); end if; Text_Io.Put_Line ("-----------------------------"); Text_Io.Put_Line (" Statistics for the unit: "); Text_Io.Put_Line (Unit.Name_Of_Unit (The_Unit)); Text_Io.Put_Line ("-----------------------------"); Text_Io.Put_Line ("| Total Lines | Comments |"); Text_Io.Put_Line ("-----------------------------"); Text_Io.Put ("| "); Statistics_Io.Put (Unit.Number_Of_Lines (The_Unit), 10); Text_Io.Put (" | "); Statistics_Io.Put (Unit.Number_Of_Comments (The_Unit), 10); Text_Io.Put_Line (" |"); Text_Io.Put_Line ("-----------------------------"); if The_Destination /= "" then Text_Io.Close (Stats_File); Text_Io.Set_Output (Text_Io.Standard_Output); end if; end Display; end Report;with Line, Unit, Text_Io; use Unit; function Test_Input1 (The_Unit : Unit_Name) return Statistics is The_Statistics : Statistics; -- foo Unit_Line : String (1 .. 100); File : Text_Io.File_Type; function "=" (Left : Line.Line_Kind; Right : Line.Line_Kind) return Boolean renames Line."="; begin Text_Io.Open (File, Text_Io.In_File, The_Unit); -- foo while not Text_Io.End_Of_File (File) loop begin -- foo Text_Io.Get (File, Unit_Line); -- foo case Line.Kind (Unit_Line) is when Line.Blank => null; when Line.Comment_Only => The_Statistics.Comments := The_Statistics.Comments + 1; The_Statistics.Lines := The_Statistics.Lines + 1; when Line.Other_Line => The_Statistics.Lines := The_Statistics.Lines + 1; if Line.Has_Comment (Unit_Line) then The_Statistics.Comments := The_Statistics.Comments + 1; end if; end case; exception when Io_Exceptions.End_Error => Text_Io.Close (File); end; end loop; Text_Io.Close (File); The_Statistics.Name := Name_String.Value (The_Unit); return The_Statistics; end Test_Input1;with Profile; package Test_Input2 is subtype Name is String; -- Lexically and syntactically an Ada Name. subtype Simple_Name is String; -- A simple Ada name. Basically, an identifier or operator. subtype Context_Name is Name; -- Treatment of context. There is a current context that constitutes the -- assumed naming context. Names are resolved in this context. -- The following characters modify the context: -- ! specifies the Universe context -- $ specifies the enclosing library for the context -- $$ specifies the enclosing world for the context. -- ^ specifies the parent of the current context -- @ matches any single name segment (or part thereof) -- ? matches 0 or more name segments -- A null string will (usually) attempt to get the designated object -- from the current selection/image. Current_Selection : constant String := ""; Current_Image : constant String := ""; Selected_Text : constant String := ""; subtype Response_Profile is Profile.Response_Profile; Error : exception renames Profile.Error; -- only the single exception Error is raised at the current time; procedure Resolve (Name_Of : Name := Library.Selected_Text; Target_Name : Name := ""; Objects_Only : Boolean := True; Response : Response_Profile := Profile.Get); -- Print the Full name for Name_Of; procedure Control_Point (Levels : Positive := 1; Response : Response_Profile := Profile.Get); -- Set default context to the parent control point. procedure Context (To_Be : Context_Name := "$"; Response : Response_Profile := Profile.Get); -- Set the default context to To_Be. When To_Be is the default context, -- only printing takes place. procedure Copy (Existing : Name; New_Name : Name; Before : Simple_Name := ""; Recursive : Boolean := True; Response : Response_Profile := Profile.Get; Copy_Links : Boolean := True); -- Copy Existing version resulting in version with New_Name. -- -- New_Name designates an object that will exist after the copy has -- completed. For Ada objects, changing the simple name will require -- user intervention before installation. -- -- New_Name is interpreted in the current context or specified full -- context and must be unique. -- -- The object designated by New_Name will be the same class as Existing. -- -- Before specifies the unit before which the declaration will be placed -- -- Initial implementation can be expected to resist copying to/from -- objects representing devices. -- -- Any situation that would require demoting unrelated declarations -- results in an error, suppressing the copy. -- -- Recursive applies to objects that contain other objects and indicates -- that these contained objects should be copied. -- -- If Copy_Links is true, then link packs for any worlds copied are -- duplicated, and any link which pointed to the source for a copy is -- altered to point to the destination. If Copy_Links is false, any -- copied worlds will have empty link packs. -- -- If a control point and its switch file are copied, then the copied -- unit will point to the copy of the switch file. If the switch file -- is not copied, then the unit and its original will reference the -- same switch file. -- -- Ada units are copied as source. -- procedure Move (Existing : Name; New_Name : Name; Before : Simple_Name := ""; Recursive : Boolean := True; Response : Response_Profile := Profile.Get; Copy_Links : Boolean := True); -- Equivalent to Copy (Existing, ...); Delete (Existing); procedure Copy_Into (Existing : Name := Library.Current_Selection; New_Context : Context_Name := Library.Current_Image; Before : Simple_Name := ""; Recursive : Boolean := True; Response : Response_Profile := Profile.Get; Copy_Links : Boolean := True); -- Copy Existing version(s) into New_Context -- -- New_Context designates a context that will contain a copy of Existing -- after the copy has completed. The new object(s) will have the same -- simple names as Existing and reside in New_Context. -- -- Before specifies the unit before which the declaration will be placed -- -- Any situation that would require demoting unrelated declarations -- results in an error, suppressing the copy. -- -- Wildcards and recursive, if used, specify a series of copy operations. -- These operations are carried out in directory traversal order. Each -- individual copy operation is carried out under its own action, so -- (with the appropriate parameters) it is possible for some objects to -- be copied and not others. procedure Move_Into (Existing : Name := Library.Current_Selection; New_Context : Context_Name := Library.Current_Image; Before : Simple_Name := ""; Recursive : Boolean := True; Response : Response_Profile := Profile.Get; Copy_Links : Boolean := True); -- Equivalent to Copy_Into (Existing, ...); Delete (Existing); subtype Volume is Natural range 0 .. 31; Nil : constant Volume := Volume'First; type Kind is (World, Directory, Subpackage); procedure Create (Name : Library.Name; Before : Simple_Name := ""; Control_Point : Kind := Library.Directory; Vol : Volume := Library.Nil; Response : Response_Profile := Profile.Get); -- Create a package of the specified type. The Nil volume represents -- the 'best' volume. Vol is ignored for Subpackages, which are not -- control points, and must be on the same volume as their parent. procedure Rename (Existing : Name; New_Name : Simple_Name; Response : Response_Profile := Profile.Get); -- Change the name of an existing library unit or managed object. -- References to library units are not changed -- only the actual -- name of the unit. Various other restrictions apply. procedure Delete (Existing : Name := Library.Current_Selection; Response : Response_Profile := Profile.Get); -- Delete an Existing version or versions. Interpreted in current context. -- -- For policies that support multiple versions, results will be reversible -- with Undelete, otherwise equivalent to Destroy. procedure Destroy (Existing : Name := Library.Current_Selection; Response : Response_Profile := Profile.Get); -- Destroy an Existing version or versions and associated declaration. -- Interpreted in the current context. procedure Undelete (Existing : Name; Response : Response_Profile := Profile.Get); -- Undelete an Existing version. Same usages as Delete. -- -- Only applicable to policies that support multiple versions. Default_Keep_Versions : constant := -1; -- Keep the default number of deleted versions. procedure Expunge (Existing : Name := Library.Current_Image; Keep_Versions : Integer := 0; Recursive : Boolean := True; Control_Points : Boolean := False; Response : Response_Profile := Profile.Get); -- Make deletions permanent. -- Recursive causes subobjects to be expunged. -- Control_Points causes recursive expunge to continue past control -- point boundaries. -- Keep_Versions deleted versions will be retained. -- -- Only applicable to policies that support multiple versions. procedure Set_Retention_Count (Existing : Name := Library.Current_Image; Keep_Versions : Integer := Library.Default_Keep_Versions; Recursive : Boolean := True; Control_Points : Boolean := False; Response : Response_Profile := Profile.Get); -- Set the default number of deleted versions of an object which -- are retained. Default is the same as the object's parent. -- Recursive causes subobjects to be touched. -- Control_Points causes recursion to continue past control -- point boundaries. -- -- Only applicable to policies that support multiple versions. procedure Freeze (Existing : Name := Library.Current_Image; Recursive : Boolean := True; Control_Points : Boolean := True; Response : Response_Profile := Profile.Get); -- Prevent further changes to an object. -- Recursive causes subobjects to be frozen. -- Control_Points causes recursive freeze to continue past control -- point boundaries. procedure Unfreeze (Existing : Name := Library.Current_Image; Recursive : Boolean := True; Control_Points : Boolean := True; Response : Response_Profile := Profile.Get); -- Permit changes to an object. -- Recursive causes subobjects to be unfrozen. -- Control_Points causes recursive unfreeze to continue past control -- point boundaries. procedure Default (Existing : Name; Response : Response_Profile := Profile.Get); -- Set the default Version for the existing object and print the result as -- a message. When Version = Default_Version, only printing results. -- -- Only applicable to policies that support multiple versions. type Field is (Object, -- Ada name. Version, -- Version name. Class, -- Directory class name. Updater, -- User to last update object. Update_Time, -- Time of last update. Creator, -- User who created object. Create_Time, -- Time of creation. Reader, -- User to last read object. Read_Time, -- Time of last read. Size, -- Current size of object. Status, -- Source, Installed, Coded, Elaborated, etc. Frozen, -- Is this object frozen. Retention, -- Max. number of deleted versions retained. Declaration -- Ada declaration of object. -- Sorted by declaration => declaration order ); type Fields is array (Field) of Boolean; Verbose_Format : constant Fields := Fields'(Object .. Update_Time => True, Size .. Retention => True, others => False); Ada_Format : constant Fields := Fields'(Status => True, Declaration => True, others => False); All_Fields : constant Fields := Fields'(others => True); Terse_Format : constant Fields := Fields'(Object => True, others => False); procedure List (Pattern : Name := "@"; Displaying : Fields := Library.Terse_Format; Sorted_By : Field := Library.Object; Descending : Boolean := False; Response : Response_Profile := Profile.Get); procedure Verbose_List (Pattern : Name := "{@'V(ALL)}"; Displaying : Fields := Library.Verbose_Format; Sorted_By : Field := Library.Object; Descending : Boolean := False; Response : Response_Profile := Profile.Get) renames List; procedure File_List (Pattern : Name := "$@'C(FILE)"; Displaying : Fields := Library.Verbose_Format; Sorted_By : Field := Library.Object; Descending : Boolean := False; Response : Response_Profile := Profile.Get) renames List; procedure Ada_List (Pattern : Name := "@'C(ADA)"; Displaying : Fields := Library.Ada_Format; Sorted_By : Field := Library.Declaration; Descending : Boolean := False; Response : Response_Profile := Profile.Get) renames List; procedure Space (For_Object : Name := "@"; Recursive : Boolean := True; Each_Object : Boolean := False; Each_Version : Boolean := False; Space_Types : Boolean := True; Control_Points : Boolean := False; Response : Response_Profile := Profile.Get); -- Show the space utilization (in pages) For_Object, including Volume. -- Recursive causes sub-objects to be included. -- Each_Version lists each version, including recursive ones. -- Space_Types breaks the space for ada objects down into categories, -- including the object itself, code segment, attribute spaces, list files. -- Control_Points causes recursive space calculations to cross control -- point boundaries. -- Performs appropriate totalling. pragma Read_Only; pragma Subsystem (Command); pragma Module_Name (4, 3921); procedure Set_Subclass (Existing : Name := Library.Current_Selection; To_Subclass : String := ""; Response : Response_Profile := Profile.Get); -- Set the subclass of an object. A null string for To_Subclass requests -- the system to set the subclass to its 'best guess'. -- Quiet forms which correspond to those in Library_Object_Editor. procedure Create_World (Name : String; Volume : Natural := 0); procedure Create_Directory (Name : String); procedure Create_Unit (Name : String := ""); end Test_Input2;package Unit is subtype Unit_Name is String; type Statistics is private; function Analyze (The_Unit : Unit_Name) return Statistics; function Name_Of_Unit (The_Unit : Statistics) return Unit_Name; function Number_Of_Lines (The_Unit : Statistics) return Natural; function Number_Of_Comments (The_Unit : Statistics) return Natural; private type Statistics is record Name : String (1 .. 100); Lines : Natural := 0; Comments : Natural := 0; end record; end Unit;with Text_Io, Line; package body Unit is function Analyze (The_Unit : Unit_Name) return Statistics is The_Statistics : Statistics; Unit_Line : String (1 .. 100) := (others => ' '); File : Text_Io.File_Type; Last : Natural := 0; function "=" (Left : Line.Line_Kind; Right : Line.Line_Kind) return Boolean renames Line."="; begin Text_Io.Open (File, Text_Io.In_File, The_Unit); while not Text_Io.End_Of_File (File) loop begin Text_Io.Get_Line (File, Unit_Line, Last); case Line.Kind (Unit_Line) is when Line.Blank => null; when Line.Comment_Only => The_Statistics.Comments := The_Statistics.Comments + 1; The_Statistics.Lines := The_Statistics.Lines + 1; when Line.Other_Line => The_Statistics.Lines := The_Statistics.Lines + 1; if Line.Has_Comment (Unit_Line) then The_Statistics.Comments := The_Statistics.Comments + 1; end if; end case; Unit_Line := (others => ' '); exception when Text_Io.End_Error => Text_Io.Close (File); end; end loop; Text_Io.Close (File); Unit_Line (1 .. The_Unit'Last) := The_Unit; The_Statistics.Name := Unit_Line; return The_Statistics; end Analyze; function Name_Of_Unit (The_Unit : Statistics) return Unit_Name is begin return The_Unit.Name; end Name_Of_Unit; function Number_Of_Lines (The_Unit : Statistics) return Natural is begin return The_Unit.Lines; end Number_Of_Lines; function Number_Of_Comments (The_Unit : Statistics) return Natural is begin return The_Unit.Comments; end Number_Of_Comments; end Unit;package Line is type Line_Kind is (Blank, -- all blank line Comment_Only, -- first non_blank characters are "--" Other_Line); -- non-blank and non-comment-only function Kind (The_Line : String) return Line_Kind; function Has_Comment (The_Line : String) return Boolean; end Line;package body Line is function Locate_Comment (The_String : String) return Natural is begin for I in The_String'First .. The_String'Last - 1 loop if The_String (I .. I + 1) = "--" then return I; end if; end loop; return 0; end Locate_Comment; function Strip_Blanks (The_String : String) return String is begin for I in The_String'Range loop if The_String (I) /= ' ' then return The_String (I .. The_String'Last); end if; end loop; return ""; end Strip_Blanks; function Kind (The_Line : String) return Line_Kind is Clean_Line : constant String := Strip_Blanks (The_Line); Comment_Location : constant Natural := Locate_Comment (Clean_Line); begin if Clean_Line'Length = 0 then return Blank; elsif Comment_Location = 1 then return Comment_Only; else return Other_Line; end if; end Kind; function Has_Comment (The_Line : String) return Boolean is Clean_Line : constant String := Strip_Blanks (The_Line); Comment_Location : constant Natural := Locate_Comment (Clean_Line); begin if Comment_Location = 0 then return False; else return True; end if; end Has_Comment; end Line;with Report; procedure Program_Profile (The_System : String; Output_Destination : Report.Destination := "");with Report, Unit; procedure Program_Profile (The_System : String; Output_Destination : Report.Destination := "") is begin Report.Display (Unit.Analyze (The_System), Output_Destination); end Program_Profile;with Unit; package Report is subtype Destination is String; procedure Display (The_Unit : Unit.Statistics; The_Destination : Destination); end Report;with Unit, Text_Io; package body Report is package Statistics_Io is new Text_Io.Integer_Io (Natural); procedure Display (The_Unit : Unit.Statistics; The_Destination : Destination) is Stats_File : Text_Io.File_Type; begin if The_Destination /= "" then begin Text_Io.Create (File => Stats_File, Mode => Text_Io.Out_File, Name => The_Destination, Form => ""); exception when Text_Io.Name_Error => begin Text_Io.Open (File => Stats_File, Mode => Text_Io.Out_File, Name => The_Destination, Form => ""); exception when Text_Io.Name_Error => Text_Io.Put_Line ("Invalid output file"); return; end; end; Text_Io.Set_Output (Stats_File); end if; Text_Io.Put_Line ("-----------------------------"); Text_Io.Put_Line (" Statistics for the unit: "); Text_Io.Put_Line (Unit.Name_Of_Unit (The_Unit)); Text_Io.Put_Line ("-----------------------------"); Text_Io.Put_Line ("| Total Lines | Comments |"); Text_Io.Put_Line ("-----------------------------"); Text_Io.Put ("| "); Statistics_Io.Put (Unit.Number_Of_Lines (The_Unit), 10); Text_Io.Put (" | "); Statistics_Io.Put (Unit.Number_Of_Comments (The_Unit), 10); Text_Io.Put_Line (" |"); Text_Io.Put_Line ("-----------------------------"); if The_Destination /= "" then Text_Io.Close (Stats_File); Text_Io.Set_Output (Text_Io.Standard_Output); end if; end Display; end Report;with Line, Unit, Text_Io; use Unit; function Test_Input1 (The_Unit : Unit_Name) return Statistics is The_Statistics : Statistics; -- foo Unit_Line : String (1 .. 100); File : Text_Io.File_Type; function "=" (Left : Line.Line_Kind; Right : Line.Line_Kind) return Boolean renames Line."="; begin Text_Io.Open (File, Text_Io.In_File, The_Unit); -- foo while not Text_Io.End_Of_File (File) loop begin -- foo Text_Io.Get (File, Unit_Line); -- foo case Line.Kind (Unit_Line) is when Line.Blank => null; when Line.Comment_Only => The_Statistics.Comments := The_Statistics.Comments + 1; The_Statistics.Lines := The_Statistics.Lines + 1; when Line.Other_Line => The_Statistics.Lines := The_Statistics.Lines + 1; if Line.Has_Comment (Unit_Line) then The_Statistics.Comments := The_Statistics.Comments + 1; end if; end case; exception when Io_Exceptions.End_Error => Text_Io.Close (File); end; end loop; Text_Io.Close (File); The_Statistics.Name := Name_String.Value (The_Unit); return The_Statistics; end Test_Input1;with Profile; package Test_Input2 is subtype Name is String; -- Lexically and syntactically an Ada Name. subtype Simple_Name is String; -- A simple Ada name. Basically, an identifier or operator. subtype Context_Name is Name; -- Treatment of context. There is a current context that constitutes the -- assumed naming context. Names are resolved in this context. -- The following characters modify the context: -- ! specifies the Universe context -- $ specifies the enclosing library for the context -- $$ specifies the enclosing world for the context. -- ^ specifies the parent of the current context -- @ matches any single name segment (or part thereof) -- ? matches 0 or more name segments -- A null string will (usually) attempt to get the designated object -- from the current selection/image. Current_Selection : constant String := ""; Current_Image : constant String := ""; Selected_Text : constant String := ""; subtype Response_Profile is Profile.Response_Profile; Error : exception renames Profile.Error; -- only the single exception Error is raised at the current time; procedure Resolve (Name_Of : Name := Library.Selected_Text; Target_Name : Name := ""; Objects_Only : Boolean := True; Response : Response_Profile := Profile.Get); -- Print the Full name for Name_Of; procedure Control_Point (Levels : Positive := 1; Response : Response_Profile := Profile.Get); -- Set default context to the parent control point. procedure Context (To_Be : Context_Name := "$"; Response : Response_Profile := Profile.Get); -- Set the default context to To_Be. When To_Be is the default context, -- only printing takes place. procedure Copy (Existing : Name; New_Name : Name; Before : Simple_Name := ""; Recursive : Boolean := True; Response : Response_Profile := Profile.Get; Copy_Links : Boolean := True); -- Copy Existing version resulting in version with New_Name. -- -- New_Name designates an object that will exist after the copy has -- completed. For Ada objects, changing the simple name will require -- user intervention before installation. -- -- New_Name is interpreted in the current context or specified full -- context and must be unique. -- -- The object designated by New_Name will be the same class as Existing. -- -- Before specifies the unit before which the declaration will be placed -- -- Initial implementation can be expected to resist copying to/from -- objects representing devices. -- -- Any situation that would require demoting unrelated declarations -- results in an error, suppressing the copy. -- -- Recursive applies to objects that contain other objects and indicates -- that these contained objects should be copied. -- -- If Copy_Links is true, then link packs for any worlds copied are -- duplicated, and any link which pointed to the source for a copy is -- altered to point to the destination. If Copy_Links is false, any -- copied worlds will have empty link packs. -- -- If a control point and its switch file are copied, then the copied -- unit will point to the copy of the switch file. If the switch file -- is not copied, then the unit and its original will reference the -- same switch file. -- -- Ada units are copied as source. -- procedure Move (Existing : Name; New_Name : Name; Before : Simple_Name := ""; Recursive : Boolean := True; Response : Response_Profile := Profile.Get; Copy_Links : Boolean := True); -- Equivalent to Copy (Existing, ...); Delete (Existing); procedure Copy_Into (Existing : Name := Library.Current_Selection; New_Context : Context_Name := Library.Current_Image; Before : Simple_Name := ""; Recursive : Boolean := True; Response : Response_Profile := Profile.Get; Copy_Links : Boolean := True); -- Copy Existing version(s) into New_Context -- -- New_Context designates a context that will contain a copy of Existing -- after the copy has completed. The new object(s) will have the same -- simple names as Existing and reside in New_Context. -- -- Before specifies the unit before which the declaration will be placed -- -- Any situation that would require demoting unrelated declarations -- results in an error, suppressing the copy. -- -- Wildcards and recursive, if used, specify a series of copy operations. -- These operations are carried out in directory traversal order. Each -- individual copy operation is carried out under its own action, so -- (with the appropriate parameters) it is possible for some objects to -- be copied and not others. procedure Move_Into (Existing : Name := Library.Current_Selection; New_Context : Context_Name := Library.Current_Image; Before : Simple_Name := ""; Recursive : Boolean := True; Response : Response_Profile := Profile.Get; Copy_Links : Boolean := True); -- Equivalent to Copy_Into (Existing, ...); Delete (Existing); subtype Volume is Natural range 0 .. 31; Nil : constant Volume := Volume'First; type Kind is (World, Directory, Subpackage); procedure Create (Name : Library.Name; Before : Simple_Name := ""; Control_Point : Kind := Library.Directory; Vol : Volume := Library.Nil; Response : Response_Profile := Profile.Get); -- Create a package of the specified type. The Nil volume represents -- the 'best' volume. Vol is ignored for Subpackages, which are not -- control points, and must be on the same volume as their parent. procedure Rename (Existing : Name; New_Name : Simple_Name; Response : Response_Profile := Profile.Get); -- Change the name of an existing library unit or managed object. -- References to library units are not changed -- only the actual -- name of the unit. Various other restrictions apply. procedure Delete (Existing : Name := Library.Current_Selection; Response : Response_Profile := Profile.Get); -- Delete an Existing version or versions. Interpreted in current context. -- -- For policies that support multiple versions, results will be reversible -- with Undelete, otherwise equivalent to Destroy. procedure Destroy (Existing : Name := Library.Current_Selection; Response : Response_Profile := Profile.Get); -- Destroy an Existing version or versions and associated declaration. -- Interpreted in the current context. procedure Undelete (Existing : Name; Response : Response_Profile := Profile.Get); -- Undelete an Existing version. Same usages as Delete. -- -- Only applicable to policies that support multiple versions. Default_Keep_Versions : constant := -1; -- Keep the default number of deleted versions. procedure Expunge (Existing : Name := Library.Current_Image; Keep_Versions : Integer := 0; Recursive : Boolean := True; Control_Points : Boolean := False; Response : Response_Profile := Profile.Get); -- Make deletions permanent. -- Recursive causes subobjects to be expunged. -- Control_Points causes recursive expunge to continue past control -- point boundaries. -- Keep_Versions deleted versions will be retained. -- -- Only applicable to policies that support multiple versions. procedure Set_Retention_Count (Existing : Name := Library.Current_Image; Keep_Versions : Integer := Library.Default_Keep_Versions; Recursive : Boolean := True; Control_Points : Boolean := False; Response : Response_Profile := Profile.Get); -- Set the default number of deleted versions of an object which -- are retained. Default is the same as the object's parent. -- Recursive causes subobjects to be touched. -- Control_Points causes recursion to continue past control -- point boundaries. -- -- Only applicable to policies that support multiple versions. procedure Freeze (Existing : Name := Library.Current_Image; Recursive : Boolean := True; Control_Points : Boolean := True; Response : Response_Profile := Profile.Get); -- Prevent further changes to an object. -- Recursive causes subobjects to be frozen. -- Control_Points causes recursive freeze to continue past control -- point boundaries. procedure Unfreeze (Existing : Name := Library.Current_Image; Recursive : Boolean := True; Control_Points : Boolean := True; Response : Response_Profile := Profile.Get); -- Permit changes to an object. -- Recursive causes subobjects to be unfrozen. -- Control_Points causes recursive unfreeze to continue past control -- point boundaries. procedure Default (Existing : Name; Response : Response_Profile := Profile.Get); -- Set the default Version for the existing object and print the result as -- a message. When Version = Default_Version, only printing results. -- -- Only applicable to policies that support multiple versions. type Field is (Object, -- Ada name. Version, -- Version name. Class, -- Directory class name. Updater, -- User to last update object. Update_Time, -- Time of last update. Creator, -- User who created object. Create_Time, -- Time of creation. Reader, -- User to last read object. Read_Time, -- Time of last read. Size, -- Current size of object. Status, -- Source, Installed, Coded, Elaborated, etc. Frozen, -- Is this object frozen. Retention, -- Max. number of deleted versions retained. Declaration -- Ada declaration of object. -- Sorted by declaration => declaration order ); type Fields is array (Field) of Boolean; Verbose_Format : constant Fields := Fields'(Object .. Update_Time => True, Size .. Retention => True, others => False); Ada_Format : constant Fields := Fields'(Status => True, Declaration => True, others => False); All_Fields : constant Fields := Fields'(others => True); Terse_Format : constant Fields := Fields'(Object => True, others => False); procedure List (Pattern : Name := "@"; Displaying : Fields := Library.Terse_Format; Sorted_By : Field := Library.Object; Descending : Boolean := False; Response : Response_Profile := Profile.Get); procedure Verbose_List (Pattern : Name := "{@'V(ALL)}"; Displaying : Fields := Library.Verbose_Format; Sorted_By : Field := Library.Object; Descending : Boolean := False; Response : Response_Profile := Profile.Get) renames List; procedure File_List (Pattern : Name := "$@'C(FILE)"; Displaying : Fields := Library.Verbose_Format; Sorted_By : Field := Library.Object; Descending : Boolean := False; Response : Response_Profile := Profile.Get) renames List; procedure Ada_List (Pattern : Name := "@'C(ADA)"; Displaying : Fields := Library.Ada_Format; Sorted_By : Field := Library.Declaration; Descending : Boolean := False; Response : Response_Profile := Profile.Get) renames List; procedure Space (For_Object : Name := "@"; Recursive : Boolean := True; Each_Object : Boolean := False; Each_Version : Boolean := False; Space_Types : Boolean := True; Control_Points : Boolean := False; Response : Response_Profile := Profile.Get); -- Show the space utilization (in pages) For_Object, including Volume. -- Recursive causes sub-objects to be included. -- Each_Version lists each version, including recursive ones. -- Space_Types breaks the space for ada objects down into categories, -- including the object itself, code segment, attribute spaces, list files. -- Control_Points causes recursive space calculations to cross control -- point boundaries. -- Performs appropriate totalling. pragma Read_Only; pragma Subsystem (Command); pragma Module_Name (4, 3921); procedure Set_Subclass (Existing : Name := Library.Current_Selection; To_Subclass : String := ""; Response : Response_Profile := Profile.Get); -- Set the subclass of an object. A null string for To_Subclass requests -- the system to set the subclass to its 'best guess'. -- Quiet forms which correspond to those in Library_Object_Editor. procedure Create_World (Name : String; Volume : Natural := 0); procedure Create_Directory (Name : String); procedure Create_Unit (Name : String := ""); end Test_Input2;package Unit is subtype Unit_Name is String; type Statistics is private; function Analyze (The_Unit : Unit_Name) return Statistics; function Name_Of_Unit (The_Unit : Statistics) return Unit_Name; function Number_Of_Lines (The_Unit : Statistics) return Natural; function Number_Of_Comments (The_Unit : Statistics) return Natural; function Number_Of_Statments (The_Unit : Statistics) return Natural; private type Statistics is record Name : String (1 .. 100); Lines : Natural := 0; Comments : Natural := 0; end record; end Unit;with Text_Io, Line; package body Unit is function Analyze (The_Unit : Unit_Name) return Statistics is The_Statistics : Statistics; Unit_Line : String (1 .. 100) := (others => ' '); File : Text_Io.File_Type; Last : Natural := 0; function "=" (Left : Line.Line_Kind; Right : Line.Line_Kind) return Boolean renames Line."="; begin Text_Io.Open (File, Text_Io.In_File, The_Unit); while not Text_Io.End_Of_File (File) loop begin Text_Io.Get_Line (File, Unit_Line, Last); case Line.Kind (Unit_Line) is when Line.Blank => null; when Line.Comment_Only => The_Statistics.Comments := The_Statistics.Comments + 1; The_Statistics.Lines := The_Statistics.Lines + 1; when Line.Other_Line => The_Statistics.Lines := The_Statistics.Lines + 1; if Line.Has_Comment (Unit_Line) then The_Statistics.Comments := The_Statistics.Comments + 1; end if; end case; Unit_Line := (others => ' '); exception when Text_Io.End_Error => Text_Io.Close (File); end; end loop; Text_Io.Close (File); Unit_Line (1 .. The_Unit'Last) := The_Unit; The_Statistics.Name := Unit_Line; return The_Statistics; end Analyze; function Name_Of_Unit (The_Unit : Statistics) return Unit_Name is begin return The_Unit.Name; end Name_Of_Unit; function Number_Of_Lines (The_Unit : Statistics) return Natural is begin return The_Unit.Lines; end Number_Of_Lines; function Number_Of_Comments (The_Unit : Statistics) return Natural is begin return The_Unit.Comments; end Number_Of_Comments; function Number_Of_Statments (The_Unit : Statistics) return Natural is begin [statement] end Number_Of_Statments; end Unit;procedure Main;with Message_Io; with Process; procedure Main is Input : Message_Io.Message; begin loop Input := Message_Io.Read_From_Channel; case Message_Io.Kind (Input) is when Message_Io.One | Message_Io.Three => if Message_Io.Length (Input) > 156 then Message_Io.Change_Kind (Input, Message_Io.Two); Message_Io.Send (Input); else Message_Io.Send (Input); end if; when Message_Io.Two => Message_Io.Change_Kind (Input, Message_Io.Three); Message_Io.Send (Input); end case; end loop; exception when Message_Io.Not_Found => null; end Main;package Message_Io is type Message_Kind is (One, Two, Three); type Message is private; function Read_From_Channel return Message; procedure Send (The_Message : Message); function Kind (Of_Messgae : Message) return Message_Kind; procedure Change_Kind (The_Message : in out Message; To_Kind : Message_Kind); function Length (Of_Message : Message) return Natural; function Data (Of_Message : Message) return String; Not_Found : exception; private type Message is new Boolean; end Message_Io;with Message_Io; package Process is type Data is array (Natural range <>) of Integer; procedure Convert (The_Message : in out Message_Io.Message); function Get_Data (From_Message : Message_Io.Message) return Data; end Process;with Message_Io; package body Process is procedure Convert (The_Message : in out Message_Io.Message) is Local : Integer; begin case Message_Io.Kind (The_Message) is when Message_Io.One => Message_Io.Change_Kind (The_Message, Message_Io.One); when Message_Io.Two | Message_Io.Three => Message_Io.Change_Kind (The_Message, Message_Io.One); end case; end Convert; procedure Transfer (The_Message : Message_Io.Message; To_Location : String) is begin null; end Transfer; procedure Convert (Input : String; Output_Data : out Data) is begin null; end Convert; function Get_Data (From_Message : Message_Io.Message) return Data is String_Data : constant String := Message_Io.Data (From_Message); Return_Data : Data (1 .. Message_Io.Length (From_Message)) := (others => 0); begin if String_Data (Message_Io.Length (From_Message)) = '!' then case Message_Io.Kind (From_Message) is when Message_Io.One | Message_Io.Two => Convert (String_Data, Return_Data); when Message_Io.Three => raise Message_Io.Not_Found; end case; end if; return Return_Data; end Get_Data; end Process;package Line is type Line_Kind is (Blank, -- all blank line Comment_Only, -- first non_blank characters are "--" Other_Line); -- non-blank and non-comment-only function Kind (The_Line : String) return Line_Kind; function Has_Comment (The_Line : String) return Boolean; end Line;package body Line is function Locate_Comment (The_String : String) return Natural is begin for I in The_String'First .. The_String'Last - 1 loop if The_String (I .. I + 1) = "--" then return I; end if; end loop; return 0; end Locate_Comment; function Strip_Blanks (The_String : String) return String is begin for I in The_String'Range loop if The_String (I) /= ' ' then return The_String (I .. The_String'Last); end if; end loop; return ""; end Strip_Blanks; function Kind (The_Line : String) return Line_Kind is Clean_Line : constant String := Strip_Blanks (The_Line); Comment_Location : constant Natural := Locate_Comment (Clean_Line); begin if Clean_Line'Length = 0 then return Blank; elsif Comment_Location = 1 then return Comment_Only; else return Other_Line; end if; end Kind; function Has_Comment (The_Line : String) return Boolean is Clean_Line : constant String := Strip_Blanks (The_Line); Comment_Location : constant Natural := Locate_Comment (Clean_Line); begin if Comment_Location = 0 then return False; else return True; end if; end Has_Comment; end Line;procedure Program_Profile (The_System : String; Output_Destination : String := "");with Report, Unit; procedure Program_Profile (The_System : String; Output_Destination : String := "") is begin Report.Display (Unit.Analyze (The_System), Output_Destination); end Program_Profile;with Unit; package Report is procedure Display (The_Unit : Unit.Statistics; The_Destination : String); end Report;with Unit, Text_Io; package body Report is package Statistics_Io is new Text_Io.Integer_Io (Natural); procedure Display (The_Unit : Unit.Statistics; The_Destination : String) is Stats_File : Text_Io.File_Type; begin if The_Destination /= "" then begin Text_Io.Create (File => Stats_File, Mode => Text_Io.Out_File, Name => The_Destination, Form => ""); exception when Text_Io.Name_Error => begin Text_Io.Open (File => Stats_File, Mode => Text_Io.Out_File, Name => The_Destination, Form => ""); exception when Text_Io.Name_Error => Text_Io.Put_Line ("Invalid output file"); return; end; end; Text_Io.Set_Output (Stats_File); end if; Text_Io.Put_Line ("-----------------------------"); Text_Io.Put_Line (" Statistics for the unit: "); Text_Io.Put_Line (Unit.Name_Of_Unit (The_Unit)); Text_Io.Put_Line ("-----------------------------"); Text_Io.Put_Line ("| Total Lines | Comments |"); Text_Io.Put_Line ("-----------------------------"); Text_Io.Put ("| "); Statistics_Io.Put (Unit.Number_Of_Lines (The_Unit), 10); Text_Io.Put (" | "); Statistics_Io.Put (Unit.Number_Of_Comments (The_Unit), 10); Text_Io.Put_Line (" |"); Text_Io.Put_Line ("-----------------------------"); if The_Destination /= "" then Text_Io.Close (Stats_File); Text_Io.Set_Output (Text_Io.Standard_Output); end if; end Display; end Report;procedure Test_Driver1;with Program_Profile; with System_Utilities; procedure Test_Driver1 is Test_Input : constant String := "!Users." & System_Utilities.User_Name & ".Program_Profile_System.Test_input_1"; begin Program_Profile (The_System => Test_Input, Output_Destination => ""); end Test_Driver1;with Line, Unit, Text_Io; use Unit; function Test_Input1 (The_Unit : Unit_Name) return Statistics is The_Statistics : Statistics; -- foo Unit_Line : String (1 .. 100); File : Text_Io.File_Type; function "=" (Left : Line.Line_Kind; Right : Line.Line_Kind) return Boolean renames Line."="; begin Text_Io.Open (File, Text_Io.In_File, The_Unit); -- foo while not Text_Io.End_Of_File (File) loop begin -- foo Text_Io.Get (File, Unit_Line); -- foo case Line.Kind (Unit_Line) is when Line.Blank => null; when Line.Comment_Only => The_Statistics.Comments := The_Statistics.Comments + 1; The_Statistics.Lines := The_Statistics.Lines + 1; when Line.Other_Line => The_Statistics.Lines := The_Statistics.Lines + 1; if Line.Has_Comment (Unit_Line) then The_Statistics.Comments := The_Statistics.Comments + 1; end if; end case; exception when Io_Exceptions.End_Error => Text_Io.Close (File); end; end loop; Text_Io.Close (File); The_Statistics.Name := Name_String.Value (The_Unit); return The_Statistics; end Test_Input1;with Profile; package Test_Input2 is subtype Name is String; -- Lexically and syntactically an Ada Name. subtype Simple_Name is String; -- A simple Ada name. Basically, an identifier or operator. subtype Context_Name is Name; -- Treatment of context. There is a current context that constitutes the -- assumed naming context. Names are resolved in this context. -- The following characters modify the context: -- ! specifies the Universe context -- $ specifies the enclosing library for the context -- $$ specifies the enclosing world for the context. -- ^ specifies the parent of the current context -- @ matches any single name segment (or part thereof) -- ? matches 0 or more name segments -- A null string will (usually) attempt to get the designated object -- from the current selection/image. Current_Selection : constant String := ""; Current_Image : constant String := ""; Selected_Text : constant String := ""; subtype Response_Profile is Profile.Response_Profile; Error : exception renames Profile.Error; -- only the single exception Error is raised at the current time; procedure Resolve (Name_Of : Name := Library.Selected_Text; Target_Name : Name := ""; Objects_Only : Boolean := True; Response : Response_Profile := Profile.Get); -- Print the Full name for Name_Of; procedure Control_Point (Levels : Positive := 1; Response : Response_Profile := Profile.Get); -- Set default context to the parent control point. procedure Context (To_Be : Context_Name := "$"; Response : Response_Profile := Profile.Get); -- Set the default context to To_Be. When To_Be is the default context, -- only printing takes place. procedure Copy (Existing : Name; New_Name : Name; Before : Simple_Name := ""; Recursive : Boolean := True; Response : Response_Profile := Profile.Get; Copy_Links : Boolean := True); -- Copy Existing version resulting in version with New_Name. -- -- New_Name designates an object that will exist after the copy has -- completed. For Ada objects, changing the simple name will require -- user intervention before installation. -- -- New_Name is interpreted in the current context or specified full -- context and must be unique. -- -- The object designated by New_Name will be the same class as Existing. -- -- Before specifies the unit before which the declaration will be placed -- -- Initial implementation can be expected to resist copying to/from -- objects representing devices. -- -- Any situation that would require demoting unrelated declarations -- results in an error, suppressing the copy. -- -- Recursive applies to objects that contain other objects and indicates -- that these contained objects should be copied. -- -- If Copy_Links is true, then link packs for any worlds copied are -- duplicated, and any link which pointed to the source for a copy is -- altered to point to the destination. If Copy_Links is false, any -- copied worlds will have empty link packs. -- -- If a control point and its switch file are copied, then the copied -- unit will point to the copy of the switch file. If the switch file -- is not copied, then the unit and its original will reference the -- same switch file. -- -- Ada units are copied as source. -- procedure Move (Existing : Name; New_Name : Name; Before : Simple_Name := ""; Recursive : Boolean := True; Response : Response_Profile := Profile.Get; Copy_Links : Boolean := True); -- Equivalent to Copy (Existing, ...); Delete (Existing); procedure Copy_Into (Existing : Name := Library.Current_Selection; New_Context : Context_Name := Library.Current_Image; Before : Simple_Name := ""; Recursive : Boolean := True; Response : Response_Profile := Profile.Get; Copy_Links : Boolean := True); -- Copy Existing version(s) into New_Context -- -- New_Context designates a context that will contain a copy of Existing -- after the copy has completed. The new object(s) will have the same -- simple names as Existing and reside in New_Context. -- -- Before specifies the unit before which the declaration will be placed -- -- Any situation that would require demoting unrelated declarations -- results in an error, suppressing the copy. -- -- Wildcards and recursive, if used, specify a series of copy operations. -- These operations are carried out in directory traversal order. Each -- individual copy operation is carried out under its own action, so -- (with the appropriate parameters) it is possible for some objects to -- be copied and not others. procedure Move_Into (Existing : Name := Library.Current_Selection; New_Context : Context_Name := Library.Current_Image; Before : Simple_Name := ""; Recursive : Boolean := True; Response : Response_Profile := Profile.Get; Copy_Links : Boolean := True); -- Equivalent to Copy_Into (Existing, ...); Delete (Existing); subtype Volume is Natural range 0 .. 31; Nil : constant Volume := Volume'First; type Kind is (World, Directory, Subpackage); procedure Create (Name : Library.Name; Before : Simple_Name := ""; Control_Point : Kind := Library.Directory; Vol : Volume := Library.Nil; Response : Response_Profile := Profile.Get); -- Create a package of the specified type. The Nil volume represents -- the 'best' volume. Vol is ignored for Subpackages, which are not -- control points, and must be on the same volume as their parent. procedure Rename (Existing : Name; New_Name : Simple_Name; Response : Response_Profile := Profile.Get); -- Change the name of an existing library unit or managed object. -- References to library units are not changed -- only the actual -- name of the unit. Various other restrictions apply. procedure Delete (Existing : Name := Library.Current_Selection; Response : Response_Profile := Profile.Get); -- Delete an Existing version or versions. Interpreted in current context. -- -- For policies that support multiple versions, results will be reversible -- with Undelete, otherwise equivalent to Destroy. procedure Destroy (Existing : Name := Library.Current_Selection; Response : Response_Profile := Profile.Get); -- Destroy an Existing version or versions and associated declaration. -- Interpreted in the current context. procedure Undelete (Existing : Name; Response : Response_Profile := Profile.Get); -- Undelete an Existing version. Same usages as Delete. -- -- Only applicable to policies that support multiple versions. Default_Keep_Versions : constant := -1; -- Keep the default number of deleted versions. procedure Expunge (Existing : Name := Library.Current_Image; Keep_Versions : Integer := 0; Recursive : Boolean := True; Control_Points : Boolean := False; Response : Response_Profile := Profile.Get); -- Make deletions permanent. -- Recursive causes subobjects to be expunged. -- Control_Points causes recursive expunge to continue past control -- point boundaries. -- Keep_Versions deleted versions will be retained. -- -- Only applicable to policies that support multiple versions. procedure Set_Retention_Count (Existing : Name := Library.Current_Image; Keep_Versions : Integer := Library.Default_Keep_Versions; Recursive : Boolean := True; Control_Points : Boolean := False; Response : Response_Profile := Profile.Get); -- Set the default number of deleted versions of an object which -- are retained. Default is the same as the object's parent. -- Recursive causes subobjects to be touched. -- Control_Points causes recursion to continue past control -- point boundaries. -- -- Only applicable to policies that support multiple versions. procedure Freeze (Existing : Name := Library.Current_Image; Recursive : Boolean := True; Control_Points : Boolean := True; Response : Response_Profile := Profile.Get); -- Prevent further changes to an object. -- Recursive causes subobjects to be frozen. -- Control_Points causes recursive freeze to continue past control -- point boundaries. procedure Unfreeze (Existing : Name := Library.Current_Image; Recursive : Boolean := True; Control_Points : Boolean := True; Response : Response_Profile := Profile.Get); -- Permit changes to an object. -- Recursive causes subobjects to be unfrozen. -- Control_Points causes recursive unfreeze to continue past control -- point boundaries. procedure Default (Existing : Name; Response : Response_Profile := Profile.Get); -- Set the default Version for the existing object and print the result as -- a message. When Version = Default_Version, only printing results. -- -- Only applicable to policies that support multiple versions. type Field is (Object, -- Ada name. Version, -- Version name. Class, -- Directory class name. Updater, -- User to last update object. Update_Time, -- Time of last update. Creator, -- User who created object. Create_Time, -- Time of creation. Reader, -- User to last read object. Read_Time, -- Time of last read. Size, -- Current size of object. Status, -- Source, Installed, Coded, Elaborated, etc. Frozen, -- Is this object frozen. Retention, -- Max. number of deleted versions retained. Declaration -- Ada declaration of object. -- Sorted by declaration => declaration order ); type Fields is array (Field) of Boolean; Verbose_Format : constant Fields := Fields'(Object .. Update_Time => True, Size .. Retention => True, others => False); Ada_Format : constant Fields := Fields'(Status => True, Declaration => True, others => False); All_Fields : constant Fields := Fields'(others => True); Terse_Format : constant Fields := Fields'(Object => True, others => False); procedure List (Pattern : Name := "@"; Displaying : Fields := Library.Terse_Format; Sorted_By : Field := Library.Object; Descending : Boolean := False; Response : Response_Profile := Profile.Get); procedure Verbose_List (Pattern : Name := "{@'V(ALL)}"; Displaying : Fields := Library.Verbose_Format; Sorted_By : Field := Library.Object; Descending : Boolean := False; Response : Response_Profile := Profile.Get) renames List; procedure File_List (Pattern : Name := "$@'C(FILE)"; Displaying : Fields := Library.Verbose_Format; Sorted_By : Field := Library.Object; Descending : Boolean := False; Response : Response_Profile := Profile.Get) renames List; procedure Ada_List (Pattern : Name := "@'C(ADA)"; Displaying : Fields := Library.Ada_Format; Sorted_By : Field := Library.Declaration; Descending : Boolean := False; Response : Response_Profile := Profile.Get) renames List; procedure Space (For_Object : Name := "@"; Recursive : Boolean := True; Each_Object : Boolean := False; Each_Version : Boolean := False; Space_Types : Boolean := True; Control_Points : Boolean := False; Response : Response_Profile := Profile.Get); -- Show the space utilization (in pages) For_Object, including Volume. -- Recursive causes sub-objects to be included. -- Each_Version lists each version, including recursive ones. -- Space_Types breaks the space for ada objects down into categories, -- including the object itself, code segment, attribute spaces, list files. -- Control_Points causes recursive space calculations to cross control -- point boundaries. -- Performs appropriate totalling. pragma Read_Only; pragma Subsystem (Command); pragma Module_Name (4, 3921); procedure Set_Subclass (Existing : Name := Library.Current_Selection; To_Subclass : String := ""; Response : Response_Profile := Profile.Get); -- Set the subclass of an object. A null string for To_Subclass requests -- the system to set the subclass to its 'best guess'. -- Quiet forms which correspond to those in Library_Object_Editor. procedure Create_World (Name : String; Volume : Natural := 0); procedure Create_Directory (Name : String); procedure Create_Unit (Name : String := ""); end Test_Input2;package Unit is subtype Unit_Name is String; type Statistics is private; function Analyze (The_Unit : Unit_Name) return Statistics; function Name_Of_Unit (The_Unit : Statistics) return Unit_Name; function Number_Of_Lines (The_Unit : Statistics) return Natural; function Number_Of_Comments (The_Unit : Statistics) return Natural; function Number_Of_Statments (The_Unit : Statistics) return Natural; private type Statistics is record Name : String (1 .. 100); Lines : Natural := 0; Comments : Natural := 0; end record; end Unit;with Text_Io, Line; package body Unit is function Analyze (The_Unit : Unit_Name) return Statistics is The_Statistics : Statistics; Unit_Line : String (1 .. 100) := (others => ' '); File : Text_Io.File_Type; Last : Natural := 0; function "=" (Left : Line.Line_Kind; Right : Line.Line_Kind) return Boolean renames Line."="; begin Text_Io.Open (File, Text_Io.In_File, The_Unit); while not Text_Io.End_Of_File (File) loop begin Text_Io.Get_Line (File, Unit_Line, Last); case Line.Kind (Unit_Line) is when Line.Blank => null; when Line.Comment_Only => The_Statistics.Comments := The_Statistics.Comments + 1; The_Statistics.Lines := The_Statistics.Lines + 1; when Line.Other_Line => The_Statistics.Lines := The_Statistics.Lines + 1; if Line.Has_Comment (Unit_Line) then The_Statistics.Comments := The_Statistics.Comments + 1; end if; end case; Unit_Line := (others => ' '); exception when Text_Io.End_Error => Text_Io.Close (File); end; end loop; Text_Io.Close (File); Unit_Line (1 .. The_Unit'Last) := The_Unit; The_Statistics.Name := Unit_Line; return The_Statistics; end Analyze; function Name_Of_Unit (The_Unit : Statistics) return Unit_Name is begin return The_Unit.Name; end Name_Of_Unit; function Number_Of_Lines (The_Unit : Statistics) return Natural is begin return The_Unit.Lines; end Number_Of_Lines; function Number_Of_Comments (The_Unit : Statistics) return Natural is begin return The_Unit.Comments; end Number_Of_Comments; function Number_Of_Statments (The_Unit : Statistics) return Natural is begin [statement] end Number_Of_Statments; end Unit;package Line is type Line_Kind is (Blank, -- all blank line Comment_Only, -- first non_blank characters are "--" Other_Line); -- non-blank and non-comment-only function Kind (The_Line : String) return Line_Kind; function Has_Comment (The_Line : String) return Boolean; end Line;with String_Utilities; package body Line is function Kind (The_Line : String) return Line_Kind is Clean_Line : constant String := String_Utilities.Strip (The_Line); Comment_Location : constant Natural := String_Utilities.Locate ("--", Clean_Line); begin if Clean_Line'Length = 0 then return Blank; elsif Comment_Location = 1 then return Comment_Only; else return Other_Line; end if; end Kind; function Has_Comment (The_Line : String) return Boolean is Clean_Line : constant String := String_Utilities.Strip (The_Line); Comment_Location : constant Natural := String_Utilities.Locate ("--", Clean_Line); begin if Comment_Location = 0 then return False; else return True; end if; end Has_Comment; end Line;with Report; procedure Program_Profile (The_System : String; Output_Destination : Report.Destination := "");with Report, Unit; procedure Program_Profile (The_System : String; Output_Destination : Report.Destination := "") is begin Report.Display (Unit.Analyze_Statistics (The_System), Output_Destination); end Program_Profile;with Unit; package Report is subtype Destination is String; procedure Display (The_Unit : Unit.Statistics; The_Destination : Destination); end Report;with Unit, Text_Io; package body Report is package Statistics_Io is new Text_Io.Integer_Io (Natural); procedure Display (The_Unit : Unit.Statistics; The_Destination : Destination) is Stats_File : Text_Io.File_Type; begin if The_Destination /= "" then begin Text_Io.Create (File => Stats_File, Mode => Text_Io.Out_File, Name => The_Destination, Form => ""); exception when Text_Io.Name_Error => begin Text_Io.Open (File => Stats_File, Mode => Text_Io.Out_File, Name => The_Destination, Form => ""); exception when Text_Io.Name_Error => Text_Io.Put_Line ("Invalid output file"); return; end; end; Text_Io.Set_Output (Stats_File); end if; Text_Io.Put_Line ("-----------------------------"); Text_Io.Put_Line (" Statistics for the unit: "); Text_Io.Put_Line (Unit.Name_Of_Unit (The_Unit)); Text_Io.Put_Line ("-----------------------------"); Text_Io.Put_Line ("| Total Lines | Comments |"); Text_Io.Put_Line ("-----------------------------"); Text_Io.Put ("| "); Statistics_Io.Put (Unit.Number_Of_Lines (The_Unit), 10); Text_Io.Put (" | "); Statistics_Io.Put (Unit.Number_Of_Comments (The_Unit), 10); Text_Io.Put_Line (" |"); Text_Io.Put_Line ("-----------------------------"); if The_Destination /= "" then Text_Io.Close (Stats_File); Text_Io.Set_Output (Text_Io.Standard_Output); end if; end Display; end Report;with Line, Unit, Text_Io; use Unit; function Test_Input1 (The_Unit : Unit_Name) return Statistics is The_Statistics : Statistics; -- foo Unit_Line : String (1 .. 100); File : Text_Io.File_Type; function "=" (Left : Line.Line_Kind; Right : Line.Line_Kind) return Boolean renames Line."="; begin Text_Io.Open (File, Text_Io.In_File, The_Unit); -- foo while not Text_Io.End_Of_File (File) loop begin -- foo Text_Io.Get (File, Unit_Line); -- foo case Line.Kind (Unit_Line) is when Line.Blank => null; when Line.Comment_Only => The_Statistics.Comments := The_Statistics.Comments + 1; The_Statistics.Lines := The_Statistics.Lines + 1; when Line.Other_Line => The_Statistics.Lines := The_Statistics.Lines + 1; if Line.Has_Comment (Unit_Line) then The_Statistics.Comments := The_Statistics.Comments + 1; end if; end case; exception when Io_Exceptions.End_Error => Text_Io.Close (File); end; end loop; Text_Io.Close (File); The_Statistics.Name := Name_String.Value (The_Unit); return The_Statistics; end Test_Input1;with Profile; package Test_Input2 is subtype Name is String; -- Lexically and syntactically an Ada Name. subtype Simple_Name is String; -- A simple Ada name. Basically, an identifier or operator. subtype Context_Name is Name; -- Treatment of context. There is a current context that constitutes the -- assumed naming context. Names are resolved in this context. -- The following characters modify the context: -- ! specifies the Universe context -- $ specifies the enclosing library for the context -- $$ specifies the enclosing world for the context. -- ^ specifies the parent of the current context -- @ matches any single name segment (or part thereof) -- ? matches 0 or more name segments -- A null string will (usually) attempt to get the designated object -- from the current selection/image. Current_Selection : constant String := ""; Current_Image : constant String := ""; Selected_Text : constant String := ""; subtype Response_Profile is Profile.Response_Profile; Error : exception renames Profile.Error; -- only the single exception Error is raised at the current time; procedure Resolve (Name_Of : Name := Library.Selected_Text; Target_Name : Name := ""; Objects_Only : Boolean := True; Response : Response_Profile := Profile.Get); -- Print the Full name for Name_Of; procedure Control_Point (Levels : Positive := 1; Response : Response_Profile := Profile.Get); -- Set default context to the parent control point. procedure Context (To_Be : Context_Name := "$"; Response : Response_Profile := Profile.Get); -- Set the default context to To_Be. When To_Be is the default context, -- only printing takes place. procedure Copy (Existing : Name; New_Name : Name; Before : Simple_Name := ""; Recursive : Boolean := True; Response : Response_Profile := Profile.Get; Copy_Links : Boolean := True); -- Copy Existing version resulting in version with New_Name. -- -- New_Name designates an object that will exist after the copy has -- completed. For Ada objects, changing the simple name will require -- user intervention before installation. -- -- New_Name is interpreted in the current context or specified full -- context and must be unique. -- -- The object designated by New_Name will be the same class as Existing. -- -- Before specifies the unit before which the declaration will be placed -- -- Initial implementation can be expected to resist copying to/from -- objects representing devices. -- -- Any situation that would require demoting unrelated declarations -- results in an error, suppressing the copy. -- -- Recursive applies to objects that contain other objects and indicates -- that these contained objects should be copied. -- -- If Copy_Links is true, then link packs for any worlds copied are -- duplicated, and any link which pointed to the source for a copy is -- altered to point to the destination. If Copy_Links is false, any -- copied worlds will have empty link packs. -- -- If a control point and its switch file are copied, then the copied -- unit will point to the copy of the switch file. If the switch file -- is not copied, then the unit and its original will reference the -- same switch file. -- -- Ada units are copied as source. -- procedure Move (Existing : Name; New_Name : Name; Before : Simple_Name := ""; Recursive : Boolean := True; Response : Response_Profile := Profile.Get; Copy_Links : Boolean := True); -- Equivalent to Copy (Existing, ...); Delete (Existing); procedure Copy_Into (Existing : Name := Library.Current_Selection; New_Context : Context_Name := Library.Current_Image; Before : Simple_Name := ""; Recursive : Boolean := True; Response : Response_Profile := Profile.Get; Copy_Links : Boolean := True); -- Copy Existing version(s) into New_Context -- -- New_Context designates a context that will contain a copy of Existing -- after the copy has completed. The new object(s) will have the same -- simple names as Existing and reside in New_Context. -- -- Before specifies the unit before which the declaration will be placed -- -- Any situation that would require demoting unrelated declarations -- results in an error, suppressing the copy. -- -- Wildcards and recursive, if used, specify a series of copy operations. -- These operations are carried out in directory traversal order. Each -- individual copy operation is carried out under its own action, so -- (with the appropriate parameters) it is possible for some objects to -- be copied and not others. procedure Move_Into (Existing : Name := Library.Current_Selection; New_Context : Context_Name := Library.Current_Image; Before : Simple_Name := ""; Recursive : Boolean := True; Response : Response_Profile := Profile.Get; Copy_Links : Boolean := True); -- Equivalent to Copy_Into (Existing, ...); Delete (Existing); subtype Volume is Natural range 0 .. 31; Nil : constant Volume := Volume'First; type Kind is (World, Directory, Subpackage); procedure Create (Name : Library.Name; Before : Simple_Name := ""; Control_Point : Kind := Library.Directory; Vol : Volume := Library.Nil; Response : Response_Profile := Profile.Get); -- Create a package of the specified type. The Nil volume represents -- the 'best' volume. Vol is ignored for Subpackages, which are not -- control points, and must be on the same volume as their parent. procedure Rename (Existing : Name; New_Name : Simple_Name; Response : Response_Profile := Profile.Get); -- Change the name of an existing library unit or managed object. -- References to library units are not changed -- only the actual -- name of the unit. Various other restrictions apply. procedure Delete (Existing : Name := Library.Current_Selection; Response : Response_Profile := Profile.Get); -- Delete an Existing version or versions. Interpreted in current context. -- -- For policies that support multiple versions, results will be reversible -- with Undelete, otherwise equivalent to Destroy. procedure Destroy (Existing : Name := Library.Current_Selection; Response : Response_Profile := Profile.Get); -- Destroy an Existing version or versions and associated declaration. -- Interpreted in the current context. procedure Undelete (Existing : Name; Response : Response_Profile := Profile.Get); -- Undelete an Existing version. Same usages as Delete. -- -- Only applicable to policies that support multiple versions. Default_Keep_Versions : constant := -1; -- Keep the default number of deleted versions. procedure Expunge (Existing : Name := Library.Current_Image; Keep_Versions : Integer := 0; Recursive : Boolean := True; Control_Points : Boolean := False; Response : Response_Profile := Profile.Get); -- Make deletions permanent. -- Recursive causes subobjects to be expunged. -- Control_Points causes recursive expunge to continue past control -- point boundaries. -- Keep_Versions deleted versions will be retained. -- -- Only applicable to policies that support multiple versions. procedure Set_Retention_Count (Existing : Name := Library.Current_Image; Keep_Versions : Integer := Library.Default_Keep_Versions; Recursive : Boolean := True; Control_Points : Boolean := False; Response : Response_Profile := Profile.Get); -- Set the default number of deleted versions of an object which -- are retained. Default is the same as the object's parent. -- Recursive causes subobjects to be touched. -- Control_Points causes recursion to continue past control -- point boundaries. -- -- Only applicable to policies that support multiple versions. procedure Freeze (Existing : Name := Library.Current_Image; Recursive : Boolean := True; Control_Points : Boolean := True; Response : Response_Profile := Profile.Get); -- Prevent further changes to an object. -- Recursive causes subobjects to be frozen. -- Control_Points causes recursive freeze to continue past control -- point boundaries. procedure Unfreeze (Existing : Name := Library.Current_Image; Recursive : Boolean := True; Control_Points : Boolean := True; Response : Response_Profile := Profile.Get); -- Permit changes to an object. -- Recursive causes subobjects to be unfrozen. -- Control_Points causes recursive unfreeze to continue past control -- point boundaries. procedure Default (Existing : Name; Response : Response_Profile := Profile.Get); -- Set the default Version for the existing object and print the result as -- a message. When Version = Default_Version, only printing results. -- -- Only applicable to policies that support multiple versions. type Field is (Object, -- Ada name. Version, -- Version name. Class, -- Directory class name. Updater, -- User to last update object. Update_Time, -- Time of last update. Creator, -- User who created object. Create_Time, -- Time of creation. Reader, -- User to last read object. Read_Time, -- Time of last read. Size, -- Current size of object. Status, -- Source, Installed, Coded, Elaborated, etc. Frozen, -- Is this object frozen. Retention, -- Max. number of deleted versions retained. Declaration -- Ada declaration of object. -- Sorted by declaration => declaration order ); type Fields is array (Field) of Boolean; Verbose_Format : constant Fields := Fields'(Object .. Update_Time => True, Size .. Retention => True, others => False); Ada_Format : constant Fields := Fields'(Status => True, Declaration => True, others => False); All_Fields : constant Fields := Fields'(others => True); Terse_Format : constant Fields := Fields'(Object => True, others => False); procedure List (Pattern : Name := "@"; Displaying : Fields := Library.Terse_Format; Sorted_By : Field := Library.Object; Descending : Boolean := False; Response : Response_Profile := Profile.Get); procedure Verbose_List (Pattern : Name := "{@'V(ALL)}"; Displaying : Fields := Library.Verbose_Format; Sorted_By : Field := Library.Object; Descending : Boolean := False; Response : Response_Profile := Profile.Get) renames List; procedure File_List (Pattern : Name := "$@'C(FILE)"; Displaying : Fields := Library.Verbose_Format; Sorted_By : Field := Library.Object; Descending : Boolean := False; Response : Response_Profile := Profile.Get) renames List; procedure Ada_List (Pattern : Name := "@'C(ADA)"; Displaying : Fields := Library.Ada_Format; Sorted_By : Field := Library.Declaration; Descending : Boolean := False; Response : Response_Profile := Profile.Get) renames List; procedure Space (For_Object : Name := "@"; Recursive : Boolean := True; Each_Object : Boolean := False; Each_Version : Boolean := False; Space_Types : Boolean := True; Control_Points : Boolean := False; Response : Response_Profile := Profile.Get); -- Show the space utilization (in pages) For_Object, including Volume. -- Recursive causes sub-objects to be included. -- Each_Version lists each version, including recursive ones. -- Space_Types breaks the space for ada objects down into categories, -- including the object itself, code segment, attribute spaces, list files. -- Control_Points causes recursive space calculations to cross control -- point boundaries. -- Performs appropriate totalling. pragma Read_Only; pragma Subsystem (Command); pragma Module_Name (4, 3921); procedure Set_Subclass (Existing : Name := Library.Current_Selection; To_Subclass : String := ""; Response : Response_Profile := Profile.Get); -- Set the subclass of an object. A null string for To_Subclass requests -- the system to set the subclass to its 'best guess'. -- Quiet forms which correspond to those in Library_Object_Editor. procedure Create_World (Name : String; Volume : Natural := 0); procedure Create_Directory (Name : String); procedure Create_Unit (Name : String := ""); end Test_Input2;package Unit is subtype Unit_Name is String; type Statistics is private; function Analyze_Statistics (The_Unit : Unit_Name) return Statistics; function Name_Of_Unit (The_Unit : Statistics) return Unit_Name; function Number_Of_Lines (The_Unit : Statistics) return Natural; function Number_Of_Comments (The_Unit : Statistics) return Natural; function Number_Of_Statments (The_Unit : Statistics) return Natural; private type Statistics is record Name : String (1 .. 100); Lines : Natural := 0; Comments : Natural := 0; end record; end Unit;with Text_Io, Line; package body Unit is function Analyze_Statistics (The_Unit : Unit_Name) return Statistics is The_Statistics : Statistics; Unit_Line : String (1 .. 100) := (others => ' '); File : Text_Io.File_Type; Last : Natural := 0; function "=" (Left : Line.Line_Kind; Right : Line.Line_Kind) return Boolean renames Line."="; begin Text_Io.Open (File, Text_Io.In_File, The_Unit); while not Text_Io.End_Of_File (File) loop begin Text_Io.Get_Line (File, Unit_Line, Last); case Line.Kind (Unit_Line) is when Line.Blank => null; when Line.Comment_Only => The_Statistics.Comments := The_Statistics.Comments + 1; The_Statistics.Lines := The_Statistics.Lines + 1; when Line.Other_Line => The_Statistics.Lines := The_Statistics.Lines + 1; if Line.Has_Comment (Unit_Line) then The_Statistics.Comments := The_Statistics.Comments + 1; end if; end case; Unit_Line := (others => ' '); exception when Text_Io.End_Error => Text_Io.Close (File); end; end loop; Text_Io.Close (File); Unit_Line (1 .. The_Unit'Last) := The_Unit; The_Statistics.Name := Unit_Line; return The_Statistics; end Analyze_Statistics; function Name_Of_Unit (The_Unit : Statistics) return Unit_Name is begin return The_Unit.Name; end Name_Of_Unit; function Number_Of_Lines (The_Unit : Statistics) return Natural is begin return The_Unit.Lines; end Number_Of_Lines; function Number_Of_Comments (The_Unit : Statistics) return Natural is begin return The_Unit.Comments; end Number_Of_Comments; function Number_Of_Statments (The_Unit : Statistics) return Natural is begin [statement] end Number_Of_Statments; end Unit;package Line is type Line_Kind is (Blank, -- all blank line Comment_Only, -- first non_blank characters are "--" Other_Line); -- non-blank and non-comment-only function Kind (The_Line : String) return Line_Kind; function Has_Comment (The_Line : String) return Boolean; end Line;package body Line is function Locate_Comment (The_String : String) return Natural is separate; function Strip_Blanks (The_String : String) return String is separate; function Kind (The_Line : String) return Line_Kind is Clean_Line : constant String := Strip_Blanks (The_Line); Comment_Location : constant Natural := Locate_Comment (Clean_Line); begin if Clean_Line'Length = 0 then return Blank; elsif Comment_Location = 1 then return Comment_Only; else return Other_Line; end if; end Kind; function Has_Comment (The_Line : String) return Boolean is Clean_Line : constant String := Strip_Blanks (The_Line); Comment_Location : constant Natural := Locate_Comment (Clean_Line); begin if Comment_Location = 0 then return False; else return True; end if; end Has_Comment; end Line;separate (Line) function Locate_Comment (The_String : String) return Natural is begin for I in The_String'First .. The_String'Last - 1 loop if The_String (I .. I + 1) = "--" then return I; end if; end loop; return 0; end Locate_Comment; separate (Line) function Strip_Blanks (The_String : String) return String is begin for I in The_String'Range loop if The_String (I) /= ' ' then return The_String (I .. The_String'Last); end if; end loop; return ""; end Strip_Blanks; with Report; procedure Program_Profile (The_System : String; Output_Destination : Report.Destination := "");with Report, Unit; procedure Program_Profile (The_System : String; Output_Destination : Report.Destination := "") is begin Report.Display (Unit.Analyze (The_System), Output_Destination); end Program_Profile;with Unit; package Report is subtype Destination is String; procedure Display (The_Unit : Unit.Statistics; The_Destination : Destination); end Report;with Unit, Text_Io; package body Report is package Statistics_Io is new Text_Io.Integer_Io (Natural); procedure Display (The_Unit : Unit.Statistics; The_Destination : Report.Destination) is Stats_File : Text_Io.File_Type; begin if The_Destination /= "" then begin Text_Io.Create (File => Report.Display.Stats_File, Mode => Text_Io.Out_File, Name => Report.Display.The_Destination, Form => ""); exception when Text_Io.Name_Error => begin Text_Io.Open (File => Report.Display.Stats_File, Mode => Text_Io.Out_File, Name => Report.Display.The_Destination, Form => ""); exception when Text_Io.Name_Error => Text_Io.Put_Line ("Invalid output file"); return; end; end; Text_Io.Set_Output (Report.Display.Stats_File); end if; Text_Io.Put_Line ("-----------------------------"); Text_Io.Put_Line (" Statistics for the unit: "); Text_Io.Put_Line (Unit.Name_Of_Unit (The_Unit)); Text_Io.Put_Line ("-----------------------------"); Text_Io.Put_Line ("| Total Lines | Comments |"); Text_Io.Put_Line ("-----------------------------"); Text_Io.Put ("| "); Statistics_Io.Put (Unit.Number_Of_Lines (The_Unit), 10); Text_Io.Put (" | "); Statistics_Io.Put (Unit.Number_Of_Comments (The_Unit), 10); Text_Io.Put_Line (" |"); Text_Io.Put_Line ("-----------------------------"); if The_Destination /= "" then Text_Io.Close (Report.Display.Stats_File); Text_Io.Set_Output (Text_Io.Standard_Output); end if; end Display; end Report;with Line, Unit, Text_Io; use Unit; function Test_Input1 (The_Unit : Unit_Name) return Statistics is The_Statistics : Statistics; -- foo Unit_Line : String (1 .. 100); File : Text_Io.File_Type; function "=" (Left : Line.Line_Kind; Right : Line.Line_Kind) return Boolean renames Line."="; begin Text_Io.Open (File, Text_Io.In_File, The_Unit); -- foo while not Text_Io.End_Of_File (File) loop begin -- foo Text_Io.Get (File, Unit_Line); -- foo case Line.Kind (Unit_Line) is when Line.Blank => null; when Line.Comment_Only => The_Statistics.Comments := The_Statistics.Comments + 1; The_Statistics.Lines := The_Statistics.Lines + 1; when Line.Other_Line => The_Statistics.Lines := The_Statistics.Lines + 1; if Line.Has_Comment (Unit_Line) then The_Statistics.Comments := The_Statistics.Comments + 1; end if; end case; exception when Io_Exceptions.End_Error => Text_Io.Close (File); end; end loop; Text_Io.Close (File); The_Statistics.Name := Name_String.Value (The_Unit); return The_Statistics; end Test_Input1;with Profile; package Test_Input2 is subtype Name is String; -- Lexically and syntactically an Ada Name. subtype Simple_Name is String; -- A simple Ada name. Basically, an identifier or operator. subtype Context_Name is Name; -- Treatment of context. There is a current context that constitutes the -- assumed naming context. Names are resolved in this context. -- The following characters modify the context: -- ! specifies the Universe context -- $ specifies the enclosing library for the context -- $$ specifies the enclosing world for the context. -- ^ specifies the parent of the current context -- @ matches any single name segment (or part thereof) -- ? matches 0 or more name segments -- A null string will (usually) attempt to get the designated object -- from the current selection/image. Current_Selection : constant String := ""; Current_Image : constant String := ""; Selected_Text : constant String := ""; subtype Response_Profile is Profile.Response_Profile; Error : exception renames Profile.Error; -- only the single exception Error is raised at the current time; procedure Resolve (Name_Of : Name := Library.Selected_Text; Target_Name : Name := ""; Objects_Only : Boolean := True; Response : Response_Profile := Profile.Get); -- Print the Full name for Name_Of; procedure Control_Point (Levels : Positive := 1; Response : Response_Profile := Profile.Get); -- Set default context to the parent control point. procedure Context (To_Be : Context_Name := "$"; Response : Response_Profile := Profile.Get); -- Set the default context to To_Be. When To_Be is the default context, -- only printing takes place. procedure Copy (Existing : Name; New_Name : Name; Before : Simple_Name := ""; Recursive : Boolean := True; Response : Response_Profile := Profile.Get; Copy_Links : Boolean := True); -- Copy Existing version resulting in version with New_Name. -- -- New_Name designates an object that will exist after the copy has -- completed. For Ada objects, changing the simple name will require -- user intervention before installation. -- -- New_Name is interpreted in the current context or specified full -- context and must be unique. -- -- The object designated by New_Name will be the same class as Existing. -- -- Before specifies the unit before which the declaration will be placed -- -- Initial implementation can be expected to resist copying to/from -- objects representing devices. -- -- Any situation that would require demoting unrelated declarations -- results in an error, suppressing the copy. -- -- Recursive applies to objects that contain other objects and indicates -- that these contained objects should be copied. -- -- If Copy_Links is true, then link packs for any worlds copied are -- duplicated, and any link which pointed to the source for a copy is -- altered to point to the destination. If Copy_Links is false, any -- copied worlds will have empty link packs. -- -- If a control point and its switch file are copied, then the copied -- unit will point to the copy of the switch file. If the switch file -- is not copied, then the unit and its original will reference the -- same switch file. -- -- Ada units are copied as source. -- procedure Move (Existing : Name; New_Name : Name; Before : Simple_Name := ""; Recursive : Boolean := True; Response : Response_Profile := Profile.Get; Copy_Links : Boolean := True); -- Equivalent to Copy (Existing, ...); Delete (Existing); procedure Copy_Into (Existing : Name := Library.Current_Selection; New_Context : Context_Name := Library.Current_Image; Before : Simple_Name := ""; Recursive : Boolean := True; Response : Response_Profile := Profile.Get; Copy_Links : Boolean := True); -- Copy Existing version(s) into New_Context -- -- New_Context designates a context that will contain a copy of Existing -- after the copy has completed. The new object(s) will have the same -- simple names as Existing and reside in New_Context. -- -- Before specifies the unit before which the declaration will be placed -- -- Any situation that would require demoting unrelated declarations -- results in an error, suppressing the copy. -- -- Wildcards and recursive, if used, specify a series of copy operations. -- These operations are carried out in directory traversal order. Each -- individual copy operation is carried out under its own action, so -- (with the appropriate parameters) it is possible for some objects to -- be copied and not others. procedure Move_Into (Existing : Name := Library.Current_Selection; New_Context : Context_Name := Library.Current_Image; Before : Simple_Name := ""; Recursive : Boolean := True; Response : Response_Profile := Profile.Get; Copy_Links : Boolean := True); -- Equivalent to Copy_Into (Existing, ...); Delete (Existing); subtype Volume is Natural range 0 .. 31; Nil : constant Volume := Volume'First; type Kind is (World, Directory, Subpackage); procedure Create (Name : Library.Name; Before : Simple_Name := ""; Control_Point : Kind := Library.Directory; Vol : Volume := Library.Nil; Response : Response_Profile := Profile.Get); -- Create a package of the specified type. The Nil volume represents -- the 'best' volume. Vol is ignored for Subpackages, which are not -- control points, and must be on the same volume as their parent. procedure Rename (Existing : Name; New_Name : Simple_Name; Response : Response_Profile := Profile.Get); -- Change the name of an existing library unit or managed object. -- References to library units are not changed -- only the actual -- name of the unit. Various other restrictions apply. procedure Delete (Existing : Name := Library.Current_Selection; Response : Response_Profile := Profile.Get); -- Delete an Existing version or versions. Interpreted in current context. -- -- For policies that support multiple versions, results will be reversible -- with Undelete, otherwise equivalent to Destroy. procedure Destroy (Existing : Name := Library.Current_Selection; Response : Response_Profile := Profile.Get); -- Destroy an Existing version or versions and associated declaration. -- Interpreted in the current context. procedure Undelete (Existing : Name; Response : Response_Profile := Profile.Get); -- Undelete an Existing version. Same usages as Delete. -- -- Only applicable to policies that support multiple versions. Default_Keep_Versions : constant := -1; -- Keep the default number of deleted versions. procedure Expunge (Existing : Name := Library.Current_Image; Keep_Versions : Integer := 0; Recursive : Boolean := True; Control_Points : Boolean := False; Response : Response_Profile := Profile.Get); -- Make deletions permanent. -- Recursive causes subobjects to be expunged. -- Control_Points causes recursive expunge to continue past control -- point boundaries. -- Keep_Versions deleted versions will be retained. -- -- Only applicable to policies that support multiple versions. procedure Set_Retention_Count (Existing : Name := Library.Current_Image; Keep_Versions : Integer := Library.Default_Keep_Versions; Recursive : Boolean := True; Control_Points : Boolean := False; Response : Response_Profile := Profile.Get); -- Set the default number of deleted versions of an object which -- are retained. Default is the same as the object's parent. -- Recursive causes subobjects to be touched. -- Control_Points causes recursion to continue past control -- point boundaries. -- -- Only applicable to policies that support multiple versions. procedure Freeze (Existing : Name := Library.Current_Image; Recursive : Boolean := True; Control_Points : Boolean := True; Response : Response_Profile := Profile.Get); -- Prevent further changes to an object. -- Recursive causes subobjects to be frozen. -- Control_Points causes recursive freeze to continue past control -- point boundaries. procedure Unfreeze (Existing : Name := Library.Current_Image; Recursive : Boolean := True; Control_Points : Boolean := True; Response : Response_Profile := Profile.Get); -- Permit changes to an object. -- Recursive causes subobjects to be unfrozen. -- Control_Points causes recursive unfreeze to continue past control -- point boundaries. procedure Default (Existing : Name; Response : Response_Profile := Profile.Get); -- Set the default Version for the existing object and print the result as -- a message. When Version = Default_Version, only printing results. -- -- Only applicable to policies that support multiple versions. type Field is (Object, -- Ada name. Version, -- Version name. Class, -- Directory class name. Updater, -- User to last update object. Update_Time, -- Time of last update. Creator, -- User who created object. Create_Time, -- Time of creation. Reader, -- User to last read object. Read_Time, -- Time of last read. Size, -- Current size of object. Status, -- Source, Installed, Coded, Elaborated, etc. Frozen, -- Is this object frozen. Retention, -- Max. number of deleted versions retained. Declaration -- Ada declaration of object. -- Sorted by declaration => declaration order ); type Fields is array (Field) of Boolean; Verbose_Format : constant Fields := Fields'(Object .. Update_Time => True, Size .. Retention => True, others => False); Ada_Format : constant Fields := Fields'(Status => True, Declaration => True, others => False); All_Fields : constant Fields := Fields'(others => True); Terse_Format : constant Fields := Fields'(Object => True, others => False); procedure List (Pattern : Name := "@"; Displaying : Fields := Library.Terse_Format; Sorted_By : Field := Library.Object; Descending : Boolean := False; Response : Response_Profile := Profile.Get); procedure Verbose_List (Pattern : Name := "{@'V(ALL)}"; Displaying : Fields := Library.Verbose_Format; Sorted_By : Field := Library.Object; Descending : Boolean := False; Response : Response_Profile := Profile.Get) renames List; procedure File_List (Pattern : Name := "$@'C(FILE)"; Displaying : Fields := Library.Verbose_Format; Sorted_By : Field := Library.Object; Descending : Boolean := False; Response : Response_Profile := Profile.Get) renames List; procedure Ada_List (Pattern : Name := "@'C(ADA)"; Displaying : Fields := Library.Ada_Format; Sorted_By : Field := Library.Declaration; Descending : Boolean := False; Response : Response_Profile := Profile.Get) renames List; procedure Space (For_Object : Name := "@"; Recursive : Boolean := True; Each_Object : Boolean := False; Each_Version : Boolean := False; Space_Types : Boolean := True; Control_Points : Boolean := False; Response : Response_Profile := Profile.Get); -- Show the space utilization (in pages) For_Object, including Volume. -- Recursive causes sub-objects to be included. -- Each_Version lists each version, including recursive ones. -- Space_Types breaks the space for ada objects down into categories, -- including the object itself, code segment, attribute spaces, list files. -- Control_Points causes recursive space calculations to cross control -- point boundaries. -- Performs appropriate totalling. pragma Read_Only; pragma Subsystem (Command); pragma Module_Name (4, 3921); procedure Set_Subclass (Existing : Name := Library.Current_Selection; To_Subclass : String := ""; Response : Response_Profile := Profile.Get); -- Set the subclass of an object. A null string for To_Subclass requests -- the system to set the subclass to its 'best guess'. -- Quiet forms which correspond to those in Library_Object_Editor. procedure Create_World (Name : String; Volume : Natural := 0); procedure Create_Directory (Name : String); procedure Create_Unit (Name : String := ""); end Test_Input2;package Unit is subtype Unit_Name is String; type Statistics is private; function Analyze (The_Unit : Unit_Name) return Statistics; function Name_Of_Unit (The_Unit : Statistics) return Unit_Name; function Number_Of_Lines (The_Unit : Statistics) return Natural; function Number_Of_Comments (The_Unit : Statistics) return Natural; private type Statistics is record Name : String (1 .. 100); Lines : Natural := 0; Comments : Natural := 0; end record; end Unit;with Text_Io, Line; package body Unit is function Analyze (The_Unit : Unit_Name) return Statistics is separate; function Name_Of_Unit (The_Unit : Statistics) return Unit_Name is begin return The_Unit.Name; end Name_Of_Unit; function Number_Of_Lines (The_Unit : Statistics) return Natural is begin return The_Unit.Lines; end Number_Of_Lines; function Number_Of_Comments (The_Unit : Statistics) return Natural is begin return The_Unit.Comments; end Number_Of_Comments; end Unit;separate (Unit) function Analyze (The_Unit : Unit_Name) return Statistics is The_Statistics : Statistics; Unit_Line : String (1 .. 100) := (others => ' '); File : Text_Io.File_Type; Last : Natural := 0; function "=" (Left : Line.Line_Kind; Right : Line.Line_Kind) return Boolean renames Line."="; begin Text_Io.Open (File, Text_Io.In_File, The_Unit); while not Text_Io.End_Of_File (File) loop begin Text_Io.Get_Line (File, Unit_Line, Last); case Line.Kind (Unit_Line) is when Line.Blank => null; when Line.Comment_Only => The_Statistics.Comments := The_Statistics.Comments + 1; The_Statistics.Lines := The_Statistics.Lines + 1; when Line.Other_Line => The_Statistics.Lines := The_Statistics.Lines + 1; if Line.Has_Comment (Unit_Line) then The_Statistics.Comments := The_Statistics.Comments + 1; end if; end case; Unit_Line := (others => ' '); exception when Text_Io.End_Error => Text_Io.Close (File); end; end loop; Text_Io.Close (File); Unit_Line (1 .. The_Unit'Last) := The_Unit; The_Statistics.Name := Unit_Line; return The_Statistics; end Analyze; procedure Elapsed_Time_Benchmark;with Io; with System_Utilities; with Time_Utilities; procedure Elapsed_Time_Benchmark is Start_Elapsed : Duration; Start_Cpu : Duration; Total_Elapsed : Duration; Total_Cpu : Duration; begin Start_Elapsed := System_Utilities.Elapsed; Start_Elapsed := System_Utilities.Cpu; -- Ada code to be measured Total_Cpu := Start_Cpu - System_Utilities.Cpu; Total_Elapsed := Start_Elapsed - System_Utilities.Elapsed; Io.Put_Line (Time_Utilities.Image (Total_Elapsed)); Io.Put_Line (Time_Utilities.Image (Total_Cpu)); end Elapsed_Time_Benchmark;generic with procedure Test_Procedure; procedure Generic_Benchmark;with Io; with Table_Formatter; with System_Utilities; with Time_Utilities; procedure Generic_Benchmark is Start_Elapsed : Duration; Start_Cpu : Duration; Total_Elapsed : Duration; Total_Cpu : Duration; package Data_Table is new Table_Formatter (2); begin Data_Table.Header ("ELAPSED"); Data_Table.Header ("CPU"); Start_Elapsed := System_Utilities.Elapsed; Start_Elapsed := System_Utilities.Cpu; Test_Procedure; Total_Cpu := Start_Cpu - System_Utilities.Cpu; Total_Elapsed := Start_Elapsed - System_Utilities.Elapsed; Data_Table.Item (Time_Utilities.Image (Total_Elapsed)); Data_Table.Item (Time_Utilities.Image (Total_Cpu)); Data_Table.Display (Io.Standard_Output); end Generic_Benchmark;package Line is type Line_Kind is (Blank, -- all blank line Comment_Only, -- first non_blank characters are "--" Other_Line); -- non-blank and non-comment-only function Kind (The_Line : String) return Line_Kind; function Has_Comment (The_Line : String) return Boolean; end Line;package body Line is function Locate_Comment (The_String : String) return Natural is begin for I in The_String'First .. The_String'Last - 1 loop if The_String (I .. I + 1) = "--" then return I; end if; end loop; return 0; end Locate_Comment; function Kind (The_Line : String) return Line_Kind is separate; function Has_Comment (The_Line : String) return Boolean is Clean_Line : constant String := Strip_Blanks (The_Line); Comment_Location : constant Natural := Locate_Comment (Clean_Line); begin if Comment_Location = 0 then return False; else return True; end if; end Has_Comment; end Line;separate (Line) function Kind (The_Line : String) return Line_Kind is Clean_Line : constant String := Strip_Blanks (The_Line); Comment_Location : constant Natural := Locate_Comment (Clean_Line); begin [statement] end Kind;with Report; procedure Program_Profile (The_System : String; Output_Destination : Report.Destination := "");with Report, System; procedure Program_Profile (The_System : String; Output_Destination : Report.Destination := "") is begin Report.Display (System.Analyze (The_System), Output_Destination); end Program_Profile;with System; package Report is subtype Destination is String; procedure Display (The_Unit : System.Statistics; The_Destination : Destination); end Report;with System, Text_Io; package body Report is package Statistics_Io is new Text_Io.Integer_Io (Natural); procedure Display (The_Unit : System.Statistics; The_Destination : Report.Destination) is Stats_File : Text_Io.File_Type; begin if The_Destination /= "" then begin Text_Io.Create (File => Report.Display.Stats_File, Mode => Text_Io.Out_File, Name => Report.Display.The_Destination, Form => ""); exception when Text_Io.Name_Error => begin Text_Io.Open (File => Report.Display.Stats_File, Mode => Text_Io.Out_File, Name => Report.Display.The_Destination, Form => ""); exception when Text_Io.Name_Error => Text_Io.Put_Line ("Invalid output file"); return; end; end; Text_Io.Set_Output (Report.Display.Stats_File); end if; Text_Io.Put_Line ("-----------------------------"); Text_Io.Put_Line (" Statistics for the unit: "); Text_Io.Put_Line (System.Name_Of_Unit (The_Unit)); Text_Io.Put_Line ("-----------------------------"); Text_Io.Put_Line ("| Total Lines | Comments |"); Text_Io.Put_Line ("-----------------------------"); Text_Io.Put ("| "); Statistics_Io.Put (System.Number_Of_Lines (The_Unit), 10); Text_Io.Put (" | "); Statistics_Io.Put (System.Number_Of_Comments (The_Unit), 10); Text_Io.Put_Line (" |"); Text_Io.Put_Line ("-----------------------------"); if The_Destination /= "" then Text_Io.Close (Report.Display.Stats_File); Text_Io.Set_Output (Text_Io.Standard_Output); end if; end Display; end Report;package System is subtype Unit_Name is String; type Statistics is private; function Analyze (The_Unit : Unit_Name) return Statistics; function Name_Of_Unit (The_Unit : Statistics) return Unit_Name; function Number_Of_Lines (The_Unit : Statistics) return Natural; function Number_Of_Comments (The_Unit : Statistics) return Natural; private type Statistics is new Boolean; end System;with Text_Io, Line; package body System is function Analyze (The_Unit : Unit_Name) return Statistics is The_Statistics : Statistics; Unit_Line : String (1 .. 100) := (others => ' '); File : Text_Io.File_Type; Last : Natural := 0; function "=" (Left : Line.Line_Kind; Right : Line.Line_Kind) return Boolean renames Line."="; begin Text_Io.Open (File, Text_Io.In_File, The_Unit); while not Text_Io.End_Of_File (File) loop begin Text_Io.Get_Line (File, Unit_Line, Last); case Line.Kind (Unit_Line) is when Line.Blank => null; when Line.Comment_Only => The_Statistics.Comments := The_Statistics.Comments + 1; The_Statistics.Lines := The_Statistics.Lines + 1; when Line.Other_Line => The_Statistics.Lines := The_Statistics.Lines + 1; if Line.Has_Comment (Unit_Line) then The_Statistics.Comments := The_Statistics.Comments + 1; end if; end case; Unit_Line := (others => ' '); exception when Text_Io.End_Error => Text_Io.Close (File); end; end loop; Text_Io.Close (File); Unit_Line (1 .. The_Unit'Last) := The_Unit; The_Statistics.Name := Unit_Line; return The_Statistics; end Analyze; function Name_Of_Unit (The_Unit : Statistics) return Unit_Name is begin return The_Unit.Name; end Name_Of_Unit; function Number_Of_Lines (The_Unit : Statistics) return Natural is begin return The_Unit.Lines; end Number_Of_Lines; function Number_Of_Comments (The_Unit : Statistics) return Natural is begin return The_Unit.Comments; end Number_Of_Comments; end System;with Line, Unit, Text_Io; use Unit; function Test_Input1 (The_Unit : Unit_Name) return Statistics is The_Statistics : Statistics; -- foo Unit_Line : String (1 .. 100); File : Text_Io.File_Type; function "=" (Left : Line.Line_Kind; Right : Line.Line_Kind) return Boolean renames Line."="; begin Text_Io.Open (File, Text_Io.In_File, The_Unit); -- foo while not Text_Io.End_Of_File (File) loop begin -- foo Text_Io.Get (File, Unit_Line); -- foo case Line.Kind (Unit_Line) is when Line.Blank => null; when Line.Comment_Only => The_Statistics.Comments := The_Statistics.Comments + 1; The_Statistics.Lines := The_Statistics.Lines + 1; when Line.Other_Line => The_Statistics.Lines := The_Statistics.Lines + 1; if Line.Has_Comment (Unit_Line) then The_Statistics.Comments := The_Statistics.Comments + 1; end if; end case; exception when Io_Exceptions.End_Error => Text_Io.Close (File); end; end loop; Text_Io.Close (File); The_Statistics.Name := Name_String.Value (The_Unit); return The_Statistics; end Test_Input1;with Profile; package Test_Input2 is subtype Name is String; -- Lexically and syntactically an Ada Name. subtype Simple_Name is String; -- A simple Ada name. Basically, an identifier or operator. subtype Context_Name is Name; -- Treatment of context. There is a current context that constitutes the -- assumed naming context. Names are resolved in this context. -- The following characters modify the context: -- ! specifies the Universe context -- $ specifies the enclosing library for the context -- $$ specifies the enclosing world for the context. -- ^ specifies the parent of the current context -- @ matches any single name segment (or part thereof) -- ? matches 0 or more name segments -- A null string will (usually) attempt to get the designated object -- from the current selection/image. Current_Selection : constant String := ""; Current_Image : constant String := ""; Selected_Text : constant String := ""; subtype Response_Profile is Profile.Response_Profile; Error : exception renames Profile.Error; -- only the single exception Error is raised at the current time; procedure Resolve (Name_Of : Name := Library.Selected_Text; Target_Name : Name := ""; Objects_Only : Boolean := True; Response : Response_Profile := Profile.Get); -- Print the Full name for Name_Of; procedure Control_Point (Levels : Positive := 1; Response : Response_Profile := Profile.Get); -- Set default context to the parent control point. procedure Context (To_Be : Context_Name := "$"; Response : Response_Profile := Profile.Get); -- Set the default context to To_Be. When To_Be is the default context, -- only printing takes place. procedure Copy (Existing : Name; New_Name : Name; Before : Simple_Name := ""; Recursive : Boolean := True; Response : Response_Profile := Profile.Get; Copy_Links : Boolean := True); -- Copy Existing version resulting in version with New_Name. -- -- New_Name designates an object that will exist after the copy has -- completed. For Ada objects, changing the simple name will require -- user intervention before installation. -- -- New_Name is interpreted in the current context or specified full -- context and must be unique. -- -- The object designated by New_Name will be the same class as Existing. -- -- Before specifies the unit before which the declaration will be placed -- -- Initial implementation can be expected to resist copying to/from -- objects representing devices. -- -- Any situation that would require demoting unrelated declarations -- results in an error, suppressing the copy. -- -- Recursive applies to objects that contain other objects and indicates -- that these contained objects should be copied. -- -- If Copy_Links is true, then link packs for any worlds copied are -- duplicated, and any link which pointed to the source for a copy is -- altered to point to the destination. If Copy_Links is false, any -- copied worlds will have empty link packs. -- -- If a control point and its switch file are copied, then the copied -- unit will point to the copy of the switch file. If the switch file -- is not copied, then the unit and its original will reference the -- same switch file. -- -- Ada units are copied as source. -- procedure Move (Existing : Name; New_Name : Name; Before : Simple_Name := ""; Recursive : Boolean := True; Response : Response_Profile := Profile.Get; Copy_Links : Boolean := True); -- Equivalent to Copy (Existing, ...); Delete (Existing); procedure Copy_Into (Existing : Name := Library.Current_Selection; New_Context : Context_Name := Library.Current_Image; Before : Simple_Name := ""; Recursive : Boolean := True; Response : Response_Profile := Profile.Get; Copy_Links : Boolean := True); -- Copy Existing version(s) into New_Context -- -- New_Context designates a context that will contain a copy of Existing -- after the copy has completed. The new object(s) will have the same -- simple names as Existing and reside in New_Context. -- -- Before specifies the unit before which the declaration will be placed -- -- Any situation that would require demoting unrelated declarations -- results in an error, suppressing the copy. -- -- Wildcards and recursive, if used, specify a series of copy operations. -- These operations are carried out in directory traversal order. Each -- individual copy operation is carried out under its own action, so -- (with the appropriate parameters) it is possible for some objects to -- be copied and not others. procedure Move_Into (Existing : Name := Library.Current_Selection; New_Context : Context_Name := Library.Current_Image; Before : Simple_Name := ""; Recursive : Boolean := True; Response : Response_Profile := Profile.Get; Copy_Links : Boolean := True); -- Equivalent to Copy_Into (Existing, ...); Delete (Existing); subtype Volume is Natural range 0 .. 31; Nil : constant Volume := Volume'First; type Kind is (World, Directory, Subpackage); procedure Create (Name : Library.Name; Before : Simple_Name := ""; Control_Point : Kind := Library.Directory; Vol : Volume := Library.Nil; Response : Response_Profile := Profile.Get); -- Create a package of the specified type. The Nil volume represents -- the 'best' volume. Vol is ignored for Subpackages, which are not -- control points, and must be on the same volume as their parent. procedure Rename (Existing : Name; New_Name : Simple_Name; Response : Response_Profile := Profile.Get); -- Change the name of an existing library unit or managed object. -- References to library units are not changed -- only the actual -- name of the unit. Various other restrictions apply. procedure Delete (Existing : Name := Library.Current_Selection; Response : Response_Profile := Profile.Get); -- Delete an Existing version or versions. Interpreted in current context. -- -- For policies that support multiple versions, results will be reversible -- with Undelete, otherwise equivalent to Destroy. procedure Destroy (Existing : Name := Library.Current_Selection; Response : Response_Profile := Profile.Get); -- Destroy an Existing version or versions and associated declaration. -- Interpreted in the current context. procedure Undelete (Existing : Name; Response : Response_Profile := Profile.Get); -- Undelete an Existing version. Same usages as Delete. -- -- Only applicable to policies that support multiple versions. Default_Keep_Versions : constant := -1; -- Keep the default number of deleted versions. procedure Expunge (Existing : Name := Library.Current_Image; Keep_Versions : Integer := 0; Recursive : Boolean := True; Control_Points : Boolean := False; Response : Response_Profile := Profile.Get); -- Make deletions permanent. -- Recursive causes subobjects to be expunged. -- Control_Points causes recursive expunge to continue past control -- point boundaries. -- Keep_Versions deleted versions will be retained. -- -- Only applicable to policies that support multiple versions. procedure Set_Retention_Count (Existing : Name := Library.Current_Image; Keep_Versions : Integer := Library.Default_Keep_Versions; Recursive : Boolean := True; Control_Points : Boolean := False; Response : Response_Profile := Profile.Get); -- Set the default number of deleted versions of an object which -- are retained. Default is the same as the object's parent. -- Recursive causes subobjects to be touched. -- Control_Points causes recursion to continue past control -- point boundaries. -- -- Only applicable to policies that support multiple versions. procedure Freeze (Existing : Name := Library.Current_Image; Recursive : Boolean := True; Control_Points : Boolean := True; Response : Response_Profile := Profile.Get); -- Prevent further changes to an object. -- Recursive causes subobjects to be frozen. -- Control_Points causes recursive freeze to continue past control -- point boundaries. procedure Unfreeze (Existing : Name := Library.Current_Image; Recursive : Boolean := True; Control_Points : Boolean := True; Response : Response_Profile := Profile.Get); -- Permit changes to an object. -- Recursive causes subobjects to be unfrozen. -- Control_Points causes recursive unfreeze to continue past control -- point boundaries. procedure Default (Existing : Name; Response : Response_Profile := Profile.Get); -- Set the default Version for the existing object and print the result as -- a message. When Version = Default_Version, only printing results. -- -- Only applicable to policies that support multiple versions. type Field is (Object, -- Ada name. Version, -- Version name. Class, -- Directory class name. Updater, -- User to last update object. Update_Time, -- Time of last update. Creator, -- User who created object. Create_Time, -- Time of creation. Reader, -- User to last read object. Read_Time, -- Time of last read. Size, -- Current size of object. Status, -- Source, Installed, Coded, Elaborated, etc. Frozen, -- Is this object frozen. Retention, -- Max. number of deleted versions retained. Declaration -- Ada declaration of object. -- Sorted by declaration => declaration order ); type Fields is array (Field) of Boolean; Verbose_Format : constant Fields := Fields'(Object .. Update_Time => True, Size .. Retention => True, others => False); Ada_Format : constant Fields := Fields'(Status => True, Declaration => True, others => False); All_Fields : constant Fields := Fields'(others => True); Terse_Format : constant Fields := Fields'(Object => True, others => False); procedure List (Pattern : Name := "@"; Displaying : Fields := Library.Terse_Format; Sorted_By : Field := Library.Object; Descending : Boolean := False; Response : Response_Profile := Profile.Get); procedure Verbose_List (Pattern : Name := "{@'V(ALL)}"; Displaying : Fields := Library.Verbose_Format; Sorted_By : Field := Library.Object; Descending : Boolean := False; Response : Response_Profile := Profile.Get) renames List; procedure File_List (Pattern : Name := "$@'C(FILE)"; Displaying : Fields := Library.Verbose_Format; Sorted_By : Field := Library.Object; Descending : Boolean := False; Response : Response_Profile := Profile.Get) renames List; procedure Ada_List (Pattern : Name := "@'C(ADA)"; Displaying : Fields := Library.Ada_Format; Sorted_By : Field := Library.Declaration; Descending : Boolean := False; Response : Response_Profile := Profile.Get) renames List; procedure Space (For_Object : Name := "@"; Recursive : Boolean := True; Each_Object : Boolean := False; Each_Version : Boolean := False; Space_Types : Boolean := True; Control_Points : Boolean := False; Response : Response_Profile := Profile.Get); -- Show the space utilization (in pages) For_Object, including Volume. -- Recursive causes sub-objects to be included. -- Each_Version lists each version, including recursive ones. -- Space_Types breaks the space for ada objects down into categories, -- including the object itself, code segment, attribute spaces, list files. -- Control_Points causes recursive space calculations to cross control -- point boundaries. -- Performs appropriate totalling. pragma Read_Only; pragma Subsystem (Command); pragma Module_Name (4, 3921); procedure Set_Subclass (Existing : Name := Library.Current_Selection; To_Subclass : String := ""; Response : Response_Profile := Profile.Get); -- Set the subclass of an object. A null string for To_Subclass requests -- the system to set the subclass to its 'best guess'. -- Quiet forms which correspond to those in Library_Object_Editor. procedure Create_World (Name : String; Volume : Natural := 0); procedure Create_Directory (Name : String); procedure Create_Unit (Name : String := ""); end Test_Input2;MACRO 4: EXECUTE "!COMMANDS".Editor.Macro.Start; EXECUTE "!COMMANDS".Editor.Line.End_Of (Offset => 0); EXECUTE "!COMMANDS".Editor.Line.Beginning_Of (Offset => 0); EXECUTE "!COMMANDS".Editor.Line.Beginning_Of (Offset => 0); EXECUTE '-' EXECUTE '-' EXECUTE ' ' EXECUTE 'M' EXECUTE 'T' EXECUTE 'D' EXECUTE ' ' EXECUTE ' ' EXECUTE "!COMMANDS".Editor.Cursor.Down (Repeat => 1); EXECUTE "!COMMANDS".Editor.Noop; KEY BINDINGS MACRO 4 => Esc_S_F5[S_#_Switches, ~s_2_switches] @'v(2)procedure Login;with Common; with Editor; with String_Utilities; with System_Utilities; with What; procedure Login is function Is_Session (Name : String) return Boolean is begin return String_Utilities.Equal (Name, System_Utilities.Session_Name, Ignore_Case => True); end Is_Session; begin if Is_Session ("S_1") then What.Home_Library; Common.Create_Command; Common.Definition ("Experiment"); for I in 1 .. 2 loop Editor.Window.Previous; end loop; else null; end if; end Login;MACRO 4: EXECUTE "!COMMANDS".Editor.Macro.Start; EXECUTE "!COMMANDS".Editor.Line.End_Of (Offset => 0); EXECUTE "!COMMANDS".Editor.Line.Beginning_Of (Offset => 0); EXECUTE "!COMMANDS".Editor.Line.Beginning_Of (Offset => 0); EXECUTE '-' EXECUTE '-' EXECUTE ' ' EXECUTE 'M' EXECUTE 'T' EXECUTE 'D' EXECUTE ' ' EXECUTE ' ' EXECUTE "!COMMANDS".Editor.Cursor.Down (Repeat => 1); EXECUTE "!COMMANDS".Editor.Noop; KEY BINDINGS MACRO 4 => CM_F5*** 461 *** !USERS.ADVANCED_TOPICS_MASTER !USERS.ADVANCED_TOPICS_MASTER U||| 8/24/88 10:48:40|WORLD||| ANETWORK_PUBLIC=>RCOD|DNETWORK_PUBLIC=>RW|TR1000| 548201170 !USERS.ADVANCED_TOPICS_MASTER.ACL_WORLD W|||11/13/87 09:25:09|WORLD||| ANETWORK_PUBLIC=>R|DNETWORK_PUBLIC=>RW|TR1000| !USERS.ADVANCED_TOPICS_MASTER.ACL_WORLD Y SEQUENTIAL_IO !IO.SEQUENTIAL_IO'SPEC DIRECT_IO !IO.DIRECT_IO'SPEC TEXT_IO !IO.TEXT_IO'SPEC CALENDAR !LRM.CALENDAR'SPEC UNCHECKED_CONVERSION !LRM.UNCHECKED_CONVERSION'SPEC UNCHECKED_DEALLOCATION !LRM.UNCHECKED_DEALLOCATION'SPEC IO_EXCEPTIONS !IO.IO_EXCEPTIONS'SPEC SYSTEM !LRM.SYSTEM'SPEC !USERS.ADVANCED_TOPICS_MASTER.DEBUGGING W||| 6/15/88 18:08:17|WORLD|1|| ANETWORK_PUBLIC=>RCOD|DNETWORK_PUBLIC=>RW|TR1000| !USERS.ADVANCED_TOPICS_MASTER.DEBUGGING Y BUFFER !USERS.ADVANCED_TOPICS_MASTER.DEBUGGING.BUFFER'SPEC DEBUG_TOOLS !TOOLS.DEBUG_TOOLS'SPEC TEXT_IO !IO.TEXT_IO'SPEC PRODUCER_CONSUMER !USERS.ADVANCED_TOPICS_MASTER.DEBUGGING.PRODUCER_CONSUMER'SPEC !USERS.ADVANCED_TOPICS_MASTER.DEBUGGING.BUFFER'SPEC V|-762|4| 5/31/88 14:25:29|GENERIC_PACKAGE|1|| ADHE=>RW,NETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.DEBUGGING.BUFFER'BODY B762|-1869|4| 5/31/88 14:50:03|PACKAGE_BODY|1|| ADHE=>RW,NETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.DEBUGGING.PRODUCER_CONSUMER'SPEC V2631|-28|4|11/11/87 19:23:36|PROCEDURE_SPEC|1|| ADHE=>RW,NETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.DEBUGGING.PRODUCER_CONSUMER'BODY B2659|-2624|4| 5/31/88 16:58:09|PROCEDURE_BODY|1|| ADHE=>RW,NETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.EXPERIMENT W||| 5/29/88 17:02:04|WORLD|1|| ANETWORK_PUBLIC=>RCOD|DNETWORK_PUBLIC=>RW|TR1000| !USERS.ADVANCED_TOPICS_MASTER.EXPERIMENT Y LINE !USERS.ADVANCED_TOPICS_MASTER.EXPERIMENT.LINE'SPEC STRING_UTILITIES !TOOLS.STRING_UTILITIES'SPEC TEXT_IO !IO.TEXT_IO'SPEC UNIT !USERS.ADVANCED_TOPICS_MASTER.EXPERIMENT.UNIT'SPEC LINE_COPY !USERS.ADVANCED_TOPICS_MASTER.EXPERIMENT.LINE_COPY'SPEC OVERLOADED_DECLARATIONS !USERS.ADVANCED_TOPICS_MASTER.EXPERIMENT.OVERLOADED_DECLARATIONS'SPEC REPORT !USERS.ADVANCED_TOPICS_MASTER.EXPERIMENT.REPORT'SPEC PROGRAM_PROFILE !USERS.ADVANCED_TOPICS_MASTER.EXPERIMENT.PROGRAM_PROFILE'SPEC !USERS.ADVANCED_TOPICS_MASTER.EXPERIMENT.LINE'SPEC V5283|-349|4|11/11/87 19:23:37|PACKAGE_SPEC|1|| ADHE=>RW,NETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.EXPERIMENT.LINE'BODY B5632|-1400|4|11/11/87 19:23:37|PACKAGE_BODY|1|| ADHE=>RW,NETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.EXPERIMENT.LINE_COPY'SPEC V7032|-359|4|11/11/87 19:23:37|PACKAGE_SPEC|1|| ADHE=>RW,NETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.EXPERIMENT.LINE_COPY'BODY B7391|-1410|4|11/11/87 19:23:37|PACKAGE_BODY|1|| ADHE=>RW,NETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.EXPERIMENT.OVERLOADED_DECLARATIONS'SPEC V8801|-195|3| 5/29/88 17:10:30|PACKAGE_SPEC|1|| ANETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.EXPERIMENT.PROGRAM_PROFILE'SPEC V8996|-135|4|11/11/87 19:23:38|PROCEDURE_SPEC|1|| ADHE=>RW,NETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.EXPERIMENT.PROGRAM_PROFILE'BODY B9131|-238|4|11/11/87 19:23:38|PROCEDURE_BODY|1|| ADHE=>RW,NETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.EXPERIMENT.REPORT'SPEC V9369|-181|4|11/11/87 19:23:38|PACKAGE_SPEC|1|| ADHE=>RW,NETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.EXPERIMENT.REPORT'BODY B9550|-1976|4|11/11/87 19:23:38|PACKAGE_BODY|1|| ADHE=>RW,NETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.EXPERIMENT.TEST_INPUT_1 F11526|-1369||11/11/87 19:23:38|TEXT|1|| ADHE=>RW,NETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.EXPERIMENT.TEST_INPUT_2 F12895|-14353||11/11/87 19:23:39|TEXT|1|| ADHE=>RW,NETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.EXPERIMENT.UNIT'SPEC V27248|-545|4|11/11/87 19:23:39|PACKAGE_SPEC|1|| ADHE=>RW,NETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.EXPERIMENT.UNIT'BODY B27793|-2042|4|11/11/87 19:23:39|PACKAGE_BODY|1|| ADHE=>RW,NETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.INCREMENTAL_EXERCISE W||| 8/27/87 16:29:24|WORLD|1|| ANETWORK_PUBLIC=>RCOD|DNETWORK_PUBLIC=>RW|TR1000| !USERS.ADVANCED_TOPICS_MASTER.INCREMENTAL_EXERCISE Y DIANA_OBJECT_EDITOR !TOOLS.DIANA_OBJECT_EDITOR'SPEC PIPE !IO.PIPE'SPEC TAPE_TOOLS !TOOLS.TAPE_TOOLS'SPEC SIMPLE_TEXT_IO !IO.IO'SPEC TABLE_FORMATTER !TOOLS.TABLE_FORMATTER'SPEC QUEUE !COMMANDS.QUEUE'SPEC SEQUENTIAL_IO !IO.SEQUENTIAL_IO'SPEC DEBUG !COMMANDS.DEBUG'SPEC SYSTEM_BACKUP !COMMANDS.SYSTEM_BACKUP'SPEC COMMAND !COMMANDS.COMMAND'SPEC TERMINAL !COMMANDS.TERMINAL'SPEC LINE !USERS.ADVANCED_TOPICS_MASTER.INCREMENTAL_EXERCISE.LINE'SPEC IO !IO.IO'SPEC CONCURRENT_MAP_GENERIC !TOOLS.CONCURRENT_MAP_GENERIC'SPEC EDITOR !COMMANDS.EDITOR'SPEC DISK_DAEMON !TOOLS.DISK_DAEMON'SPEC TIME_UTILITY !TOOLS.TIME_UTILITIES'SPEC STRING_UTILITIES !TOOLS.STRING_UTILITIES'SPEC LOG !COMMANDS.LOG'SPEC LIBRARY !COMMANDS.LIBRARY'SPEC BOUNDED_STRING !TOOLS.BOUNDED_STRING'SPEC TEXT !COMMANDS.TEXT'SPEC POLYMORPHIC_SEQUENTIAL_IO !IO.POLYMORPHIC_SEQUENTIAL_IO'SPEC DIRECTORY_TOOLS !TOOLS.DIRECTORY_TOOLS'SPEC TIME_UTILITIES !TOOLS.TIME_UTILITIES'SPEC SIMPLE_STATUS !TOOLS.SIMPLE_STATUS'SPEC JOB !COMMANDS.JOB'SPEC ADA_OBJECT_EDITOR !TOOLS.ADA_OBJECT_EDITOR'SPEC PROGRAM !COMMANDS.PROGRAM'SPEC OPERATOR !COMMANDS.OPERATOR'SPEC ACCESS_LIST !COMMANDS.ACCESS_LIST'SPEC ADA !COMMANDS.ADA'SPEC ACCESS_LIST_TOOLS !TOOLS.ACCESS_LIST_TOOLS'SPEC SWITCHES !COMMANDS.SWITCHES'SPEC QUEUE_GENERIC !TOOLS.QUEUE_GENERIC'SPEC COMPILATION !COMMANDS.COMPILATION'SPEC SET_GENERIC !TOOLS.SET_GENERIC'SPEC HASH !TOOLS.HASH'SPEC DIANA_TREE !COMMANDS.DIANA_TREE'SPEC DEBUG_TOOLS !TOOLS.DEBUG_TOOLS'SPEC ACTION_UTILITIES !COMMANDS.ACTION_UTILITIES'SPEC TAPE_SPECIFIC !IO.TAPE_SPECIFIC'SPEC TAPE !COMMANDS.TAPE'SPEC SYSTEM_UTILITIES !TOOLS.SYSTEM_UTILITIES'SPEC LINK_TOOLS !TOOLS.LINK_TOOLS'SPEC FILE_UTILITIES !COMMANDS.FILE_UTILITIES'SPEC DIRECT_IO !IO.DIRECT_IO'SPEC TEXT_IO !IO.TEXT_IO'SPEC UNBOUNDED_STRING !TOOLS.UNBOUNDED_STRING'SPEC LIBRARY_OBJECT_EDITOR !TOOLS.LIBRARY_OBJECT_EDITOR'SPEC CALENDAR !LRM.CALENDAR'SPEC UNIT !USERS.ADVANCED_TOPICS_MASTER.INCREMENTAL_EXERCISE.UNIT'SPEC UNCHECKED_CONVERSION !LRM.UNCHECKED_CONVERSION'SPEC LIST_GENERIC !TOOLS.LIST_GENERIC'SPEC DAEMON !COMMANDS.DAEMON'SPEC MAP_GENERIC !TOOLS.MAP_GENERIC'SPEC DISK_SPACE !COMMANDS.DISK_SPACE'SPEC STACK_GENERIC !TOOLS.STACK_GENERIC'SPEC UNCHECKED_CONVERSIONS !TOOLS.UNCHECKED_CONVERSIONS'SPEC REPORT !USERS.ADVANCED_TOPICS_MASTER.INCREMENTAL_EXERCISE.REPORT'SPEC SEARCH_LIST !COMMANDS.SEARCH_LIST'SPEC SCRIPT !TOOLS.SCRIPT'SPEC PROFILE !TOOLS.PROFILE'SPEC MESSAGE !COMMANDS.MESSAGE'SPEC ACTIVITY !COMMANDS.ACTIVITY'SPEC WHAT !COMMANDS.WHAT'SPEC PROGRAM_PROFILE !USERS.ADVANCED_TOPICS_MASTER.INCREMENTAL_EXERCISE.PROGRAM_PROFILE'SPEC DEVICE_INDEPENDENT_IO !IO.DEVICE_INDEPENDENT_IO'SPEC IO_EXCEPTIONS !IO.IO_EXCEPTIONS'SPEC WINDOW_IO !IO.WINDOW_IO'SPEC STRING_TABLE !TOOLS.STRING_TABLE'SPEC STRING_MAP_GENERIC !TOOLS.STRING_MAP_GENERIC'SPEC SCHEDULER !COMMANDS.SCHEDULER'SPEC OBJECT_EDITOR !TOOLS.OBJECT_EDITOR'SPEC LINKS !COMMANDS.LINKS'SPEC COMMON !COMMANDS.COMMON'SPEC !USERS.ADVANCED_TOPICS_MASTER.INCREMENTAL_EXERCISE.LINE'SPEC V29835|-349|4| 6/16/88 11:28:37|PACKAGE_SPEC|1|| ADHE=>RW,NETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.INCREMENTAL_EXERCISE.LINE'BODY B30184|-1400|4|11/11/87 19:23:39|PACKAGE_BODY|1|| ADHE=>RW,NETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.INCREMENTAL_EXERCISE.PROGRAM_PROFILE'SPEC V31584|-135|4|11/11/87 19:23:40|PROCEDURE_SPEC|1|| ADHE=>RW,NETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.INCREMENTAL_EXERCISE.PROGRAM_PROFILE'BODY B31719|-238|4| 6/16/88 08:12:23|PROCEDURE_BODY|1|| ADHE=>RW,NETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.INCREMENTAL_EXERCISE.REPORT'SPEC V31957|-181|4|11/11/87 19:23:40|PACKAGE_SPEC|1|| ADHE=>RW,NETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.INCREMENTAL_EXERCISE.REPORT'BODY B32138|-1976|4|11/11/87 19:23:40|PACKAGE_BODY|1|| ADHE=>RW,NETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.INCREMENTAL_EXERCISE.TEST_INPUT_1 F34114|-1369||11/11/87 19:23:41|TEXT|1|| ADHE=>RW,NETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.INCREMENTAL_EXERCISE.TEST_INPUT_2 F35483|-14353||11/11/87 19:23:41|TEXT|1|| ADHE=>RW,NETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.INCREMENTAL_EXERCISE.UNIT'SPEC V49836|-618|4| 6/16/88 08:12:17|PACKAGE_SPEC|1|| ADHE=>RW,NETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.INCREMENTAL_EXERCISE.UNIT'BODY B50454|-2176|4| 6/16/88 08:12:30|PACKAGE_BODY|1|| ADHE=>RW,NETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.MENU_EXERCISES W||| 6/17/88 09:46:21|WORLD||| ANETWORK_PUBLIC=>RCOD|DNETWORK_PUBLIC=>RW|TR1000| !USERS.ADVANCED_TOPICS_MASTER.MENU_EXERCISES Y TRANSPORT_NAME !TOOLS.NETWORKING.TRANSPORT_NAME'SPEC TELNET !COMMANDS.TELNET'SPEC INTERCHANGE !TOOLS.NETWORKING.INTERCHANGE'SPEC FTP_DEFS !TOOLS.NETWORKING.FTP_DEFS'SPEC DIANA_OBJECT_EDITOR !TOOLS.DIANA_OBJECT_EDITOR'SPEC TRANSFER_GENERIC !TOOLS.NETWORKING.TRANSFER_GENERIC'SPEC RPC_PRODUCT !TOOLS.NETWORKING.RPC_PRODUCT'SPEC PIPE !IO.PIPE'SPEC BYTE_STRING_IO !TOOLS.NETWORKING.BYTE_STRING_IO'SPEC BYTE_DEFS !TOOLS.NETWORKING.BYTE_DEFS'SPEC ARCHIVE !COMMANDS.ARCHIVE'SPEC TAPE_TOOLS !TOOLS.TAPE_TOOLS'SPEC TABLE_FORMATTER !TOOLS.TABLE_FORMATTER'SPEC QUEUE !COMMANDS.QUEUE'SPEC SEQUENTIAL_IO !IO.SEQUENTIAL_IO'SPEC DEBUG !COMMANDS.DEBUG'SPEC SYSTEM_BACKUP !COMMANDS.SYSTEM_BACKUP'SPEC COMMAND !COMMANDS.COMMAND'SPEC TERMINAL !COMMANDS.TERMINAL'SPEC CONCURRENT_MAP_GENERIC !TOOLS.CONCURRENT_MAP_GENERIC'SPEC EDITOR !COMMANDS.EDITOR'SPEC DISK_DAEMON !TOOLS.DISK_DAEMON'SPEC CMVC_MAINTENANCE !COMMANDS.CMVC_MAINTENANCE'SPEC OBJECT_SET !IO.OBJECT_SET'SPEC MESSAGE_IO !USERS.ADVANCED_TOPICS_MASTER.MENU_EXERCISES.MESSAGE_IO'SPEC TRANSPORT !TOOLS.NETWORKING.TRANSPORT'SPEC TERMINAL_SPECIFIC !IO.TERMINAL_SPECIFIC'SPEC STRING_UTILITIES !TOOLS.STRING_UTILITIES'SPEC LOG !COMMANDS.LOG'SPEC RANDOM !TOOLS.RANDOM'SPEC LIBRARY !COMMANDS.LIBRARY'SPEC BOUNDED_STRING !TOOLS.BOUNDED_STRING'SPEC TEXT !COMMANDS.TEXT'SPEC TCP_IP_DUMP !TOOLS.NETWORKING.TCP_IP_DUMP'SPEC POLYMORPHIC_SEQUENTIAL_IO !IO.POLYMORPHIC_SEQUENTIAL_IO'SPEC DIRECTORY_TOOLS !TOOLS.DIRECTORY_TOOLS'SPEC TRANSPORT_ROUTE !COMMANDS.TRANSPORT_ROUTE'SPEC TRANSPORT_DEFS !TOOLS.NETWORKING.TRANSPORT_DEFS'SPEC TIME_UTILITIES !TOOLS.TIME_UTILITIES'SPEC SIMPLE_STATUS !TOOLS.SIMPLE_STATUS'SPEC PROCESS !USERS.ADVANCED_TOPICS_MASTER.MENU_EXERCISES.PROCESS'SPEC JOB !COMMANDS.JOB'SPEC ADA_OBJECT_EDITOR !TOOLS.ADA_OBJECT_EDITOR'SPEC PROGRAM !COMMANDS.PROGRAM'SPEC OPERATOR !COMMANDS.OPERATOR'SPEC ACCESS_LIST !COMMANDS.ACCESS_LIST'SPEC POLYMORPHIC_IO !IO.POLYMORPHIC_IO'SPEC FTP_SERVER !TOOLS.NETWORKING.FTP_SERVER'SPEC ADA !COMMANDS.ADA'SPEC ACCESS_LIST_TOOLS !TOOLS.ACCESS_LIST_TOOLS'SPEC NETWORK !COMMANDS.NETWORK'SPEC TELNET_PROFILE !TOOLS.NETWORKING.TELNET_PROFILE'SPEC TABLE_SORT_GENERIC !TOOLS.TABLE_SORT_GENERIC'SPEC SWITCHES !COMMANDS.SWITCHES'SPEC DOCUMENT_BUILDER !COMMANDS.DOCUMENT_BUILDER'SPEC QUEUE_GENERIC !TOOLS.QUEUE_GENERIC'SPEC COMPILATION !COMMANDS.COMPILATION'SPEC TRANSPORT_STREAM !TOOLS.NETWORKING.TRANSPORT_STREAM'SPEC RPC_ACCESS_UTILITIES !TOOLS.NETWORKING.RPC_ACCESS_UTILITIES'SPEC SET_GENERIC !TOOLS.SET_GENERIC'SPEC HASH !TOOLS.HASH'SPEC DIANA_TREE !COMMANDS.DIANA_TREE'SPEC TCP_IP_BOOT !TOOLS.NETWORKING.TCP_IP_BOOT'SPEC HOST_ID_IO !TOOLS.NETWORKING.HOST_ID_IO'SPEC DEBUG_TOOLS !TOOLS.DEBUG_TOOLS'SPEC RPC_SERVER !TOOLS.NETWORKING.RPC_SERVER'SPEC RPC !TOOLS.NETWORKING.RPC'SPEC PARAMETER_PARSER !TOOLS.PARAMETER_PARSER'SPEC NETWORK_PRODUCT !TOOLS.NETWORKING.NETWORK_PRODUCT'SPEC ACTION_UTILITIES !COMMANDS.ACTION_UTILITIES'SPEC WORK_ORDER !COMMANDS.WORK_ORDER'SPEC TAPE_SPECIFIC !IO.TAPE_SPECIFIC'SPEC TAPE !COMMANDS.TAPE'SPEC SYSTEM_UTILITIES !TOOLS.SYSTEM_UTILITIES'SPEC LINK_TOOLS !TOOLS.LINK_TOOLS'SPEC FILE_UTILITIES !COMMANDS.FILE_UTILITIES'SPEC DIRECT_IO !IO.DIRECT_IO'SPEC ALLOWS_DEALLOCATION !TOOLS.ALLOWS_DEALLOCATION'SPEC TEXT_IO !IO.TEXT_IO'SPEC FTP !COMMANDS.FTP'SPEC ADA_TEXT !TOOLS.ADA_TEXT'SPEC UNBOUNDED_STRING !TOOLS.UNBOUNDED_STRING'SPEC TRANSPORT_INTERCHANGE !TOOLS.NETWORKING.TRANSPORT_INTERCHANGE'SPEC RPC_CLIENT !TOOLS.NETWORKING.RPC_CLIENT'SPEC LIBRARY_OBJECT_EDITOR !TOOLS.LIBRARY_OBJECT_EDITOR'SPEC FTP_NAME_MAP !TOOLS.NETWORKING.FTP_NAME_MAP'SPEC CALENDAR !LRM.CALENDAR'SPEC UNCHECKED_CONVERSION !LRM.UNCHECKED_CONVERSION'SPEC LIST_GENERIC !TOOLS.LIST_GENERIC'SPEC INTERCHANGE_DEFS !TOOLS.NETWORKING.INTERCHANGE_DEFS'SPEC DAEMON !COMMANDS.DAEMON'SPEC CMVC !COMMANDS.CMVC'SPEC FILE_TRANSFER !TOOLS.NETWORKING.FILE_TRANSFER'SPEC MAP_GENERIC !TOOLS.MAP_GENERIC'SPEC MAIL !COMMANDS.MAIL'SPEC MACHINE_CODE !LRM.MACHINE_CODE'SPEC DISK_SPACE !COMMANDS.DISK_SPACE'SPEC BIT_OPERATIONS !TOOLS.BIT_OPERATIONS'SPEC UNCHECKED_DEALLOCATION !LRM.UNCHECKED_DEALLOCATION'SPEC STACK_GENERIC !TOOLS.STACK_GENERIC'SPEC UNCHECKED_CONVERSIONS !TOOLS.UNCHECKED_CONVERSIONS'SPEC TRANSPORT_SERVER_JOB !TOOLS.NETWORKING.TRANSPORT_SERVER_JOB'SPEC MAIN !USERS.ADVANCED_TOPICS_MASTER.MENU_EXERCISES.MAIN'SPEC FTP_PRODUCT !TOOLS.NETWORKING.FTP_PRODUCT'SPEC SEARCH_LIST !COMMANDS.SEARCH_LIST'SPEC SCRIPT !TOOLS.SCRIPT'SPEC PROFILE !TOOLS.PROFILE'SPEC MESSAGE !COMMANDS.MESSAGE'SPEC ACTIVITY !COMMANDS.ACTIVITY'SPEC WHAT !COMMANDS.WHAT'SPEC DEVICE_INDEPENDENT_IO !IO.DEVICE_INDEPENDENT_IO'SPEC TELNET_PRODUCT !TOOLS.NETWORKING.TELNET_PRODUCT'SPEC IO_EXCEPTIONS !IO.IO_EXCEPTIONS'SPEC WINDOW_IO !IO.WINDOW_IO'SPEC TRANSPORT_SERVER !TOOLS.NETWORKING.TRANSPORT_SERVER'SPEC SYSTEM !LRM.SYSTEM'SPEC STRING_TABLE !TOOLS.STRING_TABLE'SPEC STRING_MAP_GENERIC !TOOLS.STRING_MAP_GENERIC'SPEC SCHEDULER !COMMANDS.SCHEDULER'SPEC OBJECT_EDITOR !TOOLS.OBJECT_EDITOR'SPEC LINKS !COMMANDS.LINKS'SPEC FTP_PROFILE !TOOLS.NETWORKING.FTP_PROFILE'SPEC COMMON !COMMANDS.COMMON'SPEC !USERS.ADVANCED_TOPICS_MASTER.MENU_EXERCISES.MAIN'SPEC V52630|-15|3| 6/17/88 09:46:26|PROCEDURE_SPEC||| ANETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.MENU_EXERCISES.MAIN'BODY B52645|-736|3| 6/17/88 14:23:31|PROCEDURE_BODY||| ANETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.MENU_EXERCISES.MESSAGE_IO'SPEC V53381|-565|3| 6/17/88 14:22:41|PACKAGE_SPEC||| ANETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.MENU_EXERCISES.PROCESS'SPEC V53946|-242|3| 6/17/88 09:28:29|PACKAGE_SPEC||| ANETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.MENU_EXERCISES.PROCESS'BODY B54188|-1381|3| 6/17/88 14:23:05|PACKAGE_BODY||| ANETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.NEW_TEXT N||| 5/30/88 12:12:00|DIRECTORY||| !USERS.ADVANCED_TOPICS_MASTER.NEW_TEXT K !USERS.ADVANCED_TOPICS_MASTER.NEW_TEXT.FILE_1_TEMP F55569||| 5/30/88 12:02:45|TEXT||1| ANETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.NEW_TEXT.FILE_2_TEMP F55569||| 5/30/88 12:03:10|TEXT||1| ANETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.PROGRAM_PROFILE_SYSTEM W||| 9/23/87 10:03:29|WORLD|1|| ANETWORK_PUBLIC=>RCOD|DNETWORK_PUBLIC=>RW|TR1000| !USERS.ADVANCED_TOPICS_MASTER.PROGRAM_PROFILE_SYSTEM Y LINE !USERS.ADVANCED_TOPICS_MASTER.PROGRAM_PROFILE_SYSTEM.LINE'SPEC TEST_DRIVER1 !USERS.ADVANCED_TOPICS_MASTER.PROGRAM_PROFILE_SYSTEM.TEST_DRIVER1'SPEC SYSTEM_UTILITIES !TOOLS.SYSTEM_UTILITIES'SPEC TEXT_IO !IO.TEXT_IO'SPEC UNIT !USERS.ADVANCED_TOPICS_MASTER.PROGRAM_PROFILE_SYSTEM.UNIT'SPEC REPORT !USERS.ADVANCED_TOPICS_MASTER.PROGRAM_PROFILE_SYSTEM.REPORT'SPEC PROGRAM_PROFILE !USERS.ADVANCED_TOPICS_MASTER.PROGRAM_PROFILE_SYSTEM.PROGRAM_PROFILE'SPEC !USERS.ADVANCED_TOPICS_MASTER.PROGRAM_PROFILE_SYSTEM.LINE'SPEC V55569|-349|4|11/11/87 19:23:42|PACKAGE_SPEC|1|| ADHE=>RW,NETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.PROGRAM_PROFILE_SYSTEM.LINE'BODY B55918|-1400|4|11/11/87 19:23:42|PACKAGE_BODY|1|| ADHE=>RW,NETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.PROGRAM_PROFILE_SYSTEM.PROGRAM_PROFILE'SPEC V57318|-110|4|11/11/87 19:23:43|PROCEDURE_SPEC|1|| ADHE=>RW,NETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.PROGRAM_PROFILE_SYSTEM.PROGRAM_PROFILE'BODY B57428|-226|4|11/11/87 19:23:43|PROCEDURE_BODY|1|| ADHE=>RW,NETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.PROGRAM_PROFILE_SYSTEM.REPORT'SPEC V57654|-119|4|11/11/87 19:23:44|PACKAGE_SPEC|1|| ADHE=>RW,NETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.PROGRAM_PROFILE_SYSTEM.REPORT'BODY B57773|-1948|4|11/11/87 19:23:44|PACKAGE_BODY|1|| ADHE=>RW,NETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.PROGRAM_PROFILE_SYSTEM.TEST_DRIVER1'SPEC V59721|-23|4|11/11/87 19:23:44|PROCEDURE_SPEC|1|| ADHE=>RW,NETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.PROGRAM_PROFILE_SYSTEM.TEST_DRIVER1'BODY B59744|-324|4|11/11/87 19:23:45|PROCEDURE_BODY|1|| ADHE=>RW,NETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.PROGRAM_PROFILE_SYSTEM.TEST_INPUT_1 F60068|-1369||11/11/87 19:23:45|TEXT|1|| ADHE=>RW,NETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.PROGRAM_PROFILE_SYSTEM.TEST_INPUT_2 F61437|-14353||11/11/87 19:23:46|TEXT|1|| ADHE=>RW,NETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.PROGRAM_PROFILE_SYSTEM.UNIT'SPEC V75790|-618|4|11/11/87 19:23:46|PACKAGE_SPEC|1|| ADHE=>RW,NETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.PROGRAM_PROFILE_SYSTEM.UNIT'BODY B76408|-2176|4|11/11/87 19:23:46|PACKAGE_BODY|1|| ADHE=>RW,NETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.SOLUTIONS W||| 5/30/88 12:28:51|WORLD||| ANETWORK_PUBLIC=>RCOD|DNETWORK_PUBLIC=>RW|TR1000| !USERS.ADVANCED_TOPICS_MASTER.SOLUTIONS.INCREMENTAL_EXERCISE W||| 5/30/88 12:28:54|WORLD||| ANETWORK_PUBLIC=>RCOD|DNETWORK_PUBLIC=>RW|TR1000| !USERS.ADVANCED_TOPICS_MASTER.SOLUTIONS.INCREMENTAL_EXERCISE Y DIANA_OBJECT_EDITOR !TOOLS.DIANA_OBJECT_EDITOR'SPEC PIPE !IO.PIPE'SPEC TAPE_TOOLS !TOOLS.TAPE_TOOLS'SPEC SIMPLE_TEXT_IO !IO.IO'SPEC TABLE_FORMATTER !TOOLS.TABLE_FORMATTER'SPEC QUEUE !COMMANDS.QUEUE'SPEC SEQUENTIAL_IO !IO.SEQUENTIAL_IO'SPEC DEBUG !COMMANDS.DEBUG'SPEC SYSTEM_BACKUP !COMMANDS.SYSTEM_BACKUP'SPEC COMMAND !COMMANDS.COMMAND'SPEC TERMINAL !COMMANDS.TERMINAL'SPEC LINE !USERS.ADVANCED_TOPICS_MASTER.SOLUTIONS.INCREMENTAL_EXERCISE.LINE'SPEC IO !IO.IO'SPEC CONCURRENT_MAP_GENERIC !TOOLS.CONCURRENT_MAP_GENERIC'SPEC EDITOR !COMMANDS.EDITOR'SPEC DISK_DAEMON !TOOLS.DISK_DAEMON'SPEC TIME_UTILITY !TOOLS.TIME_UTILITIES'SPEC STRING_UTILITIES !TOOLS.STRING_UTILITIES'SPEC LOG !COMMANDS.LOG'SPEC LIBRARY !COMMANDS.LIBRARY'SPEC BOUNDED_STRING !TOOLS.BOUNDED_STRING'SPEC TEXT !COMMANDS.TEXT'SPEC POLYMORPHIC_SEQUENTIAL_IO !IO.POLYMORPHIC_SEQUENTIAL_IO'SPEC DIRECTORY_TOOLS !TOOLS.DIRECTORY_TOOLS'SPEC TIME_UTILITIES !TOOLS.TIME_UTILITIES'SPEC SIMPLE_STATUS !TOOLS.SIMPLE_STATUS'SPEC JOB !COMMANDS.JOB'SPEC ADA_OBJECT_EDITOR !TOOLS.ADA_OBJECT_EDITOR'SPEC PROGRAM !COMMANDS.PROGRAM'SPEC OPERATOR !COMMANDS.OPERATOR'SPEC ACCESS_LIST !COMMANDS.ACCESS_LIST'SPEC ADA !COMMANDS.ADA'SPEC ACCESS_LIST_TOOLS !TOOLS.ACCESS_LIST_TOOLS'SPEC SWITCHES !COMMANDS.SWITCHES'SPEC QUEUE_GENERIC !TOOLS.QUEUE_GENERIC'SPEC COMPILATION !COMMANDS.COMPILATION'SPEC SET_GENERIC !TOOLS.SET_GENERIC'SPEC HASH !TOOLS.HASH'SPEC DIANA_TREE !COMMANDS.DIANA_TREE'SPEC DEBUG_TOOLS !TOOLS.DEBUG_TOOLS'SPEC ACTION_UTILITIES !COMMANDS.ACTION_UTILITIES'SPEC TAPE_SPECIFIC !IO.TAPE_SPECIFIC'SPEC TAPE !COMMANDS.TAPE'SPEC SYSTEM_UTILITIES !TOOLS.SYSTEM_UTILITIES'SPEC LINK_TOOLS !TOOLS.LINK_TOOLS'SPEC FILE_UTILITIES !COMMANDS.FILE_UTILITIES'SPEC DIRECT_IO !IO.DIRECT_IO'SPEC TEXT_IO !IO.TEXT_IO'SPEC UNBOUNDED_STRING !TOOLS.UNBOUNDED_STRING'SPEC LIBRARY_OBJECT_EDITOR !TOOLS.LIBRARY_OBJECT_EDITOR'SPEC CALENDAR !LRM.CALENDAR'SPEC UNIT !USERS.ADVANCED_TOPICS_MASTER.SOLUTIONS.INCREMENTAL_EXERCISE.UNIT'SPEC UNCHECKED_CONVERSION !LRM.UNCHECKED_CONVERSION'SPEC LIST_GENERIC !TOOLS.LIST_GENERIC'SPEC DAEMON !COMMANDS.DAEMON'SPEC MAP_GENERIC !TOOLS.MAP_GENERIC'SPEC DISK_SPACE !COMMANDS.DISK_SPACE'SPEC STACK_GENERIC !TOOLS.STACK_GENERIC'SPEC UNCHECKED_CONVERSIONS !TOOLS.UNCHECKED_CONVERSIONS'SPEC REPORT !USERS.ADVANCED_TOPICS_MASTER.SOLUTIONS.INCREMENTAL_EXERCISE.REPORT'SPEC SEARCH_LIST !COMMANDS.SEARCH_LIST'SPEC SCRIPT !TOOLS.SCRIPT'SPEC PROFILE !TOOLS.PROFILE'SPEC MESSAGE !COMMANDS.MESSAGE'SPEC ACTIVITY !COMMANDS.ACTIVITY'SPEC WHAT !COMMANDS.WHAT'SPEC PROGRAM_PROFILE !USERS.ADVANCED_TOPICS_MASTER.SOLUTIONS.INCREMENTAL_EXERCISE.PROGRAM_PROFILE'SPEC DEVICE_INDEPENDENT_IO !IO.DEVICE_INDEPENDENT_IO'SPEC IO_EXCEPTIONS !IO.IO_EXCEPTIONS'SPEC WINDOW_IO !IO.WINDOW_IO'SPEC STRING_TABLE !TOOLS.STRING_TABLE'SPEC STRING_MAP_GENERIC !TOOLS.STRING_MAP_GENERIC'SPEC SCHEDULER !COMMANDS.SCHEDULER'SPEC OBJECT_EDITOR !TOOLS.OBJECT_EDITOR'SPEC LINKS !COMMANDS.LINKS'SPEC COMMON !COMMANDS.COMMON'SPEC !USERS.ADVANCED_TOPICS_MASTER.SOLUTIONS.INCREMENTAL_EXERCISE.LINE'SPEC V78584|-349|4|11/11/87 19:23:39|PACKAGE_SPEC||| ANETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.SOLUTIONS.INCREMENTAL_EXERCISE.LINE'BODY B78933|-901|4| 5/30/88 12:36:02|PACKAGE_BODY||| ANETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.SOLUTIONS.INCREMENTAL_EXERCISE.PROGRAM_PROFILE'SPEC V79834|-135|4|11/11/87 19:23:40|PROCEDURE_SPEC||| ANETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.SOLUTIONS.INCREMENTAL_EXERCISE.PROGRAM_PROFILE'BODY B79969|-249|4| 5/30/88 12:38:43|PROCEDURE_BODY||| ANETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.SOLUTIONS.INCREMENTAL_EXERCISE.REPORT'SPEC V80218|-181|4|11/11/87 19:23:40|PACKAGE_SPEC||| ANETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.SOLUTIONS.INCREMENTAL_EXERCISE.REPORT'BODY B80399|-1976|4|11/11/87 19:23:40|PACKAGE_BODY||| ANETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.SOLUTIONS.INCREMENTAL_EXERCISE.TEST_INPUT_1 F82375|-1369||11/11/87 19:23:41|TEXT||| ANETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.SOLUTIONS.INCREMENTAL_EXERCISE.TEST_INPUT_2 F83744|-14353||11/11/87 19:23:41|TEXT||| ANETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.SOLUTIONS.INCREMENTAL_EXERCISE.UNIT'SPEC V98097|-629|4| 5/30/88 12:37:47|PACKAGE_SPEC||| ANETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.SOLUTIONS.INCREMENTAL_EXERCISE.UNIT'BODY B98726|-2197|4| 5/30/88 12:38:00|PACKAGE_BODY||| ANETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.SOLUTIONS.SUBUNIT_EXERCISE N||| 5/30/88 11:12:36|DIRECTORY||| !USERS.ADVANCED_TOPICS_MASTER.SOLUTIONS.SUBUNIT_EXERCISE K !USERS.ADVANCED_TOPICS_MASTER.SOLUTIONS.SUBUNIT_EXERCISE.LINE'SPEC V100923|-349|4|11/11/87 19:24:21|PACKAGE_SPEC||1| ANETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.SOLUTIONS.SUBUNIT_EXERCISE.LINE'BODY B101272|-960|4| 5/30/88 11:17:30|PACKAGE_BODY||1| ANETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.SOLUTIONS.SUBUNIT_EXERCISE.LINE.LOCATE_COMMENT'BODY B102232|-278|4| 5/30/88 11:14:50|FUNCTION_BODY||1| ANETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.SOLUTIONS.SUBUNIT_EXERCISE.LINE.STRIP_BLANKS'BODY B102510|-273|4| 5/30/88 11:18:38|FUNCTION_BODY||1| ANETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.SOLUTIONS.SUBUNIT_EXERCISE.PROGRAM_PROFILE'SPEC V102783|-135|4| 5/30/88 11:21:40|PROCEDURE_SPEC||1| ANETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.SOLUTIONS.SUBUNIT_EXERCISE.PROGRAM_PROFILE'BODY B102918|-238|4| 5/30/88 11:22:38|PROCEDURE_BODY||1| ANETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.SOLUTIONS.SUBUNIT_EXERCISE.REPORT'SPEC V103156|-181|4| 5/30/88 11:21:30|PACKAGE_SPEC||1| ANETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.SOLUTIONS.SUBUNIT_EXERCISE.REPORT'BODY B103337|-2073|4| 5/30/88 11:22:13|PACKAGE_BODY||1| ANETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.SOLUTIONS.SUBUNIT_EXERCISE.TEST_INPUT_1 F105410|-1369||11/11/87 19:24:25|TEXT||1| ANETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.SOLUTIONS.SUBUNIT_EXERCISE.TEST_INPUT_2 F106779|-14353||11/11/87 19:24:25|TEXT||1| ANETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.SOLUTIONS.SUBUNIT_EXERCISE.UNIT'SPEC V121132|-543|4| 5/30/88 11:13:53|PACKAGE_SPEC||1| ANETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.SOLUTIONS.SUBUNIT_EXERCISE.UNIT'BODY B121675|-545|4| 5/30/88 11:19:25|PACKAGE_BODY||1| ANETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.SOLUTIONS.SUBUNIT_EXERCISE.UNIT.ANALYZE'BODY B122220|-1407|4| 5/30/88 11:19:26|FUNCTION_BODY||1| ANETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.SOLUTIONS Y TRANSPORT_NAME !TOOLS.NETWORKING.TRANSPORT_NAME'SPEC TELNET !COMMANDS.TELNET'SPEC INTERCHANGE !TOOLS.NETWORKING.INTERCHANGE'SPEC FTP_DEFS !TOOLS.NETWORKING.FTP_DEFS'SPEC DIANA_OBJECT_EDITOR !TOOLS.DIANA_OBJECT_EDITOR'SPEC TRANSFER_GENERIC !TOOLS.NETWORKING.TRANSFER_GENERIC'SPEC RPC_PRODUCT !TOOLS.NETWORKING.RPC_PRODUCT'SPEC PIPE !IO.PIPE'SPEC BYTE_STRING_IO !TOOLS.NETWORKING.BYTE_STRING_IO'SPEC BYTE_DEFS !TOOLS.NETWORKING.BYTE_DEFS'SPEC ARCHIVE !COMMANDS.ARCHIVE'SPEC TAPE_TOOLS !TOOLS.TAPE_TOOLS'SPEC TABLE_FORMATTER !TOOLS.TABLE_FORMATTER'SPEC QUEUE !COMMANDS.QUEUE'SPEC SEQUENTIAL_IO !IO.SEQUENTIAL_IO'SPEC DEBUG !COMMANDS.DEBUG'SPEC SYSTEM_BACKUP !COMMANDS.SYSTEM_BACKUP'SPEC COMMAND !COMMANDS.COMMAND'SPEC TERMINAL !COMMANDS.TERMINAL'SPEC LINE !USERS.ADVANCED_TOPICS_MASTER.SOLUTIONS.SUBUNIT_EXERCISE.LINE'SPEC IO !IO.IO'SPEC CONCURRENT_MAP_GENERIC !TOOLS.CONCURRENT_MAP_GENERIC'SPEC EDITOR !COMMANDS.EDITOR'SPEC DISK_DAEMON !TOOLS.DISK_DAEMON'SPEC CMVC_MAINTENANCE !COMMANDS.CMVC_MAINTENANCE'SPEC OBJECT_SET !IO.OBJECT_SET'SPEC TRANSPORT !TOOLS.NETWORKING.TRANSPORT'SPEC TERMINAL_SPECIFIC !IO.TERMINAL_SPECIFIC'SPEC STRING_UTILITIES !TOOLS.STRING_UTILITIES'SPEC LOG !COMMANDS.LOG'SPEC RANDOM !TOOLS.RANDOM'SPEC LIBRARY !COMMANDS.LIBRARY'SPEC GENERIC_BENCHMARK !USERS.ADVANCED_TOPICS_MASTER.SOLUTIONS.GENERIC_BENCHMARK'SPEC BOUNDED_STRING !TOOLS.BOUNDED_STRING'SPEC TEXT !COMMANDS.TEXT'SPEC TCP_IP_DUMP !TOOLS.NETWORKING.TCP_IP_DUMP'SPEC POLYMORPHIC_SEQUENTIAL_IO !IO.POLYMORPHIC_SEQUENTIAL_IO'SPEC DIRECTORY_TOOLS !TOOLS.DIRECTORY_TOOLS'SPEC TRANSPORT_ROUTE !COMMANDS.TRANSPORT_ROUTE'SPEC TRANSPORT_DEFS !TOOLS.NETWORKING.TRANSPORT_DEFS'SPEC TIME_UTILITIES !TOOLS.TIME_UTILITIES'SPEC SIMPLE_STATUS !TOOLS.SIMPLE_STATUS'SPEC JOB !COMMANDS.JOB'SPEC ADA_OBJECT_EDITOR !TOOLS.ADA_OBJECT_EDITOR'SPEC PROGRAM !COMMANDS.PROGRAM'SPEC OPERATOR !COMMANDS.OPERATOR'SPEC ACCESS_LIST !COMMANDS.ACCESS_LIST'SPEC POLYMORPHIC_IO !IO.POLYMORPHIC_IO'SPEC FTP_SERVER !TOOLS.NETWORKING.FTP_SERVER'SPEC ADA !COMMANDS.ADA'SPEC ACCESS_LIST_TOOLS !TOOLS.ACCESS_LIST_TOOLS'SPEC NETWORK !COMMANDS.NETWORK'SPEC TELNET_PROFILE !TOOLS.NETWORKING.TELNET_PROFILE'SPEC TABLE_SORT_GENERIC !TOOLS.TABLE_SORT_GENERIC'SPEC SWITCHES !COMMANDS.SWITCHES'SPEC DOCUMENT_BUILDER !COMMANDS.DOCUMENT_BUILDER'SPEC QUEUE_GENERIC !TOOLS.QUEUE_GENERIC'SPEC COMPILATION !COMMANDS.COMPILATION'SPEC TRANSPORT_STREAM !TOOLS.NETWORKING.TRANSPORT_STREAM'SPEC RPC_ACCESS_UTILITIES !TOOLS.NETWORKING.RPC_ACCESS_UTILITIES'SPEC SET_GENERIC !TOOLS.SET_GENERIC'SPEC HASH !TOOLS.HASH'SPEC DIANA_TREE !COMMANDS.DIANA_TREE'SPEC TCP_IP_BOOT !TOOLS.NETWORKING.TCP_IP_BOOT'SPEC HOST_ID_IO !TOOLS.NETWORKING.HOST_ID_IO'SPEC DEBUG_TOOLS !TOOLS.DEBUG_TOOLS'SPEC RPC_SERVER !TOOLS.NETWORKING.RPC_SERVER'SPEC RPC !TOOLS.NETWORKING.RPC'SPEC PARAMETER_PARSER !TOOLS.PARAMETER_PARSER'SPEC NETWORK_PRODUCT !TOOLS.NETWORKING.NETWORK_PRODUCT'SPEC ACTION_UTILITIES !COMMANDS.ACTION_UTILITIES'SPEC WORK_ORDER !COMMANDS.WORK_ORDER'SPEC TAPE_SPECIFIC !IO.TAPE_SPECIFIC'SPEC TAPE !COMMANDS.TAPE'SPEC SYSTEM_UTILITIES !TOOLS.SYSTEM_UTILITIES'SPEC LINK_TOOLS !TOOLS.LINK_TOOLS'SPEC FILE_UTILITIES !COMMANDS.FILE_UTILITIES'SPEC DIRECT_IO !IO.DIRECT_IO'SPEC ALLOWS_DEALLOCATION !TOOLS.ALLOWS_DEALLOCATION'SPEC TEXT_IO !IO.TEXT_IO'SPEC FTP !COMMANDS.FTP'SPEC ADA_TEXT !TOOLS.ADA_TEXT'SPEC UNBOUNDED_STRING !TOOLS.UNBOUNDED_STRING'SPEC TRANSPORT_INTERCHANGE !TOOLS.NETWORKING.TRANSPORT_INTERCHANGE'SPEC RPC_CLIENT !TOOLS.NETWORKING.RPC_CLIENT'SPEC LIBRARY_OBJECT_EDITOR !TOOLS.LIBRARY_OBJECT_EDITOR'SPEC FTP_NAME_MAP !TOOLS.NETWORKING.FTP_NAME_MAP'SPEC CALENDAR !LRM.CALENDAR'SPEC UNIT !USERS.ADVANCED_TOPICS_MASTER.SOLUTIONS.SUBUNIT_EXERCISE.UNIT'SPEC UNCHECKED_CONVERSION !LRM.UNCHECKED_CONVERSION'SPEC LIST_GENERIC !TOOLS.LIST_GENERIC'SPEC INTERCHANGE_DEFS !TOOLS.NETWORKING.INTERCHANGE_DEFS'SPEC DAEMON !COMMANDS.DAEMON'SPEC CMVC !COMMANDS.CMVC'SPEC FILE_TRANSFER !TOOLS.NETWORKING.FILE_TRANSFER'SPEC MAP_GENERIC !TOOLS.MAP_GENERIC'SPEC MAIL !COMMANDS.MAIL'SPEC MACHINE_CODE !LRM.MACHINE_CODE'SPEC DISK_SPACE !COMMANDS.DISK_SPACE'SPEC BIT_OPERATIONS !TOOLS.BIT_OPERATIONS'SPEC UNCHECKED_DEALLOCATION !LRM.UNCHECKED_DEALLOCATION'SPEC STACK_GENERIC !TOOLS.STACK_GENERIC'SPEC UNCHECKED_CONVERSIONS !TOOLS.UNCHECKED_CONVERSIONS'SPEC TRANSPORT_SERVER_JOB !TOOLS.NETWORKING.TRANSPORT_SERVER_JOB'SPEC REPORT !USERS.ADVANCED_TOPICS_MASTER.SOLUTIONS.SUBUNIT_EXERCISE.REPORT'SPEC FTP_PRODUCT !TOOLS.NETWORKING.FTP_PRODUCT'SPEC ELAPSED_TIME_BENCHMARK !USERS.ADVANCED_TOPICS_MASTER.SOLUTIONS.ELAPSED_TIME_BENCHMARK'SPEC SEARCH_LIST !COMMANDS.SEARCH_LIST'SPEC SCRIPT !TOOLS.SCRIPT'SPEC PROFILE !TOOLS.PROFILE'SPEC MESSAGE !COMMANDS.MESSAGE'SPEC ACTIVITY !COMMANDS.ACTIVITY'SPEC WHAT !COMMANDS.WHAT'SPEC PROGRAM_PROFILE !USERS.ADVANCED_TOPICS_MASTER.SOLUTIONS.SUBUNIT_EXERCISE.PROGRAM_PROFILE'SPEC DEVICE_INDEPENDENT_IO !IO.DEVICE_INDEPENDENT_IO'SPEC TELNET_PRODUCT !TOOLS.NETWORKING.TELNET_PRODUCT'SPEC IO_EXCEPTIONS !IO.IO_EXCEPTIONS'SPEC WINDOW_IO !IO.WINDOW_IO'SPEC TRANSPORT_SERVER !TOOLS.NETWORKING.TRANSPORT_SERVER'SPEC STRING_TABLE !TOOLS.STRING_TABLE'SPEC STRING_MAP_GENERIC !TOOLS.STRING_MAP_GENERIC'SPEC SCHEDULER !COMMANDS.SCHEDULER'SPEC OBJECT_EDITOR !TOOLS.OBJECT_EDITOR'SPEC LINKS !COMMANDS.LINKS'SPEC FTP_PROFILE !TOOLS.NETWORKING.FTP_PROFILE'SPEC COMMON !COMMANDS.COMMON'SPEC !USERS.ADVANCED_TOPICS_MASTER.SOLUTIONS.ELAPSED_TIME_BENCHMARK'SPEC V123627|-33|4| 5/29/88 16:44:18|PROCEDURE_SPEC||| ANETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.SOLUTIONS.ELAPSED_TIME_BENCHMARK'BODY B123660|-584|3| 5/29/88 16:48:22|PROCEDURE_BODY||| ANETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.SOLUTIONS.GENERIC_BENCHMARK'SPEC V124244|-71|4| 5/29/88 16:44:41|GENERIC_PROCEDURE||| ANETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.SOLUTIONS.GENERIC_BENCHMARK'BODY B124315|-753|3| 5/29/88 16:48:59|PROCEDURE_BODY||| ANETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.SOME_TEXT N||| 5/30/88 12:03:29|DIRECTORY||| !USERS.ADVANCED_TOPICS_MASTER.SOME_TEXT K !USERS.ADVANCED_TOPICS_MASTER.SOME_TEXT.DO_NOT_COPY F125068||| 5/30/88 12:03:32|TEXT||1| ANETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.SOME_TEXT.FILE_1 F125068||| 5/30/88 12:02:45|TEXT||1| ANETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.SOME_TEXT.FILE_2 F125068||| 5/30/88 12:03:10|TEXT||1| ANETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.SUBUNIT_EXERCISE W||| 8/27/87 16:32:33|WORLD|1|| ANETWORK_PUBLIC=>RCOD|DNETWORK_PUBLIC=>RW|TR1000| !USERS.ADVANCED_TOPICS_MASTER.SUBUNIT_EXERCISE Y DIANA_OBJECT_EDITOR !TOOLS.DIANA_OBJECT_EDITOR'SPEC PIPE !IO.PIPE'SPEC TAPE_TOOLS !TOOLS.TAPE_TOOLS'SPEC SIMPLE_TEXT_IO !IO.IO'SPEC TABLE_FORMATTER !TOOLS.TABLE_FORMATTER'SPEC QUEUE !COMMANDS.QUEUE'SPEC SEQUENTIAL_IO !IO.SEQUENTIAL_IO'SPEC DEBUG !COMMANDS.DEBUG'SPEC SYSTEM_BACKUP !COMMANDS.SYSTEM_BACKUP'SPEC COMMAND !COMMANDS.COMMAND'SPEC TERMINAL !COMMANDS.TERMINAL'SPEC LINE !USERS.ADVANCED_TOPICS_MASTER.SUBUNIT_EXERCISE.LINE'SPEC IO !IO.IO'SPEC CONCURRENT_MAP_GENERIC !TOOLS.CONCURRENT_MAP_GENERIC'SPEC EDITOR !COMMANDS.EDITOR'SPEC DISK_DAEMON !TOOLS.DISK_DAEMON'SPEC TIME_UTILITY !TOOLS.TIME_UTILITIES'SPEC STRING_UTILITIES !TOOLS.STRING_UTILITIES'SPEC LOG !COMMANDS.LOG'SPEC LIBRARY !COMMANDS.LIBRARY'SPEC BOUNDED_STRING !TOOLS.BOUNDED_STRING'SPEC TEXT !COMMANDS.TEXT'SPEC POLYMORPHIC_SEQUENTIAL_IO !IO.POLYMORPHIC_SEQUENTIAL_IO'SPEC DIRECTORY_TOOLS !TOOLS.DIRECTORY_TOOLS'SPEC TIME_UTILITIES !TOOLS.TIME_UTILITIES'SPEC SIMPLE_STATUS !TOOLS.SIMPLE_STATUS'SPEC JOB !COMMANDS.JOB'SPEC ADA_OBJECT_EDITOR !TOOLS.ADA_OBJECT_EDITOR'SPEC PROGRAM !COMMANDS.PROGRAM'SPEC OPERATOR !COMMANDS.OPERATOR'SPEC ACCESS_LIST !COMMANDS.ACCESS_LIST'SPEC ADA !COMMANDS.ADA'SPEC ACCESS_LIST_TOOLS !TOOLS.ACCESS_LIST_TOOLS'SPEC SWITCHES !COMMANDS.SWITCHES'SPEC QUEUE_GENERIC !TOOLS.QUEUE_GENERIC'SPEC COMPILATION !COMMANDS.COMPILATION'SPEC SET_GENERIC !TOOLS.SET_GENERIC'SPEC HASH !TOOLS.HASH'SPEC DIANA_TREE !COMMANDS.DIANA_TREE'SPEC DEBUG_TOOLS !TOOLS.DEBUG_TOOLS'SPEC ACTION_UTILITIES !COMMANDS.ACTION_UTILITIES'SPEC TAPE_SPECIFIC !IO.TAPE_SPECIFIC'SPEC TAPE !COMMANDS.TAPE'SPEC SYSTEM_UTILITIES !TOOLS.SYSTEM_UTILITIES'SPEC LINK_TOOLS !TOOLS.LINK_TOOLS'SPEC FILE_UTILITIES !COMMANDS.FILE_UTILITIES'SPEC DIRECT_IO !IO.DIRECT_IO'SPEC TEXT_IO !IO.TEXT_IO'SPEC UNBOUNDED_STRING !TOOLS.UNBOUNDED_STRING'SPEC LIBRARY_OBJECT_EDITOR !TOOLS.LIBRARY_OBJECT_EDITOR'SPEC CALENDAR !LRM.CALENDAR'SPEC UNCHECKED_CONVERSION !LRM.UNCHECKED_CONVERSION'SPEC LIST_GENERIC !TOOLS.LIST_GENERIC'SPEC DAEMON !COMMANDS.DAEMON'SPEC MAP_GENERIC !TOOLS.MAP_GENERIC'SPEC DISK_SPACE !COMMANDS.DISK_SPACE'SPEC STACK_GENERIC !TOOLS.STACK_GENERIC'SPEC UNCHECKED_CONVERSIONS !TOOLS.UNCHECKED_CONVERSIONS'SPEC REPORT !USERS.ADVANCED_TOPICS_MASTER.SUBUNIT_EXERCISE.REPORT'SPEC SEARCH_LIST !COMMANDS.SEARCH_LIST'SPEC SCRIPT !TOOLS.SCRIPT'SPEC PROFILE !TOOLS.PROFILE'SPEC MESSAGE !COMMANDS.MESSAGE'SPEC ACTIVITY !COMMANDS.ACTIVITY'SPEC WHAT !COMMANDS.WHAT'SPEC PROGRAM_PROFILE !USERS.ADVANCED_TOPICS_MASTER.SUBUNIT_EXERCISE.PROGRAM_PROFILE'SPEC DEVICE_INDEPENDENT_IO !IO.DEVICE_INDEPENDENT_IO'SPEC IO_EXCEPTIONS !IO.IO_EXCEPTIONS'SPEC WINDOW_IO !IO.WINDOW_IO'SPEC SYSTEM !USERS.ADVANCED_TOPICS_MASTER.SUBUNIT_EXERCISE.SYSTEM'SPEC STRING_TABLE !TOOLS.STRING_TABLE'SPEC STRING_MAP_GENERIC !TOOLS.STRING_MAP_GENERIC'SPEC SCHEDULER !COMMANDS.SCHEDULER'SPEC OBJECT_EDITOR !TOOLS.OBJECT_EDITOR'SPEC LINKS !COMMANDS.LINKS'SPEC COMMON !COMMANDS.COMMON'SPEC !USERS.ADVANCED_TOPICS_MASTER.SUBUNIT_EXERCISE.LINE'SPEC V125068|-349|4|11/11/87 19:24:21|PACKAGE_SPEC|1|| ADHE=>RW,NETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.SUBUNIT_EXERCISE.LINE'BODY B125417|-753|2|11/11/87 19:24:22|PACKAGE_BODY|1|| ADHE=>RW,NETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.SUBUNIT_EXERCISE.LINE.KIND'BODY B126170|-234|2|11/11/87 19:24:22||1|| ADHE=>RW,NETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.SUBUNIT_EXERCISE.PROGRAM_PROFILE'SPEC V126404|-135|4|11/11/87 19:24:22|PROCEDURE_SPEC|1|| ADHE=>RW,NETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.SUBUNIT_EXERCISE.PROGRAM_PROFILE'BODY B126539|-242|4|11/11/87 19:24:23|PROCEDURE_BODY|1|| ADHE=>RW,NETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.SUBUNIT_EXERCISE.REPORT'SPEC V126781|-185|4|11/11/87 19:24:23|PACKAGE_SPEC|1|| ADHE=>RW,NETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.SUBUNIT_EXERCISE.REPORT'BODY B126966|-2083|4|11/11/87 19:24:23|PACKAGE_BODY|1|| ADHE=>RW,NETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.SUBUNIT_EXERCISE.SYSTEM'SPEC V129049|-416|4|11/11/87 19:24:24|PACKAGE_SPEC|1|| ADHE=>RW,NETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.SUBUNIT_EXERCISE.SYSTEM'BODY B129465|-2046|2|11/11/87 19:24:24|PACKAGE_BODY|1|| ADHE=>RW,NETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.SUBUNIT_EXERCISE.TEST_INPUT_1 F131511|-1369||11/11/87 19:24:25|TEXT|1|| ADHE=>RW,NETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.SUBUNIT_EXERCISE.TEST_INPUT_2 F132880|-14353||11/11/87 19:24:25|TEXT|1|| ADHE=>RW,NETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.S_1_SWITCHES I||| 8/22/88 20:33:46|SWITCH|1|| ADHE=>RW,NETWORK_PUBLIC=>RW| Profile.Log_Diagnostic_Msgs FALSE Profile.Remote_Passwords <NIL> Session.Debug_Include_Packages False Session.Cmvc_Show_Add_Date True Session.Job_Name_Separator " % " Session.Prompt_Delimiters """'" Session.Image_Fill_Mode False Session.Debug_Stack_Start 1 Session.Debug_History_Count 10 Session.Debug_Save_Exceptions False Session.Text_Top_Stripe "----------------------------------------------------------------------------" Profile.Log_Exception_Msgs TRUE Session.Cmvc_Configuration_Extent 0 Session.Library_Show_Subunits True Session.Library_Misc_Show_Unit_State True Session.Window_Command_Size 2 Session.Image_Tab_Stops "" Session.Debug_Put_Locals False Session.Library_Show_Deleted_Versions False Session.Library_Misc_Show_Size True Session.Library_Misc_Show_Volume True Session.Beep_On_Interrupt True Session.Image_Insert_Mode True Session.Debug_Delete_Temporary_Breaks False Session.Cmvc_Show_Field_Max_Index False Session.Window_Scroll_Overlap 20 Profile.Log_Position_Msgs TRUE Profile.Log_Note_Msgs TRUE Session.Debug_Display_Level 3 Session.Debug_Optimize_Generic_History True Session.Debug_Addresses False Session.Cmvc_Show_Add_Time True Session.Cmvc_Show_Edit_Info False Session.Job_Context_First True Session.Default_Job_Page_Limit 8000 Profile.Reaction PERSEVERE Session.Debug_History_Start 10 Session.Debug_History_Entries 1000 Session.Debug_Element_Count 25 Session.Debug_Freeze_Tasks False Session.Cmvc_Break_Long_Lines True Session.Mail_Multiple_Message_Windows False Session.Cmvc_Show_Hidden_Fields False Session.Mail_Send_Empty_Messages True Session.Library_Std_Show_Class False Session.Key_Directory "" Session.Search_Preserve_Case False Session.Screen_Dump_File "SCREEN_DUMP" Session.Cmvc_Show_Display_Position False Session.Cmvc_Show_Version_Number False Session.Library_Line_Length 80 Session.Text_Header True Session.Window_Shift_Overlap 80 Profile.Log_Prefix_2 HR_MN_SC Session.Debug_Declaration_Display True Session.Dependents_Show_Unit_State False Session.Library_Shorten_Unit_State True Session.Library_Lazy_Realignment True Profile.Log_Prefix_3 SYMBOLS Session.Debug_Display_Creation False Session.Cmvc_Indentation 2 Session.Library_Break_Long_Lines True Session.Debug_Echo_Commands True Session.Cmvc_Shorten_Name True Session.Text_Convert_Tabs True Session.Text_Print_Name True Session.Window_Message_Life 2 Profile.Log_Prefix_1 YR_MN_DY Session.Debug_Require_Debug_Off False Session.Dependents_Show_Library True Session.Notify_Warnings True Session.Library_Misc_Show_Frozen True Session.Library_Std_Show_Unit_State False Session.Debug_Break_At_Creation False Session.Beep_On_Errors True Profile.Log_Negative_Msgs TRUE Profile.Log_Positive_Msgs TRUE Session.Image_Fill_Prefix "" Session.Debug_Stack_Count 10 Profile.Log_Error_Msgs TRUE Session.Cmvc_Show_Retention False Session.Library_Capitalize True Session.Cursor_Top_Offset 33 Session.Window_Have_Sides False Profile.Log_Warning_Msgs TRUE Session.Cmvc_Capitalize True Session.Mail_Position_Cursor_Unread True Session.Text_Print_Time True Session.Window_Frames 0 Profile.Log_File USE_OUTPUT Profile.Log_Sharp_Msgs TRUE Cmvc.Default_Venture <> Session.Image_Fill_Column 72 Session.Cmvc_Show_Deleted_Versions False Session.Mail_Move_Cursor_On_Delete True Session.Library_Misc_Show_Edit_Info True Session.Cursor_Right_Offset 33 Session.Cursor_Transpose_Moves False Session.Cmvc_Show_All_Default_Orders False Session.Library_Shorten_Names True Session.Window_Is_Staggered True Profile.Log_Dollar_Msgs TRUE Session.Debug_Interpret_Control_Words False Session.Cursor_Left_Offset 33 Session.Cmvc_Field_Extent 4 Session.Cmvc_Shorten_Unit_State False Session.Image_Fill_Indent -1 Session.Debug_First_Element 0 Session.Debug_Qualify_Stack_Names False Profile.Remote_Sessions <NIL> Session.Cmvc_Comment_Extent 4 Session.Window_Message_Size 4 Session.Mail_Cursor_On_Text_In_Reply False Session.Text_Print_Number True Session.Cmvc_Show_Unit_State True Session.Debug_Timestamps False Session.Cmvc_Show_All_Default_Lists False Session.Job_Context_Length 3 Session.Cmvc_Show_Size False Session.Dependents_Delta0_Compatibility True Session.Library_Misc_Show_Retention True Session.Library_Std_Show_Subclass True Session.Library_Uppercase False Session.Text_Scroll_Output True Session.Text_Bottom_Stripe "----------------------------------------------------------------------------" Session.Cursor_Bottom_Offset 33 Profile.Log_Line_Width 77 Session.Cmvc_Line_Length 80 Session.Mail_Cc_Sender False Session.Mail_Default_Sort_Order 3 Session.Library_Indentation 2 Session.Terminal_Line_Speed 9600 Profile.Activity_File !MACHINE.RELEASE.CURRENT.ACTIVITY Session.Debug_Machine_Level False Session.Library_Misc_Show_Subclass False Session.Beep_On_Messages False Session.Debug_No_History_Timestamps True Session.Cmvc_Uppercase False Session.Mail_Include_Text_In_Reply False Session.Cmvc_Version_Extent 0 Session.Mail_Retain_Deleted_Messages True Session.Text_Reuse_Window True Session.Image_Fill_Extra_Space "!.?" Session.Debug_Display_Count 10 Session.Library_Show_Deleted_Objects False Session.Job_Name_Length 2 Session.Terminal_Padding 10 Session.Cmvc_Show_Users False Session.Search_Ignore_Case True Session.Cmvc_Show_Deleted_Objects False Session.Library_Show_Miscellaneous False Session.Debug_Pointer_Level 3 Session.Debug_Permanent_Breakpoints True Session.Debug_Kill_Old_Jobs True Session.Cmvc_Show_Frozen False Session.Library_Show_Standard True Session.Cmvc_Enable_Relocation False Session.Debug_Memory_Count 3 Session.Library_Show_Version_Number False Session.Window_Frames_Startup 0 Session.Word_Breaks " ""#%&'()*+,-./:;<=>?[]_`{|}~" Profile.Log_At_Sign_Msgs TRUE Profile.Log_Auxiliary_Msgs TRUE Session.Cmvc_Show_Field_Type False Session.Cmvc_Show_Field_Default True Session.Library_Shorten_Subclass True Session.Debug_Show_Location True Session.Dependents_In_Order_Pathnames False Session.Search_Regular_Expr False !USERS.ADVANCED_TOPICS_MASTER.S_2_SWITCHES I||| 8/22/88 20:33:47|SWITCH||| ANETWORK_PUBLIC=>RW| Profile.Log_Diagnostic_Msgs FALSE Profile.Remote_Passwords <NIL> Session.Debug_Include_Packages False Session.Cmvc_Show_Add_Date True Session.Job_Name_Separator " % " Session.Prompt_Delimiters """'" Session.Image_Fill_Mode False Session.Debug_Stack_Start 1 Session.Debug_History_Count 10 Session.Debug_Save_Exceptions False Session.Text_Top_Stripe "----------------------------------------------------------------------------" Profile.Log_Exception_Msgs TRUE Session.Cmvc_Configuration_Extent 0 Session.Library_Show_Subunits True Session.Library_Misc_Show_Unit_State True Session.Window_Command_Size 2 Session.Image_Tab_Stops "" Session.Debug_Put_Locals False Session.Library_Show_Deleted_Versions False Session.Library_Misc_Show_Size True Session.Library_Misc_Show_Volume True Session.Beep_On_Interrupt True Session.Image_Insert_Mode True Session.Debug_Delete_Temporary_Breaks False Session.Cmvc_Show_Field_Max_Index False Session.Window_Scroll_Overlap 20 Profile.Log_Position_Msgs TRUE Profile.Log_Note_Msgs TRUE Session.Debug_Display_Level 3 Session.Debug_Optimize_Generic_History True Session.Debug_Addresses False Session.Cmvc_Show_Add_Time True Session.Cmvc_Show_Edit_Info False Session.Job_Context_First True Session.Default_Job_Page_Limit 8000 Profile.Reaction PERSEVERE Session.Debug_History_Start 10 Session.Debug_History_Entries 1000 Session.Debug_Element_Count 25 Session.Debug_Freeze_Tasks False Session.Cmvc_Break_Long_Lines True Session.Mail_Multiple_Message_Windows False Session.Cmvc_Show_Hidden_Fields False Session.Mail_Send_Empty_Messages True Session.Library_Std_Show_Class False Session.Key_Directory "" Session.Search_Preserve_Case False Session.Screen_Dump_File "SCREEN_DUMP" Session.Cmvc_Show_Display_Position False Session.Cmvc_Show_Version_Number False Session.Library_Line_Length 80 Session.Text_Header True Session.Window_Shift_Overlap 80 Profile.Log_Prefix_2 HR_MN_SC Session.Debug_Declaration_Display True Session.Dependents_Show_Unit_State False Session.Library_Shorten_Unit_State True Session.Library_Lazy_Realignment True Profile.Log_Prefix_3 SYMBOLS Session.Debug_Display_Creation False Session.Cmvc_Indentation 2 Session.Library_Break_Long_Lines True Session.Debug_Echo_Commands True Session.Cmvc_Shorten_Name True Session.Text_Convert_Tabs True Session.Text_Print_Name True Session.Window_Message_Life 2 Profile.Log_Prefix_1 YR_MN_DY Session.Debug_Require_Debug_Off False Session.Dependents_Show_Library True Session.Notify_Warnings True Session.Library_Misc_Show_Frozen True Session.Library_Std_Show_Unit_State False Session.Debug_Break_At_Creation False Session.Beep_On_Errors True Profile.Log_Negative_Msgs TRUE Profile.Log_Positive_Msgs TRUE Session.Image_Fill_Prefix "" Session.Debug_Stack_Count 10 Profile.Log_Error_Msgs TRUE Session.Cmvc_Show_Retention False Session.Library_Capitalize True Session.Cursor_Top_Offset 33 Session.Window_Have_Sides False Profile.Log_Warning_Msgs TRUE Session.Cmvc_Capitalize True Session.Mail_Position_Cursor_Unread True Session.Text_Print_Time True Session.Window_Frames 0 Profile.Log_File USE_OUTPUT Profile.Log_Sharp_Msgs TRUE Cmvc.Default_Venture <> Session.Image_Fill_Column 72 Session.Cmvc_Show_Deleted_Versions False Session.Mail_Move_Cursor_On_Delete True Session.Library_Misc_Show_Edit_Info True Session.Cursor_Right_Offset 33 Session.Cursor_Transpose_Moves False Session.Cmvc_Show_All_Default_Orders False Session.Library_Shorten_Names True Session.Window_Is_Staggered True Profile.Log_Dollar_Msgs TRUE Session.Debug_Interpret_Control_Words False Session.Cursor_Left_Offset 33 Session.Cmvc_Field_Extent 4 Session.Cmvc_Shorten_Unit_State False Session.Image_Fill_Indent -1 Session.Debug_First_Element 0 Session.Debug_Qualify_Stack_Names False Profile.Remote_Sessions <NIL> Session.Cmvc_Comment_Extent 4 Session.Window_Message_Size 4 Session.Mail_Cursor_On_Text_In_Reply False Session.Text_Print_Number True Session.Cmvc_Show_Unit_State True Session.Debug_Timestamps False Session.Cmvc_Show_All_Default_Lists False Session.Job_Context_Length 3 Session.Cmvc_Show_Size False Session.Dependents_Delta0_Compatibility True Session.Library_Misc_Show_Retention True Session.Library_Std_Show_Subclass True Session.Library_Uppercase False Session.Text_Scroll_Output True Session.Text_Bottom_Stripe "----------------------------------------------------------------------------" Session.Cursor_Bottom_Offset 33 Profile.Log_Line_Width 77 Session.Cmvc_Line_Length 80 Session.Mail_Cc_Sender False Session.Mail_Default_Sort_Order 3 Session.Library_Indentation 2 Session.Terminal_Line_Speed 9600 Profile.Activity_File !MACHINE.RELEASE.CURRENT.ACTIVITY Session.Debug_Machine_Level False Session.Library_Misc_Show_Subclass False Session.Beep_On_Messages False Session.Debug_No_History_Timestamps True Session.Cmvc_Uppercase False Session.Mail_Include_Text_In_Reply False Session.Cmvc_Version_Extent 0 Session.Mail_Retain_Deleted_Messages True Session.Text_Reuse_Window True Session.Image_Fill_Extra_Space "!.?" Session.Debug_Display_Count 10 Session.Library_Show_Deleted_Objects False Session.Job_Name_Length 2 Session.Terminal_Padding 10 Session.Cmvc_Show_Users False Session.Search_Ignore_Case True Session.Cmvc_Show_Deleted_Objects False Session.Library_Show_Miscellaneous False Session.Debug_Pointer_Level 3 Session.Debug_Permanent_Breakpoints True Session.Debug_Kill_Old_Jobs True Session.Cmvc_Show_Frozen False Session.Library_Show_Standard True Session.Cmvc_Enable_Relocation False Session.Debug_Memory_Count 3 Session.Library_Show_Version_Number False Session.Window_Frames_Startup 0 Session.Word_Breaks " ""#%&'()*+,-./:;<=>?[]_`{|}~" Profile.Log_At_Sign_Msgs TRUE Profile.Log_Auxiliary_Msgs TRUE Session.Cmvc_Show_Field_Type False Session.Cmvc_Show_Field_Default True Session.Library_Shorten_Subclass True Session.Debug_Show_Location True Session.Dependents_In_Order_Pathnames False Session.Search_Regular_Expr False !USERS.ADVANCED_TOPICS_MASTER.S_3_SWITCHES I||| 8/22/88 20:33:47|SWITCH||| ANETWORK_PUBLIC=>RW| Profile.Log_Diagnostic_Msgs FALSE Profile.Remote_Passwords <NIL> Session.Debug_Include_Packages False Session.Cmvc_Show_Add_Date True Session.Job_Name_Separator " % " Session.Prompt_Delimiters """'" Session.Image_Fill_Mode False Session.Debug_Stack_Start 1 Session.Debug_History_Count 10 Session.Debug_Save_Exceptions False Session.Text_Top_Stripe "----------------------------------------------------------------------------" Profile.Log_Exception_Msgs TRUE Session.Cmvc_Configuration_Extent 0 Session.Library_Show_Subunits True Session.Library_Misc_Show_Unit_State True Session.Window_Command_Size 2 Session.Image_Tab_Stops "" Session.Debug_Put_Locals False Session.Library_Show_Deleted_Versions False Session.Library_Misc_Show_Size True Session.Library_Misc_Show_Volume True Session.Beep_On_Interrupt True Session.Image_Insert_Mode True Session.Debug_Delete_Temporary_Breaks False Session.Cmvc_Show_Field_Max_Index False Session.Window_Scroll_Overlap 20 Profile.Log_Position_Msgs TRUE Profile.Log_Note_Msgs TRUE Session.Debug_Display_Level 3 Session.Debug_Optimize_Generic_History True Session.Debug_Addresses False Session.Cmvc_Show_Add_Time True Session.Cmvc_Show_Edit_Info False Session.Job_Context_First True Session.Default_Job_Page_Limit 8000 Profile.Reaction PERSEVERE Session.Debug_History_Start 10 Session.Debug_History_Entries 1000 Session.Debug_Element_Count 25 Session.Debug_Freeze_Tasks False Session.Cmvc_Break_Long_Lines True Session.Mail_Multiple_Message_Windows False Session.Cmvc_Show_Hidden_Fields False Session.Mail_Send_Empty_Messages True Session.Library_Std_Show_Class False Session.Key_Directory "" Session.Search_Preserve_Case False Session.Screen_Dump_File "SCREEN_DUMP" Session.Cmvc_Show_Display_Position False Session.Cmvc_Show_Version_Number False Session.Library_Line_Length 80 Session.Text_Header True Session.Window_Shift_Overlap 80 Profile.Log_Prefix_2 HR_MN_SC Session.Debug_Declaration_Display True Session.Dependents_Show_Unit_State False Session.Library_Shorten_Unit_State True Session.Library_Lazy_Realignment True Profile.Log_Prefix_3 SYMBOLS Session.Debug_Display_Creation False Session.Cmvc_Indentation 2 Session.Library_Break_Long_Lines True Session.Debug_Echo_Commands True Session.Cmvc_Shorten_Name True Session.Text_Convert_Tabs True Session.Text_Print_Name True Session.Window_Message_Life 2 Profile.Log_Prefix_1 YR_MN_DY Session.Debug_Require_Debug_Off False Session.Dependents_Show_Library True Session.Notify_Warnings True Session.Library_Misc_Show_Frozen True Session.Library_Std_Show_Unit_State False Session.Debug_Break_At_Creation False Session.Beep_On_Errors True Profile.Log_Negative_Msgs TRUE Profile.Log_Positive_Msgs TRUE Session.Image_Fill_Prefix "" Session.Debug_Stack_Count 10 Profile.Log_Error_Msgs TRUE Session.Cmvc_Show_Retention False Session.Library_Capitalize True Session.Cursor_Top_Offset 33 Session.Window_Have_Sides False Profile.Log_Warning_Msgs TRUE Session.Cmvc_Capitalize True Session.Mail_Position_Cursor_Unread True Session.Text_Print_Time True Session.Window_Frames 0 Profile.Log_File USE_OUTPUT Profile.Log_Sharp_Msgs TRUE Cmvc.Default_Venture <> Session.Image_Fill_Column 72 Session.Cmvc_Show_Deleted_Versions False Session.Mail_Move_Cursor_On_Delete True Session.Library_Misc_Show_Edit_Info True Session.Cursor_Right_Offset 33 Session.Cursor_Transpose_Moves False Session.Cmvc_Show_All_Default_Orders False Session.Library_Shorten_Names True Session.Window_Is_Staggered True Profile.Log_Dollar_Msgs TRUE Session.Debug_Interpret_Control_Words False Session.Cursor_Left_Offset 33 Session.Cmvc_Field_Extent 4 Session.Cmvc_Shorten_Unit_State False Session.Image_Fill_Indent -1 Session.Debug_First_Element 0 Session.Debug_Qualify_Stack_Names False Profile.Remote_Sessions <NIL> Session.Cmvc_Comment_Extent 4 Session.Window_Message_Size 4 Session.Mail_Cursor_On_Text_In_Reply False Session.Text_Print_Number True Session.Cmvc_Show_Unit_State True Session.Debug_Timestamps False Session.Cmvc_Show_All_Default_Lists False Session.Job_Context_Length 3 Session.Cmvc_Show_Size False Session.Dependents_Delta0_Compatibility True Session.Library_Misc_Show_Retention True Session.Library_Std_Show_Subclass True Session.Library_Uppercase False Session.Text_Scroll_Output True Session.Text_Bottom_Stripe "----------------------------------------------------------------------------" Session.Cursor_Bottom_Offset 33 Profile.Log_Line_Width 77 Session.Cmvc_Line_Length 80 Session.Mail_Cc_Sender False Session.Mail_Default_Sort_Order 3 Session.Library_Indentation 2 Session.Terminal_Line_Speed 9600 Profile.Activity_File !MACHINE.RELEASE.CURRENT.ACTIVITY Session.Debug_Machine_Level False Session.Library_Misc_Show_Subclass False Session.Beep_On_Messages False Session.Debug_No_History_Timestamps True Session.Cmvc_Uppercase False Session.Mail_Include_Text_In_Reply False Session.Cmvc_Version_Extent 0 Session.Mail_Retain_Deleted_Messages True Session.Text_Reuse_Window True Session.Image_Fill_Extra_Space "!.?" Session.Debug_Display_Count 10 Session.Library_Show_Deleted_Objects False Session.Job_Name_Length 2 Session.Terminal_Padding 10 Session.Cmvc_Show_Users False Session.Search_Ignore_Case True Session.Cmvc_Show_Deleted_Objects False Session.Library_Show_Miscellaneous False Session.Debug_Pointer_Level 3 Session.Debug_Permanent_Breakpoints True Session.Debug_Kill_Old_Jobs True Session.Cmvc_Show_Frozen False Session.Library_Show_Standard True Session.Cmvc_Enable_Relocation False Session.Debug_Memory_Count 3 Session.Library_Show_Version_Number False Session.Window_Frames_Startup 0 Session.Word_Breaks " ""#%&'()*+,-./:;<=>?[]_`{|}~" Profile.Log_At_Sign_Msgs TRUE Profile.Log_Auxiliary_Msgs TRUE Session.Cmvc_Show_Field_Type False Session.Cmvc_Show_Field_Default True Session.Library_Shorten_Subclass True Session.Debug_Show_Location True Session.Dependents_In_Order_Pathnames False Session.Search_Regular_Expr False !USERS.ADVANCED_TOPICS_MASTER Y EDITOR !COMMANDS.EDITOR'SPEC STRING_UTILITIES !TOOLS.STRING_UTILITIES'SPEC SYSTEM_UTILITIES !TOOLS.SYSTEM_UTILITIES'SPEC LOGIN !USERS.ADVANCED_TOPICS_MASTER.LOGIN'SPEC WHAT !COMMANDS.WHAT'SPEC COMMON !COMMANDS.COMMON'SPEC !USERS.ADVANCED_TOPICS_MASTER.FACIT_MACROS F147233|-498|| 8/24/88 10:36:05|TEXT||| ANETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.INDIRECT_FILE F147731|-36|| 5/29/88 17:08:32|TEXT||| ANETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.LOGIN'SPEC V147767|-16|4|11/11/87 19:23:41|PROCEDURE_SPEC|1|| ADHE=>RW,NETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.LOGIN'BODY B147783|-581|4|11/11/87 19:23:42|PROCEDURE_BODY|1|| ADHE=>RW,NETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.RATIONAL_MACROS F148364|-495|| 8/24/88 10:38:26|TEXT||| ANETWORK_PUBLIC=>RW| !USERS.ADVANCED_TOPICS_MASTER.THIS_IS_A_DELTA1_REV1_TRAINING_USER F148859||| 8/24/88 10:48:41|TEXT||| ANETWORK_PUBLIC=>RW|88/12/08 17:32:44 ::: [Build_Training_Users (First_User_Number => 1, 88/12/08 17:32:44 ... Last_User_Number => 1, Username_Prefix => 88/12/08 17:32:44 ... "Advanced_test", Response => "<PROFILE>");]. 88/12/08 17:34:33 --- [Archive.Restore rev 464, objects => "?", use_prefix 88/12/08 17:34:33 ... => "!Users.Advanced_Test_1", for_prefix => "!Users. 88/12/08 17:34:33 ... Advanced_Topics_Master", options => "R1000, PROMOTE, 88/12/08 17:34:33 ... BECOME_OWNER, WORLD_ACL=(Network_Public => RWCOD), 88/12/08 17:34:33 ... DEFAULT_ACL=(Network_Public => RW), 88/12/08 17:34:33 ... OBJECT_ACL=(Network_Public => RW)", device => 88/12/08 17:34:33 ... "!Training.Software_Releases.Advanced_Topics. 88/12/08 17:34:33 ... Delta1_Rev1", response => "<PROFILE>"]. 88/12/08 17:34:34 --- restoring from an archive done with version 461. 88/12/08 17:34:35 +++ world !USERS.ADVANCED_TEST_1 has been restored using 88/12/08 17:34:35 ... an existing world. 88/12/08 17:34:37 +++ world !USERS.ADVANCED_TEST_1.ACL_WORLD has been 88/12/08 17:34:37 ... restored. 88/12/08 17:34:41 +++ world !USERS.ADVANCED_TEST_1.DEBUGGING has been 88/12/08 17:34:41 ... restored. 88/12/08 17:34:48 +++ gen_pack !USERS.ADVANCED_TEST_1.DEBUGGING.BUFFER'SPEC 88/12/08 17:34:48 ... has been restored. 88/12/08 17:35:00 +++ pack_body !USERS.ADVANCED_TEST_1.DEBUGGING.BUFFER'BODY 88/12/08 17:35:00 ... has been restored. 88/12/08 17:35:08 +++ proc_spec !USERS.ADVANCED_TEST_1.DEBUGGING. 88/12/08 17:35:08 ... PRODUCER_CONSUMER'SPEC has been restored. 88/12/08 17:35:23 +++ proc_body !USERS.ADVANCED_TEST_1.DEBUGGING. 88/12/08 17:35:23 ... PRODUCER_CONSUMER'BODY has been restored. 88/12/08 17:35:25 +++ world !USERS.ADVANCED_TEST_1.EXPERIMENT has been 88/12/08 17:35:25 ... restored. 88/12/08 17:35:32 +++ pack_spec !USERS.ADVANCED_TEST_1.EXPERIMENT.LINE'SPEC 88/12/08 17:35:32 ... has been restored. 88/12/08 17:35:40 +++ pack_body !USERS.ADVANCED_TEST_1.EXPERIMENT.LINE'BODY 88/12/08 17:35:40 ... has been restored. 88/12/08 17:35:50 +++ pack_spec !USERS.ADVANCED_TEST_1.EXPERIMENT. 88/12/08 17:35:50 ... LINE_COPY'SPEC has been restored. 88/12/08 17:36:03 +++ pack_body !USERS.ADVANCED_TEST_1.EXPERIMENT. 88/12/08 17:36:03 ... LINE_COPY'BODY has been restored. 88/12/08 17:36:16 +++ pack_spec !USERS.ADVANCED_TEST_1.EXPERIMENT. 88/12/08 17:36:16 ... OVERLOADED_DECLARATIONS'SPEC has been restored. 88/12/08 17:36:27 +++ proc_spec !USERS.ADVANCED_TEST_1.EXPERIMENT. 88/12/08 17:36:27 ... PROGRAM_PROFILE'SPEC has been restored. 88/12/08 17:36:36 +++ proc_body !USERS.ADVANCED_TEST_1.EXPERIMENT. 88/12/08 17:36:36 ... PROGRAM_PROFILE'BODY has been restored. 88/12/08 17:36:47 +++ pack_spec !USERS.ADVANCED_TEST_1.EXPERIMENT. 88/12/08 17:36:47 ... REPORT'SPEC has been restored. 88/12/08 17:37:01 +++ pack_body !USERS.ADVANCED_TEST_1.EXPERIMENT. 88/12/08 17:37:01 ... REPORT'BODY has been restored. 88/12/08 17:37:05 +++ text !USERS.ADVANCED_TEST_1.EXPERIMENT.TEST_INPUT_1 88/12/08 17:37:05 ... has been restored. 88/12/08 17:37:13 +++ text !USERS.ADVANCED_TEST_1.EXPERIMENT.TEST_INPUT_2 88/12/08 17:37:13 ... has been restored. 88/12/08 17:37:26 +++ pack_spec !USERS.ADVANCED_TEST_1.EXPERIMENT.UNIT'SPEC 88/12/08 17:37:26 ... has been restored. 88/12/08 17:37:44 +++ pack_body !USERS.ADVANCED_TEST_1.EXPERIMENT.UNIT'BODY 88/12/08 17:37:44 ... has been restored. 88/12/08 17:37:49 +++ world !USERS.ADVANCED_TEST_1.INCREMENTAL_EXERCISE has 88/12/08 17:37:49 ... been restored. 88/12/08 17:37:58 +++ pack_spec !USERS.ADVANCED_TEST_1.INCREMENTAL_EXERCISE. 88/12/08 17:37:58 ... LINE'SPEC has been restored. 88/12/08 17:38:16 +++ pack_body !USERS.ADVANCED_TEST_1.INCREMENTAL_EXERCISE. 88/12/08 17:38:16 ... LINE'BODY has been restored. 88/12/08 17:38:31 +++ proc_spec !USERS.ADVANCED_TEST_1.INCREMENTAL_EXERCISE. 88/12/08 17:38:31 ... PROGRAM_PROFILE'SPEC has been restored. 88/12/08 17:38:40 +++ proc_body !USERS.ADVANCED_TEST_1.INCREMENTAL_EXERCISE. 88/12/08 17:38:40 ... PROGRAM_PROFILE'BODY has been restored. 88/12/08 17:38:49 +++ pack_spec !USERS.ADVANCED_TEST_1.INCREMENTAL_EXERCISE. 88/12/08 17:38:49 ... REPORT'SPEC has been restored. 88/12/08 17:39:04 +++ pack_body !USERS.ADVANCED_TEST_1.INCREMENTAL_EXERCISE. 88/12/08 17:39:04 ... REPORT'BODY has been restored. 88/12/08 17:39:09 +++ text !USERS.ADVANCED_TEST_1.INCREMENTAL_EXERCISE. 88/12/08 17:39:09 ... TEST_INPUT_1 has been restored. 88/12/08 17:39:20 +++ text !USERS.ADVANCED_TEST_1.INCREMENTAL_EXERCISE. 88/12/08 17:39:20 ... TEST_INPUT_2 has been restored. 88/12/08 17:39:34 +++ pack_spec !USERS.ADVANCED_TEST_1.INCREMENTAL_EXERCISE. 88/12/08 17:39:34 ... UNIT'SPEC has been restored. 88/12/08 17:39:55 +++ pack_body !USERS.ADVANCED_TEST_1.INCREMENTAL_EXERCISE. 88/12/08 17:39:55 ... UNIT'BODY has been restored. 88/12/08 17:40:00 +++ world !USERS.ADVANCED_TEST_1.MENU_EXERCISES has been 88/12/08 17:40:00 ... restored. 88/12/08 17:40:12 +++ proc_spec !USERS.ADVANCED_TEST_1.MENU_EXERCISES. 88/12/08 17:40:12 ... MAIN'SPEC has been restored. 88/12/08 17:40:19 +++ proc_body !USERS.ADVANCED_TEST_1.MENU_EXERCISES. 88/12/08 17:40:19 ... MAIN'BODY has been restored. 88/12/08 17:40:26 +++ pack_spec !USERS.ADVANCED_TEST_1.MENU_EXERCISES. 88/12/08 17:40:26 ... MESSAGE_IO'SPEC has been restored. 88/12/08 17:40:31 +++ pack_spec !USERS.ADVANCED_TEST_1.MENU_EXERCISES. 88/12/08 17:40:31 ... PROCESS'SPEC has been restored. 88/12/08 17:41:20 +++ pack_body !USERS.ADVANCED_TEST_1.MENU_EXERCISES. 88/12/08 17:41:20 ... PROCESS'BODY has been restored. 88/12/08 17:41:26 +++ directory !USERS.ADVANCED_TEST_1.NEW_TEXT has been 88/12/08 17:41:26 ... restored. 88/12/08 17:41:34 +++ text !USERS.ADVANCED_TEST_1.NEW_TEXT.FILE_1_TEMP has 88/12/08 17:41:34 ... been restored. 88/12/08 17:41:38 +++ text !USERS.ADVANCED_TEST_1.NEW_TEXT.FILE_2_TEMP has 88/12/08 17:41:38 ... been restored. 88/12/08 17:41:40 +++ world !USERS.ADVANCED_TEST_1.PROGRAM_PROFILE_SYSTEM 88/12/08 17:41:40 ... has been restored. 88/12/08 17:41:48 +++ pack_spec !USERS.ADVANCED_TEST_1. 88/12/08 17:41:48 ... PROGRAM_PROFILE_SYSTEM.LINE'SPEC has been restored. 88/12/08 17:41:58 +++ pack_body !USERS.ADVANCED_TEST_1. 88/12/08 17:41:58 ... PROGRAM_PROFILE_SYSTEM.LINE'BODY has been restored. 88/12/08 17:42:04 +++ proc_spec !USERS.ADVANCED_TEST_1. 88/12/08 17:42:04 ... PROGRAM_PROFILE_SYSTEM.PROGRAM_PROFILE'SPEC has been 88/12/08 17:42:04 ... restored. 88/12/08 17:42:15 +++ proc_body !USERS.ADVANCED_TEST_1. 88/12/08 17:42:15 ... PROGRAM_PROFILE_SYSTEM.PROGRAM_PROFILE'BODY has been 88/12/08 17:42:15 ... restored. 88/12/08 17:42:21 +++ pack_spec !USERS.ADVANCED_TEST_1. 88/12/08 17:42:21 ... PROGRAM_PROFILE_SYSTEM.REPORT'SPEC has been restored. 88/12/08 17:42:30 +++ pack_body !USERS.ADVANCED_TEST_1. 88/12/08 17:42:30 ... PROGRAM_PROFILE_SYSTEM.REPORT'BODY has been restored. 88/12/08 17:42:34 +++ proc_spec !USERS.ADVANCED_TEST_1. 88/12/08 17:42:34 ... PROGRAM_PROFILE_SYSTEM.TEST_DRIVER1'SPEC has been 88/12/08 17:42:34 ... restored. 88/12/08 17:42:40 +++ proc_body !USERS.ADVANCED_TEST_1. 88/12/08 17:42:40 ... PROGRAM_PROFILE_SYSTEM.TEST_DRIVER1'BODY has been 88/12/08 17:42:40 ... restored. 88/12/08 17:42:42 +++ text !USERS.ADVANCED_TEST_1.PROGRAM_PROFILE_SYSTEM. 88/12/08 17:42:42 ... TEST_INPUT_1 has been restored. 88/12/08 17:42:45 +++ text !USERS.ADVANCED_TEST_1.PROGRAM_PROFILE_SYSTEM. 88/12/08 17:42:45 ... TEST_INPUT_2 has been restored. 88/12/08 17:42:51 +++ pack_spec !USERS.ADVANCED_TEST_1. 88/12/08 17:42:51 ... PROGRAM_PROFILE_SYSTEM.UNIT'SPEC has been restored. 88/12/08 17:43:01 +++ pack_body !USERS.ADVANCED_TEST_1. 88/12/08 17:43:01 ... PROGRAM_PROFILE_SYSTEM.UNIT'BODY has been restored. 88/12/08 17:43:03 +++ world !USERS.ADVANCED_TEST_1.SOLUTIONS has been 88/12/08 17:43:03 ... restored. 88/12/08 17:43:04 +++ world !USERS.ADVANCED_TEST_1.SOLUTIONS. 88/12/08 17:43:04 ... INCREMENTAL_EXERCISE has been restored. 88/12/08 17:43:10 +++ pack_spec !USERS.ADVANCED_TEST_1.SOLUTIONS. 88/12/08 17:43:10 ... INCREMENTAL_EXERCISE.LINE'SPEC has been restored. 88/12/08 17:43:16 +++ pack_body !USERS.ADVANCED_TEST_1.SOLUTIONS. 88/12/08 17:43:16 ... INCREMENTAL_EXERCISE.LINE'BODY has been restored. 88/12/08 17:43:20 +++ proc_spec !USERS.ADVANCED_TEST_1.SOLUTIONS. 88/12/08 17:43:20 ... INCREMENTAL_EXERCISE.PROGRAM_PROFILE'SPEC has been 88/12/08 17:43:20 ... restored. 88/12/08 17:43:26 +++ proc_body !USERS.ADVANCED_TEST_1.SOLUTIONS. 88/12/08 17:43:26 ... INCREMENTAL_EXERCISE.PROGRAM_PROFILE'BODY has been 88/12/08 17:43:26 ... restored. 88/12/08 17:43:31 +++ pack_spec !USERS.ADVANCED_TEST_1.SOLUTIONS. 88/12/08 17:43:31 ... INCREMENTAL_EXERCISE.REPORT'SPEC has been restored. 88/12/08 17:43:39 +++ pack_body !USERS.ADVANCED_TEST_1.SOLUTIONS. 88/12/08 17:43:39 ... INCREMENTAL_EXERCISE.REPORT'BODY has been restored. 88/12/08 17:43:42 +++ text !USERS.ADVANCED_TEST_1.SOLUTIONS. 88/12/08 17:43:42 ... INCREMENTAL_EXERCISE.TEST_INPUT_1 has been restored. 88/12/08 17:43:44 +++ text !USERS.ADVANCED_TEST_1.SOLUTIONS. 88/12/08 17:43:44 ... INCREMENTAL_EXERCISE.TEST_INPUT_2 has been restored. 88/12/08 17:43:51 +++ pack_spec !USERS.ADVANCED_TEST_1.SOLUTIONS. 88/12/08 17:43:51 ... INCREMENTAL_EXERCISE.UNIT'SPEC has been restored. 88/12/08 17:44:01 +++ pack_body !USERS.ADVANCED_TEST_1.SOLUTIONS. 88/12/08 17:44:01 ... INCREMENTAL_EXERCISE.UNIT'BODY has been restored. 88/12/08 17:44:02 +++ directory !USERS.ADVANCED_TEST_1.SOLUTIONS. 88/12/08 17:44:02 ... SUBUNIT_EXERCISE has been restored. 88/12/08 17:44:09 +++ pack_spec !USERS.ADVANCED_TEST_1.SOLUTIONS. 88/12/08 17:44:09 ... SUBUNIT_EXERCISE.LINE'SPEC has been restored. 88/12/08 17:44:15 +++ pack_body !USERS.ADVANCED_TEST_1.SOLUTIONS. 88/12/08 17:44:15 ... SUBUNIT_EXERCISE.LINE'BODY has been restored. 88/12/08 17:44:19 +++ func_body !USERS.ADVANCED_TEST_1.SOLUTIONS. 88/12/08 17:44:19 ... SUBUNIT_EXERCISE.LINE.LOCATE_COMMENT'BODY has been 88/12/08 17:44:19 ... restored. 88/12/08 17:44:22 +++ func_body !USERS.ADVANCED_TEST_1.SOLUTIONS. 88/12/08 17:44:22 ... SUBUNIT_EXERCISE.LINE.STRIP_BLANKS'BODY has been 88/12/08 17:44:22 ... restored. 88/12/08 17:44:28 +++ proc_spec !USERS.ADVANCED_TEST_1.SOLUTIONS. 88/12/08 17:44:28 ... SUBUNIT_EXERCISE.PROGRAM_PROFILE'SPEC has been 88/12/08 17:44:28 ... restored. 88/12/08 17:44:33 +++ proc_body !USERS.ADVANCED_TEST_1.SOLUTIONS. 88/12/08 17:44:33 ... SUBUNIT_EXERCISE.PROGRAM_PROFILE'BODY has been 88/12/08 17:44:33 ... restored. 88/12/08 17:44:38 +++ pack_spec !USERS.ADVANCED_TEST_1.SOLUTIONS. 88/12/08 17:44:38 ... SUBUNIT_EXERCISE.REPORT'SPEC has been restored. 88/12/08 17:44:47 +++ pack_body !USERS.ADVANCED_TEST_1.SOLUTIONS. 88/12/08 17:44:47 ... SUBUNIT_EXERCISE.REPORT'BODY has been restored. 88/12/08 17:44:49 +++ text !USERS.ADVANCED_TEST_1.SOLUTIONS.SUBUNIT_EXERCISE. 88/12/08 17:44:49 ... TEST_INPUT_1 has been restored. 88/12/08 17:44:53 +++ text !USERS.ADVANCED_TEST_1.SOLUTIONS.SUBUNIT_EXERCISE. 88/12/08 17:44:53 ... TEST_INPUT_2 has been restored. 88/12/08 17:45:00 +++ pack_spec !USERS.ADVANCED_TEST_1.SOLUTIONS. 88/12/08 17:45:00 ... SUBUNIT_EXERCISE.UNIT'SPEC has been restored. 88/12/08 17:45:08 +++ pack_body !USERS.ADVANCED_TEST_1.SOLUTIONS. 88/12/08 17:45:08 ... SUBUNIT_EXERCISE.UNIT'BODY has been restored. 88/12/08 17:45:14 +++ func_body !USERS.ADVANCED_TEST_1.SOLUTIONS. 88/12/08 17:45:14 ... SUBUNIT_EXERCISE.UNIT.ANALYZE'BODY has been restored. 88/12/08 17:45:17 +++ proc_spec !USERS.ADVANCED_TEST_1.SOLUTIONS. 88/12/08 17:45:17 ... ELAPSED_TIME_BENCHMARK'SPEC has been restored. 88/12/08 17:45:21 +++ proc_body !USERS.ADVANCED_TEST_1.SOLUTIONS. 88/12/08 17:45:21 ... ELAPSED_TIME_BENCHMARK'BODY has been restored. 88/12/08 17:45:25 +++ gen_proc !USERS.ADVANCED_TEST_1.SOLUTIONS. 88/12/08 17:45:25 ... GENERIC_BENCHMARK'SPEC has been restored. 88/12/08 17:45:30 +++ proc_body !USERS.ADVANCED_TEST_1.SOLUTIONS. 88/12/08 17:45:30 ... GENERIC_BENCHMARK'BODY has been restored. 88/12/08 17:45:32 +++ directory !USERS.ADVANCED_TEST_1.SOME_TEXT has been 88/12/08 17:45:32 ... restored. 88/12/08 17:45:35 +++ text !USERS.ADVANCED_TEST_1.SOME_TEXT.DO_NOT_COPY has 88/12/08 17:45:35 ... been restored. 88/12/08 17:45:38 +++ text !USERS.ADVANCED_TEST_1.SOME_TEXT.FILE_1 has been 88/12/08 17:45:38 ... restored. 88/12/08 17:45:40 +++ text !USERS.ADVANCED_TEST_1.SOME_TEXT.FILE_2 has been 88/12/08 17:45:40 ... restored. 88/12/08 17:45:42 +++ world !USERS.ADVANCED_TEST_1.SUBUNIT_EXERCISE has been 88/12/08 17:45:42 ... restored. 88/12/08 17:45:48 +++ pack_spec !USERS.ADVANCED_TEST_1.SUBUNIT_EXERCISE. 88/12/08 17:45:48 ... LINE'SPEC has been restored. 88/12/08 17:45:53 +++ pack_body !USERS.ADVANCED_TEST_1.SUBUNIT_EXERCISE. 88/12/08 17:45:53 ... LINE'BODY has been restored. 88/12/08 17:45:56 +++ ada unit !USERS.ADVANCED_TEST_1.SUBUNIT_EXERCISE.LINE. 88/12/08 17:45:56 ... KIND'BODY has been restored. 88/12/08 17:46:00 +++ proc_spec !USERS.ADVANCED_TEST_1.SUBUNIT_EXERCISE. 88/12/08 17:46:00 ... PROGRAM_PROFILE'SPEC has been restored. 88/12/08 17:46:04 +++ proc_body !USERS.ADVANCED_TEST_1.SUBUNIT_EXERCISE. 88/12/08 17:46:04 ... PROGRAM_PROFILE'BODY has been restored. 88/12/08 17:46:08 +++ pack_spec !USERS.ADVANCED_TEST_1.SUBUNIT_EXERCISE. 88/12/08 17:46:08 ... REPORT'SPEC has been restored. 88/12/08 17:46:16 +++ pack_body !USERS.ADVANCED_TEST_1.SUBUNIT_EXERCISE. 88/12/08 17:46:16 ... REPORT'BODY has been restored. 88/12/08 17:46:21 +++ pack_spec !USERS.ADVANCED_TEST_1.SUBUNIT_EXERCISE. 88/12/08 17:46:21 ... SYSTEM'SPEC has been restored. 88/12/08 17:46:27 +++ pack_body !USERS.ADVANCED_TEST_1.SUBUNIT_EXERCISE. 88/12/08 17:46:27 ... SYSTEM'BODY has been restored. 88/12/08 17:46:28 +++ text !USERS.ADVANCED_TEST_1.SUBUNIT_EXERCISE. 88/12/08 17:46:28 ... TEST_INPUT_1 has been restored. 88/12/08 17:46:31 +++ text !USERS.ADVANCED_TEST_1.SUBUNIT_EXERCISE. 88/12/08 17:46:31 ... TEST_INPUT_2 has been restored. 88/12/08 17:46:38 !!! Exception (UNDEFINED_SWITCH_NAME) setting switch 88/12/08 17:46:38 ... Cmvc_Enable_Relocation to False. 88/12/08 17:46:39 +++ switch !USERS.ADVANCED_TEST_1.S_1_SWITCHES has been 88/12/08 17:46:39 ... restored. 88/12/08 17:46:50 !!! Exception (UNDEFINED_SWITCH_NAME) setting switch 88/12/08 17:46:50 ... Cmvc_Enable_Relocation to False. 88/12/08 17:46:51 +++ switch !USERS.ADVANCED_TEST_1.S_2_SWITCHES has been 88/12/08 17:46:51 ... restored. 88/12/08 17:46:59 !!! Exception (UNDEFINED_SWITCH_NAME) setting switch 88/12/08 17:46:59 ... Cmvc_Enable_Relocation to False. 88/12/08 17:47:00 +++ switch !USERS.ADVANCED_TEST_1.S_3_SWITCHES has been 88/12/08 17:47:00 ... restored. 88/12/08 17:47:03 +++ text !USERS.ADVANCED_TEST_1.FACIT_MACROS has been 88/12/08 17:47:03 ... restored. 88/12/08 17:47:06 +++ text !USERS.ADVANCED_TEST_1.INDIRECT_FILE has been 88/12/08 17:47:06 ... restored. 88/12/08 17:47:11 +++ proc_spec !USERS.ADVANCED_TEST_1.LOGIN'SPEC has been 88/12/08 17:47:11 ... restored. 88/12/08 17:47:16 +++ proc_body !USERS.ADVANCED_TEST_1.LOGIN'BODY has been 88/12/08 17:47:16 ... restored. 88/12/08 17:47:18 +++ text !USERS.ADVANCED_TEST_1.RATIONAL_MACROS has been 88/12/08 17:47:18 ... restored. 88/12/08 17:47:21 +++ text !USERS.ADVANCED_TEST_1. 88/12/08 17:47:21 ... THIS_IS_A_DELTA1_REV1_TRAINING_USER has been restored. 88/12/08 17:47:21 --- restoring links for !USERS.ADVANCED_TEST_1. 88/12/08 17:47:23 --- restoring links for !USERS.ADVANCED_TEST_1.ACL_WORLD. 88/12/08 17:47:27 --- restoring links for !USERS.ADVANCED_TEST_1.DEBUGGING. 88/12/08 17:47:29 --- restoring links for !USERS.ADVANCED_TEST_1.EXPERIMENT. 88/12/08 17:47:32 --- restoring links for !USERS.ADVANCED_TEST_1. 88/12/08 17:47:32 ... INCREMENTAL_EXERCISE. 88/12/08 17:47:47 --- restoring links for !USERS.ADVANCED_TEST_1. 88/12/08 17:47:47 ... MENU_EXERCISES. 88/12/08 17:48:05 !!! can't restore link: DOCUMENT_BUILDER=>!COMMANDS. 88/12/08 17:48:05 ... DOCUMENT_BUILDER'SPEC in world !USERS.ADVANCED_TEST_1. 88/12/08 17:48:05 ... MENU_EXERCISES (UNDEFINED_SOURCE_NAME). 88/12/08 17:48:15 --- restoring links for !USERS.ADVANCED_TEST_1. 88/12/08 17:48:15 ... PROGRAM_PROFILE_SYSTEM. 88/12/08 17:48:17 --- restoring links for !USERS.ADVANCED_TEST_1.SOLUTIONS. 88/12/08 17:48:31 !!! can't restore link: DOCUMENT_BUILDER=>!COMMANDS. 88/12/08 17:48:31 ... DOCUMENT_BUILDER'SPEC in world !USERS.ADVANCED_TEST_1. 88/12/08 17:48:31 ... SOLUTIONS (UNDEFINED_SOURCE_NAME). 88/12/08 17:48:42 --- restoring links for !USERS.ADVANCED_TEST_1.SOLUTIONS. 88/12/08 17:48:42 ... INCREMENTAL_EXERCISE. 88/12/08 17:48:58 --- restoring links for !USERS.ADVANCED_TEST_1. 88/12/08 17:48:58 ... SUBUNIT_EXERCISE. 88/12/08 17:49:11 --- promoting ada units. 88/12/08 17:49:29 +++ !USERS.ADVANCED_TEST_1.DEBUGGING.BUFFER'SPEC has been 88/12/08 17:49:29 ... INSTALLED. 88/12/08 17:49:40 +++ !USERS.ADVANCED_TEST_1.DEBUGGING.BUFFER'BODY has been 88/12/08 17:49:40 ... INSTALLED. 88/12/08 17:49:41 +++ !USERS.ADVANCED_TEST_1.DEBUGGING. 88/12/08 17:49:41 ... PRODUCER_CONSUMER'SPEC has been INSTALLED. 88/12/08 17:49:57 +++ !USERS.ADVANCED_TEST_1.DEBUGGING. 88/12/08 17:49:57 ... PRODUCER_CONSUMER'BODY has been INSTALLED. 88/12/08 17:50:02 +++ !USERS.ADVANCED_TEST_1.EXPERIMENT.LINE'SPEC has been 88/12/08 17:50:02 ... INSTALLED. 88/12/08 17:50:10 +++ !USERS.ADVANCED_TEST_1.EXPERIMENT.LINE'BODY has been 88/12/08 17:50:10 ... INSTALLED. 88/12/08 17:50:15 +++ !USERS.ADVANCED_TEST_1.EXPERIMENT.LINE_COPY'SPEC has 88/12/08 17:50:15 ... been INSTALLED. 88/12/08 17:50:23 +++ !USERS.ADVANCED_TEST_1.EXPERIMENT.LINE_COPY'BODY has 88/12/08 17:50:23 ... been INSTALLED. 88/12/08 17:50:25 +++ !USERS.ADVANCED_TEST_1.EXPERIMENT. 88/12/08 17:50:25 ... OVERLOADED_DECLARATIONS'SPEC has been INSTALLED. 88/12/08 17:50:29 +++ !USERS.ADVANCED_TEST_1.EXPERIMENT.UNIT'SPEC has been 88/12/08 17:50:29 ... INSTALLED. 88/12/08 17:50:31 +++ !USERS.ADVANCED_TEST_1.EXPERIMENT.REPORT'SPEC has been 88/12/08 17:50:31 ... INSTALLED. 88/12/08 17:50:33 +++ !USERS.ADVANCED_TEST_1.EXPERIMENT.PROGRAM_PROFILE'SPEC 88/12/08 17:50:33 ... has been INSTALLED. 88/12/08 17:50:36 +++ !USERS.ADVANCED_TEST_1.EXPERIMENT.PROGRAM_PROFILE'BODY 88/12/08 17:50:36 ... has been INSTALLED. 88/12/08 17:50:45 +++ !USERS.ADVANCED_TEST_1.EXPERIMENT.REPORT'BODY has been 88/12/08 17:50:45 ... INSTALLED. 88/12/08 17:50:53 +++ !USERS.ADVANCED_TEST_1.EXPERIMENT.UNIT'BODY has been 88/12/08 17:50:53 ... INSTALLED. 88/12/08 17:50:57 +++ !USERS.ADVANCED_TEST_1.INCREMENTAL_EXERCISE.LINE'SPEC 88/12/08 17:50:57 ... has been INSTALLED. 88/12/08 17:51:06 +++ !USERS.ADVANCED_TEST_1.INCREMENTAL_EXERCISE.LINE'BODY 88/12/08 17:51:06 ... has been INSTALLED. 88/12/08 17:51:11 +++ !USERS.ADVANCED_TEST_1.INCREMENTAL_EXERCISE.UNIT'SPEC 88/12/08 17:51:11 ... has been INSTALLED. 88/12/08 17:51:14 +++ !USERS.ADVANCED_TEST_1.INCREMENTAL_EXERCISE. 88/12/08 17:51:14 ... REPORT'SPEC has been INSTALLED. 88/12/08 17:51:17 +++ !USERS.ADVANCED_TEST_1.INCREMENTAL_EXERCISE. 88/12/08 17:51:17 ... PROGRAM_PROFILE'SPEC has been INSTALLED. 88/12/08 17:51:20 +++ !USERS.ADVANCED_TEST_1.INCREMENTAL_EXERCISE. 88/12/08 17:51:20 ... PROGRAM_PROFILE'BODY has been INSTALLED. 88/12/08 17:51:29 +++ !USERS.ADVANCED_TEST_1.INCREMENTAL_EXERCISE. 88/12/08 17:51:29 ... REPORT'BODY has been INSTALLED. 88/12/08 17:51:39 +++ !USERS.ADVANCED_TEST_1.INCREMENTAL_EXERCISE.UNIT'BODY 88/12/08 17:51:39 ... has been INSTALLED. 88/12/08 17:51:41 +++ !USERS.ADVANCED_TEST_1.MENU_EXERCISES.MAIN'SPEC has 88/12/08 17:51:41 ... been INSTALLED. 88/12/08 17:51:47 +++ !USERS.ADVANCED_TEST_1.MENU_EXERCISES.MESSAGE_IO'SPEC 88/12/08 17:51:47 ... has been INSTALLED. 88/12/08 17:51:52 +++ !USERS.ADVANCED_TEST_1.MENU_EXERCISES.PROCESS'SPEC has 88/12/08 17:51:52 ... been INSTALLED. 88/12/08 17:51:56 +++ !USERS.ADVANCED_TEST_1.MENU_EXERCISES.MAIN'BODY has 88/12/08 17:51:56 ... been INSTALLED. 88/12/08 17:52:02 +++ !USERS.ADVANCED_TEST_1.MENU_EXERCISES.PROCESS'BODY has 88/12/08 17:52:02 ... been INSTALLED. 88/12/08 17:52:06 +++ !USERS.ADVANCED_TEST_1.PROGRAM_PROFILE_SYSTEM. 88/12/08 17:52:06 ... LINE'SPEC has been INSTALLED. 88/12/08 17:52:14 +++ !USERS.ADVANCED_TEST_1.PROGRAM_PROFILE_SYSTEM. 88/12/08 17:52:14 ... LINE'BODY has been INSTALLED. 88/12/08 17:52:16 +++ !USERS.ADVANCED_TEST_1.PROGRAM_PROFILE_SYSTEM. 88/12/08 17:52:16 ... PROGRAM_PROFILE'SPEC has been INSTALLED. 88/12/08 17:52:21 +++ !USERS.ADVANCED_TEST_1.PROGRAM_PROFILE_SYSTEM. 88/12/08 17:52:21 ... UNIT'SPEC has been INSTALLED. 88/12/08 17:52:24 +++ !USERS.ADVANCED_TEST_1.PROGRAM_PROFILE_SYSTEM. 88/12/08 17:52:24 ... REPORT'SPEC has been INSTALLED. 88/12/08 17:52:26 +++ !USERS.ADVANCED_TEST_1.PROGRAM_PROFILE_SYSTEM. 88/12/08 17:52:26 ... PROGRAM_PROFILE'BODY has been INSTALLED. 88/12/08 17:52:37 +++ !USERS.ADVANCED_TEST_1.PROGRAM_PROFILE_SYSTEM. 88/12/08 17:52:37 ... REPORT'BODY has been INSTALLED. 88/12/08 17:52:39 +++ !USERS.ADVANCED_TEST_1.PROGRAM_PROFILE_SYSTEM. 88/12/08 17:52:39 ... TEST_DRIVER1'SPEC has been INSTALLED. 88/12/08 17:52:47 +++ !USERS.ADVANCED_TEST_1.PROGRAM_PROFILE_SYSTEM. 88/12/08 17:52:47 ... TEST_DRIVER1'BODY has been INSTALLED. 88/12/08 17:52:56 +++ !USERS.ADVANCED_TEST_1.PROGRAM_PROFILE_SYSTEM. 88/12/08 17:52:56 ... UNIT'BODY has been INSTALLED. 88/12/08 17:53:03 +++ !USERS.ADVANCED_TEST_1.SOLUTIONS.INCREMENTAL_EXERCISE. 88/12/08 17:53:03 ... LINE'SPEC has been INSTALLED. 88/12/08 17:53:09 +++ !USERS.ADVANCED_TEST_1.SOLUTIONS.INCREMENTAL_EXERCISE. 88/12/08 17:53:09 ... LINE'BODY has been INSTALLED. 88/12/08 17:53:12 +++ !USERS.ADVANCED_TEST_1.SOLUTIONS.INCREMENTAL_EXERCISE. 88/12/08 17:53:12 ... UNIT'SPEC has been INSTALLED. 88/12/08 17:53:14 +++ !USERS.ADVANCED_TEST_1.SOLUTIONS.INCREMENTAL_EXERCISE. 88/12/08 17:53:14 ... REPORT'SPEC has been INSTALLED. 88/12/08 17:53:15 +++ !USERS.ADVANCED_TEST_1.SOLUTIONS.INCREMENTAL_EXERCISE. 88/12/08 17:53:15 ... PROGRAM_PROFILE'SPEC has been INSTALLED. 88/12/08 17:53:17 +++ !USERS.ADVANCED_TEST_1.SOLUTIONS.INCREMENTAL_EXERCISE. 88/12/08 17:53:17 ... PROGRAM_PROFILE'BODY has been INSTALLED. 88/12/08 17:53:24 +++ !USERS.ADVANCED_TEST_1.SOLUTIONS.INCREMENTAL_EXERCISE. 88/12/08 17:53:24 ... REPORT'BODY has been INSTALLED. 88/12/08 17:53:31 +++ !USERS.ADVANCED_TEST_1.SOLUTIONS.INCREMENTAL_EXERCISE. 88/12/08 17:53:31 ... UNIT'BODY has been INSTALLED. 88/12/08 17:53:34 +++ !USERS.ADVANCED_TEST_1.SOLUTIONS.SUBUNIT_EXERCISE. 88/12/08 17:53:34 ... LINE'SPEC has been INSTALLED. 88/12/08 17:53:37 +++ !USERS.ADVANCED_TEST_1.SOLUTIONS.SUBUNIT_EXERCISE. 88/12/08 17:53:37 ... LINE'BODY has been INSTALLED. 88/12/08 17:53:40 +++ !USERS.ADVANCED_TEST_1.SOLUTIONS.SUBUNIT_EXERCISE.LINE. 88/12/08 17:53:40 ... LOCATE_COMMENT'BODY has been INSTALLED. 88/12/08 17:53:42 +++ !USERS.ADVANCED_TEST_1.SOLUTIONS.SUBUNIT_EXERCISE.LINE. 88/12/08 17:53:42 ... STRIP_BLANKS'BODY has been INSTALLED. 88/12/08 17:53:45 +++ !USERS.ADVANCED_TEST_1.SOLUTIONS.SUBUNIT_EXERCISE. 88/12/08 17:53:45 ... UNIT'SPEC has been INSTALLED. 88/12/08 17:53:47 +++ !USERS.ADVANCED_TEST_1.SOLUTIONS.SUBUNIT_EXERCISE. 88/12/08 17:53:47 ... REPORT'SPEC has been INSTALLED. 88/12/08 17:53:49 +++ !USERS.ADVANCED_TEST_1.SOLUTIONS.SUBUNIT_EXERCISE. 88/12/08 17:53:49 ... PROGRAM_PROFILE'SPEC has been INSTALLED. 88/12/08 17:53:51 +++ !USERS.ADVANCED_TEST_1.SOLUTIONS.SUBUNIT_EXERCISE. 88/12/08 17:53:51 ... PROGRAM_PROFILE'BODY has been INSTALLED. 88/12/08 17:53:57 +++ !USERS.ADVANCED_TEST_1.SOLUTIONS.SUBUNIT_EXERCISE. 88/12/08 17:53:57 ... REPORT'BODY has been INSTALLED. 88/12/08 17:54:00 +++ !USERS.ADVANCED_TEST_1.SOLUTIONS.SUBUNIT_EXERCISE. 88/12/08 17:54:00 ... UNIT'BODY has been INSTALLED. 88/12/08 17:54:06 +++ !USERS.ADVANCED_TEST_1.SOLUTIONS.SUBUNIT_EXERCISE.UNIT. 88/12/08 17:54:06 ... ANALYZE'BODY has been INSTALLED. 88/12/08 17:54:07 +++ !USERS.ADVANCED_TEST_1.SOLUTIONS. 88/12/08 17:54:07 ... ELAPSED_TIME_BENCHMARK'SPEC has been INSTALLED. 88/12/08 17:54:12 +++ !USERS.ADVANCED_TEST_1.SOLUTIONS. 88/12/08 17:54:12 ... ELAPSED_TIME_BENCHMARK'BODY has been INSTALLED. 88/12/08 17:54:15 +++ !USERS.ADVANCED_TEST_1.SOLUTIONS. 88/12/08 17:54:15 ... GENERIC_BENCHMARK'SPEC has been INSTALLED. 88/12/08 17:54:22 +++ !USERS.ADVANCED_TEST_1.SOLUTIONS. 88/12/08 17:54:22 ... GENERIC_BENCHMARK'BODY has been INSTALLED. 88/12/08 17:54:26 +++ !USERS.ADVANCED_TEST_1.SUBUNIT_EXERCISE.LINE'SPEC has 88/12/08 17:54:26 ... been INSTALLED. 88/12/08 17:54:32 +++ !USERS.ADVANCED_TEST_1.SUBUNIT_EXERCISE.SYSTEM'SPEC 88/12/08 17:54:32 ... has been INSTALLED. 88/12/08 17:54:34 +++ !USERS.ADVANCED_TEST_1.SUBUNIT_EXERCISE.REPORT'SPEC 88/12/08 17:54:34 ... has been INSTALLED. 88/12/08 17:54:36 +++ !USERS.ADVANCED_TEST_1.SUBUNIT_EXERCISE. 88/12/08 17:54:36 ... PROGRAM_PROFILE'SPEC has been INSTALLED. 88/12/08 17:54:39 +++ !USERS.ADVANCED_TEST_1.SUBUNIT_EXERCISE. 88/12/08 17:54:39 ... PROGRAM_PROFILE'BODY has been INSTALLED. 88/12/08 17:54:46 +++ !USERS.ADVANCED_TEST_1.SUBUNIT_EXERCISE.REPORT'BODY 88/12/08 17:54:46 ... has been INSTALLED. 88/12/08 17:54:47 +++ !USERS.ADVANCED_TEST_1.LOGIN'SPEC has been INSTALLED. 88/12/08 17:54:51 +++ !USERS.ADVANCED_TEST_1.LOGIN'BODY has been INSTALLED. 88/12/08 17:54:52 +++ 69 units were INSTALLED. 88/12/08 17:55:21 +++ !USERS.ADVANCED_TEST_1.DEBUGGING.BUFFER'SPEC has been 88/12/08 17:55:21 ... CODED. 88/12/08 17:55:29 +++ !USERS.ADVANCED_TEST_1.DEBUGGING.BUFFER'BODY has been 88/12/08 17:55:29 ... CODED. 88/12/08 17:55:30 +++ !USERS.ADVANCED_TEST_1.DEBUGGING. 88/12/08 17:55:30 ... PRODUCER_CONSUMER'SPEC has been CODED. 88/12/08 17:55:36 +++ !USERS.ADVANCED_TEST_1.DEBUGGING. 88/12/08 17:55:36 ... PRODUCER_CONSUMER'BODY has been CODED. 88/12/08 17:55:36 +++ !USERS.ADVANCED_TEST_1.EXPERIMENT.LINE'SPEC has been 88/12/08 17:55:36 ... CODED. 88/12/08 17:55:41 +++ !USERS.ADVANCED_TEST_1.EXPERIMENT.LINE'BODY has been 88/12/08 17:55:41 ... CODED. 88/12/08 17:55:42 +++ !USERS.ADVANCED_TEST_1.EXPERIMENT.LINE_COPY'SPEC has 88/12/08 17:55:42 ... been CODED. 88/12/08 17:55:47 +++ !USERS.ADVANCED_TEST_1.EXPERIMENT.LINE_COPY'BODY has 88/12/08 17:55:47 ... been CODED. 88/12/08 17:55:48 +++ !USERS.ADVANCED_TEST_1.EXPERIMENT.UNIT'SPEC has been 88/12/08 17:55:48 ... CODED. 88/12/08 17:55:50 +++ !USERS.ADVANCED_TEST_1.EXPERIMENT.REPORT'SPEC has been 88/12/08 17:55:50 ... CODED. 88/12/08 17:55:52 +++ !USERS.ADVANCED_TEST_1.EXPERIMENT.PROGRAM_PROFILE'SPEC 88/12/08 17:55:52 ... has been CODED. 88/12/08 17:55:55 +++ !USERS.ADVANCED_TEST_1.EXPERIMENT.PROGRAM_PROFILE'BODY 88/12/08 17:55:55 ... has been CODED. 88/12/08 17:56:05 +++ !USERS.ADVANCED_TEST_1.EXPERIMENT.REPORT'BODY has been 88/12/08 17:56:05 ... CODED. 88/12/08 17:56:20 +++ !USERS.ADVANCED_TEST_1.EXPERIMENT.UNIT'BODY has been 88/12/08 17:56:20 ... CODED. 88/12/08 17:56:23 +++ !USERS.ADVANCED_TEST_1.INCREMENTAL_EXERCISE.LINE'SPEC 88/12/08 17:56:23 ... has been CODED. 88/12/08 17:56:30 +++ !USERS.ADVANCED_TEST_1.INCREMENTAL_EXERCISE.LINE'BODY 88/12/08 17:56:30 ... has been CODED. 88/12/08 17:56:30 +++ !USERS.ADVANCED_TEST_1.INCREMENTAL_EXERCISE.UNIT'SPEC 88/12/08 17:56:30 ... has been CODED. 88/12/08 17:56:31 +++ !USERS.ADVANCED_TEST_1.INCREMENTAL_EXERCISE. 88/12/08 17:56:31 ... REPORT'SPEC has been CODED. 88/12/08 17:56:32 +++ !USERS.ADVANCED_TEST_1.INCREMENTAL_EXERCISE. 88/12/08 17:56:32 ... PROGRAM_PROFILE'SPEC has been CODED. 88/12/08 17:56:33 +++ !USERS.ADVANCED_TEST_1.INCREMENTAL_EXERCISE. 88/12/08 17:56:33 ... PROGRAM_PROFILE'BODY has been CODED. 88/12/08 17:56:38 +++ !USERS.ADVANCED_TEST_1.INCREMENTAL_EXERCISE. 88/12/08 17:56:38 ... REPORT'BODY has been CODED. 88/12/08 17:56:43 !!! Prompt encountered on statement list. 88/12/08 17:56:43 !!! !USERS.ADVANCED_TEST_1.INCREMENTAL_EXERCISE.UNIT'BODY 88/12/08 17:56:43 ... was CODED with 1 warnings. 88/12/08 17:56:43 +++ !USERS.ADVANCED_TEST_1.INCREMENTAL_EXERCISE.UNIT'BODY 88/12/08 17:56:43 ... has been CODED. 88/12/08 17:56:44 +++ !USERS.ADVANCED_TEST_1.PROGRAM_PROFILE_SYSTEM. 88/12/08 17:56:44 ... LINE'SPEC has been CODED. 88/12/08 17:56:47 +++ !USERS.ADVANCED_TEST_1.PROGRAM_PROFILE_SYSTEM. 88/12/08 17:56:47 ... LINE'BODY has been CODED. 88/12/08 17:56:48 +++ !USERS.ADVANCED_TEST_1.PROGRAM_PROFILE_SYSTEM. 88/12/08 17:56:48 ... PROGRAM_PROFILE'SPEC has been CODED. 88/12/08 17:56:49 +++ !USERS.ADVANCED_TEST_1.PROGRAM_PROFILE_SYSTEM. 88/12/08 17:56:49 ... UNIT'SPEC has been CODED. 88/12/08 17:56:49 +++ !USERS.ADVANCED_TEST_1.PROGRAM_PROFILE_SYSTEM. 88/12/08 17:56:49 ... REPORT'SPEC has been CODED. 88/12/08 17:56:51 +++ !USERS.ADVANCED_TEST_1.PROGRAM_PROFILE_SYSTEM. 88/12/08 17:56:51 ... PROGRAM_PROFILE'BODY has been CODED. 88/12/08 17:56:55 +++ !USERS.ADVANCED_TEST_1.PROGRAM_PROFILE_SYSTEM. 88/12/08 17:56:55 ... REPORT'BODY has been CODED. 88/12/08 17:56:55 +++ !USERS.ADVANCED_TEST_1.PROGRAM_PROFILE_SYSTEM. 88/12/08 17:56:55 ... TEST_DRIVER1'SPEC has been CODED. 88/12/08 17:56:58 +++ !USERS.ADVANCED_TEST_1.PROGRAM_PROFILE_SYSTEM. 88/12/08 17:56:58 ... TEST_DRIVER1'BODY has been CODED. 88/12/08 17:57:04 !!! Prompt encountered on statement list. 88/12/08 17:57:04 !!! !USERS.ADVANCED_TEST_1.PROGRAM_PROFILE_SYSTEM. 88/12/08 17:57:04 ... UNIT'BODY was CODED with 1 warnings. 88/12/08 17:57:04 +++ !USERS.ADVANCED_TEST_1.PROGRAM_PROFILE_SYSTEM. 88/12/08 17:57:04 ... UNIT'BODY has been CODED. 88/12/08 17:57:05 +++ !USERS.ADVANCED_TEST_1.SOLUTIONS.INCREMENTAL_EXERCISE. 88/12/08 17:57:05 ... LINE'SPEC has been CODED. 88/12/08 17:57:08 +++ !USERS.ADVANCED_TEST_1.SOLUTIONS.INCREMENTAL_EXERCISE. 88/12/08 17:57:08 ... LINE'BODY has been CODED. 88/12/08 17:57:09 +++ !USERS.ADVANCED_TEST_1.SOLUTIONS.INCREMENTAL_EXERCISE. 88/12/08 17:57:09 ... UNIT'SPEC has been CODED. 88/12/08 17:57:09 +++ !USERS.ADVANCED_TEST_1.SOLUTIONS.INCREMENTAL_EXERCISE. 88/12/08 17:57:09 ... REPORT'SPEC has been CODED. 88/12/08 17:57:10 +++ !USERS.ADVANCED_TEST_1.SOLUTIONS.INCREMENTAL_EXERCISE. 88/12/08 17:57:10 ... PROGRAM_PROFILE'SPEC has been CODED. 88/12/08 17:57:12 +++ !USERS.ADVANCED_TEST_1.SOLUTIONS.INCREMENTAL_EXERCISE. 88/12/08 17:57:12 ... PROGRAM_PROFILE'BODY has been CODED. 88/12/08 17:57:17 +++ !USERS.ADVANCED_TEST_1.SOLUTIONS.INCREMENTAL_EXERCISE. 88/12/08 17:57:17 ... REPORT'BODY has been CODED. 88/12/08 17:57:22 !!! Prompt encountered on statement list. 88/12/08 17:57:22 !!! !USERS.ADVANCED_TEST_1.SOLUTIONS.INCREMENTAL_EXERCISE. 88/12/08 17:57:22 ... UNIT'BODY was CODED with 1 warnings. 88/12/08 17:57:22 +++ !USERS.ADVANCED_TEST_1.SOLUTIONS.INCREMENTAL_EXERCISE. 88/12/08 17:57:22 ... UNIT'BODY has been CODED. 88/12/08 17:57:22 +++ !USERS.ADVANCED_TEST_1.SOLUTIONS.SUBUNIT_EXERCISE. 88/12/08 17:57:22 ... LINE'SPEC has been CODED. 88/12/08 17:57:26 +++ !USERS.ADVANCED_TEST_1.SOLUTIONS.SUBUNIT_EXERCISE. 88/12/08 17:57:26 ... LINE'BODY has been CODED. 88/12/08 17:57:28 +++ !USERS.ADVANCED_TEST_1.SOLUTIONS.SUBUNIT_EXERCISE.LINE. 88/12/08 17:57:28 ... LOCATE_COMMENT'BODY has been CODED. 88/12/08 17:57:31 +++ !USERS.ADVANCED_TEST_1.SOLUTIONS.SUBUNIT_EXERCISE.LINE. 88/12/08 17:57:31 ... STRIP_BLANKS'BODY has been CODED. 88/12/08 17:57:32 +++ !USERS.ADVANCED_TEST_1.SOLUTIONS.SUBUNIT_EXERCISE. 88/12/08 17:57:32 ... UNIT'SPEC has been CODED. 88/12/08 17:57:33 +++ !USERS.ADVANCED_TEST_1.SOLUTIONS.SUBUNIT_EXERCISE. 88/12/08 17:57:33 ... REPORT'SPEC has been CODED. 88/12/08 17:57:33 +++ !USERS.ADVANCED_TEST_1.SOLUTIONS.SUBUNIT_EXERCISE. 88/12/08 17:57:33 ... PROGRAM_PROFILE'SPEC has been CODED. 88/12/08 17:57:35 +++ !USERS.ADVANCED_TEST_1.SOLUTIONS.SUBUNIT_EXERCISE. 88/12/08 17:57:35 ... PROGRAM_PROFILE'BODY has been CODED. 88/12/08 17:57:40 +++ !USERS.ADVANCED_TEST_1.SOLUTIONS.SUBUNIT_EXERCISE. 88/12/08 17:57:40 ... REPORT'BODY has been CODED. 88/12/08 17:57:44 +++ !USERS.ADVANCED_TEST_1.SOLUTIONS.SUBUNIT_EXERCISE. 88/12/08 17:57:44 ... UNIT'BODY has been CODED. 88/12/08 17:57:54 +++ !USERS.ADVANCED_TEST_1.SOLUTIONS.SUBUNIT_EXERCISE.UNIT. 88/12/08 17:57:54 ... ANALYZE'BODY has been CODED. 88/12/08 17:57:54 +++ !USERS.ADVANCED_TEST_1.SOLUTIONS. 88/12/08 17:57:54 ... ELAPSED_TIME_BENCHMARK'SPEC has been CODED. 88/12/08 17:57:55 +++ !USERS.ADVANCED_TEST_1.SOLUTIONS. 88/12/08 17:57:55 ... GENERIC_BENCHMARK'SPEC has been CODED. 88/12/08 17:57:55 +++ !USERS.ADVANCED_TEST_1.SUBUNIT_EXERCISE.LINE'SPEC has 88/12/08 17:57:55 ... been CODED. 88/12/08 17:57:56 +++ !USERS.ADVANCED_TEST_1.SUBUNIT_EXERCISE.SYSTEM'SPEC 88/12/08 17:57:56 ... has been CODED. 88/12/08 17:57:56 +++ !USERS.ADVANCED_TEST_1.SUBUNIT_EXERCISE.REPORT'SPEC 88/12/08 17:57:56 ... has been CODED. 88/12/08 17:57:57 +++ !USERS.ADVANCED_TEST_1.SUBUNIT_EXERCISE. 88/12/08 17:57:57 ... PROGRAM_PROFILE'SPEC has been CODED. 88/12/08 17:57:59 +++ !USERS.ADVANCED_TEST_1.SUBUNIT_EXERCISE. 88/12/08 17:57:59 ... PROGRAM_PROFILE'BODY has been CODED. 88/12/08 17:58:04 +++ !USERS.ADVANCED_TEST_1.SUBUNIT_EXERCISE.REPORT'BODY 88/12/08 17:58:04 ... has been CODED. 88/12/08 17:58:05 +++ !USERS.ADVANCED_TEST_1.LOGIN'SPEC has been CODED. 88/12/08 17:58:09 +++ !USERS.ADVANCED_TEST_1.LOGIN'BODY has been CODED. 88/12/08 17:58:09 +++ 61 units were CODED. 88/12/08 17:58:39 --- 109 objects were restored. 88/12/08 17:58:39 --- [end of Archive.Restore operation]. 88/12/08 17:58:39 --- Access_List.Set (To_List => "Network_Public => R", 88/12/08 17:58:39 ... For_Object => "!Users.Advanced_Test_1.Acl_World"); 88/12/08 17:58:39 +++ !USERS.ADVANCED_TEST_1.ACL_WORLD: acl set to 88/12/08 17:58:39 ... Network_Public => R. 88/12/08 17:58:39 +++ Completed building training user Advanced_test_1. 88/12/08 17:58:39 --- [Finished building training users -- Examine the log].procedure Build_Training_Users (First_User_Number : in Positive := 1; Last_User_Number : in Positive; Username_Prefix : in String := "Pt"; Response : in String := "<PROFILE>"); with Access_List; with Links; with Archive; with Debug_Tools; with Directory_Tools; with Log; with Operator; with Profile; with String_Utilities; with Training_Names; with Pipe; procedure Build_Training_Users (First_User_Number : in Positive := 1; Last_User_Number : in Positive; Username_Prefix : in String := "Pt"; Response : in String := "<PROFILE>") is package Naming renames Directory_Tools.Naming; package Object renames Directory_Tools.Object; Old_Response_Profile : Profile.Response_Profile := Profile.Get; Current_Response_Profile : Profile.Response_Profile := Profile.Value (Response); function Capitalize (A_String : String) return String renames String_Utilities.Capitalize; procedure Closing_Message_For_Errors is begin Log.Put_Line ("[Finished building training users -- Error(s) detected]"); Profile.Set (Old_Response_Profile); end Closing_Message_For_Errors; function Current_Library (Of_Object : String) return String is All_Objects : Object.Iterator := Naming.Resolution (Of_Object); An_Object : Object.Handle; begin An_Object := Object.Value (All_Objects); return Naming.Unique_Full_Name (An_Object); end Current_Library; begin -- set up the response profile and log the command line -- Profile.Set (Current_Response_Profile); Log.Put_Line ("[Build_Training_Users (First_User_Number => " & String_Utilities.Number_To_String (First_User_Number) & ", Last_User_Number => " & String_Utilities.Number_To_String (Last_User_Number) & ", Username_Prefix => """ & Username_Prefix & """, Response => """ & Response & """);]", Profile.Auxiliary_Msg); declare Context : constant String := Capitalize (Current_Library ("$")); Course : constant String := Capitalize (Naming.Simple_Name (Naming.Prefix (Context))); Master_Full_Pathname : constant String := Capitalize ("!Users." & Course & "_Master"); Fundamentals_Master_Full_Pathname : constant String := Capitalize ("!Users.Fundamentals_Master"); At_Master_Full_Pathname : constant String := Capitalize ("!Users.Advanced_Topics_Master"); Ss_Cmvc_Master_Full_Pathname : constant String := Capitalize ("!Users.Subsystems_Cmvc_Master"); Lost_Keys : Pipe.Handle := Pipe.Null_Handle; begin Operator.Enable_Privileges (Enable => True); if Operator.Privileged_Mode /= True then Log.Put_Line ("You must have operator capability to create training users", Profile.Error_Msg); Closing_Message_For_Errors; return; end if; if First_User_Number > Last_User_Number then Log.Put_Line ("The First_User_Number must be 'less than' or 'equal to' the Last_User_Number", Profile.Error_Msg); Closing_Message_For_Errors; return; end if; for User_Count in First_User_Number .. Last_User_Number loop declare User_Number : constant String := String_Utilities.Number_To_String (User_Count); User_Name : constant String := Username_Prefix & "_" & User_Number; Users_Full_Pathname : constant String := Capitalize ("!Users." & User_Name); begin Operator.Create_User (User => User_Name, Password => User_Name, Volume => 0, Response => "<PROFILE>"); Links.Add (Source => "!Training.Tools.Start_Training_Scripts", Link => "#", World => Users_Full_Pathname, Response => "<PROFILE>"); Pipe.Create (Lost_Keys, Pipe.Exclusive, Users_Full_Pathname & ".S_1_Lost_Keys"); Pipe.Close (Lost_Keys); Archive.Restore (Objects => "?", Use_Prefix => Users_Full_Pathname, For_Prefix => Master_Full_Pathname, Options => "R1000, PROMOTE, PRIMARY, BECOME_OWNER, WORLD_ACL=(Network_Public => RWCOD), DEFAULT_ACL=(Network_Public => RW), OBJECT_ACL=(Network_Public => RW)", Device => Context, Response => "<PROFILE>"); Archive.Restore (Objects => "!Users.Advanced_Topics_Master." & "[Acl_World, Debugging, Experiment, Facit_macros," & "Incremental_exercises, Indirect_File, Menu_Exercises," & "New_Text, Rational_Macros, Solutions, Some_Text," & "Subunit_Exercise, s_2_switches, s_3_switches]", Use_Prefix => Users_Full_Pathname, For_Prefix => At_Master_Full_Pathname, Options => "R1000, PROMOTE, PRIMARY, BECOME_OWNER, WORLD_ACL=(Network_Public => RWCOD), DEFAULT_ACL=(Network_Public => RW), OBJECT_ACL=(Network_Public => RW)", Device => Training_Names.Latest_Release_Pathname ("advanced_topics"), Response => "<PROFILE>"); Archive.Restore (Objects => "!Users.Fundamentals_Master." & "[Baseball_System, Debugging.@, Experiment.@, Project_1," & "Pt_Model, Sample_File, Statistics_System]", Use_Prefix => Users_Full_Pathname, For_Prefix => Fundamentals_Master_Full_Pathname, Options => "R1000, PROMOTE, PRIMARY, BECOME_OWNER, WORLD_ACL=(Network_Public => RWCOD), DEFAULT_ACL=(Network_Public => RW), OBJECT_ACL=(Network_Public => RW)", Device => Training_Names.Latest_Release_Pathname ("fundamentals"), Response => "<PROFILE>"); Archive.Restore (Objects => "!users.Subsystems_Cmvc_Master." & "[Program_profile_system, Subsystem_application, Subsystem_Solution]", Use_Prefix => Users_Full_Pathname, For_Prefix => Ss_Cmvc_Master_Full_Pathname, Options => "R1000, PROMOTE, PRIMARY, BECOME_OWNER, WORLD_ACL=(Network_Public => RWCOD), DEFAULT_ACL=(Network_Public => RW), OBJECT_ACL=(Network_Public => RW)", Device => Training_Names.Latest_Release_Pathname ("subsystems_cmvc"), Response => "<PROFILE>"); Links.Delete (Link => "Text_Io", World => Users_Full_Pathname); Access_List.Set (To_List => "Network_Public => R", For_Object => Users_Full_Pathname & ".Acl_World", Response => "<PROFILE>"); Log.Put_Line ("Completed building training user " & User_Name, Profile.Positive_Msg); end; end loop; Log.Put_Line ("[Finished building training users -- Examine the log]"); Profile.Set (Old_Response_Profile); end; exception when others => Log.Put_Line ("Encountered an unexpected exception: " & Debug_Tools.Get_Exception_Name, Profile.Exception_Msg); Closing_Message_For_Errors; end Build_Training_Users; COURSE PREPARATION NOTES ======================== COURSE NAME: Basic_Product_Training RELEASE: Delta1_Rev1 LOCATION: !Training.Software_Releases.Basic_Product_Training.Delta1_Rev1 CONTENTS: This library contains the course preparation instructions, the software used to create a set of training user accounts and the archived software for the Delta1_Rev1 release of the Basic_Product_Training training course. This training user is a combination of the software for Fundamentals, Advanaced Topics, and Subsystems and CMVC. It is intended for implementation plans that would like to combined various sections of each course into a single class. PREPARING TO PRESENT A COURSE: 1. Follow the instructions in "!Training.Notes.Instructor_Notes". 2. Ensure that the user accounts and worlds you want to create do not exist. 3. Create the training user worlds -- execute the "Build_Training_Users" procedure in "!Training.Software_Releases.Basic_Product_Training.Delta1_Rev1" to create the desired training users. NOTES: - To create a set of training accounts for this release (Delta1_Rev1), the "Build_Training_Users" procedure must be executed: a) by a user with operator capability b) within "!Training.Software_Releases.Basic_Product_Training.Delta1_Rev1" - As required, supply the "First_User_Number", the "Last_User_Number" and the "Username_Prefix" arguments to define the series of training user accounts to be created -- e.g. entering "1", "3" and "Learning", respectively, will create the following training user accounts: "Learning_1", "Learning_2" and "Learning_3". - The password for a training user account is the same as the user name (e.g. "Learning_1", "Learning_2" and "Learning_3" in the example above). 4. Subject to the note above, check the log to ensure that the training users have been created correctly.procedure Login;with Common; with Editor; with Links; with String_Utilities; with System_Utilities; with What; procedure Login is function Is_Session (Name : String) return Boolean is begin return String_Utilities.Equal (Name, System_Utilities.Session_Name, Ignore_Case => True); end Is_Session; begin if Is_Session ("S_1") then What.Home_Library; Common.Create_Command; Common.Definition ("Experiment"); for I in 1 .. 2 loop Editor.Window.Previous; end loop; else null; end if; -- ensure the existence of links required by Key.Define(s) -- -- (using the Key.Define approach [rather than <Terminal_Name>_Commands -- files] removes the "hard" dependency on Start_Training_Scripts and -- allows it to be updated without affecting existing training users) -- Links.Add (Source => "!Training.Tools.Start_Training_Scripts", Link => "#", World => "$$", Response => "<NIL>"); Links.Add (Source => "!Training.Tools.Return_to_menu", Link => "#", World => "$$", Response => "<NIL>"); Links.Add (Source => "!Training.Tools.Select_Script", Link => "#", World => "$$", Response => "<NIL>"); Links.Add (Source => "!Training.Tools.Step_Forward", Link => "#", World => "$$", Response => "<NIL>"); Links.Add (Source => "!Training.Tools.Step_Backward", Link => "#", World => "$$", Response => "<NIL>"); -- deterimine the terminal type then bind the keys -- necessary to start the training scripts -- (other "key bindings" performed by the scripts & Lost_Keys pipe) -- if String_Utilities.Equal (System_Utilities.Terminal_Type, "Rational", True) then Editor.Key.Define (Key_Name => "F1", Command_Name => "Start_Training_Scripts (Course_Name => ""Fundamentals"", Release_Name => ""<LATEST RELEASE>"");", Prompt => False); Editor.Key.Define (Key_Name => "F2", Command_Name => "Return_To_menu;", Prompt => False); Editor.Key.Define (Key_Name => "F5", Command_Name => "Select_script;", Prompt => False); Editor.Key.Define (Key_Name => "F4", Command_Name => "Step_Backward;", Prompt => False); -- Editor.Key.Define (Key_Name => "F3", -- Command_Name => "Step_Forward;", -- Prompt => False); -- -- The script tools require F3 to be unbound in the system-wide keymap to -- work. The unbound key is transferred to the script tools be the editor. -- If F3 is bound in the system keymap, the script tools will no step forward, -- but will execute the command bound to F3. -- You can uncomment this command to get step forward to work although it -- may be with lower performance. The other option is to remove the system -- binding to F3 and reboot the machine. elsif String_Utilities.Equal (System_Utilities.Terminal_Type, "Facit", True) then Editor.Key.Define (Key_Name => "Esc_S_F1", Command_Name => "Start_Training_Scripts (Course_Name => ""Fundamentals"", Release_Name => ""<LATEST RELEASE>"");", Prompt => False); Editor.Key.Define (Key_Name => "Esc_S_F2", Command_Name => "Return_To_menu;", Prompt => False); Editor.Key.Define (Key_Name => "Esc_S_F5", Command_Name => "Select_script;", Prompt => False); Editor.Key.Define (Key_Name => "Esc_S_F4", Command_Name => "Step_Backward;", Prompt => False); -- Editor.Key.Define (Key_Name => "Esc_S_F3", -- Command_Name => "Step_Forward;", -- Prompt => False); -- The script tools require Esc_S_F3 to be unbound in the system-wide keymap to -- work. The unbound key is transferred to the script tools be the editor. -- If Esc_S_F3 is bound in the system keymap, the script tools will no step forward, -- but will execute the command bound to Esc_S_F3. -- You can uncomment this command to get step forward to work although it -- may be with lower performance. The other option is to remove the system -- binding to Esc_S_F3 and reboot the machine. elsif String_Utilities.Equal (System_Utilities.Terminal_Type, "VT100", True) then Editor.Key.Define (Key_Name => "Esc_1", Command_Name => "Start_Training_Scripts (Course_Name => ""Fundamentals"", Release_Name => ""<LATEST RELEASE>"");", Prompt => False); Editor.Key.Define (Key_Name => "Esc_2", Command_Name => "Return_To_menu;", Prompt => False); Editor.Key.Define (Key_Name => "Esc_5", Command_Name => "Select_script;", Prompt => False); Editor.Key.Define (Key_Name => "Esc_4", Command_Name => "Step_Backward;", Prompt => False); Editor.Key.Define (Key_Name => "Esc_3", Command_Name => "Step_Forward;", Prompt => False); else Editor.Key.Define (Key_Name => "Esc_1", Command_Name => "Start_Training_Scripts (Course_Name => ""Fundamentals"", Release_Name => ""<LATEST RELEASE>"");", Prompt => False); Editor.Key.Define (Key_Name => "Esc_2", Command_Name => "Return_To_menu;", Prompt => False); Editor.Key.Define (Key_Name => "Esc_5", Command_Name => "Select_script;", Prompt => False); Editor.Key.Define (Key_Name => "Esc_4", Command_Name => "Step_Backward;", Prompt => False); Editor.Key.Define (Key_Name => "Esc_3", Command_Name => "Step_Forward;", Prompt => False); end if; end Login;*** 461 *** !USERS.BASIC_PRODUCT_TRAINING_MASTER !USERS.BASIC_PRODUCT_TRAINING_MASTER U||| 8/23/88 17:03:43|WORLD||| ABASIC_PRODUCT_TRAINING_MASTER=>RCOD,NETWORK_PUBLIC=>RCO|DBASIC_PRODUCT_TRAINING_MASTER=>RW,NETWORK_PUBLIC=>RW|TR1000| 0 !USERS.BASIC_PRODUCT_TRAINING_MASTER.S_1_SWITCHES I||| 8/22/88 20:33:51|SWITCH||| ABASIC_PRODUCT_TRAINING_MASTER=>RW,NETWORK_PUBLIC=>RW| Profile.Log_Diagnostic_Msgs FALSE Profile.Remote_Passwords <NIL> Session.Debug_Include_Packages False Session.Cmvc_Show_Add_Date True Session.Job_Name_Separator " % " Session.Prompt_Delimiters """'" Session.Image_Fill_Mode False Session.Debug_Stack_Start 1 Session.Debug_History_Count 10 Session.Debug_Save_Exceptions False Session.Text_Top_Stripe "----------------------------------------------------------------------------" Profile.Log_Exception_Msgs TRUE Session.Cmvc_Configuration_Extent 0 Session.Library_Show_Subunits True Session.Library_Misc_Show_Unit_State True Session.Window_Command_Size 2 Session.Image_Tab_Stops "" Session.Debug_Put_Locals False Session.Library_Show_Deleted_Versions False Session.Library_Misc_Show_Size True Session.Library_Misc_Show_Volume True Session.Beep_On_Interrupt True Session.Image_Insert_Mode True Session.Debug_Delete_Temporary_Breaks False Session.Cmvc_Show_Field_Max_Index False Session.Window_Scroll_Overlap 20 Profile.Log_Position_Msgs TRUE Profile.Log_Note_Msgs TRUE Session.Debug_Display_Level 3 Session.Debug_Optimize_Generic_History True Session.Debug_Addresses False Session.Cmvc_Show_Add_Time True Session.Cmvc_Show_Edit_Info False Session.Job_Context_First True Session.Default_Job_Page_Limit 8000 Profile.Reaction PERSEVERE Session.Debug_History_Start 10 Session.Debug_History_Entries 1000 Session.Debug_Element_Count 25 Session.Debug_Freeze_Tasks False Session.Cmvc_Break_Long_Lines True Session.Mail_Multiple_Message_Windows False Session.Cmvc_Show_Hidden_Fields False Session.Mail_Send_Empty_Messages True Session.Library_Std_Show_Class False Session.Key_Directory "" Session.Search_Preserve_Case False Session.Screen_Dump_File "SCREEN_DUMP" Session.Cmvc_Show_Display_Position False Session.Cmvc_Show_Version_Number False Session.Library_Line_Length 80 Session.Text_Header True Session.Window_Shift_Overlap 80 Profile.Log_Prefix_2 HR_MN_SC Session.Debug_Declaration_Display True Session.Dependents_Show_Unit_State False Session.Library_Shorten_Unit_State True Session.Library_Lazy_Realignment True Profile.Log_Prefix_3 SYMBOLS Session.Debug_Display_Creation False Session.Cmvc_Indentation 2 Session.Library_Break_Long_Lines True Session.Debug_Echo_Commands True Session.Cmvc_Shorten_Name True Session.Text_Convert_Tabs True Session.Text_Print_Name True Session.Window_Message_Life 2 Profile.Log_Prefix_1 YR_MN_DY Session.Debug_Require_Debug_Off False Session.Dependents_Show_Library True Session.Notify_Warnings True Session.Library_Misc_Show_Frozen True Session.Library_Std_Show_Unit_State False Session.Debug_Break_At_Creation False Session.Beep_On_Errors True Profile.Log_Negative_Msgs TRUE Profile.Log_Positive_Msgs TRUE Session.Image_Fill_Prefix "" Session.Debug_Stack_Count 10 Profile.Log_Error_Msgs TRUE Session.Cmvc_Show_Retention False Session.Library_Capitalize True Session.Cursor_Top_Offset 33 Session.Window_Have_Sides False Profile.Log_Warning_Msgs TRUE Session.Cmvc_Capitalize True Session.Mail_Position_Cursor_Unread True Session.Text_Print_Time True Session.Window_Frames 0 Profile.Log_File USE_OUTPUT Profile.Log_Sharp_Msgs TRUE Cmvc.Default_Venture <> Session.Image_Fill_Column 72 Session.Cmvc_Show_Deleted_Versions False Session.Mail_Move_Cursor_On_Delete True Session.Library_Misc_Show_Edit_Info True Session.Cursor_Right_Offset 33 Session.Cursor_Transpose_Moves False Session.Cmvc_Show_All_Default_Orders False Session.Library_Shorten_Names True Session.Window_Is_Staggered True Profile.Log_Dollar_Msgs TRUE Session.Debug_Interpret_Control_Words False Session.Cursor_Left_Offset 33 Session.Cmvc_Field_Extent 4 Session.Cmvc_Shorten_Unit_State False Session.Image_Fill_Indent -1 Session.Debug_First_Element 0 Session.Debug_Qualify_Stack_Names False Profile.Remote_Sessions <NIL> Session.Cmvc_Comment_Extent 4 Session.Window_Message_Size 4 Session.Mail_Cursor_On_Text_In_Reply False Session.Text_Print_Number True Session.Cmvc_Show_Unit_State True Session.Debug_Timestamps False Session.Cmvc_Show_All_Default_Lists False Session.Job_Context_Length 3 Session.Cmvc_Show_Size False Session.Dependents_Delta0_Compatibility True Session.Library_Misc_Show_Retention True Session.Library_Std_Show_Subclass True Session.Library_Uppercase False Session.Text_Scroll_Output True Session.Text_Bottom_Stripe "----------------------------------------------------------------------------" Session.Cursor_Bottom_Offset 33 Profile.Log_Line_Width 77 Session.Cmvc_Line_Length 80 Session.Mail_Cc_Sender False Session.Mail_Default_Sort_Order 3 Session.Library_Indentation 2 Session.Terminal_Line_Speed 9600 Profile.Activity_File !MACHINE.RELEASE.CURRENT.ACTIVITY Session.Debug_Machine_Level False Session.Library_Misc_Show_Subclass False Session.Beep_On_Messages False Session.Debug_No_History_Timestamps True Session.Cmvc_Uppercase False Session.Mail_Include_Text_In_Reply False Session.Cmvc_Version_Extent 0 Session.Mail_Retain_Deleted_Messages True Session.Text_Reuse_Window True Session.Image_Fill_Extra_Space "!.?" Session.Debug_Display_Count 10 Session.Library_Show_Deleted_Objects False Session.Job_Name_Length 2 Session.Terminal_Padding 10 Session.Cmvc_Show_Users False Session.Search_Ignore_Case True Session.Cmvc_Show_Deleted_Objects False Session.Library_Show_Miscellaneous False Session.Debug_Pointer_Level 3 Session.Debug_Permanent_Breakpoints True Session.Debug_Kill_Old_Jobs True Session.Cmvc_Show_Frozen False Session.Library_Show_Standard True Session.Cmvc_Enable_Relocation False Session.Debug_Memory_Count 3 Session.Library_Show_Version_Number False Session.Window_Frames_Startup 0 Session.Word_Breaks " ""#%&'()*+,-./:;<=>?[]_`{|}~" Profile.Log_At_Sign_Msgs TRUE Profile.Log_Auxiliary_Msgs TRUE Session.Cmvc_Show_Field_Type False Session.Cmvc_Show_Field_Default True Session.Library_Shorten_Subclass True Session.Debug_Show_Location True Session.Dependents_In_Order_Pathnames False Session.Search_Regular_Expr False !USERS.BASIC_PRODUCT_TRAINING_MASTER Y TRANSPORT_NAME !TOOLS.NETWORKING.TRANSPORT_NAME'SPEC TELNET !COMMANDS.TELNET'SPEC INTERCHANGE !TOOLS.NETWORKING.INTERCHANGE'SPEC FTP_DEFS !TOOLS.NETWORKING.FTP_DEFS'SPEC DIANA_OBJECT_EDITOR !TOOLS.DIANA_OBJECT_EDITOR'SPEC TRANSFER_GENERIC !TOOLS.NETWORKING.TRANSFER_GENERIC'SPEC RPC_PRODUCT !TOOLS.NETWORKING.RPC_PRODUCT'SPEC PIPE !IO.PIPE'SPEC BYTE_STRING_IO !TOOLS.NETWORKING.BYTE_STRING_IO'SPEC BYTE_DEFS !TOOLS.NETWORKING.BYTE_DEFS'SPEC ARCHIVE !COMMANDS.ARCHIVE'SPEC TAPE_TOOLS !TOOLS.TAPE_TOOLS'SPEC TABLE_FORMATTER !TOOLS.TABLE_FORMATTER'SPEC QUEUE !COMMANDS.QUEUE'SPEC SEQUENTIAL_IO !IO.SEQUENTIAL_IO'SPEC DEBUG !COMMANDS.DEBUG'SPEC SYSTEM_BACKUP !COMMANDS.SYSTEM_BACKUP'SPEC COMMAND !COMMANDS.COMMAND'SPEC TERMINAL !COMMANDS.TERMINAL'SPEC IO !IO.IO'SPEC CONCURRENT_MAP_GENERIC !TOOLS.CONCURRENT_MAP_GENERIC'SPEC EDITOR !COMMANDS.EDITOR'SPEC DISK_DAEMON !TOOLS.DISK_DAEMON'SPEC CMVC_MAINTENANCE !COMMANDS.CMVC_MAINTENANCE'SPEC OBJECT_SET !IO.OBJECT_SET'SPEC TRANSPORT !TOOLS.NETWORKING.TRANSPORT'SPEC TERMINAL_SPECIFIC !IO.TERMINAL_SPECIFIC'SPEC STRING_UTILITIES !TOOLS.STRING_UTILITIES'SPEC LOG !COMMANDS.LOG'SPEC RANDOM !TOOLS.RANDOM'SPEC LIBRARY !COMMANDS.LIBRARY'SPEC BOUNDED_STRING !TOOLS.BOUNDED_STRING'SPEC TEXT !COMMANDS.TEXT'SPEC TCP_IP_DUMP !TOOLS.NETWORKING.TCP_IP_DUMP'SPEC POLYMORPHIC_SEQUENTIAL_IO !IO.POLYMORPHIC_SEQUENTIAL_IO'SPEC DIRECTORY_TOOLS !TOOLS.DIRECTORY_TOOLS'SPEC TRANSPORT_ROUTE !COMMANDS.TRANSPORT_ROUTE'SPEC TRANSPORT_DEFS !TOOLS.NETWORKING.TRANSPORT_DEFS'SPEC TIME_UTILITIES !TOOLS.TIME_UTILITIES'SPEC SIMPLE_STATUS !TOOLS.SIMPLE_STATUS'SPEC JOB !COMMANDS.JOB'SPEC ADA_OBJECT_EDITOR !TOOLS.ADA_OBJECT_EDITOR'SPEC PROGRAM !COMMANDS.PROGRAM'SPEC OPERATOR !COMMANDS.OPERATOR'SPEC ACCESS_LIST !COMMANDS.ACCESS_LIST'SPEC POLYMORPHIC_IO !IO.POLYMORPHIC_IO'SPEC FTP_SERVER !TOOLS.NETWORKING.FTP_SERVER'SPEC ADA !COMMANDS.ADA'SPEC ACCESS_LIST_TOOLS !TOOLS.ACCESS_LIST_TOOLS'SPEC NETWORK !COMMANDS.NETWORK'SPEC TELNET_PROFILE !TOOLS.NETWORKING.TELNET_PROFILE'SPEC TABLE_SORT_GENERIC !TOOLS.TABLE_SORT_GENERIC'SPEC SWITCHES !COMMANDS.SWITCHES'SPEC DOCUMENT_BUILDER !COMMANDS.DOCUMENT_BUILDER'SPEC QUEUE_GENERIC !TOOLS.QUEUE_GENERIC'SPEC COMPILATION !COMMANDS.COMPILATION'SPEC TRANSPORT_STREAM !TOOLS.NETWORKING.TRANSPORT_STREAM'SPEC RPC_ACCESS_UTILITIES !TOOLS.NETWORKING.RPC_ACCESS_UTILITIES'SPEC SET_GENERIC !TOOLS.SET_GENERIC'SPEC HASH !TOOLS.HASH'SPEC DIANA_TREE !COMMANDS.DIANA_TREE'SPEC TCP_IP_BOOT !TOOLS.NETWORKING.TCP_IP_BOOT'SPEC HOST_ID_IO !TOOLS.NETWORKING.HOST_ID_IO'SPEC DEBUG_TOOLS !TOOLS.DEBUG_TOOLS'SPEC RPC_SERVER !TOOLS.NETWORKING.RPC_SERVER'SPEC RPC !TOOLS.NETWORKING.RPC'SPEC PARAMETER_PARSER !TOOLS.PARAMETER_PARSER'SPEC NETWORK_PRODUCT !TOOLS.NETWORKING.NETWORK_PRODUCT'SPEC ACTION_UTILITIES !COMMANDS.ACTION_UTILITIES'SPEC WORK_ORDER !COMMANDS.WORK_ORDER'SPEC TAPE_SPECIFIC !IO.TAPE_SPECIFIC'SPEC TAPE !COMMANDS.TAPE'SPEC SYSTEM_UTILITIES !TOOLS.SYSTEM_UTILITIES'SPEC LINK_TOOLS !TOOLS.LINK_TOOLS'SPEC FILE_UTILITIES !COMMANDS.FILE_UTILITIES'SPEC DIRECT_IO !IO.DIRECT_IO'SPEC ALLOWS_DEALLOCATION !TOOLS.ALLOWS_DEALLOCATION'SPEC TEXT_IO !IO.TEXT_IO'SPEC FTP !COMMANDS.FTP'SPEC ADA_TEXT !TOOLS.ADA_TEXT'SPEC UNBOUNDED_STRING !TOOLS.UNBOUNDED_STRING'SPEC TRANSPORT_INTERCHANGE !TOOLS.NETWORKING.TRANSPORT_INTERCHANGE'SPEC RPC_CLIENT !TOOLS.NETWORKING.RPC_CLIENT'SPEC LIBRARY_OBJECT_EDITOR !TOOLS.LIBRARY_OBJECT_EDITOR'SPEC FTP_NAME_MAP !TOOLS.NETWORKING.FTP_NAME_MAP'SPEC CALENDAR !LRM.CALENDAR'SPEC UNCHECKED_CONVERSION !LRM.UNCHECKED_CONVERSION'SPEC LIST_GENERIC !TOOLS.LIST_GENERIC'SPEC INTERCHANGE_DEFS !TOOLS.NETWORKING.INTERCHANGE_DEFS'SPEC DAEMON !COMMANDS.DAEMON'SPEC CMVC !COMMANDS.CMVC'SPEC FILE_TRANSFER !TOOLS.NETWORKING.FILE_TRANSFER'SPEC MAP_GENERIC !TOOLS.MAP_GENERIC'SPEC LOGIN !USERS.BASIC_PRODUCT_TRAINING_MASTER.LOGIN'SPEC MAIL !COMMANDS.MAIL'SPEC MACHINE_CODE !LRM.MACHINE_CODE'SPEC DISK_SPACE !COMMANDS.DISK_SPACE'SPEC BIT_OPERATIONS !TOOLS.BIT_OPERATIONS'SPEC UNCHECKED_DEALLOCATION !LRM.UNCHECKED_DEALLOCATION'SPEC STACK_GENERIC !TOOLS.STACK_GENERIC'SPEC UNCHECKED_CONVERSIONS !TOOLS.UNCHECKED_CONVERSIONS'SPEC TRANSPORT_SERVER_JOB !TOOLS.NETWORKING.TRANSPORT_SERVER_JOB'SPEC FTP_PRODUCT !TOOLS.NETWORKING.FTP_PRODUCT'SPEC SEARCH_LIST !COMMANDS.SEARCH_LIST'SPEC SCRIPT !TOOLS.SCRIPT'SPEC PROFILE !TOOLS.PROFILE'SPEC MESSAGE !COMMANDS.MESSAGE'SPEC ACTIVITY !COMMANDS.ACTIVITY'SPEC WHAT !COMMANDS.WHAT'SPEC DEVICE_INDEPENDENT_IO !IO.DEVICE_INDEPENDENT_IO'SPEC TELNET_PRODUCT !TOOLS.NETWORKING.TELNET_PRODUCT'SPEC IO_EXCEPTIONS !IO.IO_EXCEPTIONS'SPEC WINDOW_IO !IO.WINDOW_IO'SPEC TRANSPORT_SERVER !TOOLS.NETWORKING.TRANSPORT_SERVER'SPEC SYSTEM !LRM.SYSTEM'SPEC STRING_TABLE !TOOLS.STRING_TABLE'SPEC STRING_MAP_GENERIC !TOOLS.STRING_MAP_GENERIC'SPEC SCHEDULER !COMMANDS.SCHEDULER'SPEC OBJECT_EDITOR !TOOLS.OBJECT_EDITOR'SPEC LINKS !COMMANDS.LINKS'SPEC FTP_PROFILE !TOOLS.NETWORKING.FTP_PROFILE'SPEC COMMON !COMMANDS.COMMON'SPEC !USERS.BASIC_PRODUCT_TRAINING_MASTER.LOGIN'SPEC V|-16|4| 8/09/88 14:22:52|PROCEDURE_SPEC||| ABASIC_PRODUCT_TRAINING_MASTER=>RW,NETWORK_PUBLIC=>RW| !USERS.BASIC_PRODUCT_TRAINING_MASTER.LOGIN'BODY B16|-6557|4| 8/23/88 17:00:06|PROCEDURE_BODY||| ABASIC_PRODUCT_TRAINING_MASTER=>RW,NETWORK_PUBLIC=>RW| !USERS.BASIC_PRODUCT_TRAINING_MASTER.THIS_IS_A_DELTA1_REV1_TRAINING_USER F6573||| 8/23/88 17:03:43|TEXT||| ABASIC_PRODUCT_TRAINING_MASTER=>RW,NETWORK_PUBLIC=>RW|88/12/08 17:33:23 ::: [Build_Training_Users (First_User_Number => 1, 88/12/08 17:33:23 ... Last_User_Number => 1, Username_Prefix => "basic_test", 88/12/08 17:33:23 ... Response => "<PROFILE>");]. 88/12/08 17:33:54 --- [Archive.Restore rev 464, objects => "?", use_prefix 88/12/08 17:33:54 ... => "!Users.Basic_Test_1", for_prefix => "!Users. 88/12/08 17:33:54 ... Basic_Product_Training_Master", options => "R1000, 88/12/08 17:33:54 ... PROMOTE, PRIMARY, BECOME_OWNER, 88/12/08 17:33:54 ... WORLD_ACL=(Network_Public => RWCOD), 88/12/08 17:33:54 ... DEFAULT_ACL=(Network_Public => RW), 88/12/08 17:33:54 ... OBJECT_ACL=(Network_Public => RW)", device => 88/12/08 17:33:54 ... "!Training.Software_Releases.Basic_Product_Training. 88/12/08 17:33:54 ... Delta1_Rev1", response => "<PROFILE>"]. 88/12/08 17:33:56 --- restoring from an archive done with version 461. 88/12/08 17:33:57 +++ world !USERS.BASIC_TEST_1 has been restored using an 88/12/08 17:33:57 ... existing world. 88/12/08 17:34:14 !!! Exception (UNDEFINED_SWITCH_NAME) setting switch 88/12/08 17:34:14 ... Cmvc_Enable_Relocation to False. 88/12/08 17:34:14 +++ switch !USERS.BASIC_TEST_1.S_1_SWITCHES has been 88/12/08 17:34:14 ... restored. 88/12/08 17:34:32 +++ proc_spec !USERS.BASIC_TEST_1.LOGIN'SPEC has been 88/12/08 17:34:32 ... restored. 88/12/08 17:34:46 +++ proc_body !USERS.BASIC_TEST_1.LOGIN'BODY has been 88/12/08 17:34:46 ... restored. 88/12/08 17:34:50 +++ text !USERS.BASIC_TEST_1. 88/12/08 17:34:50 ... THIS_IS_A_DELTA1_REV1_TRAINING_USER has been restored. 88/12/08 17:34:51 --- restoring links for !USERS.BASIC_TEST_1. 88/12/08 17:35:35 !!! can't restore link: DOCUMENT_BUILDER=>!COMMANDS. 88/12/08 17:35:35 ... DOCUMENT_BUILDER'SPEC in world !USERS.BASIC_TEST_1 88/12/08 17:35:35 ... (UNDEFINED_SOURCE_NAME). 88/12/08 17:36:18 --- promoting ada units. 88/12/08 17:36:24 +++ !USERS.BASIC_TEST_1.LOGIN'SPEC has been INSTALLED. 88/12/08 17:37:20 +++ !USERS.BASIC_TEST_1.LOGIN'BODY has been INSTALLED. 88/12/08 17:37:22 +++ !USERS.BASIC_TEST_1.LOGIN'SPEC has been CODED. 88/12/08 17:37:44 +++ !USERS.BASIC_TEST_1.LOGIN'BODY has been CODED. 88/12/08 17:37:46 +++ 2 units were INSTALLED. 88/12/08 17:37:46 +++ 2 units were CODED. 88/12/08 17:37:54 --- 5 objects were restored. 88/12/08 17:37:55 --- [end of Archive.Restore operation]. 88/12/08 17:37:55 --- [Archive.Restore rev 464, objects => "!Users. 88/12/08 17:37:55 ... Advanced_Topics_Master.[Acl_World, Debugging, 88/12/08 17:37:55 ... Experiment, Facit_macros,Incremental_exercises, 88/12/08 17:37:55 ... Indirect_File, Menu_Exercises,New_Text, 88/12/08 17:37:55 ... Rational_Macros, Solutions, Some_Text,Subunit_Exercise, 88/12/08 17:37:55 ... s_2_switches, s_3_switches]", use_prefix => "!Users. 88/12/08 17:37:55 ... Basic_Test_1", for_prefix => "!Users. 88/12/08 17:37:55 ... Advanced_Topics_Master", options => "R1000, PROMOTE, 88/12/08 17:37:55 ... PRIMARY, BECOME_OWNER, WORLD_ACL=(Network_Public => 88/12/08 17:37:55 ... RWCOD), DEFAULT_ACL=(Network_Public => RW), 88/12/08 17:37:55 ... OBJECT_ACL=(Network_Public => RW)", device => 88/12/08 17:37:55 ... "!Training.Software_Releases.Advanced_Topics. 88/12/08 17:37:55 ... Delta1_Rev1", response => "<PROFILE>"]. 88/12/08 17:37:56 --- restoring from an archive done with version 461. 88/12/08 17:38:01 +++ world !USERS.BASIC_TEST_1.ACL_WORLD has been restored. 88/12/08 17:38:09 +++ world !USERS.BASIC_TEST_1.DEBUGGING has been restored. 88/12/08 17:38:30 +++ gen_pack !USERS.BASIC_TEST_1.DEBUGGING.BUFFER'SPEC has 88/12/08 17:38:30 ... been restored. 88/12/08 17:38:43 +++ pack_body !USERS.BASIC_TEST_1.DEBUGGING.BUFFER'BODY 88/12/08 17:38:44 ... has been restored. 88/12/08 17:38:53 +++ proc_spec !USERS.BASIC_TEST_1.DEBUGGING. 88/12/08 17:38:53 ... PRODUCER_CONSUMER'SPEC has been restored. 88/12/08 17:39:14 +++ proc_body !USERS.BASIC_TEST_1.DEBUGGING. 88/12/08 17:39:14 ... PRODUCER_CONSUMER'BODY has been restored. 88/12/08 17:39:19 +++ world !USERS.BASIC_TEST_1.EXPERIMENT has been restored. 88/12/08 17:39:31 +++ pack_spec !USERS.BASIC_TEST_1.EXPERIMENT.LINE'SPEC has 88/12/08 17:39:31 ... been restored. 88/12/08 17:39:47 +++ pack_body !USERS.BASIC_TEST_1.EXPERIMENT.LINE'BODY has 88/12/08 17:39:47 ... been restored. 88/12/08 17:39:58 +++ pack_spec !USERS.BASIC_TEST_1.EXPERIMENT. 88/12/08 17:39:58 ... LINE_COPY'SPEC has been restored. 88/12/08 17:40:12 +++ pack_body !USERS.BASIC_TEST_1.EXPERIMENT. 88/12/08 17:40:12 ... LINE_COPY'BODY has been restored. 88/12/08 17:40:18 +++ pack_spec !USERS.BASIC_TEST_1.EXPERIMENT. 88/12/08 17:40:18 ... OVERLOADED_DECLARATIONS'SPEC has been restored. 88/12/08 17:40:23 +++ proc_spec !USERS.BASIC_TEST_1.EXPERIMENT. 88/12/08 17:40:23 ... PROGRAM_PROFILE'SPEC has been restored. 88/12/08 17:40:28 +++ proc_body !USERS.BASIC_TEST_1.EXPERIMENT. 88/12/08 17:40:28 ... PROGRAM_PROFILE'BODY has been restored. 88/12/08 17:41:16 +++ pack_spec !USERS.BASIC_TEST_1.EXPERIMENT.REPORT'SPEC 88/12/08 17:41:16 ... has been restored. 88/12/08 17:41:38 +++ pack_body !USERS.BASIC_TEST_1.EXPERIMENT.REPORT'BODY 88/12/08 17:41:38 ... has been restored. 88/12/08 17:41:47 +++ text !USERS.BASIC_TEST_1.EXPERIMENT.TEST_INPUT_1 has 88/12/08 17:41:47 ... been restored. 88/12/08 17:41:51 +++ text !USERS.BASIC_TEST_1.EXPERIMENT.TEST_INPUT_2 has 88/12/08 17:41:51 ... been restored. 88/12/08 17:42:02 +++ pack_spec !USERS.BASIC_TEST_1.EXPERIMENT.UNIT'SPEC has 88/12/08 17:42:02 ... been restored. 88/12/08 17:42:15 +++ pack_body !USERS.BASIC_TEST_1.EXPERIMENT.UNIT'BODY has 88/12/08 17:42:15 ... been restored. 88/12/08 17:42:19 +++ world !USERS.BASIC_TEST_1.MENU_EXERCISES has been 88/12/08 17:42:19 ... restored. 88/12/08 17:42:27 +++ proc_spec !USERS.BASIC_TEST_1.MENU_EXERCISES.MAIN'SPEC 88/12/08 17:42:27 ... has been restored. 88/12/08 17:42:32 +++ proc_body !USERS.BASIC_TEST_1.MENU_EXERCISES.MAIN'BODY 88/12/08 17:42:32 ... has been restored. 88/12/08 17:42:40 +++ pack_spec !USERS.BASIC_TEST_1.MENU_EXERCISES. 88/12/08 17:42:40 ... MESSAGE_IO'SPEC has been restored. 88/12/08 17:42:43 +++ pack_spec !USERS.BASIC_TEST_1.MENU_EXERCISES. 88/12/08 17:42:43 ... PROCESS'SPEC has been restored. 88/12/08 17:42:50 +++ pack_body !USERS.BASIC_TEST_1.MENU_EXERCISES. 88/12/08 17:42:50 ... PROCESS'BODY has been restored. 88/12/08 17:42:52 +++ directory !USERS.BASIC_TEST_1.NEW_TEXT has been 88/12/08 17:42:52 ... restored. 88/12/08 17:42:55 +++ text !USERS.BASIC_TEST_1.NEW_TEXT.FILE_1_TEMP has been 88/12/08 17:42:55 ... restored. 88/12/08 17:42:57 +++ text !USERS.BASIC_TEST_1.NEW_TEXT.FILE_2_TEMP has been 88/12/08 17:42:57 ... restored. 88/12/08 17:43:00 +++ world !USERS.BASIC_TEST_1.SOLUTIONS has been restored. 88/12/08 17:43:01 +++ world !USERS.BASIC_TEST_1.SOLUTIONS. 88/12/08 17:43:01 ... INCREMENTAL_EXERCISE has been restored. 88/12/08 17:43:08 +++ pack_spec !USERS.BASIC_TEST_1.SOLUTIONS. 88/12/08 17:43:08 ... INCREMENTAL_EXERCISE.LINE'SPEC has been restored. 88/12/08 17:43:14 +++ pack_body !USERS.BASIC_TEST_1.SOLUTIONS. 88/12/08 17:43:14 ... INCREMENTAL_EXERCISE.LINE'BODY has been restored. 88/12/08 17:43:20 +++ proc_spec !USERS.BASIC_TEST_1.SOLUTIONS. 88/12/08 17:43:20 ... INCREMENTAL_EXERCISE.PROGRAM_PROFILE'SPEC has been 88/12/08 17:43:20 ... restored. 88/12/08 17:43:23 +++ proc_body !USERS.BASIC_TEST_1.SOLUTIONS. 88/12/08 17:43:23 ... INCREMENTAL_EXERCISE.PROGRAM_PROFILE'BODY has been 88/12/08 17:43:23 ... restored. 88/12/08 17:43:27 +++ pack_spec !USERS.BASIC_TEST_1.SOLUTIONS. 88/12/08 17:43:27 ... INCREMENTAL_EXERCISE.REPORT'SPEC has been restored. 88/12/08 17:43:35 +++ pack_body !USERS.BASIC_TEST_1.SOLUTIONS. 88/12/08 17:43:35 ... INCREMENTAL_EXERCISE.REPORT'BODY has been restored. 88/12/08 17:43:38 +++ text !USERS.BASIC_TEST_1.SOLUTIONS. 88/12/08 17:43:38 ... INCREMENTAL_EXERCISE.TEST_INPUT_1 has been restored. 88/12/08 17:43:43 +++ text !USERS.BASIC_TEST_1.SOLUTIONS. 88/12/08 17:43:43 ... INCREMENTAL_EXERCISE.TEST_INPUT_2 has been restored. 88/12/08 17:43:49 +++ pack_spec !USERS.BASIC_TEST_1.SOLUTIONS. 88/12/08 17:43:49 ... INCREMENTAL_EXERCISE.UNIT'SPEC has been restored. 88/12/08 17:43:58 +++ pack_body !USERS.BASIC_TEST_1.SOLUTIONS. 88/12/08 17:43:58 ... INCREMENTAL_EXERCISE.UNIT'BODY has been restored. 88/12/08 17:44:01 +++ directory !USERS.BASIC_TEST_1.SOLUTIONS. 88/12/08 17:44:01 ... SUBUNIT_EXERCISE has been restored. 88/12/08 17:44:08 +++ pack_spec !USERS.BASIC_TEST_1.SOLUTIONS. 88/12/08 17:44:08 ... SUBUNIT_EXERCISE.LINE'SPEC has been restored. 88/12/08 17:44:12 +++ pack_body !USERS.BASIC_TEST_1.SOLUTIONS. 88/12/08 17:44:12 ... SUBUNIT_EXERCISE.LINE'BODY has been restored. 88/12/08 17:44:16 +++ func_body !USERS.BASIC_TEST_1.SOLUTIONS. 88/12/08 17:44:16 ... SUBUNIT_EXERCISE.LINE.LOCATE_COMMENT'BODY has been 88/12/08 17:44:16 ... restored. 88/12/08 17:44:20 +++ func_body !USERS.BASIC_TEST_1.SOLUTIONS. 88/12/08 17:44:20 ... SUBUNIT_EXERCISE.LINE.STRIP_BLANKS'BODY has been 88/12/08 17:44:20 ... restored. 88/12/08 17:44:27 +++ proc_spec !USERS.BASIC_TEST_1.SOLUTIONS. 88/12/08 17:44:27 ... SUBUNIT_EXERCISE.PROGRAM_PROFILE'SPEC has been 88/12/08 17:44:27 ... restored. 88/12/08 17:44:32 +++ proc_body !USERS.BASIC_TEST_1.SOLUTIONS. 88/12/08 17:44:32 ... SUBUNIT_EXERCISE.PROGRAM_PROFILE'BODY has been 88/12/08 17:44:32 ... restored. 88/12/08 17:44:37 +++ pack_spec !USERS.BASIC_TEST_1.SOLUTIONS. 88/12/08 17:44:37 ... SUBUNIT_EXERCISE.REPORT'SPEC has been restored. 88/12/08 17:44:44 +++ pack_body !USERS.BASIC_TEST_1.SOLUTIONS. 88/12/08 17:44:44 ... SUBUNIT_EXERCISE.REPORT'BODY has been restored. 88/12/08 17:44:47 +++ text !USERS.BASIC_TEST_1.SOLUTIONS.SUBUNIT_EXERCISE. 88/12/08 17:44:47 ... TEST_INPUT_1 has been restored. 88/12/08 17:44:50 +++ text !USERS.BASIC_TEST_1.SOLUTIONS.SUBUNIT_EXERCISE. 88/12/08 17:44:50 ... TEST_INPUT_2 has been restored. 88/12/08 17:44:55 +++ pack_spec !USERS.BASIC_TEST_1.SOLUTIONS. 88/12/08 17:44:55 ... SUBUNIT_EXERCISE.UNIT'SPEC has been restored. 88/12/08 17:45:01 +++ pack_body !USERS.BASIC_TEST_1.SOLUTIONS. 88/12/08 17:45:01 ... SUBUNIT_EXERCISE.UNIT'BODY has been restored. 88/12/08 17:45:08 +++ func_body !USERS.BASIC_TEST_1.SOLUTIONS. 88/12/08 17:45:08 ... SUBUNIT_EXERCISE.UNIT.ANALYZE'BODY has been restored. 88/12/08 17:45:14 +++ proc_spec !USERS.BASIC_TEST_1.SOLUTIONS. 88/12/08 17:45:14 ... ELAPSED_TIME_BENCHMARK'SPEC has been restored. 88/12/08 17:45:19 +++ proc_body !USERS.BASIC_TEST_1.SOLUTIONS. 88/12/08 17:45:19 ... ELAPSED_TIME_BENCHMARK'BODY has been restored. 88/12/08 17:45:22 +++ gen_proc !USERS.BASIC_TEST_1.SOLUTIONS. 88/12/08 17:45:22 ... GENERIC_BENCHMARK'SPEC has been restored. 88/12/08 17:45:27 +++ proc_body !USERS.BASIC_TEST_1.SOLUTIONS. 88/12/08 17:45:27 ... GENERIC_BENCHMARK'BODY has been restored. 88/12/08 17:45:28 +++ directory !USERS.BASIC_TEST_1.SOME_TEXT has been 88/12/08 17:45:28 ... restored. 88/12/08 17:45:30 +++ text !USERS.BASIC_TEST_1.SOME_TEXT.DO_NOT_COPY has 88/12/08 17:45:30 ... been restored. 88/12/08 17:45:32 +++ text !USERS.BASIC_TEST_1.SOME_TEXT.FILE_1 has been 88/12/08 17:45:32 ... restored. 88/12/08 17:45:35 +++ text !USERS.BASIC_TEST_1.SOME_TEXT.FILE_2 has been 88/12/08 17:45:35 ... restored. 88/12/08 17:45:36 +++ world !USERS.BASIC_TEST_1.SUBUNIT_EXERCISE has been 88/12/08 17:45:36 ... restored. 88/12/08 17:45:42 +++ pack_spec !USERS.BASIC_TEST_1.SUBUNIT_EXERCISE. 88/12/08 17:45:42 ... LINE'SPEC has been restored. 88/12/08 17:45:48 +++ pack_body !USERS.BASIC_TEST_1.SUBUNIT_EXERCISE. 88/12/08 17:45:48 ... LINE'BODY has been restored. 88/12/08 17:45:51 +++ ada unit !USERS.BASIC_TEST_1.SUBUNIT_EXERCISE.LINE. 88/12/08 17:45:51 ... KIND'BODY has been restored. 88/12/08 17:45:56 +++ proc_spec !USERS.BASIC_TEST_1.SUBUNIT_EXERCISE. 88/12/08 17:45:56 ... PROGRAM_PROFILE'SPEC has been restored. 88/12/08 17:45:59 +++ proc_body !USERS.BASIC_TEST_1.SUBUNIT_EXERCISE. 88/12/08 17:45:59 ... PROGRAM_PROFILE'BODY has been restored. 88/12/08 17:46:03 +++ pack_spec !USERS.BASIC_TEST_1.SUBUNIT_EXERCISE. 88/12/08 17:46:03 ... REPORT'SPEC has been restored. 88/12/08 17:46:09 +++ pack_body !USERS.BASIC_TEST_1.SUBUNIT_EXERCISE. 88/12/08 17:46:09 ... REPORT'BODY has been restored. 88/12/08 17:46:15 +++ pack_spec !USERS.BASIC_TEST_1.SUBUNIT_EXERCISE. 88/12/08 17:46:15 ... SYSTEM'SPEC has been restored. 88/12/08 17:46:22 +++ pack_body !USERS.BASIC_TEST_1.SUBUNIT_EXERCISE. 88/12/08 17:46:22 ... SYSTEM'BODY has been restored. 88/12/08 17:46:24 +++ text !USERS.BASIC_TEST_1.SUBUNIT_EXERCISE.TEST_INPUT_1 88/12/08 17:46:24 ... has been restored. 88/12/08 17:46:28 +++ text !USERS.BASIC_TEST_1.SUBUNIT_EXERCISE.TEST_INPUT_2 88/12/08 17:46:28 ... has been restored. 88/12/08 17:46:38 !!! Exception (UNDEFINED_SWITCH_NAME) setting switch 88/12/08 17:46:38 ... Cmvc_Enable_Relocation to False. 88/12/08 17:46:39 +++ switch !USERS.BASIC_TEST_1.S_2_SWITCHES has been 88/12/08 17:46:39 ... restored. 88/12/08 17:46:51 !!! Exception (UNDEFINED_SWITCH_NAME) setting switch 88/12/08 17:46:51 ... Cmvc_Enable_Relocation to False. 88/12/08 17:46:52 +++ switch !USERS.BASIC_TEST_1.S_3_SWITCHES has been 88/12/08 17:46:52 ... restored. 88/12/08 17:46:54 +++ text !USERS.BASIC_TEST_1.FACIT_MACROS has been 88/12/08 17:46:54 ... restored. 88/12/08 17:46:55 +++ text !USERS.BASIC_TEST_1.INDIRECT_FILE has been 88/12/08 17:46:55 ... restored. 88/12/08 17:46:58 +++ text !USERS.BASIC_TEST_1.RATIONAL_MACROS has been 88/12/08 17:46:58 ... restored. 88/12/08 17:46:58 --- restoring links for !USERS.BASIC_TEST_1.ACL_WORLD. 88/12/08 17:47:01 --- restoring links for !USERS.BASIC_TEST_1.DEBUGGING. 88/12/08 17:47:03 --- restoring links for !USERS.BASIC_TEST_1.EXPERIMENT. 88/12/08 17:47:06 --- restoring links for !USERS.BASIC_TEST_1.MENU_EXERCISES. 88/12/08 17:47:25 !!! can't restore link: DOCUMENT_BUILDER=>!COMMANDS. 88/12/08 17:47:25 ... DOCUMENT_BUILDER'SPEC in world !USERS.BASIC_TEST_1. 88/12/08 17:47:25 ... MENU_EXERCISES (UNDEFINED_SOURCE_NAME). 88/12/08 17:47:39 --- restoring links for !USERS.BASIC_TEST_1.SOLUTIONS. 88/12/08 17:47:59 !!! can't restore link: DOCUMENT_BUILDER=>!COMMANDS. 88/12/08 17:47:59 ... DOCUMENT_BUILDER'SPEC in world !USERS.BASIC_TEST_1. 88/12/08 17:47:59 ... SOLUTIONS (UNDEFINED_SOURCE_NAME). 88/12/08 17:48:12 --- restoring links for !USERS.BASIC_TEST_1.SOLUTIONS. 88/12/08 17:48:12 ... INCREMENTAL_EXERCISE. 88/12/08 17:48:26 --- restoring links for !USERS.BASIC_TEST_1. 88/12/08 17:48:26 ... SUBUNIT_EXERCISE. 88/12/08 17:48:45 --- promoting ada units. 88/12/08 17:48:59 +++ !USERS.BASIC_TEST_1.DEBUGGING.BUFFER'SPEC has been 88/12/08 17:48:59 ... INSTALLED. 88/12/08 17:49:14 +++ !USERS.BASIC_TEST_1.DEBUGGING.BUFFER'BODY has been 88/12/08 17:49:14 ... INSTALLED. 88/12/08 17:49:15 +++ !USERS.BASIC_TEST_1.DEBUGGING.PRODUCER_CONSUMER'SPEC 88/12/08 17:49:15 ... has been INSTALLED. 88/12/08 17:49:30 +++ !USERS.BASIC_TEST_1.DEBUGGING.PRODUCER_CONSUMER'BODY 88/12/08 17:49:30 ... has been INSTALLED. 88/12/08 17:49:35 +++ !USERS.BASIC_TEST_1.EXPERIMENT.LINE'SPEC has been 88/12/08 17:49:35 ... INSTALLED. 88/12/08 17:49:43 +++ !USERS.BASIC_TEST_1.EXPERIMENT.LINE'BODY has been 88/12/08 17:49:43 ... INSTALLED. 88/12/08 17:49:47 +++ !USERS.BASIC_TEST_1.EXPERIMENT.LINE_COPY'SPEC has been 88/12/08 17:49:47 ... INSTALLED. 88/12/08 17:49:56 +++ !USERS.BASIC_TEST_1.EXPERIMENT.LINE_COPY'BODY has been 88/12/08 17:49:56 ... INSTALLED. 88/12/08 17:49:59 +++ !USERS.BASIC_TEST_1.EXPERIMENT. 88/12/08 17:49:59 ... OVERLOADED_DECLARATIONS'SPEC has been INSTALLED. 88/12/08 17:50:02 +++ !USERS.BASIC_TEST_1.EXPERIMENT.UNIT'SPEC has been 88/12/08 17:50:02 ... INSTALLED. 88/12/08 17:50:05 +++ !USERS.BASIC_TEST_1.EXPERIMENT.REPORT'SPEC has been 88/12/08 17:50:05 ... INSTALLED. 88/12/08 17:50:07 +++ !USERS.BASIC_TEST_1.EXPERIMENT.PROGRAM_PROFILE'SPEC 88/12/08 17:50:07 ... has been INSTALLED. 88/12/08 17:50:10 +++ !USERS.BASIC_TEST_1.EXPERIMENT.PROGRAM_PROFILE'BODY 88/12/08 17:50:10 ... has been INSTALLED. 88/12/08 17:50:21 +++ !USERS.BASIC_TEST_1.EXPERIMENT.REPORT'BODY has been 88/12/08 17:50:21 ... INSTALLED. 88/12/08 17:50:29 +++ !USERS.BASIC_TEST_1.EXPERIMENT.UNIT'BODY has been 88/12/08 17:50:29 ... INSTALLED. 88/12/08 17:50:32 +++ !USERS.BASIC_TEST_1.MENU_EXERCISES.MAIN'SPEC has been 88/12/08 17:50:32 ... INSTALLED. 88/12/08 17:50:39 +++ !USERS.BASIC_TEST_1.MENU_EXERCISES.MESSAGE_IO'SPEC has 88/12/08 17:50:39 ... been INSTALLED. 88/12/08 17:50:44 +++ !USERS.BASIC_TEST_1.MENU_EXERCISES.PROCESS'SPEC has 88/12/08 17:50:44 ... been INSTALLED. 88/12/08 17:50:48 +++ !USERS.BASIC_TEST_1.MENU_EXERCISES.MAIN'BODY has been 88/12/08 17:50:48 ... INSTALLED. 88/12/08 17:50:55 +++ !USERS.BASIC_TEST_1.MENU_EXERCISES.PROCESS'BODY has 88/12/08 17:50:55 ... been INSTALLED. 88/12/08 17:50:59 +++ !USERS.BASIC_TEST_1.SOLUTIONS.INCREMENTAL_EXERCISE. 88/12/08 17:50:59 ... LINE'SPEC has been INSTALLED. 88/12/08 17:51:05 +++ !USERS.BASIC_TEST_1.SOLUTIONS.INCREMENTAL_EXERCISE. 88/12/08 17:51:05 ... LINE'BODY has been INSTALLED. 88/12/08 17:51:10 +++ !USERS.BASIC_TEST_1.SOLUTIONS.INCREMENTAL_EXERCISE. 88/12/08 17:51:10 ... UNIT'SPEC has been INSTALLED. 88/12/08 17:51:12 +++ !USERS.BASIC_TEST_1.SOLUTIONS.INCREMENTAL_EXERCISE. 88/12/08 17:51:12 ... REPORT'SPEC has been INSTALLED. 88/12/08 17:51:14 +++ !USERS.BASIC_TEST_1.SOLUTIONS.INCREMENTAL_EXERCISE. 88/12/08 17:51:14 ... PROGRAM_PROFILE'SPEC has been INSTALLED. 88/12/08 17:51:16 +++ !USERS.BASIC_TEST_1.SOLUTIONS.INCREMENTAL_EXERCISE. 88/12/08 17:51:16 ... PROGRAM_PROFILE'BODY has been INSTALLED. 88/12/08 17:51:27 +++ !USERS.BASIC_TEST_1.SOLUTIONS.INCREMENTAL_EXERCISE. 88/12/08 17:51:27 ... REPORT'BODY has been INSTALLED. 88/12/08 17:51:37 +++ !USERS.BASIC_TEST_1.SOLUTIONS.INCREMENTAL_EXERCISE. 88/12/08 17:51:37 ... UNIT'BODY has been INSTALLED. 88/12/08 17:51:41 +++ !USERS.BASIC_TEST_1.SOLUTIONS.SUBUNIT_EXERCISE. 88/12/08 17:51:41 ... LINE'SPEC has been INSTALLED. 88/12/08 17:51:47 +++ !USERS.BASIC_TEST_1.SOLUTIONS.SUBUNIT_EXERCISE. 88/12/08 17:51:47 ... LINE'BODY has been INSTALLED. 88/12/08 17:51:51 +++ !USERS.BASIC_TEST_1.SOLUTIONS.SUBUNIT_EXERCISE.LINE. 88/12/08 17:51:51 ... LOCATE_COMMENT'BODY has been INSTALLED. 88/12/08 17:51:54 +++ !USERS.BASIC_TEST_1.SOLUTIONS.SUBUNIT_EXERCISE.LINE. 88/12/08 17:51:54 ... STRIP_BLANKS'BODY has been INSTALLED. 88/12/08 17:51:59 +++ !USERS.BASIC_TEST_1.SOLUTIONS.SUBUNIT_EXERCISE. 88/12/08 17:51:59 ... UNIT'SPEC has been INSTALLED. 88/12/08 17:52:00 +++ !USERS.BASIC_TEST_1.SOLUTIONS.SUBUNIT_EXERCISE. 88/12/08 17:52:00 ... REPORT'SPEC has been INSTALLED. 88/12/08 17:52:02 +++ !USERS.BASIC_TEST_1.SOLUTIONS.SUBUNIT_EXERCISE. 88/12/08 17:52:02 ... PROGRAM_PROFILE'SPEC has been INSTALLED. 88/12/08 17:52:06 +++ !USERS.BASIC_TEST_1.SOLUTIONS.SUBUNIT_EXERCISE. 88/12/08 17:52:06 ... PROGRAM_PROFILE'BODY has been INSTALLED. 88/12/08 17:52:15 +++ !USERS.BASIC_TEST_1.SOLUTIONS.SUBUNIT_EXERCISE. 88/12/08 17:52:15 ... REPORT'BODY has been INSTALLED. 88/12/08 17:52:19 +++ !USERS.BASIC_TEST_1.SOLUTIONS.SUBUNIT_EXERCISE. 88/12/08 17:52:19 ... UNIT'BODY has been INSTALLED. 88/12/08 17:52:26 +++ !USERS.BASIC_TEST_1.SOLUTIONS.SUBUNIT_EXERCISE.UNIT. 88/12/08 17:52:26 ... ANALYZE'BODY has been INSTALLED. 88/12/08 17:52:29 +++ !USERS.BASIC_TEST_1.SOLUTIONS. 88/12/08 17:52:29 ... ELAPSED_TIME_BENCHMARK'SPEC has been INSTALLED. 88/12/08 17:52:41 +++ !USERS.BASIC_TEST_1.SOLUTIONS. 88/12/08 17:52:41 ... ELAPSED_TIME_BENCHMARK'BODY has been INSTALLED. 88/12/08 17:52:45 +++ !USERS.BASIC_TEST_1.SOLUTIONS.GENERIC_BENCHMARK'SPEC 88/12/08 17:52:45 ... has been INSTALLED. 88/12/08 17:52:54 +++ !USERS.BASIC_TEST_1.SOLUTIONS.GENERIC_BENCHMARK'BODY 88/12/08 17:52:54 ... has been INSTALLED. 88/12/08 17:52:59 +++ !USERS.BASIC_TEST_1.SUBUNIT_EXERCISE.LINE'SPEC has 88/12/08 17:52:59 ... been INSTALLED. 88/12/08 17:53:06 +++ !USERS.BASIC_TEST_1.SUBUNIT_EXERCISE.SYSTEM'SPEC has 88/12/08 17:53:06 ... been INSTALLED. 88/12/08 17:53:09 +++ !USERS.BASIC_TEST_1.SUBUNIT_EXERCISE.REPORT'SPEC has 88/12/08 17:53:09 ... been INSTALLED. 88/12/08 17:53:11 +++ !USERS.BASIC_TEST_1.SUBUNIT_EXERCISE. 88/12/08 17:53:11 ... PROGRAM_PROFILE'SPEC has been INSTALLED. 88/12/08 17:53:13 +++ !USERS.BASIC_TEST_1.SUBUNIT_EXERCISE. 88/12/08 17:53:13 ... PROGRAM_PROFILE'BODY has been INSTALLED. 88/12/08 17:53:19 +++ !USERS.BASIC_TEST_1.SUBUNIT_EXERCISE.REPORT'BODY has 88/12/08 17:53:19 ... been INSTALLED. 88/12/08 17:53:19 +++ 49 units were INSTALLED. 88/12/08 17:53:33 +++ !USERS.BASIC_TEST_1.DEBUGGING.BUFFER'SPEC has been 88/12/08 17:53:33 ... CODED. 88/12/08 17:53:38 +++ !USERS.BASIC_TEST_1.DEBUGGING.BUFFER'BODY has been 88/12/08 17:53:38 ... CODED. 88/12/08 17:53:38 +++ !USERS.BASIC_TEST_1.DEBUGGING.PRODUCER_CONSUMER'SPEC 88/12/08 17:53:38 ... has been CODED. 88/12/08 17:53:46 +++ !USERS.BASIC_TEST_1.DEBUGGING.PRODUCER_CONSUMER'BODY 88/12/08 17:53:46 ... has been CODED. 88/12/08 17:53:46 +++ !USERS.BASIC_TEST_1.EXPERIMENT.LINE'SPEC has been 88/12/08 17:53:46 ... CODED. 88/12/08 17:53:50 +++ !USERS.BASIC_TEST_1.EXPERIMENT.LINE'BODY has been 88/12/08 17:53:50 ... CODED. 88/12/08 17:53:50 +++ !USERS.BASIC_TEST_1.EXPERIMENT.LINE_COPY'SPEC has been 88/12/08 17:53:50 ... CODED. 88/12/08 17:53:54 +++ !USERS.BASIC_TEST_1.EXPERIMENT.LINE_COPY'BODY has been 88/12/08 17:53:54 ... CODED. 88/12/08 17:53:55 +++ !USERS.BASIC_TEST_1.EXPERIMENT.UNIT'SPEC has been 88/12/08 17:53:55 ... CODED. 88/12/08 17:53:55 +++ !USERS.BASIC_TEST_1.EXPERIMENT.REPORT'SPEC has been 88/12/08 17:53:55 ... CODED. 88/12/08 17:53:56 +++ !USERS.BASIC_TEST_1.EXPERIMENT.PROGRAM_PROFILE'SPEC 88/12/08 17:53:56 ... has been CODED. 88/12/08 17:53:57 +++ !USERS.BASIC_TEST_1.EXPERIMENT.PROGRAM_PROFILE'BODY 88/12/08 17:53:57 ... has been CODED. 88/12/08 17:54:03 +++ !USERS.BASIC_TEST_1.EXPERIMENT.REPORT'BODY has been 88/12/08 17:54:03 ... CODED. 88/12/08 17:54:07 +++ !USERS.BASIC_TEST_1.EXPERIMENT.UNIT'BODY has been 88/12/08 17:54:07 ... CODED. 88/12/08 17:54:08 +++ !USERS.BASIC_TEST_1.SOLUTIONS.INCREMENTAL_EXERCISE. 88/12/08 17:54:08 ... LINE'SPEC has been CODED. 88/12/08 17:54:12 +++ !USERS.BASIC_TEST_1.SOLUTIONS.INCREMENTAL_EXERCISE. 88/12/08 17:54:12 ... LINE'BODY has been CODED. 88/12/08 17:54:13 +++ !USERS.BASIC_TEST_1.SOLUTIONS.INCREMENTAL_EXERCISE. 88/12/08 17:54:13 ... UNIT'SPEC has been CODED. 88/12/08 17:54:15 +++ !USERS.BASIC_TEST_1.SOLUTIONS.INCREMENTAL_EXERCISE. 88/12/08 17:54:15 ... REPORT'SPEC has been CODED. 88/12/08 17:54:15 +++ !USERS.BASIC_TEST_1.SOLUTIONS.INCREMENTAL_EXERCISE. 88/12/08 17:54:15 ... PROGRAM_PROFILE'SPEC has been CODED. 88/12/08 17:54:19 +++ !USERS.BASIC_TEST_1.SOLUTIONS.INCREMENTAL_EXERCISE. 88/12/08 17:54:19 ... PROGRAM_PROFILE'BODY has been CODED. 88/12/08 17:54:24 +++ !USERS.BASIC_TEST_1.SOLUTIONS.INCREMENTAL_EXERCISE. 88/12/08 17:54:24 ... REPORT'BODY has been CODED. 88/12/08 17:54:31 !!! Prompt encountered on statement list. 88/12/08 17:54:31 !!! !USERS.BASIC_TEST_1.SOLUTIONS.INCREMENTAL_EXERCISE. 88/12/08 17:54:31 ... UNIT'BODY was CODED with 1 warnings. 88/12/08 17:54:31 +++ !USERS.BASIC_TEST_1.SOLUTIONS.INCREMENTAL_EXERCISE. 88/12/08 17:54:31 ... UNIT'BODY has been CODED. 88/12/08 17:54:32 +++ !USERS.BASIC_TEST_1.SOLUTIONS.SUBUNIT_EXERCISE. 88/12/08 17:54:32 ... LINE'SPEC has been CODED. 88/12/08 17:54:34 +++ !USERS.BASIC_TEST_1.SOLUTIONS.SUBUNIT_EXERCISE. 88/12/08 17:54:34 ... LINE'BODY has been CODED. 88/12/08 17:54:36 +++ !USERS.BASIC_TEST_1.SOLUTIONS.SUBUNIT_EXERCISE.LINE. 88/12/08 17:54:36 ... LOCATE_COMMENT'BODY has been CODED. 88/12/08 17:54:38 +++ !USERS.BASIC_TEST_1.SOLUTIONS.SUBUNIT_EXERCISE.LINE. 88/12/08 17:54:38 ... STRIP_BLANKS'BODY has been CODED. 88/12/08 17:54:39 +++ !USERS.BASIC_TEST_1.SOLUTIONS.SUBUNIT_EXERCISE. 88/12/08 17:54:39 ... UNIT'SPEC has been CODED. 88/12/08 17:54:39 +++ !USERS.BASIC_TEST_1.SOLUTIONS.SUBUNIT_EXERCISE. 88/12/08 17:54:39 ... REPORT'SPEC has been CODED. 88/12/08 17:54:40 +++ !USERS.BASIC_TEST_1.SOLUTIONS.SUBUNIT_EXERCISE. 88/12/08 17:54:40 ... PROGRAM_PROFILE'SPEC has been CODED. 88/12/08 17:54:42 +++ !USERS.BASIC_TEST_1.SOLUTIONS.SUBUNIT_EXERCISE. 88/12/08 17:54:42 ... PROGRAM_PROFILE'BODY has been CODED. 88/12/08 17:54:47 +++ !USERS.BASIC_TEST_1.SOLUTIONS.SUBUNIT_EXERCISE. 88/12/08 17:54:47 ... REPORT'BODY has been CODED. 88/12/08 17:54:49 +++ !USERS.BASIC_TEST_1.SOLUTIONS.SUBUNIT_EXERCISE. 88/12/08 17:54:49 ... UNIT'BODY has been CODED. 88/12/08 17:54:53 +++ !USERS.BASIC_TEST_1.SOLUTIONS.SUBUNIT_EXERCISE.UNIT. 88/12/08 17:54:53 ... ANALYZE'BODY has been CODED. 88/12/08 17:54:53 +++ !USERS.BASIC_TEST_1.SOLUTIONS. 88/12/08 17:54:53 ... ELAPSED_TIME_BENCHMARK'SPEC has been CODED. 88/12/08 17:54:54 +++ !USERS.BASIC_TEST_1.SOLUTIONS.GENERIC_BENCHMARK'SPEC 88/12/08 17:54:54 ... has been CODED. 88/12/08 17:54:55 +++ !USERS.BASIC_TEST_1.SUBUNIT_EXERCISE.LINE'SPEC has 88/12/08 17:54:55 ... been CODED. 88/12/08 17:54:56 +++ !USERS.BASIC_TEST_1.SUBUNIT_EXERCISE.SYSTEM'SPEC has 88/12/08 17:54:56 ... been CODED. 88/12/08 17:54:56 +++ !USERS.BASIC_TEST_1.SUBUNIT_EXERCISE.REPORT'SPEC has 88/12/08 17:54:56 ... been CODED. 88/12/08 17:54:57 +++ !USERS.BASIC_TEST_1.SUBUNIT_EXERCISE. 88/12/08 17:54:57 ... PROGRAM_PROFILE'SPEC has been CODED. 88/12/08 17:54:59 +++ !USERS.BASIC_TEST_1.SUBUNIT_EXERCISE. 88/12/08 17:54:59 ... PROGRAM_PROFILE'BODY has been CODED. 88/12/08 17:55:05 +++ !USERS.BASIC_TEST_1.SUBUNIT_EXERCISE.REPORT'BODY has 88/12/08 17:55:05 ... been CODED. 88/12/08 17:55:05 +++ 41 units were CODED. 88/12/08 17:55:34 --- 80 objects were restored. 88/12/08 17:55:34 --- [end of Archive.Restore operation]. 88/12/08 17:55:35 --- [Archive.Restore rev 464, objects => "!Users. 88/12/08 17:55:35 ... Fundamentals_Master.[Baseball_System, Debugging.@, 88/12/08 17:55:35 ... Experiment.@, Project_1,Pt_Model, Sample_File, 88/12/08 17:55:35 ... Statistics_System]", use_prefix => "!Users. 88/12/08 17:55:35 ... Basic_Test_1", for_prefix => "!Users. 88/12/08 17:55:35 ... Fundamentals_Master", options => "R1000, PROMOTE, 88/12/08 17:55:35 ... PRIMARY, BECOME_OWNER, WORLD_ACL=(Network_Public => 88/12/08 17:55:35 ... RWCOD), DEFAULT_ACL=(Network_Public => RW), 88/12/08 17:55:35 ... OBJECT_ACL=(Network_Public => RW)", device => 88/12/08 17:55:35 ... "!Training.Software_Releases.Fundamentals.Delta1_Rev1", 88/12/08 17:55:35 ... response => "<PROFILE>"]. 88/12/08 17:55:37 --- restoring from an archive done with version 461. 88/12/08 17:55:40 +++ world !USERS.BASIC_TEST_1.BASEBALL_SYSTEM has been 88/12/08 17:55:40 ... restored. 88/12/08 17:55:54 +++ pack_spec !USERS.BASIC_TEST_1.BASEBALL_SYSTEM. 88/12/08 17:55:54 ... BASEBALL'SPEC has been restored. 88/12/08 17:56:06 +++ pack_body !USERS.BASIC_TEST_1.BASEBALL_SYSTEM. 88/12/08 17:56:06 ... BASEBALL'BODY has been restored. 88/12/08 17:56:15 +++ proc_spec !USERS.BASIC_TEST_1.BASEBALL_SYSTEM. 88/12/08 17:56:15 ... BASEBALL_STATISTICS'SPEC has been restored. 88/12/08 17:56:28 +++ proc_body !USERS.BASIC_TEST_1.BASEBALL_SYSTEM. 88/12/08 17:56:28 ... BASEBALL_STATISTICS'BODY has been restored. 88/12/08 17:56:33 +++ pack_spec !USERS.BASIC_TEST_1.BASEBALL_SYSTEM. 88/12/08 17:56:33 ... DATA_INPUTTER'SPEC has been restored. 88/12/08 17:56:37 +++ pack_body !USERS.BASIC_TEST_1.BASEBALL_SYSTEM. 88/12/08 17:56:37 ... DATA_INPUTTER'BODY has been restored. 88/12/08 17:56:41 +++ pack_spec !USERS.BASIC_TEST_1.BASEBALL_SYSTEM. 88/12/08 17:56:41 ... FORMATTER'SPEC has been restored. 88/12/08 17:56:45 +++ pack_body !USERS.BASIC_TEST_1.BASEBALL_SYSTEM. 88/12/08 17:56:45 ... FORMATTER'BODY has been restored. 88/12/08 17:56:49 +++ proc_spec !USERS.BASIC_TEST_1.DEBUGGING. 88/12/08 17:56:49 ... DEBUG_FACTORIAL'SPEC has been restored. 88/12/08 17:56:53 +++ proc_body !USERS.BASIC_TEST_1.DEBUGGING. 88/12/08 17:56:53 ... DEBUG_FACTORIAL'BODY has been restored. 88/12/08 17:56:55 +++ text !USERS.BASIC_TEST_1.EXPERIMENT.INPUT1 has been 88/12/08 17:56:55 ... restored. 88/12/08 17:56:57 +++ text !USERS.BASIC_TEST_1.EXPERIMENT.INPUT2 has been 88/12/08 17:56:57 ... restored. 88/12/08 17:56:59 +++ world !USERS.BASIC_TEST_1.PROJECT_1 has been restored. 88/12/08 17:57:00 +++ world !USERS.BASIC_TEST_1.PROJECT_1.CODE_GENERATOR has 88/12/08 17:57:00 ... been restored. 88/12/08 17:57:01 +++ world !USERS.BASIC_TEST_1.PROJECT_1.CODE_GENERATOR. 88/12/08 17:57:01 ... RELEASE_1 has been restored. 88/12/08 17:57:04 +++ text !USERS.BASIC_TEST_1.PROJECT_1.CODE_GENERATOR. 88/12/08 17:57:04 ... RELEASE_1.HISTORY_LOG_07_05_85 has been restored. 88/12/08 17:57:06 +++ text !USERS.BASIC_TEST_1.PROJECT_1.CODE_GENERATOR. 88/12/08 17:57:06 ... RELEASE_1.HISTORY_LOG_07_12_85 has been restored. 88/12/08 17:57:07 +++ world !USERS.BASIC_TEST_1.PROJECT_1.CODE_GENERATOR. 88/12/08 17:57:07 ... RELEASE_2 has been restored. 88/12/08 17:57:08 +++ world !USERS.BASIC_TEST_1.PROJECT_1.CODE_GENERATOR. 88/12/08 17:57:08 ... RELEASE_3 has been restored. 88/12/08 17:57:11 +++ directory !USERS.BASIC_TEST_1.PROJECT_1. 88/12/08 17:57:11 ... DEVELOPMENT_POLICIES has been restored. 88/12/08 17:57:13 +++ text !USERS.BASIC_TEST_1.PROJECT_1. 88/12/08 17:57:13 ... DEVELOPMENT_POLICIES.CODING_POLICY has been restored. 88/12/08 17:57:15 +++ text !USERS.BASIC_TEST_1.PROJECT_1. 88/12/08 17:57:15 ... DEVELOPMENT_POLICIES.CURRENT_UTILITIES has been 88/12/08 17:57:15 ... restored. 88/12/08 17:57:16 +++ text !USERS.BASIC_TEST_1.PROJECT_1. 88/12/08 17:57:16 ... DEVELOPMENT_POLICIES.HELP_ON_COMMANDS has been 88/12/08 17:57:16 ... restored. 88/12/08 17:57:19 +++ text !USERS.BASIC_TEST_1.PROJECT_1. 88/12/08 17:57:19 ... DEVELOPMENT_POLICIES.HISTORY_NOTES has been restored. 88/12/08 17:57:20 +++ world !USERS.BASIC_TEST_1.PROJECT_1.LINKER has been 88/12/08 17:57:20 ... restored. 88/12/08 17:57:21 +++ world !USERS.BASIC_TEST_1.PROJECT_1.LINKER.RELEASE_1 88/12/08 17:57:21 ... has been restored. 88/12/08 17:57:24 +++ world !USERS.BASIC_TEST_1.PROJECT_1.LINKER.RELEASE_2 88/12/08 17:57:24 ... has been restored. 88/12/08 17:57:27 +++ text !USERS.BASIC_TEST_1.PROJECT_1.LINKER.RELEASE_2. 88/12/08 17:57:27 ... RELEASE_NOTES has been restored. 88/12/08 17:57:29 +++ world !USERS.BASIC_TEST_1.PT_MODEL has been restored. 88/12/08 17:57:32 +++ world !USERS.BASIC_TEST_1.STATISTICS_SYSTEM has been 88/12/08 17:57:32 ... restored. 88/12/08 17:57:35 +++ text !USERS.BASIC_TEST_1.SAMPLE_FILE has been restored. 88/12/08 17:57:35 --- restoring links for !USERS.BASIC_TEST_1. 88/12/08 17:57:35 ... BASEBALL_SYSTEM. 88/12/08 17:57:36 --- restoring links for !USERS.BASIC_TEST_1.PROJECT_1. 88/12/08 17:57:38 --- restoring links for !USERS.BASIC_TEST_1.PT_MODEL. 88/12/08 17:57:38 --- restoring links for !USERS.BASIC_TEST_1. 88/12/08 17:57:38 ... STATISTICS_SYSTEM. 88/12/08 17:57:41 --- promoting ada units. 88/12/08 17:57:58 +++ !USERS.BASIC_TEST_1.BASEBALL_SYSTEM.BASEBALL'SPEC has 88/12/08 17:57:58 ... been INSTALLED. 88/12/08 17:58:06 +++ !USERS.BASIC_TEST_1.BASEBALL_SYSTEM.BASEBALL'BODY has 88/12/08 17:58:06 ... been INSTALLED. 88/12/08 17:58:08 +++ !USERS.BASIC_TEST_1.BASEBALL_SYSTEM. 88/12/08 17:58:08 ... BASEBALL_STATISTICS'SPEC has been INSTALLED. 88/12/08 17:58:10 +++ !USERS.BASIC_TEST_1.BASEBALL_SYSTEM.DATA_INPUTTER'SPEC 88/12/08 17:58:10 ... has been INSTALLED. 88/12/08 17:58:12 +++ !USERS.BASIC_TEST_1.BASEBALL_SYSTEM.FORMATTER'SPEC has 88/12/08 17:58:12 ... been INSTALLED. 88/12/08 17:58:15 +++ !USERS.BASIC_TEST_1.BASEBALL_SYSTEM. 88/12/08 17:58:15 ... BASEBALL_STATISTICS'BODY has been INSTALLED. 88/12/08 17:58:21 +++ !USERS.BASIC_TEST_1.BASEBALL_SYSTEM.DATA_INPUTTER'BODY 88/12/08 17:58:21 ... has been INSTALLED. 88/12/08 17:58:29 +++ !USERS.BASIC_TEST_1.BASEBALL_SYSTEM.FORMATTER'BODY has 88/12/08 17:58:29 ... been INSTALLED. 88/12/08 17:58:31 +++ !USERS.BASIC_TEST_1.DEBUGGING.DEBUG_FACTORIAL'SPEC has 88/12/08 17:58:31 ... been INSTALLED. 88/12/08 17:58:34 +++ !USERS.BASIC_TEST_1.DEBUGGING.DEBUG_FACTORIAL'BODY has 88/12/08 17:58:34 ... been INSTALLED. 88/12/08 17:58:36 +++ !USERS.BASIC_TEST_1.BASEBALL_SYSTEM.BASEBALL'SPEC has 88/12/08 17:58:36 ... been CODED. 88/12/08 17:58:42 +++ !USERS.BASIC_TEST_1.BASEBALL_SYSTEM.BASEBALL'BODY has 88/12/08 17:58:42 ... been CODED. 88/12/08 17:58:43 +++ !USERS.BASIC_TEST_1.BASEBALL_SYSTEM. 88/12/08 17:58:43 ... BASEBALL_STATISTICS'SPEC has been CODED. 88/12/08 17:58:44 +++ !USERS.BASIC_TEST_1.BASEBALL_SYSTEM.DATA_INPUTTER'SPEC 88/12/08 17:58:44 ... has been CODED. 88/12/08 17:58:45 +++ !USERS.BASIC_TEST_1.BASEBALL_SYSTEM.FORMATTER'SPEC has 88/12/08 17:58:45 ... been CODED. 88/12/08 17:58:47 +++ !USERS.BASIC_TEST_1.BASEBALL_SYSTEM. 88/12/08 17:58:47 ... BASEBALL_STATISTICS'BODY has been CODED. 88/12/08 17:58:50 +++ !USERS.BASIC_TEST_1.BASEBALL_SYSTEM.DATA_INPUTTER'BODY 88/12/08 17:58:50 ... has been CODED. 88/12/08 17:58:52 +++ !USERS.BASIC_TEST_1.BASEBALL_SYSTEM.FORMATTER'BODY has 88/12/08 17:58:52 ... been CODED. 88/12/08 17:58:53 +++ !USERS.BASIC_TEST_1.DEBUGGING.DEBUG_FACTORIAL'SPEC has 88/12/08 17:58:53 ... been CODED. 88/12/08 17:58:54 +++ !USERS.BASIC_TEST_1.DEBUGGING.DEBUG_FACTORIAL'BODY has 88/12/08 17:58:54 ... been CODED. 88/12/08 17:58:54 +++ 10 units were INSTALLED. 88/12/08 17:58:54 +++ 10 units were CODED. 88/12/08 17:59:00 --- 32 objects were restored. 88/12/08 17:59:00 --- [end of Archive.Restore operation]. 88/12/08 17:59:00 --- [Archive.Restore rev 464, objects => "!users. 88/12/08 17:59:00 ... Subsystems_Cmvc_Master.[Program_profile_system, 88/12/08 17:59:00 ... Subsystem_application, Subsystem_Solution]", 88/12/08 17:59:00 ... use_prefix => "!Users.Basic_Test_1", for_prefix => 88/12/08 17:59:00 ... "!Users.Subsystems_Cmvc_Master", options => "R1000, 88/12/08 17:59:00 ... PROMOTE, PRIMARY, BECOME_OWNER, 88/12/08 17:59:00 ... WORLD_ACL=(Network_Public => RWCOD), 88/12/08 17:59:00 ... DEFAULT_ACL=(Network_Public => RW), 88/12/08 17:59:00 ... OBJECT_ACL=(Network_Public => RW)", device => 88/12/08 17:59:00 ... "!Training.Software_Releases.Subsystems_Cmvc. 88/12/08 17:59:00 ... Delta1_Rev1", response => "<PROFILE>"]. 88/12/08 17:59:00 --- restoring from an archive done with version 450. 88/12/08 17:59:02 +++ world !USERS.BASIC_TEST_1.PROGRAM_PROFILE_SYSTEM has 88/12/08 17:59:02 ... been restored. 88/12/08 17:59:04 +++ pack_spec !USERS.BASIC_TEST_1.PROGRAM_PROFILE_SYSTEM. 88/12/08 17:59:04 ... LINE'SPEC has been restored. 88/12/08 17:59:07 +++ pack_body !USERS.BASIC_TEST_1.PROGRAM_PROFILE_SYSTEM. 88/12/08 17:59:07 ... LINE'BODY has been restored. 88/12/08 17:59:09 +++ proc_spec !USERS.BASIC_TEST_1.PROGRAM_PROFILE_SYSTEM. 88/12/08 17:59:09 ... PROGRAM_PROFILE'SPEC has been restored. 88/12/08 17:59:11 +++ proc_body !USERS.BASIC_TEST_1.PROGRAM_PROFILE_SYSTEM. 88/12/08 17:59:11 ... PROGRAM_PROFILE'BODY has been restored. 88/12/08 17:59:13 +++ pack_spec !USERS.BASIC_TEST_1.PROGRAM_PROFILE_SYSTEM. 88/12/08 17:59:13 ... REPORT'SPEC has been restored. 88/12/08 17:59:16 +++ pack_body !USERS.BASIC_TEST_1.PROGRAM_PROFILE_SYSTEM. 88/12/08 17:59:16 ... REPORT'BODY has been restored. 88/12/08 17:59:18 +++ proc_spec !USERS.BASIC_TEST_1.PROGRAM_PROFILE_SYSTEM. 88/12/08 17:59:18 ... TEST_DRIVER1'SPEC has been restored. 88/12/08 17:59:21 +++ proc_body !USERS.BASIC_TEST_1.PROGRAM_PROFILE_SYSTEM. 88/12/08 17:59:21 ... TEST_DRIVER1'BODY has been restored. 88/12/08 17:59:22 +++ text !USERS.BASIC_TEST_1.PROGRAM_PROFILE_SYSTEM. 88/12/08 17:59:22 ... TEST_INPUT_1 has been restored. 88/12/08 17:59:24 +++ text !USERS.BASIC_TEST_1.PROGRAM_PROFILE_SYSTEM. 88/12/08 17:59:24 ... TEST_INPUT_2 has been restored. 88/12/08 17:59:26 +++ pack_spec !USERS.BASIC_TEST_1.PROGRAM_PROFILE_SYSTEM. 88/12/08 17:59:26 ... UNIT'SPEC has been restored. 88/12/08 17:59:30 +++ pack_body !USERS.BASIC_TEST_1.PROGRAM_PROFILE_SYSTEM. 88/12/08 17:59:30 ... UNIT'BODY has been restored. 88/12/08 17:59:31 +++ world !USERS.BASIC_TEST_1.SUBSYSTEM_APPLICATION has 88/12/08 17:59:31 ... been restored. 88/12/08 17:59:32 +++ world !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION has been 88/12/08 17:59:32 ... restored. 88/12/08 17:59:33 +++ world !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION.MODEL has 88/12/08 17:59:33 ... been restored. 88/12/08 17:59:34 +++ subsystem !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 17:59:34 ... REPORT_SUBSYSTEM has been restored. 88/12/08 17:59:35 +++ directory !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 17:59:35 ... REPORT_SUBSYSTEM.CONFIGURATIONS has been restored. 88/12/08 17:59:36 +++ directory !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 17:59:36 ... REPORT_SUBSYSTEM.CONFIGURATIONS.REV1_0_1_STATE has 88/12/08 17:59:36 ... been restored. 88/12/08 17:59:37 +++ switch !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 17:59:37 ... REPORT_SUBSYSTEM.CONFIGURATIONS.REV1_0_1_STATE. 88/12/08 17:59:37 ... COMPILER_SWITCHES has been restored. 88/12/08 17:59:38 +++ file !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 17:59:38 ... REPORT_SUBSYSTEM.CONFIGURATIONS.REV1_0_1_STATE.EXPORTS 88/12/08 17:59:38 ... has been restored. 88/12/08 17:59:39 +++ file !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 17:59:39 ... REPORT_SUBSYSTEM.CONFIGURATIONS.REV1_0_1_STATE.IMPORTS 88/12/08 17:59:39 ... has been restored. 88/12/08 17:59:41 +++ file !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 17:59:41 ... REPORT_SUBSYSTEM.CONFIGURATIONS.REV1_0_1_STATE.MODEL 88/12/08 17:59:41 ... has been restored. 88/12/08 17:59:42 +++ file !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 17:59:42 ... REPORT_SUBSYSTEM.CONFIGURATIONS.REV1_0_1_STATE. 88/12/08 17:59:42 ... SUBPATH_NAME has been restored. 88/12/08 17:59:43 +++ config !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 17:59:43 ... REPORT_SUBSYSTEM.CONFIGURATIONS.REV1_0_1 has been 88/12/08 17:59:43 ... restored. 88/12/08 17:59:45 +++ config !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 17:59:45 ... REPORT_SUBSYSTEM.CONFIGURATIONS.REV1_0_SPEC has been 88/12/08 17:59:45 ... restored. 88/12/08 17:59:46 +++ config !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 17:59:46 ... REPORT_SUBSYSTEM.CONFIGURATIONS.REV1_WORKING has been 88/12/08 17:59:46 ... restored. 88/12/08 17:59:47 +++ load_view !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 17:59:47 ... REPORT_SUBSYSTEM.REV1_0_1 has been restored. 88/12/08 17:59:48 +++ directory !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 17:59:48 ... REPORT_SUBSYSTEM.REV1_0_1.EXPORTS has been restored. 88/12/08 17:59:49 +++ directory !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 17:59:49 ... REPORT_SUBSYSTEM.REV1_0_1.IMPORTS has been restored. 88/12/08 17:59:50 +++ directory !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 17:59:50 ... REPORT_SUBSYSTEM.REV1_0_1.PATHS has been restored. 88/12/08 17:59:51 +++ directory !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 17:59:51 ... REPORT_SUBSYSTEM.REV1_0_1.STATE has been restored. 88/12/08 17:59:52 +++ switch !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 17:59:52 ... REPORT_SUBSYSTEM.REV1_0_1.STATE.COMPILER_SWITCHES has 88/12/08 17:59:52 ... been restored. 88/12/08 17:59:52 +++ directory !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 17:59:52 ... REPORT_SUBSYSTEM.REV1_0_1.STATE.TOOL_STATE has been 88/12/08 17:59:52 ... restored. 88/12/08 17:59:54 +++ text !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 17:59:54 ... REPORT_SUBSYSTEM.REV1_0_1.STATE.EXPORTS has been 88/12/08 17:59:54 ... restored. 88/12/08 17:59:56 +++ objects !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 17:59:56 ... REPORT_SUBSYSTEM.REV1_0_1.STATE.IMPORTS has been 88/12/08 17:59:56 ... restored. 88/12/08 17:59:57 +++ file !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 17:59:57 ... REPORT_SUBSYSTEM.REV1_0_1.STATE.LAST_RELEASE_NAME has 88/12/08 17:59:57 ... been restored. 88/12/08 17:59:59 +++ objects !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 17:59:59 ... REPORT_SUBSYSTEM.REV1_0_1.STATE.MODEL has been 88/12/08 17:59:59 ... restored. 88/12/08 18:00:00 +++ config !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:00:00 ... REPORT_SUBSYSTEM.REV1_0_1.STATE.MY_CONFIGURATION has 88/12/08 18:00:00 ... been restored. 88/12/08 18:00:01 +++ objects !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:00:01 ... REPORT_SUBSYSTEM.REV1_0_1.STATE.REFERENCERS has been 88/12/08 18:00:01 ... restored. 88/12/08 18:00:03 +++ text !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:00:03 ... REPORT_SUBSYSTEM.REV1_0_1.STATE.RELEASE_HISTORY has 88/12/08 18:00:03 ... been restored. 88/12/08 18:00:04 +++ text !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:00:04 ... REPORT_SUBSYSTEM.REV1_0_1.STATE.SUBPATH_NAME has been 88/12/08 18:00:04 ... restored. 88/12/08 18:00:06 +++ file !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:00:06 ... REPORT_SUBSYSTEM.REV1_0_1.STATE. 88/12/08 18:00:06 ... THIS_IS_THE_ROOT_OF_A_VIEW has been restored. 88/12/08 18:00:07 +++ directory !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:00:07 ... REPORT_SUBSYSTEM.REV1_0_1.UNITS has been restored. 88/12/08 18:00:10 +++ proc_spec !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:00:10 ... REPORT_SUBSYSTEM.REV1_0_1.UNITS.PROGRAM_PROFILE'SPEC 88/12/08 18:00:10 ... has been restored. 88/12/08 18:00:12 +++ proc_body !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:00:12 ... REPORT_SUBSYSTEM.REV1_0_1.UNITS.PROGRAM_PROFILE'BODY 88/12/08 18:00:12 ... has been restored. 88/12/08 18:00:14 +++ pack_spec !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:00:14 ... REPORT_SUBSYSTEM.REV1_0_1.UNITS.REPORT'SPEC has been 88/12/08 18:00:14 ... restored. 88/12/08 18:00:17 +++ pack_body !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:00:17 ... REPORT_SUBSYSTEM.REV1_0_1.UNITS.REPORT'BODY has been 88/12/08 18:00:17 ... restored. 88/12/08 18:00:18 +++ spec_view !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:00:18 ... REPORT_SUBSYSTEM.REV1_0_SPEC has been restored. 88/12/08 18:00:20 +++ directory !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:00:20 ... REPORT_SUBSYSTEM.REV1_0_SPEC.EXPORTS has been restored. 88/12/08 18:00:21 +++ directory !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:00:21 ... REPORT_SUBSYSTEM.REV1_0_SPEC.IMPORTS has been restored. 88/12/08 18:00:22 +++ directory !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:00:22 ... REPORT_SUBSYSTEM.REV1_0_SPEC.PATHS has been restored. 88/12/08 18:00:23 +++ directory !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:00:23 ... REPORT_SUBSYSTEM.REV1_0_SPEC.STATE has been restored. 88/12/08 18:00:24 +++ switch !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:00:24 ... REPORT_SUBSYSTEM.REV1_0_SPEC.STATE.COMPILER_SWITCHES 88/12/08 18:00:24 ... has been restored. 88/12/08 18:00:25 +++ directory !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:00:25 ... REPORT_SUBSYSTEM.REV1_0_SPEC.STATE.TOOL_STATE has been 88/12/08 18:00:25 ... restored. 88/12/08 18:00:27 +++ text !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:00:27 ... REPORT_SUBSYSTEM.REV1_0_SPEC.STATE.EXPORTS has been 88/12/08 18:00:27 ... restored. 88/12/08 18:00:28 +++ objects !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:00:28 ... REPORT_SUBSYSTEM.REV1_0_SPEC.STATE.IMPORTS has been 88/12/08 18:00:28 ... restored. 88/12/08 18:00:29 +++ file !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:00:29 ... REPORT_SUBSYSTEM.REV1_0_SPEC.STATE.LAST_RELEASE_NAME 88/12/08 18:00:29 ... has been restored. 88/12/08 18:00:30 +++ objects !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:00:30 ... REPORT_SUBSYSTEM.REV1_0_SPEC.STATE.MODEL has been 88/12/08 18:00:30 ... restored. 88/12/08 18:00:31 +++ config !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:00:31 ... REPORT_SUBSYSTEM.REV1_0_SPEC.STATE.MY_CONFIGURATION 88/12/08 18:00:31 ... has been restored. 88/12/08 18:00:32 +++ objects !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:00:32 ... REPORT_SUBSYSTEM.REV1_0_SPEC.STATE.REFERENCERS has 88/12/08 18:00:32 ... been restored. 88/12/08 18:00:33 +++ text !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:00:33 ... REPORT_SUBSYSTEM.REV1_0_SPEC.STATE.RELEASE_HISTORY has 88/12/08 18:00:33 ... been restored. 88/12/08 18:00:34 +++ file !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:00:34 ... REPORT_SUBSYSTEM.REV1_0_SPEC.STATE.SUBPATH_NAME has 88/12/08 18:00:34 ... been restored. 88/12/08 18:00:35 +++ file !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:00:35 ... REPORT_SUBSYSTEM.REV1_0_SPEC.STATE. 88/12/08 18:00:35 ... THIS_IS_THE_ROOT_OF_A_VIEW has been restored. 88/12/08 18:00:36 +++ directory !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:00:36 ... REPORT_SUBSYSTEM.REV1_0_SPEC.UNITS has been restored. 88/12/08 18:00:39 +++ proc_spec !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:00:39 ... REPORT_SUBSYSTEM.REV1_0_SPEC.UNITS. 88/12/08 18:00:39 ... PROGRAM_PROFILE'SPEC has been restored. 88/12/08 18:00:40 +++ load_view !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:00:40 ... REPORT_SUBSYSTEM.REV1_WORKING has been restored. 88/12/08 18:00:41 +++ directory !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:00:41 ... REPORT_SUBSYSTEM.REV1_WORKING.EXPORTS has been 88/12/08 18:00:41 ... restored. 88/12/08 18:00:42 +++ directory !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:00:42 ... REPORT_SUBSYSTEM.REV1_WORKING.IMPORTS has been 88/12/08 18:00:42 ... restored. 88/12/08 18:00:43 +++ directory !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:00:43 ... REPORT_SUBSYSTEM.REV1_WORKING.PATHS has been restored. 88/12/08 18:00:45 +++ directory !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:00:45 ... REPORT_SUBSYSTEM.REV1_WORKING.STATE has been restored. 88/12/08 18:00:46 +++ switch !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:00:46 ... REPORT_SUBSYSTEM.REV1_WORKING.STATE.COMPILER_SWITCHES 88/12/08 18:00:46 ... has been restored. 88/12/08 18:00:47 +++ directory !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:00:47 ... REPORT_SUBSYSTEM.REV1_WORKING.STATE.TOOL_STATE has 88/12/08 18:00:47 ... been restored. 88/12/08 18:00:49 +++ text !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:00:49 ... REPORT_SUBSYSTEM.REV1_WORKING.STATE.EXPORTS has been 88/12/08 18:00:49 ... restored. 88/12/08 18:00:50 +++ objects !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:00:50 ... REPORT_SUBSYSTEM.REV1_WORKING.STATE.IMPORTS has been 88/12/08 18:00:50 ... restored. 88/12/08 18:00:51 +++ file !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:00:51 ... REPORT_SUBSYSTEM.REV1_WORKING.STATE.LAST_RELEASE_NAME 88/12/08 18:00:51 ... has been restored. 88/12/08 18:00:52 +++ objects !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:00:52 ... REPORT_SUBSYSTEM.REV1_WORKING.STATE.MODEL has been 88/12/08 18:00:52 ... restored. 88/12/08 18:00:54 +++ config !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:00:54 ... REPORT_SUBSYSTEM.REV1_WORKING.STATE.MY_CONFIGURATION 88/12/08 18:00:54 ... has been restored. 88/12/08 18:00:55 +++ objects !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:00:55 ... REPORT_SUBSYSTEM.REV1_WORKING.STATE.REFERENCERS has 88/12/08 18:00:55 ... been restored. 88/12/08 18:00:57 +++ text !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:00:57 ... REPORT_SUBSYSTEM.REV1_WORKING.STATE.RELEASE_HISTORY 88/12/08 18:00:57 ... has been restored. 88/12/08 18:00:58 +++ text !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:00:58 ... REPORT_SUBSYSTEM.REV1_WORKING.STATE.SUBPATH_NAME has 88/12/08 18:00:58 ... been restored. 88/12/08 18:00:59 +++ file !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:00:59 ... REPORT_SUBSYSTEM.REV1_WORKING.STATE. 88/12/08 18:00:59 ... THIS_IS_THE_ROOT_OF_A_VIEW has been restored. 88/12/08 18:01:00 +++ directory !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:01:00 ... REPORT_SUBSYSTEM.REV1_WORKING.UNITS has been restored. 88/12/08 18:01:07 +++ proc_spec !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:01:07 ... REPORT_SUBSYSTEM.REV1_WORKING.UNITS. 88/12/08 18:01:07 ... PROGRAM_PROFILE'SPEC has been restored. 88/12/08 18:01:10 +++ proc_body !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:01:10 ... REPORT_SUBSYSTEM.REV1_WORKING.UNITS. 88/12/08 18:01:10 ... PROGRAM_PROFILE'BODY has been restored. 88/12/08 18:01:12 +++ pack_spec !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:01:12 ... REPORT_SUBSYSTEM.REV1_WORKING.UNITS.REPORT'SPEC has 88/12/08 18:01:12 ... been restored. 88/12/08 18:01:15 +++ pack_body !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:01:15 ... REPORT_SUBSYSTEM.REV1_WORKING.UNITS.REPORT'BODY has 88/12/08 18:01:15 ... been restored. 88/12/08 18:01:16 +++ directory !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:01:16 ... REPORT_SUBSYSTEM.STATE has been restored. 88/12/08 18:01:17 +++ world !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:01:17 ... REPORT_SUBSYSTEM.STATE.COMPATIBILITY has been restored. 88/12/08 18:01:19 +++ directory !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:01:19 ... REPORT_SUBSYSTEM.STATE.COMPATIBILITY. 88/12/08 18:01:19 ... DECLARATION_NUMBERS has been restored. 88/12/08 18:01:20 +++ directory !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:01:20 ... REPORT_SUBSYSTEM.STATE.COMPATIBILITY.OFFSETS has been 88/12/08 18:01:20 ... restored. 88/12/08 18:01:21 +++ text !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:01:21 ... REPORT_SUBSYSTEM.STATE.COMPATIBILITY.STATE has been 88/12/08 18:01:21 ... restored. 88/12/08 18:01:23 +++ cmvc_db !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:01:23 ... REPORT_SUBSYSTEM.STATE.CMVC_DATABASE has been restored. 88/12/08 18:01:25 +++ file !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:01:25 ... REPORT_SUBSYSTEM.STATE.THIS_IS_THE_ROOT_OF_A_SUBSYSTEM 88/12/08 18:01:25 ... has been restored. 88/12/08 18:01:26 +++ subsystem !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:01:26 ... SYSTEM_SUBSYSTEM has been restored. 88/12/08 18:01:26 +++ directory !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:01:27 ... SYSTEM_SUBSYSTEM.CONFIGURATIONS has been restored. 88/12/08 18:01:28 +++ directory !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:01:28 ... SYSTEM_SUBSYSTEM.CONFIGURATIONS.REV1_0_1_STATE has 88/12/08 18:01:28 ... been restored. 88/12/08 18:01:29 +++ switch !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:01:29 ... SYSTEM_SUBSYSTEM.CONFIGURATIONS.REV1_0_1_STATE. 88/12/08 18:01:29 ... COMPILER_SWITCHES has been restored. 88/12/08 18:01:30 +++ file !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:01:30 ... SYSTEM_SUBSYSTEM.CONFIGURATIONS.REV1_0_1_STATE.EXPORTS 88/12/08 18:01:30 ... has been restored. 88/12/08 18:01:33 +++ file !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:01:33 ... SYSTEM_SUBSYSTEM.CONFIGURATIONS.REV1_0_1_STATE.IMPORTS 88/12/08 18:01:33 ... has been restored. 88/12/08 18:01:34 +++ file !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:01:34 ... SYSTEM_SUBSYSTEM.CONFIGURATIONS.REV1_0_1_STATE.MODEL 88/12/08 18:01:34 ... has been restored. 88/12/08 18:01:37 +++ file !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:01:37 ... SYSTEM_SUBSYSTEM.CONFIGURATIONS.REV1_0_1_STATE. 88/12/08 18:01:37 ... SUBPATH_NAME has been restored. 88/12/08 18:01:38 +++ config !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:01:38 ... SYSTEM_SUBSYSTEM.CONFIGURATIONS.REV1_0_1 has been 88/12/08 18:01:38 ... restored. 88/12/08 18:01:39 +++ config !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:01:39 ... SYSTEM_SUBSYSTEM.CONFIGURATIONS.REV1_0_SPEC has been 88/12/08 18:01:39 ... restored. 88/12/08 18:01:40 +++ config !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:01:40 ... SYSTEM_SUBSYSTEM.CONFIGURATIONS.REV1_WORKING has been 88/12/08 18:01:40 ... restored. 88/12/08 18:01:41 +++ load_view !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:01:41 ... SYSTEM_SUBSYSTEM.REV1_0_1 has been restored. 88/12/08 18:01:42 +++ directory !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:01:42 ... SYSTEM_SUBSYSTEM.REV1_0_1.EXPORTS has been restored. 88/12/08 18:01:43 +++ directory !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:01:43 ... SYSTEM_SUBSYSTEM.REV1_0_1.IMPORTS has been restored. 88/12/08 18:01:45 +++ directory !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:01:45 ... SYSTEM_SUBSYSTEM.REV1_0_1.PATHS has been restored. 88/12/08 18:01:46 +++ directory !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:01:46 ... SYSTEM_SUBSYSTEM.REV1_0_1.STATE has been restored. 88/12/08 18:01:47 +++ switch !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:01:47 ... SYSTEM_SUBSYSTEM.REV1_0_1.STATE.COMPILER_SWITCHES has 88/12/08 18:01:47 ... been restored. 88/12/08 18:01:49 +++ directory !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:01:49 ... SYSTEM_SUBSYSTEM.REV1_0_1.STATE.TOOL_STATE has been 88/12/08 18:01:49 ... restored. 88/12/08 18:01:55 +++ text !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:01:55 ... SYSTEM_SUBSYSTEM.REV1_0_1.STATE.EXPORTS has been 88/12/08 18:01:55 ... restored. 88/12/08 18:01:57 +++ objects !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:01:57 ... SYSTEM_SUBSYSTEM.REV1_0_1.STATE.IMPORTS has been 88/12/08 18:01:57 ... restored. 88/12/08 18:01:58 +++ file !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:01:58 ... SYSTEM_SUBSYSTEM.REV1_0_1.STATE.LAST_RELEASE_NAME has 88/12/08 18:01:58 ... been restored. 88/12/08 18:01:59 +++ objects !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:01:59 ... SYSTEM_SUBSYSTEM.REV1_0_1.STATE.MODEL has been 88/12/08 18:01:59 ... restored. 88/12/08 18:02:01 +++ config !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:02:01 ... SYSTEM_SUBSYSTEM.REV1_0_1.STATE.MY_CONFIGURATION has 88/12/08 18:02:01 ... been restored. 88/12/08 18:02:03 +++ objects !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:02:03 ... SYSTEM_SUBSYSTEM.REV1_0_1.STATE.REFERENCERS has been 88/12/08 18:02:03 ... restored. 88/12/08 18:02:05 +++ text !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:02:05 ... SYSTEM_SUBSYSTEM.REV1_0_1.STATE.RELEASE_HISTORY has 88/12/08 18:02:05 ... been restored. 88/12/08 18:02:06 +++ text !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:02:06 ... SYSTEM_SUBSYSTEM.REV1_0_1.STATE.SUBPATH_NAME has been 88/12/08 18:02:06 ... restored. 88/12/08 18:02:07 +++ file !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:02:07 ... SYSTEM_SUBSYSTEM.REV1_0_1.STATE. 88/12/08 18:02:07 ... THIS_IS_THE_ROOT_OF_A_VIEW has been restored. 88/12/08 18:02:08 +++ directory !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:02:08 ... SYSTEM_SUBSYSTEM.REV1_0_1.UNITS has been restored. 88/12/08 18:02:11 +++ pack_spec !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:02:11 ... SYSTEM_SUBSYSTEM.REV1_0_1.UNITS.LINE'SPEC has been 88/12/08 18:02:11 ... restored. 88/12/08 18:02:14 +++ pack_body !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:02:14 ... SYSTEM_SUBSYSTEM.REV1_0_1.UNITS.LINE'BODY has been 88/12/08 18:02:14 ... restored. 88/12/08 18:02:17 +++ pack_spec !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:02:17 ... SYSTEM_SUBSYSTEM.REV1_0_1.UNITS.UNIT'SPEC has been 88/12/08 18:02:17 ... restored. 88/12/08 18:02:20 +++ pack_body !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:02:20 ... SYSTEM_SUBSYSTEM.REV1_0_1.UNITS.UNIT'BODY has been 88/12/08 18:02:20 ... restored. 88/12/08 18:02:21 +++ spec_view !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:02:21 ... SYSTEM_SUBSYSTEM.REV1_0_SPEC has been restored. 88/12/08 18:02:22 +++ directory !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:02:22 ... SYSTEM_SUBSYSTEM.REV1_0_SPEC.EXPORTS has been restored. 88/12/08 18:02:23 +++ directory !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:02:23 ... SYSTEM_SUBSYSTEM.REV1_0_SPEC.IMPORTS has been restored. 88/12/08 18:02:24 +++ directory !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:02:24 ... SYSTEM_SUBSYSTEM.REV1_0_SPEC.PATHS has been restored. 88/12/08 18:02:26 +++ directory !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:02:26 ... SYSTEM_SUBSYSTEM.REV1_0_SPEC.STATE has been restored. 88/12/08 18:02:27 +++ switch !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:02:27 ... SYSTEM_SUBSYSTEM.REV1_0_SPEC.STATE.COMPILER_SWITCHES 88/12/08 18:02:27 ... has been restored. 88/12/08 18:02:27 +++ directory !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:02:27 ... SYSTEM_SUBSYSTEM.REV1_0_SPEC.STATE.TOOL_STATE has been 88/12/08 18:02:27 ... restored. 88/12/08 18:02:29 +++ text !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:02:29 ... SYSTEM_SUBSYSTEM.REV1_0_SPEC.STATE.EXPORTS has been 88/12/08 18:02:29 ... restored. 88/12/08 18:02:30 +++ objects !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:02:30 ... SYSTEM_SUBSYSTEM.REV1_0_SPEC.STATE.IMPORTS has been 88/12/08 18:02:30 ... restored. 88/12/08 18:02:31 +++ file !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:02:31 ... SYSTEM_SUBSYSTEM.REV1_0_SPEC.STATE.LAST_RELEASE_NAME 88/12/08 18:02:31 ... has been restored. 88/12/08 18:02:32 +++ objects !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:02:32 ... SYSTEM_SUBSYSTEM.REV1_0_SPEC.STATE.MODEL has been 88/12/08 18:02:32 ... restored. 88/12/08 18:02:34 +++ config !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:02:34 ... SYSTEM_SUBSYSTEM.REV1_0_SPEC.STATE.MY_CONFIGURATION 88/12/08 18:02:34 ... has been restored. 88/12/08 18:02:34 +++ objects !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:02:34 ... SYSTEM_SUBSYSTEM.REV1_0_SPEC.STATE.REFERENCERS has 88/12/08 18:02:34 ... been restored. 88/12/08 18:02:36 +++ text !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:02:36 ... SYSTEM_SUBSYSTEM.REV1_0_SPEC.STATE.RELEASE_HISTORY has 88/12/08 18:02:36 ... been restored. 88/12/08 18:02:37 +++ file !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:02:37 ... SYSTEM_SUBSYSTEM.REV1_0_SPEC.STATE.SUBPATH_NAME has 88/12/08 18:02:37 ... been restored. 88/12/08 18:02:38 +++ file !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:02:38 ... SYSTEM_SUBSYSTEM.REV1_0_SPEC.STATE. 88/12/08 18:02:38 ... THIS_IS_THE_ROOT_OF_A_VIEW has been restored. 88/12/08 18:02:39 +++ directory !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:02:39 ... SYSTEM_SUBSYSTEM.REV1_0_SPEC.UNITS has been restored. 88/12/08 18:02:42 +++ pack_spec !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:02:42 ... SYSTEM_SUBSYSTEM.REV1_0_SPEC.UNITS.UNIT'SPEC has been 88/12/08 18:02:42 ... restored. 88/12/08 18:02:43 +++ load_view !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:02:43 ... SYSTEM_SUBSYSTEM.REV1_WORKING has been restored. 88/12/08 18:02:44 +++ directory !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:02:44 ... SYSTEM_SUBSYSTEM.REV1_WORKING.EXPORTS has been 88/12/08 18:02:44 ... restored. 88/12/08 18:02:45 +++ directory !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:02:45 ... SYSTEM_SUBSYSTEM.REV1_WORKING.IMPORTS has been 88/12/08 18:02:45 ... restored. 88/12/08 18:02:46 +++ directory !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:02:46 ... SYSTEM_SUBSYSTEM.REV1_WORKING.PATHS has been restored. 88/12/08 18:02:47 +++ directory !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:02:47 ... SYSTEM_SUBSYSTEM.REV1_WORKING.STATE has been restored. 88/12/08 18:02:48 +++ switch !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:02:48 ... SYSTEM_SUBSYSTEM.REV1_WORKING.STATE.COMPILER_SWITCHES 88/12/08 18:02:48 ... has been restored. 88/12/08 18:02:49 +++ directory !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:02:49 ... SYSTEM_SUBSYSTEM.REV1_WORKING.STATE.TOOL_STATE has 88/12/08 18:02:49 ... been restored. 88/12/08 18:02:51 +++ text !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:02:51 ... SYSTEM_SUBSYSTEM.REV1_WORKING.STATE.EXPORTS has been 88/12/08 18:02:51 ... restored. 88/12/08 18:02:52 +++ objects !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:02:52 ... SYSTEM_SUBSYSTEM.REV1_WORKING.STATE.IMPORTS has been 88/12/08 18:02:52 ... restored. 88/12/08 18:02:53 +++ file !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:02:53 ... SYSTEM_SUBSYSTEM.REV1_WORKING.STATE.LAST_RELEASE_NAME 88/12/08 18:02:53 ... has been restored. 88/12/08 18:02:54 +++ objects !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:02:54 ... SYSTEM_SUBSYSTEM.REV1_WORKING.STATE.MODEL has been 88/12/08 18:02:54 ... restored. 88/12/08 18:02:56 +++ config !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:02:56 ... SYSTEM_SUBSYSTEM.REV1_WORKING.STATE.MY_CONFIGURATION 88/12/08 18:02:56 ... has been restored. 88/12/08 18:02:57 +++ objects !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:02:57 ... SYSTEM_SUBSYSTEM.REV1_WORKING.STATE.REFERENCERS has 88/12/08 18:02:57 ... been restored. 88/12/08 18:02:58 +++ text !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:02:58 ... SYSTEM_SUBSYSTEM.REV1_WORKING.STATE.RELEASE_HISTORY 88/12/08 18:02:58 ... has been restored. 88/12/08 18:02:59 +++ text !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:02:59 ... SYSTEM_SUBSYSTEM.REV1_WORKING.STATE.SUBPATH_NAME has 88/12/08 18:02:59 ... been restored. 88/12/08 18:03:01 +++ file !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:03:01 ... SYSTEM_SUBSYSTEM.REV1_WORKING.STATE. 88/12/08 18:03:01 ... THIS_IS_THE_ROOT_OF_A_VIEW has been restored. 88/12/08 18:03:02 +++ directory !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:03:02 ... SYSTEM_SUBSYSTEM.REV1_WORKING.UNITS has been restored. 88/12/08 18:03:05 +++ pack_spec !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:03:05 ... SYSTEM_SUBSYSTEM.REV1_WORKING.UNITS.LINE'SPEC has been 88/12/08 18:03:05 ... restored. 88/12/08 18:03:07 +++ pack_body !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:03:07 ... SYSTEM_SUBSYSTEM.REV1_WORKING.UNITS.LINE'BODY has been 88/12/08 18:03:07 ... restored. 88/12/08 18:03:10 +++ pack_spec !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:03:10 ... SYSTEM_SUBSYSTEM.REV1_WORKING.UNITS.UNIT'SPEC has been 88/12/08 18:03:10 ... restored. 88/12/08 18:03:13 +++ pack_body !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:03:13 ... SYSTEM_SUBSYSTEM.REV1_WORKING.UNITS.UNIT'BODY has been 88/12/08 18:03:13 ... restored. 88/12/08 18:03:15 +++ directory !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:03:15 ... SYSTEM_SUBSYSTEM.STATE has been restored. 88/12/08 18:03:16 +++ world !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:03:16 ... SYSTEM_SUBSYSTEM.STATE.COMPATIBILITY has been restored. 88/12/08 18:03:17 +++ directory !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:03:17 ... SYSTEM_SUBSYSTEM.STATE.COMPATIBILITY. 88/12/08 18:03:17 ... DECLARATION_NUMBERS has been restored. 88/12/08 18:03:18 +++ directory !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:03:18 ... SYSTEM_SUBSYSTEM.STATE.COMPATIBILITY.OFFSETS has been 88/12/08 18:03:18 ... restored. 88/12/08 18:03:20 +++ text !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:03:20 ... SYSTEM_SUBSYSTEM.STATE.COMPATIBILITY.STATE has been 88/12/08 18:03:20 ... restored. 88/12/08 18:03:21 +++ cmvc_db !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:03:21 ... SYSTEM_SUBSYSTEM.STATE.CMVC_DATABASE has been restored. 88/12/08 18:03:22 +++ file !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:03:22 ... SYSTEM_SUBSYSTEM.STATE.THIS_IS_THE_ROOT_OF_A_SUBSYSTEM 88/12/08 18:03:22 ... has been restored. 88/12/08 18:03:23 +++ directory !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:03:23 ... TESTING has been restored. 88/12/08 18:03:26 +++ proc_spec !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:03:26 ... TESTING.TEST_DRIVER1'SPEC has been restored. 88/12/08 18:03:28 +++ proc_body !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:03:28 ... TESTING.TEST_DRIVER1'BODY has been restored. 88/12/08 18:03:29 +++ text !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION.TESTING. 88/12/08 18:03:29 ... TEST_INPUT_1 has been restored. 88/12/08 18:03:31 +++ text !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION.TESTING. 88/12/08 18:03:31 ... TEST_INPUT_2 has been restored. 88/12/08 18:03:32 +++ activity !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:03:32 ... CURRENT_RELEASE has been restored. 88/12/08 18:03:43 --- running convert_cdb. 88/12/08 18:03:43 +++ Converted CDB for subsystem !USERS.BASIC_TEST_1. 88/12/08 18:03:43 ... SUBSYSTEM_SOLUTION.SYSTEM_SUBSYSTEM. 88/12/08 18:03:43 +++ compat_db !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:03:43 ... SYSTEM_SUBSYSTEM has been restored. 88/12/08 18:03:49 --- running convert_cdb. 88/12/08 18:03:49 +++ Converted CDB for subsystem !USERS.BASIC_TEST_1. 88/12/08 18:03:49 ... SUBSYSTEM_SOLUTION.REPORT_SUBSYSTEM. 88/12/08 18:03:49 +++ compat_db !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:03:49 ... REPORT_SUBSYSTEM has been restored. 88/12/08 18:03:49 --- restoring links for !USERS.BASIC_TEST_1. 88/12/08 18:03:49 ... PROGRAM_PROFILE_SYSTEM. 88/12/08 18:03:51 --- restoring links for !USERS.BASIC_TEST_1. 88/12/08 18:03:51 ... SUBSYSTEM_APPLICATION. 88/12/08 18:04:03 --- restoring links for !USERS.BASIC_TEST_1. 88/12/08 18:04:03 ... SUBSYSTEM_SOLUTION. 88/12/08 18:04:04 --- restoring links for !USERS.BASIC_TEST_1. 88/12/08 18:04:04 ... SUBSYSTEM_SOLUTION.MODEL. 88/12/08 18:04:04 --- restoring links for !USERS.BASIC_TEST_1. 88/12/08 18:04:04 ... SUBSYSTEM_SOLUTION.REPORT_SUBSYSTEM.REV1_0_1. 88/12/08 18:04:05 ++* Can't resolve default switch file [VERSION_ERROR] for 88/12/08 18:04:05 ... world !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:04:05 ... REPORT_SUBSYSTEM.REV1_0_1.EXPORTS. 88/12/08 18:04:05 ++* Can't resolve default switch file [VERSION_ERROR] for 88/12/08 18:04:05 ... world !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:04:05 ... REPORT_SUBSYSTEM.REV1_0_1.IMPORTS. 88/12/08 18:04:05 ++* Can't resolve default switch file [VERSION_ERROR] for 88/12/08 18:04:05 ... world !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:04:05 ... REPORT_SUBSYSTEM.REV1_0_1.PATHS. 88/12/08 18:04:05 --- restoring links for !USERS.BASIC_TEST_1. 88/12/08 18:04:05 ... SUBSYSTEM_SOLUTION.REPORT_SUBSYSTEM.REV1_0_SPEC. 88/12/08 18:04:06 ++* Can't resolve default switch file [VERSION_ERROR] for 88/12/08 18:04:06 ... world !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:04:06 ... REPORT_SUBSYSTEM.REV1_0_SPEC.EXPORTS. 88/12/08 18:04:06 ++* Can't resolve default switch file [VERSION_ERROR] for 88/12/08 18:04:06 ... world !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:04:06 ... REPORT_SUBSYSTEM.REV1_0_SPEC.IMPORTS. 88/12/08 18:04:06 ++* Can't resolve default switch file [VERSION_ERROR] for 88/12/08 18:04:06 ... world !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:04:06 ... REPORT_SUBSYSTEM.REV1_0_SPEC.PATHS. 88/12/08 18:04:06 --- restoring links for !USERS.BASIC_TEST_1. 88/12/08 18:04:06 ... SUBSYSTEM_SOLUTION.REPORT_SUBSYSTEM.REV1_WORKING. 88/12/08 18:04:07 ++* Can't resolve default switch file [VERSION_ERROR] for 88/12/08 18:04:07 ... world !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:04:07 ... REPORT_SUBSYSTEM.REV1_WORKING.EXPORTS. 88/12/08 18:04:07 ++* Can't resolve default switch file [VERSION_ERROR] for 88/12/08 18:04:07 ... world !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:04:07 ... REPORT_SUBSYSTEM.REV1_WORKING.IMPORTS. 88/12/08 18:04:07 ++* Can't resolve default switch file [VERSION_ERROR] for 88/12/08 18:04:07 ... world !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:04:07 ... REPORT_SUBSYSTEM.REV1_WORKING.PATHS. 88/12/08 18:04:07 --- restoring links for !USERS.BASIC_TEST_1. 88/12/08 18:04:07 ... SUBSYSTEM_SOLUTION.SYSTEM_SUBSYSTEM.REV1_0_1. 88/12/08 18:04:08 ++* Can't resolve default switch file [VERSION_ERROR] for 88/12/08 18:04:08 ... world !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:04:08 ... SYSTEM_SUBSYSTEM.REV1_0_1.EXPORTS. 88/12/08 18:04:08 ++* Can't resolve default switch file [VERSION_ERROR] for 88/12/08 18:04:08 ... world !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:04:08 ... SYSTEM_SUBSYSTEM.REV1_0_1.IMPORTS. 88/12/08 18:04:08 ++* Can't resolve default switch file [VERSION_ERROR] for 88/12/08 18:04:08 ... world !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:04:08 ... SYSTEM_SUBSYSTEM.REV1_0_1.PATHS. 88/12/08 18:04:08 --- restoring links for !USERS.BASIC_TEST_1. 88/12/08 18:04:08 ... SUBSYSTEM_SOLUTION.SYSTEM_SUBSYSTEM.REV1_0_SPEC. 88/12/08 18:04:08 ++* Can't resolve default switch file [VERSION_ERROR] for 88/12/08 18:04:08 ... world !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:04:08 ... SYSTEM_SUBSYSTEM.REV1_0_SPEC.EXPORTS. 88/12/08 18:04:08 ++* Can't resolve default switch file [VERSION_ERROR] for 88/12/08 18:04:08 ... world !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:04:08 ... SYSTEM_SUBSYSTEM.REV1_0_SPEC.IMPORTS. 88/12/08 18:04:08 ++* Can't resolve default switch file [VERSION_ERROR] for 88/12/08 18:04:08 ... world !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:04:08 ... SYSTEM_SUBSYSTEM.REV1_0_SPEC.PATHS. 88/12/08 18:04:08 --- restoring links for !USERS.BASIC_TEST_1. 88/12/08 18:04:08 ... SUBSYSTEM_SOLUTION.SYSTEM_SUBSYSTEM.REV1_WORKING. 88/12/08 18:04:09 ++* Can't resolve default switch file [VERSION_ERROR] for 88/12/08 18:04:09 ... world !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:04:09 ... SYSTEM_SUBSYSTEM.REV1_WORKING.EXPORTS. 88/12/08 18:04:09 ++* Can't resolve default switch file [VERSION_ERROR] for 88/12/08 18:04:09 ... world !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:04:09 ... SYSTEM_SUBSYSTEM.REV1_WORKING.IMPORTS. 88/12/08 18:04:09 ++* Can't resolve default switch file [VERSION_ERROR] for 88/12/08 18:04:09 ... world !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:04:09 ... SYSTEM_SUBSYSTEM.REV1_WORKING.PATHS. 88/12/08 18:04:14 --- promoting ada units. 88/12/08 18:04:20 +++ !USERS.BASIC_TEST_1.PROGRAM_PROFILE_SYSTEM.LINE'SPEC 88/12/08 18:04:20 ... has been INSTALLED. 88/12/08 18:04:23 +++ !USERS.BASIC_TEST_1.PROGRAM_PROFILE_SYSTEM.LINE'BODY 88/12/08 18:04:23 ... has been INSTALLED. 88/12/08 18:04:25 +++ !USERS.BASIC_TEST_1.PROGRAM_PROFILE_SYSTEM. 88/12/08 18:04:25 ... PROGRAM_PROFILE'SPEC has been INSTALLED. 88/12/08 18:04:27 +++ !USERS.BASIC_TEST_1.PROGRAM_PROFILE_SYSTEM.UNIT'SPEC 88/12/08 18:04:27 ... has been INSTALLED. 88/12/08 18:04:28 +++ !USERS.BASIC_TEST_1.PROGRAM_PROFILE_SYSTEM.REPORT'SPEC 88/12/08 18:04:28 ... has been INSTALLED. 88/12/08 18:04:30 +++ !USERS.BASIC_TEST_1.PROGRAM_PROFILE_SYSTEM. 88/12/08 18:04:30 ... PROGRAM_PROFILE'BODY has been INSTALLED. 88/12/08 18:04:34 +++ !USERS.BASIC_TEST_1.PROGRAM_PROFILE_SYSTEM.REPORT'BODY 88/12/08 18:04:34 ... has been INSTALLED. 88/12/08 18:04:35 +++ !USERS.BASIC_TEST_1.PROGRAM_PROFILE_SYSTEM. 88/12/08 18:04:35 ... TEST_DRIVER1'SPEC has been INSTALLED. 88/12/08 18:04:40 +++ !USERS.BASIC_TEST_1.PROGRAM_PROFILE_SYSTEM. 88/12/08 18:04:40 ... TEST_DRIVER1'BODY has been INSTALLED. 88/12/08 18:04:44 +++ !USERS.BASIC_TEST_1.PROGRAM_PROFILE_SYSTEM.UNIT'BODY 88/12/08 18:04:44 ... has been INSTALLED. 88/12/08 18:04:45 +++ !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:04:45 ... REPORT_SUBSYSTEM.REV1_0_1.UNITS.PROGRAM_PROFILE'SPEC 88/12/08 18:04:45 ... has been INSTALLED. 88/12/08 18:04:48 +++ !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:04:48 ... SYSTEM_SUBSYSTEM.REV1_0_SPEC.UNITS.UNIT'SPEC has been 88/12/08 18:04:48 ... INSTALLED. 88/12/08 18:04:49 +++ !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:04:49 ... REPORT_SUBSYSTEM.REV1_0_1.UNITS.REPORT'SPEC has been 88/12/08 18:04:49 ... INSTALLED. 88/12/08 18:04:50 +++ !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:04:50 ... REPORT_SUBSYSTEM.REV1_0_1.UNITS.PROGRAM_PROFILE'BODY 88/12/08 18:04:50 ... has been INSTALLED. 88/12/08 18:04:54 +++ !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:04:54 ... REPORT_SUBSYSTEM.REV1_0_1.UNITS.REPORT'BODY has been 88/12/08 18:04:54 ... INSTALLED. 88/12/08 18:04:55 +++ !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:04:55 ... REPORT_SUBSYSTEM.REV1_0_SPEC.UNITS. 88/12/08 18:04:55 ... PROGRAM_PROFILE'SPEC has been INSTALLED. 88/12/08 18:04:57 +++ !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:04:57 ... REPORT_SUBSYSTEM.REV1_WORKING.UNITS. 88/12/08 18:04:57 ... PROGRAM_PROFILE'SPEC has been INSTALLED. 88/12/08 18:04:58 +++ !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:04:58 ... REPORT_SUBSYSTEM.REV1_WORKING.UNITS.REPORT'SPEC has 88/12/08 18:04:58 ... been INSTALLED. 88/12/08 18:05:00 +++ !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:05:00 ... REPORT_SUBSYSTEM.REV1_WORKING.UNITS. 88/12/08 18:05:00 ... PROGRAM_PROFILE'BODY has been INSTALLED. 88/12/08 18:05:03 +++ !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:05:03 ... REPORT_SUBSYSTEM.REV1_WORKING.UNITS.REPORT'BODY has 88/12/08 18:05:03 ... been INSTALLED. 88/12/08 18:05:06 +++ !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:05:06 ... SYSTEM_SUBSYSTEM.REV1_0_1.UNITS.LINE'SPEC has been 88/12/08 18:05:06 ... INSTALLED. 88/12/08 18:05:09 +++ !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:05:09 ... SYSTEM_SUBSYSTEM.REV1_0_1.UNITS.LINE'BODY has been 88/12/08 18:05:09 ... INSTALLED. 88/12/08 18:05:11 +++ !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:05:11 ... SYSTEM_SUBSYSTEM.REV1_0_1.UNITS.UNIT'SPEC has been 88/12/08 18:05:11 ... INSTALLED. 88/12/08 18:05:15 +++ !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:05:15 ... SYSTEM_SUBSYSTEM.REV1_0_1.UNITS.UNIT'BODY has been 88/12/08 18:05:15 ... INSTALLED. 88/12/08 18:05:17 +++ !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:05:17 ... SYSTEM_SUBSYSTEM.REV1_WORKING.UNITS.LINE'SPEC has been 88/12/08 18:05:17 ... INSTALLED. 88/12/08 18:05:20 +++ !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:05:20 ... SYSTEM_SUBSYSTEM.REV1_WORKING.UNITS.LINE'BODY has been 88/12/08 18:05:20 ... INSTALLED. 88/12/08 18:05:22 +++ !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:05:22 ... SYSTEM_SUBSYSTEM.REV1_WORKING.UNITS.UNIT'SPEC has been 88/12/08 18:05:22 ... INSTALLED. 88/12/08 18:05:26 +++ !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:05:26 ... SYSTEM_SUBSYSTEM.REV1_WORKING.UNITS.UNIT'BODY has been 88/12/08 18:05:26 ... INSTALLED. 88/12/08 18:05:27 +++ !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION.TESTING. 88/12/08 18:05:27 ... TEST_DRIVER1'SPEC has been INSTALLED. 88/12/08 18:05:29 +++ !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION.TESTING. 88/12/08 18:05:29 ... TEST_DRIVER1'BODY has been INSTALLED. 88/12/08 18:05:29 +++ !USERS.BASIC_TEST_1.PROGRAM_PROFILE_SYSTEM.LINE'SPEC 88/12/08 18:05:29 ... has been CODED. 88/12/08 18:05:32 +++ !USERS.BASIC_TEST_1.PROGRAM_PROFILE_SYSTEM.LINE'BODY 88/12/08 18:05:32 ... has been CODED. 88/12/08 18:05:32 +++ !USERS.BASIC_TEST_1.PROGRAM_PROFILE_SYSTEM. 88/12/08 18:05:32 ... PROGRAM_PROFILE'SPEC has been CODED. 88/12/08 18:05:33 +++ !USERS.BASIC_TEST_1.PROGRAM_PROFILE_SYSTEM.UNIT'SPEC 88/12/08 18:05:33 ... has been CODED. 88/12/08 18:05:33 +++ !USERS.BASIC_TEST_1.PROGRAM_PROFILE_SYSTEM.REPORT'SPEC 88/12/08 18:05:33 ... has been CODED. 88/12/08 18:05:34 +++ !USERS.BASIC_TEST_1.PROGRAM_PROFILE_SYSTEM. 88/12/08 18:05:34 ... PROGRAM_PROFILE'BODY has been CODED. 88/12/08 18:05:37 +++ !USERS.BASIC_TEST_1.PROGRAM_PROFILE_SYSTEM.REPORT'BODY 88/12/08 18:05:37 ... has been CODED. 88/12/08 18:05:38 +++ !USERS.BASIC_TEST_1.PROGRAM_PROFILE_SYSTEM. 88/12/08 18:05:38 ... TEST_DRIVER1'SPEC has been CODED. 88/12/08 18:05:39 +++ !USERS.BASIC_TEST_1.PROGRAM_PROFILE_SYSTEM. 88/12/08 18:05:39 ... TEST_DRIVER1'BODY has been CODED. 88/12/08 18:05:43 !!! Prompt encountered on statement list. 88/12/08 18:05:43 !!! !USERS.BASIC_TEST_1.PROGRAM_PROFILE_SYSTEM.UNIT'BODY 88/12/08 18:05:43 ... was CODED with 1 warnings. 88/12/08 18:05:43 +++ !USERS.BASIC_TEST_1.PROGRAM_PROFILE_SYSTEM.UNIT'BODY 88/12/08 18:05:43 ... has been CODED. 88/12/08 18:05:43 +++ !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:05:43 ... REPORT_SUBSYSTEM.REV1_0_1.UNITS.PROGRAM_PROFILE'SPEC 88/12/08 18:05:43 ... has been CODED. 88/12/08 18:05:44 +++ !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:05:44 ... SYSTEM_SUBSYSTEM.REV1_0_SPEC.UNITS.UNIT'SPEC has been 88/12/08 18:05:44 ... CODED. 88/12/08 18:05:45 +++ !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:05:45 ... REPORT_SUBSYSTEM.REV1_0_1.UNITS.REPORT'SPEC has been 88/12/08 18:05:45 ... CODED. 88/12/08 18:05:46 +++ !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:05:46 ... REPORT_SUBSYSTEM.REV1_0_1.UNITS.PROGRAM_PROFILE'BODY 88/12/08 18:05:46 ... has been CODED. 88/12/08 18:05:49 +++ !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:05:49 ... REPORT_SUBSYSTEM.REV1_0_1.UNITS.REPORT'BODY has been 88/12/08 18:05:49 ... CODED. 88/12/08 18:05:49 +++ !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:05:49 ... REPORT_SUBSYSTEM.REV1_0_SPEC.UNITS. 88/12/08 18:05:49 ... PROGRAM_PROFILE'SPEC has been CODED. 88/12/08 18:05:50 +++ !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:05:50 ... REPORT_SUBSYSTEM.REV1_WORKING.UNITS. 88/12/08 18:05:50 ... PROGRAM_PROFILE'SPEC has been CODED. 88/12/08 18:05:50 +++ !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:05:50 ... REPORT_SUBSYSTEM.REV1_WORKING.UNITS.REPORT'SPEC has 88/12/08 18:05:50 ... been CODED. 88/12/08 18:05:52 +++ !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:05:52 ... REPORT_SUBSYSTEM.REV1_WORKING.UNITS. 88/12/08 18:05:52 ... PROGRAM_PROFILE'BODY has been CODED. 88/12/08 18:05:55 +++ !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:05:55 ... REPORT_SUBSYSTEM.REV1_WORKING.UNITS.REPORT'BODY has 88/12/08 18:05:55 ... been CODED. 88/12/08 18:05:55 +++ !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:05:55 ... SYSTEM_SUBSYSTEM.REV1_0_1.UNITS.LINE'SPEC has been 88/12/08 18:05:55 ... CODED. 88/12/08 18:05:57 +++ !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:05:57 ... SYSTEM_SUBSYSTEM.REV1_0_1.UNITS.LINE'BODY has been 88/12/08 18:05:57 ... CODED. 88/12/08 18:05:58 +++ !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:05:58 ... SYSTEM_SUBSYSTEM.REV1_0_1.UNITS.UNIT'SPEC has been 88/12/08 18:05:58 ... CODED. 88/12/08 18:06:01 !!! Prompt encountered on statement list. 88/12/08 18:06:01 !!! !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:06:01 ... SYSTEM_SUBSYSTEM.REV1_0_1.UNITS.UNIT'BODY was CODED 88/12/08 18:06:01 ... with 1 warnings. 88/12/08 18:06:01 +++ !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:06:01 ... SYSTEM_SUBSYSTEM.REV1_0_1.UNITS.UNIT'BODY has been 88/12/08 18:06:01 ... CODED. 88/12/08 18:06:02 +++ !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:06:02 ... SYSTEM_SUBSYSTEM.REV1_WORKING.UNITS.LINE'SPEC has been 88/12/08 18:06:02 ... CODED. 88/12/08 18:06:05 +++ !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:06:05 ... SYSTEM_SUBSYSTEM.REV1_WORKING.UNITS.LINE'BODY has been 88/12/08 18:06:05 ... CODED. 88/12/08 18:06:05 +++ !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:06:05 ... SYSTEM_SUBSYSTEM.REV1_WORKING.UNITS.UNIT'SPEC has been 88/12/08 18:06:05 ... CODED. 88/12/08 18:06:09 !!! Prompt encountered on statement list. 88/12/08 18:06:09 !!! !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:06:09 ... SYSTEM_SUBSYSTEM.REV1_WORKING.UNITS.UNIT'BODY was 88/12/08 18:06:09 ... CODED with 1 warnings. 88/12/08 18:06:09 +++ !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:06:09 ... SYSTEM_SUBSYSTEM.REV1_WORKING.UNITS.UNIT'BODY has been 88/12/08 18:06:09 ... CODED. 88/12/08 18:06:09 +++ !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION.TESTING. 88/12/08 18:06:09 ... TEST_DRIVER1'SPEC has been CODED. 88/12/08 18:06:15 +++ !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION.TESTING. 88/12/08 18:06:15 ... TEST_DRIVER1'BODY has been CODED. 88/12/08 18:06:16 +++ 30 units were INSTALLED. 88/12/08 18:06:16 +++ 30 units were CODED. 88/12/08 18:06:41 --- checking cmvc consistency of !USERS.BASIC_TEST_1. 88/12/08 18:06:41 ... SUBSYSTEM_SOLUTION.REPORT_SUBSYSTEM.REV1_0_1. 88/12/08 18:06:48 +++ !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:06:48 ... REPORT_SUBSYSTEM.REV1_0_1 has been checked. 88/12/08 18:06:49 --- checking cmvc consistency of !USERS.BASIC_TEST_1. 88/12/08 18:06:49 ... SUBSYSTEM_SOLUTION.REPORT_SUBSYSTEM.REV1_0_SPEC. 88/12/08 18:06:52 +++ !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:06:52 ... REPORT_SUBSYSTEM.REV1_0_SPEC has been checked. 88/12/08 18:06:52 --- checking cmvc consistency of !USERS.BASIC_TEST_1. 88/12/08 18:06:52 ... SUBSYSTEM_SOLUTION.REPORT_SUBSYSTEM.REV1_WORKING. 88/12/08 18:06:55 +++ !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:06:55 ... REPORT_SUBSYSTEM.REV1_WORKING has been checked. 88/12/08 18:06:56 --- checking cmvc consistency of !USERS.BASIC_TEST_1. 88/12/08 18:06:56 ... SUBSYSTEM_SOLUTION.SYSTEM_SUBSYSTEM.REV1_0_1. 88/12/08 18:06:59 +++ !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:06:59 ... SYSTEM_SUBSYSTEM.REV1_0_1 has been checked. 88/12/08 18:06:59 --- checking cmvc consistency of !USERS.BASIC_TEST_1. 88/12/08 18:06:59 ... SUBSYSTEM_SOLUTION.SYSTEM_SUBSYSTEM.REV1_0_SPEC. 88/12/08 18:07:03 +++ !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:07:03 ... SYSTEM_SUBSYSTEM.REV1_0_SPEC has been checked. 88/12/08 18:07:03 --- checking cmvc consistency of !USERS.BASIC_TEST_1. 88/12/08 18:07:03 ... SUBSYSTEM_SOLUTION.SYSTEM_SUBSYSTEM.REV1_WORKING. 88/12/08 18:07:06 +++ !USERS.BASIC_TEST_1.SUBSYSTEM_SOLUTION. 88/12/08 18:07:06 ... SYSTEM_SUBSYSTEM.REV1_WORKING has been checked. 88/12/08 18:07:06 --- 180 objects were restored. 88/12/08 18:07:06 --- [end of Archive.Restore operation]. 88/12/08 18:08:22 --- Access_List.Set (To_List => "Network_Public => R", 88/12/08 18:08:22 ... For_Object => "!Users.Basic_Test_1.Acl_World"); 88/12/08 18:08:22 +++ !USERS.BASIC_TEST_1.ACL_WORLD: acl set to 88/12/08 18:08:22 ... Network_Public => R. 88/12/08 18:08:22 +++ Completed building training user basic_test_1. 88/12/08 18:08:22 --- [Finished building training users -- Examine the log].with Directory_Tools; package Training_Names is package Dir_Object renames Directory_Tools.Object; -- exceptions possible -- Bad_Course_Name : exception; -- from Validate_Course_Name Bad_Release_Name : exception; -- from Validate_Release_Name Bad_Script_Text_File_Name : exception; -- from Script_Text_File_Pathname No_Releases : exception; -- from Latest_Release_Pathname -- return pathnames: Course_Name & Release_Name arguments MUST BE VALID -- function Courses_Lib_Pathname return String; function Tools_Lib_Pathname return String; -- function Live_Job_File_Pathname return String; function Script_Text_File_Pathname (Course_Name : in String; Release_Name : in String) return String; -- function Latest_Release_Pathname (Course_Name : in String) return String; -- validate the names against existing directory objects -- (raises an exception if invalid) -- procedure Validate_Course_Name (Course_Name : in String); procedure Validate_Release_Name (For_Course_Named : in String; Release_Name : in String); end Training_Names;with Calendar; with Directory_Tools; with String_Utilities; with System_Utilities; package body Training_Names is package Dir_Names renames Directory_Tools.Naming; package Statistics renames Directory_Tools.Statistics; package Strings renames String_Utilities; No_Objects : exception; -- raised by Most_Recent_Object function Most_Recent_Object (Within_Objects : in String := "@") return Dir_Object.Handle; function Courses_Lib_Pathname return String is begin return "!Training.Software_Releases"; end Courses_Lib_Pathname; function Tools_Lib_Pathname return String is begin return "!Training.Tools"; end Tools_Lib_Pathname; function Live_Job_File_Pathname return String is begin return "!Training.Tools.Live_Job_Files." & System_Utilities.User_Name & "_" & System_Utilities.Session_Name; end Live_Job_File_Pathname; function Script_Text_File_Pathname (Course_Name : in String; Release_Name : in String) return String is Terminal_Name : constant String := System_Utilities.Terminal_Type; Script_File_Pathname : constant String := "!Training.Software_Releases." & Course_Name & "." & Release_Name & ".Scripts." & Terminal_Name & "_Script_Text"; Script_File_Object : Dir_Object.Handle := Dir_Names.Resolution (Script_File_Pathname); begin if Dir_Object.Is_Bad (Script_File_Object) then raise Bad_Script_Text_File_Name; else return Dir_Names.Unique_Full_Name (Script_File_Object); end if; end Script_Text_File_Pathname; -- local use only -- return the most recently-dated directory object from a set -- raises an exception of a null object set is specified -- function Most_Recent_Object (Within_Objects : in String := "@") return Dir_Object.Handle is All_Objects : Dir_Object.Iterator := Dir_Names.Resolution (Within_Objects); An_Object : Dir_Object.Handle; The_Most_Recent_Object : Dir_Object.Handle; begin if Dir_Object.Is_Bad (All_Objects) then raise No_Objects; end if; The_Most_Recent_Object := Dir_Object.Value (All_Objects); Dir_Object.Next (All_Objects); while not Dir_Object.Done (All_Objects) loop An_Object := Dir_Object.Value (All_Objects); if Calendar."<" (Statistics.Time_Of_Creation (The_Most_Recent_Object), Statistics.Time_Of_Creation (An_Object)) then The_Most_Recent_Object := An_Object; end if; Dir_Object.Next (All_Objects); end loop; return The_Most_Recent_Object; end Most_Recent_Object; function Latest_Release_Pathname (Course_Name : in String) return String is begin declare Latest_Release_Object : Dir_Object.Handle := Most_Recent_Object (Training_Names.Courses_Lib_Pathname & "." & Course_Name & ".@_Rev@"); begin if Dir_Object.Is_Bad (Latest_Release_Object) then raise No_Releases; else return Strings.Capitalize (Dir_Names.Unique_Full_Name (Latest_Release_Object)); end if; end; exception when No_Objects => raise No_Releases; end Latest_Release_Pathname; procedure Validate_Course_Name (Course_Name : in String) is The_Dir_Object : Dir_Object.Handle := Dir_Names.Resolution (Training_Names.Courses_Lib_Pathname & "." & Course_Name); begin if Dir_Object.Is_Bad (The_Dir_Object) then raise Bad_Course_Name; end if; end Validate_Course_Name; procedure Validate_Release_Name (For_Course_Named : in String; Release_Name : in String) is The_Dir_Object : Dir_Object.Handle := Dir_Names.Resolution (Training_Names.Courses_Lib_Pathname & "." & For_Course_Named & "." & Release_Name); begin if (Dir_Object.Is_Bad (The_Dir_Object)) then raise Bad_Release_Name; end if; end Validate_Release_Name; end Training_Names;procedure Build_Training_Users (First_User_Number : in Positive := 1; Last_User_Number : in Positive; Username_Prefix : in String := "cdf"; Remote_Machine : in String := ""; Response : in String := "<PROFILE>");with Archive; with Compilation; with Debug_Tools; with Directory_Tools; with Log; with Operator; with Profile; with String_Utilities; with Switches; procedure Build_Training_Users (First_User_Number : in Positive := 1; Last_User_Number : in Positive; Username_Prefix : in String := "cdf"; Remote_Machine : in String := ""; Response : in String := "<PROFILE>") is package Naming renames Directory_Tools.Naming; package Object renames Directory_Tools.Object; Old_Response_Profile : Profile.Response_Profile := Profile.Get; Current_Response_Profile : Profile.Response_Profile := Profile.Value (Response); function Capitalize (A_String : String) return String renames String_Utilities.Capitalize; procedure Closing_Message_For_Errors is begin Log.Put_Line ("[Finished building training users -- Error(s) detected]"); Profile.Set (Old_Response_Profile); end Closing_Message_For_Errors; function Current_Library (Of_Object : String) return String is All_Objects : Object.Iterator := Naming.Resolution (Of_Object); An_Object : Object.Handle; begin An_Object := Object.Value (All_Objects); return Naming.Unique_Full_Name (An_Object); end Current_Library; procedure Cross_Development_Facility_Setup (Users_Full_Pathname : in String; Remote_Machine : in String) is Units_Pathname : constant String := ".Mc68020_bare_Working.Units"; Switches_Pathname : constant String := ".Mc68020_bare_Working.State.Compiler_Switches"; Target_Generator_Switches : constant String := Users_Full_Pathname & ".Generator" & Switches_Pathname; Target_Generator_Units : constant String := Users_Full_Pathname & ".Generator" & Units_Pathname; Target_Messages_Switches : constant String := Users_Full_Pathname & ".Messages" & Switches_Pathname; Target_Messages_Units : constant String := Users_Full_Pathname & ".Messages" & Units_Pathname; begin Switches.Associate (File => Target_Generator_Switches, Library => Target_Generator_Units, Response => "<PROFILE>"); Switches.Set (Spec => "ftp.remote_machine:=""" & Remote_Machine & """", File => Target_Generator_Switches, Response => "<PROFILE>"); Switches.Associate (File => Target_Messages_Switches, Library => Target_Messages_Units, Response => "<PROFILE>"); Switches.Set (Spec => "ftp.remote_machine:=""" & Remote_Machine & """", File => Target_Messages_Switches, Response => "<PROFILE>"); Switches.Set (Spec => "cross_cg.debugging_level:=none", File => Target_Messages_Switches, Response => "<PROFILE>"); Compilation.Promote (Unit => Users_Full_Pathname & ".??", Scope => Compilation.Subunits_Too, Goal => Compilation.Coded, Limit => "<ALL_WORLDS>", Effort_Only => False, Response => "<PROFILE>"); Compilation.Demote (Unit => Target_Messages_Units & ".Show_All_Messages'Body", Goal => Compilation.Source, Limit => "<WORLDS>", Effort_Only => False, Response => "<PROFILE>"); end Cross_Development_Facility_Setup; begin -- set up the response profile and log the command line -- Profile.Set (Current_Response_Profile); Log.Put_Line ("[Build_Training_Users (First_User_Number => " & String_Utilities.Number_To_String (First_User_Number) & ", Last_User_Number => " & String_Utilities.Number_To_String (Last_User_Number) & ", Username_Prefix => """ & Username_Prefix & ", Remote_Machine => " & Remote_Machine & """, Response => """ & Response & """);]", Profile.Auxiliary_Msg); declare Context : constant String := Capitalize (Current_Library ("$")); Course : constant String := Capitalize (Naming.Simple_Name (Naming.Prefix (Context))); Master_Full_Pathname : constant String := Capitalize ("!Users." & Course & "_Master"); begin Operator.Enable_Privileges (Enable => True); if Operator.Privileged_Mode /= True then Log.Put_Line ("You must have operator capability to create training users", Profile.Error_Msg); Closing_Message_For_Errors; return; end if; if First_User_Number > Last_User_Number then Log.Put_Line ("The First_User_Number must be 'less than' or 'equal to' the Last_User_Number", Profile.Error_Msg); Closing_Message_For_Errors; return; end if; for User_Count in First_User_Number .. Last_User_Number loop declare User_Number : constant String := String_Utilities.Number_To_String (User_Count); User_Name : constant String := Username_Prefix & "_" & User_Number; Users_Full_Pathname : constant String := Capitalize ("!Users." & User_Name); begin Operator.Create_User (User => User_Name, Password => User_Name, Volume => 0, Response => "<PROFILE>"); Archive.Restore (Objects => "?", Use_Prefix => Users_Full_Pathname, For_Prefix => Master_Full_Pathname, Options => "R1000, PRIMARY, BECOME_OWNER, WORLD_ACL=(Network_Public => RWCOD), DEFAULT_ACL=(Network_Public => RW), OBJECT_ACL=(Network_Public => RW)", Device => Context, Response => "<PROFILE>"); Cross_Development_Facility_Setup (Users_Full_Pathname => Users_Full_Pathname, Remote_Machine => Remote_Machine); Log.Put_Line ("Completed building training user " & User_Name, Profile.Positive_Msg); end; end loop; Log.Put_Line ("[Finished building training users -- Examine the log]"); Profile.Set (Old_Response_Profile); end; exception when others => Log.Put_Line ("Encountered an unexpected exception: " & Debug_Tools.Get_Exception_Name, Profile.Exception_Msg); Closing_Message_For_Errors; end Build_Training_Users; COURSE PREPARATION NOTES ======================== COURSE NAME: Cross-Development Facility - Mc68020_Bare Version RELEASE: Delta1_Rev1 LOCATION: !Training.Software_Releases.Cdf_Mc68020_Bare.Delta1_Rev1 CONTENTS: This library contains the course preparation instructions, the software used to create a set of training user accounts and the archived software for the Delta1_Rev1 release of the Cross-Development Facility (Mc68020_Bare version) training course. PREPARING TO PRESENT A COURSE: 1. Follow the instructions in "!Training.Notes.Release_Notes.Cdf_Mc68020_Bare_Release_88_08_09" 2. Ensure that the user accounts and worlds you want to create do not exist. 3. Create the training user worlds -- execute the "Build_Training_Users" procedure in "!Training.Software_Releases.Cdf_Mc68020_Bare.Delta1_Rev1" to create the desired training users. NOTES: - To create a set of training accounts for this release (Delta_Rev1), the "Build_Training_Users" procedure must be executed: a) by a user with operator capability b) within "!Training.Software_Releases.Cdf_Mc68020_Bare.Delta1_Rev1" - As required, supply the "First_User_Number", the "Last_User_Number" and the "Username_Prefix" arguments to define the series of training user accounts to be created -- e.g. entering "1", "3" and "Learning", respectively, will create the following training user accounts: "Learning_1", "Learning_2" and "Learning_3". Also supply the "Remote_Machine" parameter to define the target machine information used by the Cross-Development Facility to download files. This setup assumes all users will use the same machine. If this is not the case, then each training user must be modified to point to the desired target machine. The Build_Training_Users can be executed multiple times if multiple target machines are available. - The password for a training user account is the same as the user name (e.g. "Learning_1", "Learning_2" and "Learning_3" in the example above). 4. Subject to the note above, check the log to ensure that the training users have been created correctly.c