Do you subscribe to the "occurrence of three" theory? This theory suggests that things naturally tend to occur in groupings of three. The HP 3000 market experiences a clear example of this as TimeWarp/3000 becomes the third entry in the Year 2000 tool category. Written by S.M. Gordon & Associates with worldwide distribution. TimeWarp/3000 is designed to allow the testing of user programs and CI scripts within any desired date and time without requiring you to change the HP 3000 system date globally.

TimeWarp/3000 competes with Time Machine (see our TestDrive in the September 1997 issue) and Hourglass 2000 (see our TestDrive in the November 1997 issue). Even though these products are similar, I found one unique feature in TimeWarp/3000 which I detail below.

What can it do?

Simply stated, TimeWarp/3000 can be used to change the date and time so you can test your software executing with that date/time even though the rest of your systems are using the current date/time. This gives you the ability to test your software as if it was operating in any future or previous year without having to change the system clock. Using TimeWarp/3000 you can:

How does it work?

TimeWarp/3000 is first enabled using the supplied UDC command WARP ENABLE (you must have SM or OP capability). TimeWarp/3000 stays enabled until you disable it (WARP DISABLE) or the system is rebooted. Once enabled, all automatic rules are honored for logons (jobs/sessions) and you can use the UDC command WARP TURNON to set a virtual date/time locally.

WARP TURNON overrides any logon rule that might have been established, and you can use WARP TURNOFF to cancel any local date/time setting. Once your environment is controlled by TimeWarp/3000, all calls to system date/time routines are trapped and the virtual date/time is returned instead of the current system date/time.

Any jobs you stream will inherit the current TimeWarp/3000 virtual date/time, and session/job banners displayed on $STDLIST contain information advising you that you are operating under a TimeWarp/3000 virtual date/time.

Any files you update will be date/time stamped with the system date/time, regardless of your TimeWarp/3000 settings. This is a design choice which invokes two issues. First, it allows you to test your software without mucking up file labels, which can help in preserving backups, for example. However, if your application is dependent on date/time stamps in files, you cant correctly simulate the date and time. Note that SHOWJOB will show the current system date/time and not your virtual date/time when using TimeWarp.

I verified that TimeWarp correctly simulates dates with MPE/Posix date and variables. For example, SHOWVAR HPDAT@ and ECHO $HPDATEF will return your virtual date/time.


The TimeWarp/3000 virtual date and time can be set the following ways:

1. Absolute date and time constant. This date/time value that you specify is a starting point from which your dates and times will count away from.

2. Relative date and time value. The date/time is relative to the real system clock. For example, if you specify a relative date/time of "+1 YEARS" then the date will always be 1 year more than the current system date and the time will be current system time.

A TimeWarp/3000 virtual date/time can be set up for a job or session using these three methods:

1. Issuing the WARP TURNON command with a specified virtual date/time. The job/session will operate under this virtual date/time until logoff, another WARP TURNON command or the WARP TURNOFF command is issued.

2. A configured rule exists for the matching job/session. When the job/session logs on it will be assigned the configured virtual date/time. The configured rule matches on job/session type, job/session name, user and account names. Wild cards are permitted. You can also set up a rule that excludes users from being assigned a virtual date/time.

3. A job created from a job/session that has a virtual date/time in operation inherits the virtual date/time from the originating job/session. If you have an online system that launches background jobs (for reporting or other tasks) you will find this feature very helpful. I found it incredibly useful in testing our very complex online application system. It worked so well that we have made it a requirement for any Year 2000 tool we use.

TimeWarp/3000 can trace any calls to date/time related routines. These are the options you can set:

TimeWarp/3000 includes MANAGER, which is a character-based program with pull-down windows used to perform the following tasks: Installation and Documentation

I received my TimeWarp/3000 installation as an e-mail attachment (approximately 400K) which included command files for uploading to my HP 3000 using either Reflection or MS 92. Installing TimeWarp/3000 this way requires the freeware program LZW from Telamon (available from or indirectly from other HP 3000 Web sites such as 3k Associates).

You can also use the tried and true method of tape (DAT/Reel) by calling or emailing one of their distributors. I did not find a way to download a demo copy from their Web site. Hopefully they will add this capability in the future.

The installation went smoothly (it installs into the TIMEWARP account), and can be done without disrupting your existing users. A systemwide UDC is added to make the TimeWarp/3000 commands available systemwide. I found the documentation complete, thorough and clear in describing the features of the product. A nice touch is a complete list of all the date/time related accesses intercepted by TimeWarp/3000 for virtual date/time support, as well as a complete list of installed files and their purpose.


I have a short list of simple criteria for recommending any software product for the HP 3000:

It must work as advertised, provide a useful function, and contain features that I would find helpful when using the product.

It should install cleanly without help from the vendor.

The documentation should be clear and concise.

On all counts TimeWarp/3000 met or exceeded my requirements. Couple this with a pricing scheme that is affordable for shops of varying sizes and you have a product that I would not hesitate to recommend for doing Year 2000 testing and certification.

Duane Percox is a co-founder and developer at Quintessential School Systems, a supplier of HP 3000 K-12 school administration applications as well as a Posix-free MPE/iX Web server. Hes been working with the HP 3000 since 1979.


Copyright ©1998 by The 3000 NewsWire. Reprinted from Vol. 3, Issue 7 of The 3000 NewsWire, 11702 Buckingham Road, Austin, TX 78759, 512.331.0480.