4.2.4 CONFIGURATION
The "PIMES_Setup" hypothesis is used as a bootstrap. In any software program, certain values must be setup before the program can run. Provision must be made with regards to maintenance to allow some flexibility in defining these values. In this case, the only value that must be configured is that of the "Session.part_id". The complete "PIMES_Setup" rule is illustrated in Figure 30
(@RULE= R10
(@LHS= (Is (PIMES_Setup) (UNKNOWN)) )
(@HYPO= PIMES_Setup)
(@RHS= (Do (Session.part_id) (Session.part_id)) ))
The "Session" object is basically the managing object of every PIMES execution. It acts as the central data repository that other objects might need quickly. Rather than exploring everywhere for a material id or part name, objects can get the information from Session.
While Session may get property values elsewhere, the one critical piece of information it must get from the user is that of the part_id. Usually this information is passed to Nexpert by the user through the command line when PIMES is invoked. However, when the system has been reset (usually by the user during PIMES testing and development), the variable Session.part_id must be filled in.
Upon a reset of the system, PIMES_Setup is set to UNKNOWN. Consequently, upon processing of hypothesis PIMES_Setup, the LHS is true and the RHS is invoked. The RHS says to take the value found in Session.part_id and put it in the slot of Session.part_id. This is like saying take the message out of the slot and then put it back in the slot again. However, if there is no message in the slot, Nexpert Object provides an automated means of obtaining this message.
In attempting to fill an empty slot, Nexpert Object does the following, in order:
If PIMES has not been reset, there will already be a value in the Session.part_id slot. If PIMES has been reset, the third method for obtaining a value will be used since Session.part_id has no metaslot and no parent value exists. As such, a box prompting for the value of Session.part_id will appear on the screen, to which the user must enter the appropriate part name.