Cory Hamasaki's DC Y2K Weather Report V2, # 9
"February 24, 1998 - 675 days to go." WRP65
FINAL
(c) 1997, 1998 Cory Hamasaki - I grant permission to distribute and
reproduce this article as long as this entire document is reproduced in
its entirety including this notice. I do not grant permission to
a commercial publisher to reprint this in print media.
As seen in
USENET:comp.software.year-2000
http://www.elmbronze.demon.co.uk/year2000/
http://www.kiyoinc.com/HHResCo.html
Please fax or email copies of this to your geek pals, especially those
idiots who keep sending you lightbulb, blonde, or Bill Gates jokes,
and urban legends like the Arizona rocket car story.
If you have a Y2K webpage, feel free to host the Weather Reports.
Don't forget- April 2, 3 1998, Geek Out.
Project Dumbass needs you.
In this issue:
1. Old GPS News
2. Feb DC Y2K Meeting Embeddeds
ICBM Launch Controls and Rick Cowles.
3. ALC 10 JCL, Assembly Listing
4. Quarter Million Dollars offered for Y2K idea
5. CCCC
--------------- Old GPS News? ------------------
<GCN is a DC area tabloid that reports on... the government and computers. I
invoke fair use as an Y2K commentator and educator and offer this digital
clipping to my students as part of our Y2K studies.>
"Government Computer News" 17 April 1997
Gregory Slabodkin
DOD Computing
What's to be done with GPS?
Paige says the vital system will be readied and waiting for the year
2000. Of the Defense Department's myriad systems, the Global Positioning
System is most vulnerable to malfunction and most likely to suffer
devastating consequences due to year 2000 code problems, DOD officials
have concluded. "People are depending on this system far beyond
anybody's expectations," said Lt. Col. Rick Reaser, chief engineer for
the Navstar GPS Joint Program Office at Los Angeles Air Force Base,
Calif. "People's lives depend on this system, and we take that very
seriously.
No play toy
DOD plans for all military aircraft to use GPS for navigation by 2000
and the military's growing dependence on GPS-guided smart bombs have
heightened Pentagon concerns about the vulnerability of the navigation
system to year 2000 glitches. First showcased during Operation Desert
Storm, GPS has become the source for precise and accurate targeting
information for the Tomahawk cruise missile, Joint Direct Attack
Munition, Army Tactical Missile System and Joint Standoff Weapon.
"The most significant system today that is not [year 2000] compliant is
GPS, which would have more impact than anything else," Emmett Paige Jr.,
assistant secretary of Defense for command, control, communications and
intelligence, recently told the House Government Reform and Oversight
Subcommittee on Government Management, Information and Technology. "Yet
I have no doubt that GPS will be ready along with all the other weapon
systems and command and control systems in the Department of Defense."
The GPS year 2000 problem is threefold and reflects the three components
of the navigation system: the space segment, the ground control segment
and the user segment. GPS consists of 24 operational Navstar satellites
mounted on six orbital planes that continuously broadcast navigation
signals to ground stations. Specialized computers built into
inexpensive, portable GPS receivers in turn derive highly accurate
position and velocity information by correlating data uploaded to the
satellites from ground stations.
Ground gaffes
According to documents provided to Congress earlier this month by
Paige's office, the year 2000 problems within the space segment can be
found in two pieces of ground equipment: the Bus Ground Support
Equipment vehicle checkout stations and the Boeing Mission Operation
Support Center (MOSC).
Software to correct the year 2000 problem in the Bus Ground Support
Equipment vehicle checkout stations already exists, and DOD will install
it during the normal systems maintenance lifecycle. But the MOSC date
code problem lies in its underlying commercial products. So DOD will
replace MOSC with the Integrated Mission Operation Support Center
(IMOSC), which it expects to finish in December 1999.
But GPS JPO is working to push the completion date up at least six
months to June 1999. The IMOSC project is part of a $1.3 billion GPS
Block IIF satellite contract that DOD awarded to Boeing Co. last April.
The GPS ground control segment consists of six monitor stations, four
ground antennas and a master control station. The software needing date
code fixes generates the uplink code to the satellites. It was written
in the 1970s and uses only two-digit date fields.
The original plan was to replace the old code as part of a modernization
of the ground control segment, or Architecture Evolutionary Plan (AEP).
But schedule delays have pushed AEP's operational beginning to mid-2000.
"It looks like that schedule is slipping out," Reaser said. "The
replacement system may or may not be there in time for year 2000
rollover. So what we're going to do is upgrade the current system to be
Y2K-tolerant as sort of the backup plan which may become our primary
plan."
Plan B
GPS JPO officials have decided to rewrite some of the existing legacy
code for the ground control segment at a cost of $7.6 million. Lockheed
Martin Federal Systems has been assessing the code and will rewrite it
under an existing maintenance contract. Until then, GPS JPO will
incrementally integrate modifications as part of its normal software
maintenance releases. Though the GPS user segment does not have a year
2000 problem per se, it does have a clock overflow problem, the Z-count
rollover. This rollover occurs every 1,024 weeks; the first one comes in
August 1999.
GPS' user segment consists of the antennas and receiver-processors that
provide positioning, velocity and precise timing to the users, such as
the Army handheld GPS receivers and Navy shipboard receivers. Although
GPS JPO established specifications for GPS receivers, some manufacturers
did not account for the Z-count rollover in the satellites' atomic
clocks, which synchronize the navigational signals.
To date, the only GPS receivers that GPS JPO has identified as having
the Z-count rollover problem are older Rockwell-Collins 3A airborne
receivers and 3S shipboard receivers with Link 40 software.
As part of scheduled depot maintenance, users must manually reset
affected receivers. Those with flash memory or removable programmable
read-only memory can be reset easily to accommodate the rollover. Users
will have to replace altogether any receivers that cannot be reset.
<Your homework assignment is to analyze this report and for the space segment,
decide whether Boeing will complete the 1.3 billion dollar Block IIF/IMOSC
project on December 1999 or June 1999 or ?????. The final exam will be in 675
days. This will count as 50% of your grade.>
<Your term project is an analysis on the AEP ground segment, scheduled for
completion some time after 2000. Will it or the $7.6 million quick patch
succeed or will both fail? Hint to the student: Lockheed Martin is the same
company that is doing the superb job on the FAA's computers.>
<I looked for more recent info than April 17, 1997 but couldn't find anything.
In Y2K, no news is a sure sign of a coverup. Everyone's been focused on
Z-count, not the MOSC or AEP. Similarly in banking, we're all looking at our
credit cards and have no information on check processing, loan reconciliation,
savings account processing, money markets, CD's, or electronic funds
transfers.>
------------- Feb DC Y2K Meeting --------------------
------------- ICBM Launch Controls ------------------
While we're in butt-pucker mode, here's my record copy of the February DC
Y2K meeting:
DC Y2K User's group meeting - Embeddeds - Fannie Mae - February 17, 1998, This
is a public, unclassified meeting held monthly in Washington DC. 5:30-9:00PM.
There were 200+ attendees.
There were five speakers:
1. Diane Shields - VP CACI - Submarine Fire Control Systems, ICBM Launch
Controls.
6 months ago, CACI discovered "a major, catastrophic problem" in ICBM launch
controls. The launch control system will fail because of a Y2K date and time
flaw. The failure was fail-safe, as it's supposed to be. The ICBMs will be
unlaunchable. Of course, that presents another problem.
Diane gave a failure time and date which is in the future. Certainly the
software will be fixed by then, if it is not already fixed. She would not
have reported to a user's forum like DC Y2K unless it had already been
fixed and the fix tested by an IV&V team.
She detailed the bit level anomaly that initiates the problem. It has to do
with characteristics of binary counters and made sense. It is analogous
to but not related to the GPS roll over problem.
Diane enumerated several problems with working with legacy embedded
systems, a major one was: Subsystem vendors go out of business.
She explained Black Box v. White Box testing; in White box testing, you can
open the box and test the components and analyze the machine states.
She offered some guidance: Use Qualified Personnel; Start in 1997 <oops>;
Have accurate documentation; Keep records; Too late for large systems.
2. Pete Himmelburger - GTE - Phones
License latch; ambiguity; horizontal tests; unit v. system tests; test
platforms unavailable at any cost; only fix absolutely critical; plan, plan,
plan; document. Horizontal tests are full systems tests.
3. Rick Cowles - DEC/Compaq - Utilities
Nukes provide 20% of US Power; 60% in NJ; no easy fixes; Industry late; cited
failures discovered in testing.
4. Hernando Quintero - BRI - Power generation
Based on technical assessment of hundreds of systems in 12 generating
facilities including Gas, Oil, and Coal but not Nuclear, 400 person days per
site; expert engineers.
15% of systems are not Y2K compliant and have problems ranging from minor
inconveniance to loss of life. He didn't say but I'm guessing he's talking
about boiler explosions and fires. There are 200 major control and monitoring
systems in a power plant.
They found problems found in systems responsible for boilers, water
treatment, programmable sequence controls, area control systems, cc20 boiler
management, turbine management, smart sensor data freeze, etc.
5. Tom Shope - FDA - Medical systems.
Pacemakers OK (except perhaps one obsolete model) but pacemaker monitoring
systems and external control systems may have problems. Imaging systems and
radiation therapy systems suspected to have problems. FDA sent out a request
for information from medical equipment suppliers <bandaids, crutches OK> but
they are concerned about complex computer controlled system. Responses due in
March, monitor http://www.fda.gov/cdrh click down to Y2K info.
--- more inflamatory comments from the king of cluelessness ---
Last year we had a c.s.y2k squabble about nuclear missile controls; a
denial-head who said his wife had been a launch officer ran his keyboard,
called us stupid for worrying about launch controls. Well guess what, CACI
has run tests and has found date problems in nuclear missile launch controls.
Just because his wife knew the combo to the safe and how to key the
system, doesn't mean she has any understanding about what's under the hood.
A-ha-ha, I'm laughing at YOU.
And the GPS problem has three parts, space, ground control, not just the
receivers, so you pilots and air traffic controllers, it's sextant and
binocular time. Note also that even the part that they say is fixed has yet
to be installed and run in production.
Last year we had a c.s.y2k squabble about planes, air traffic control, and the
FAA. Turns out that KLM is canceling flights, the FAA is hosed, and <reported
at DC Y2K> there are 170 date sensitive systems in a jetliner.
Power? Rick managed to keep those denial heads in check but, surprise,
Hernando has run tests and checks on 12 generating facilities and they have
big problems to include the possibility of loss of life.
Got it, denial-heads, Y2K is real; don't attempt to reason it out; don't
extrapolate from what you know. That's like going into a chemical
manufacturing plant and declaring that you know that turning knobs won't cause
a problem... because you saw a chemistry set in a toy store once.
------------- ALC 10 -------------------
The ALC lessons are not intended to make a COBOL'er into an assembler
gear-head. The lessons show you what to look for so that you can read dumps
and debug the little utility subroutines that infest production systems. Your
management may not know that they exist but I've seen them, there're there,
and they can take down production. Dump reading will help you debug certain
kinds of COBOL and CICS problems.
IT and MIS shops used to have several assembler mechanics; not any more, now
you're on your own. Corporate America has right-sized itself into a lobotomy.
I ran the job on the MVS mainframe in my living room, copied it to a 1.44 and
clipped the sysout into this file.
If you had clipped and run ALC-9, you'd have something that looks like this:
J E S 2 J O B L O G
05.03.04 JOB 4 IEF677I WARNING MESSAGE(S) FOR JOB ASM ISSUED
05.03.04 JOB 4 $HASP373 ASM STARTED - INIT A - CLASS A - SYS H155
05.03.18 JOB 4 IEF450I ASM GO - ABEND S0C1 U0000
05.03.18 JOB 4 $HASP395 ASM ENDED
.------ JES2 JOB STATISTICS ------
. 16 FEB 98 JOB EXECUTION DATE
. 47 CARDS READ
. 1,085 SYSOUT PRINT RECORDS
. 5 SYSOUT PUNCH RECORDS
. 0.24 MINUTES EXECUTION TIME
1 //ASM JOB (1234,5678),'C.S.Y2K',CLASS=A,MSGLEVEL=(1,1) JOB 4
2 // EXEC ASMFCLG
3 XXASMFCLG PROC MAC='SYS1.MACLIB',MAC1='SYS1.MACLIB' 00050000
4 XXASM EXEC PGM=IFOX00,PARM=OBJ,REGION=128K 00100000
5 XXSYSLIB DD DSN=&MAC,DISP=SHR 00150000
6 XX DD DSN=&MAC1,DISP=SHR 00200000
7 XXSYSUT1 DD DSN=&&SYSUT1,UNIT=SYSDA,SPACE=(1700,(600,100)), 00250000
XX SEP=(SYSLIB) 00300000
8 XXSYSUT2 DD DSN=&&SYSUT2,UNIT=SYSDA,SPACE=(1700,(300,50)), 00350000
XX SEP=(SYSLIB,SYSUT1) 00400000
9 XXSYSUT3 DD DSN=&&SYSUT3,UNIT=SYSDA,SPACE=(1700,(300,50)) 00450000
10 XXSYSPRINT DD SYSOUT=A,DCB=BLKSIZE=1089 00500000
11 XXSYSPUNCH DD SYSOUT=B 00550000
12 XXSYSGO DD DSN=&&OBJSET,UNIT=SYSDA,SPACE=(80,(200,50)), 00600000
XX DISP=(MOD,PASS) 00650000
13 //ASM.SYSIN DD *
14 XXLKED EXEC PGM=IEWL,PARM=(XREF,LET,LIST,NCAL),REGION=128K, 00700000
XX COND=(8,LT,ASM) 00750000
15 XXSYSLIN DD DSN=&&OBJSET,DISP=(OLD,DELETE) 00800000
16 XX DD DDNAME=SYSIN 00850000
17 XXSYSLMOD DD DSN=&&GOSET(GO),UNIT=SYSDA,SPACE=(1024,(50,20,1)), 00900000
XX DISP=(MOD,PASS) 00950000
18 XXSYSUT1 DD DSN=&&SYSUT1,UNIT=(SYSDA,SEP=(SYSLIN,SYSLMOD)), 01000000
XX SPACE=(1024,(50,20)) 01050000
19 XXSYSPRINT DD SYSOUT=A 01100000
20 XXGO EXEC PGM=*.LKED.SYSLMOD,COND=((8,LT,ASM),(4,LT,LKED)) 01150000
21 //GO.SYSUDUMP DD SYSOUT=A
STMT NO. MESSAGE
-
5 IEF653I SUBSTITUTION JCL - DSN=SYS1.MACLIB,DISP=SHR
6 IEF653I SUBSTITUTION JCL - DSN=SYS1.MACLIB,DISP=SHR
20 IEF686I DDNAME REFERRED TO ON DDNAME KEYWORD IN PRIOR STEP WAS NOT RESOLVED
IEF236I ALLOC. FOR ASM ASM
IEF237I 149 ALLOCATED TO SYSLIB
IEF237I 149 ALLOCATED TO
IEF237I 149 ALLOCATED TO SYSUT1
IEF237I 149 ALLOCATED TO SYSUT2
IEF237I 149 ALLOCATED TO SYSUT3
IEF237I JES2 ALLOCATED TO SYSPRINT
IEF237I JES2 ALLOCATED TO SYSPUNCH
IEF237I 149 ALLOCATED TO SYSGO
IEF237I JES2 ALLOCATED TO SYSIN
IEF142I ASM ASM - STEP WAS EXECUTED - COND CODE 0008
IEF285I SYS1.MACLIB KEPT
IEF285I VOL SER NOS= RES538.
IEF285I SYS1.MACLIB KEPT
IEF285I VOL SER NOS= RES538.
IEF285I SYS98047.T050304.RA000.ASM.SYSUT1 DELETED
IEF285I VOL SER NOS= RES538.
IEF285I SYS98047.T050304.RA000.ASM.SYSUT2 DELETED
IEF285I VOL SER NOS= RES538.
IEF285I SYS98047.T050304.RA000.ASM.SYSUT3 DELETED
IEF285I VOL SER NOS= RES538.
IEF285I JES2.JOB00004.SO0102 SYSOUT
IEF285I JES2.JOB00004.SO0103 SYSOUT
IEF285I SYS98047.T050304.RA000.ASM.OBJSET PASSED
IEF285I VOL SER NOS= RES538.
IEF285I JES2.JOB00004.SI0101 SYSIN
IEF373I STEP /ASM / START 98047.0503
IEF374I STEP /ASM / STOP 98047.0503 CPU 0MIN 04.48SEC SRB 0MIN 00.12SEC VIRT 128K SYS 204K
IEF236I ALLOC. FOR ASM LKED
IEF237I 149 ALLOCATED TO SYSLIN
IEF237I DMY ALLOCATED TO
IEF237I 149 ALLOCATED TO SYSLMOD
IEF237I 149 ALLOCATED TO SYSUT1
IEF237I JES2 ALLOCATED TO SYSPRINT
IEF142I ASM LKED - STEP WAS EXECUTED - COND CODE 0000
IEF285I SYS98047.T050304.RA000.ASM.OBJSET DELETED
IEF285I VOL SER NOS= RES538.
IEF285I SYS98047.T050304.RA000.ASM.GOSET PASSED
IEF285I VOL SER NOS= RES538.
IEF285I SYS98047.T050304.RA000.ASM.SYSUT1 DELETED
IEF285I VOL SER NOS= RES538.
IEF285I JES2.JOB00004.SO0104 SYSOUT
IEF373I STEP /LKED / START 98047.0503
IEF374I STEP /LKED / STOP 98047.0503 CPU 0MIN 00.84SEC SRB 0MIN 00.14SEC VIRT 128K SYS 204K
IEF236I ALLOC. FOR ASM GO
IEF237I 149 ALLOCATED TO PGM=*.DD
IEF237I JES2 ALLOCATED TO SYSUDUMP
IEF472I ASM GO - COMPLETION CODE - SYSTEM=0C1 USER=0000
IEF285I SYS98047.T050304.RA000.ASM.GOSET KEPT
IEF285I VOL SER NOS= RES538.
IEF285I JES2.JOB00004.SO0105 SYSOUT
IEF373I STEP /GO / START 98047.0503
IEF374I STEP /GO / STOP 98047.0503 CPU 0MIN 01.15SEC SRB 0MIN 00.06SEC VIRT 40K SYS 228K
IEF237I 149 ALLOCATED TO SYS00001
IEF285I SYS98047.T050318.RA000.ASM.R0000001 KEPT
IEF285I VOL SER NOS= RES538.
IEF285I SYS98047.T050304.RA000.ASM.GOSET DELETED
IEF285I VOL SER NOS= RES538.
IEF375I JOB /ASM / START 98047.0503
IEF376I JOB /ASM / STOP 98047.0503 CPU 0MIN 06.47SEC SRB 0MIN 00.32SEC
As a mainframe COBOL'er you should recognize the JES log, the JCL, and the
SMB's, System Message Blocks. Note 12 lines up, the 0C1. Pull out your IBM
card, Program Interruption Codes, 0001 Operation exception.
Sigh, IBM documentation. 0C1, so you look for 0001 on the reference card.
In the JES log, the IEF450I ABEND S0C1 is the same as the IEF472I SYSTEM=0C1
Here's your homework for the week:
LOC OBJECT CODE ADDR1 ADDR2 STMT SOURCE STATEMENT ASM 0201 05.03 02/16/98
0000A 1 R10 EQU 10
0000B 2 R11 EQU 11
0000C 3 R12 EQU 12
0000D 4 R13 EQU 13
0000E 5 R14 EQU 14
0000F 6 R15 EQU 15
00000 7 R0 EQU 0
00001 8 R1 EQU 1
00002 9 R2 EQU 2
00003 10 R3 EQU 3
00004 11 R4 EQU 4
00005 12 R5 EQU 5
000000 13 STCK CSECT
14 SAVE (14,12),,STCK..&SYSDATC
000000 15+ DS 0H 01650000
000000 90EC D00C 0000C 16+ STM 14,12,12(13) SAVE REGISTERS 02950000
000004 05C0 17 BALR R12,0 INIT BASE
00006 18 USING *,R12 ADDRESS
000006 50D0 C04A 00050 19 ST R13,SAVE+4 SAVE OLD SAVE
00000A 41D0 C046 0004C 20 LA R13,SAVE COPY IN NEW SAVE
21 *...
00000E 1744 22 XR R4,R4
000010 5840 C08E 00094 23 L R4,COUNT
000014 8840 0004 00004 24 SRL R4,4 SHIFT OUT THE SIGN
25 *...
000018 4130 0003 00003 26 LA R3,3 R3 = 3
00001C 4150 C092 00098 27 LA R5,SLOTS R5 = &SLOTS
000020 28 DOLOOP DS 0H
000020 4140 4001 00001 29 LA R4,1(,R4) INCREMENT YEAR BY ONE
000024 1824 30 LR R2,R4 R2 = R4
000026 8920 0004 00004 31 SLL R2,4 MAKE ROOM FOR THE SIGN
32 *...
00002A 5020 5000 00000 33 ST R2,0(,R5) *SLOT = R2
00002E 960F 5003 00003 34 OI 3(R5),X'0F' TURN ON THE SIGN
000032 4150 5004 00004 35 LA R5,4(,R5) SLOT++
000036 4630 C01A 00020 36 BCT R3,DOLOOP R3--; IF R3 > 0 GOTO DOLOOP;
00003A 37 EXIT DS 0H
00003A 58D0 C04A 00050 38 L R13,SAVE+4 RELOAD OLD SAVE
00003E 0000 39 DC XL2'0000' ABEND.
40 RETURN (14,12),RC=0
000040 98EC D00C 0000C 41+ LM 14,12,12(13) RESTORE THE REGISTERS 00650000
000044 41F0 0000 00000 42+ LA 15,0(0,0) LOAD RETURN CODE 01750000
000048 07FE 43+ BR 14 RETURN 02000000
PAGE 3
LOC OBJECT CODE ADDR1 ADDR2 STMT SOURCE STATEMENT ASM 0201 05.03 02/16/98
00004C 45 SAVE DS 18F
000094 0001978C 46 COUNT DC PL4'1978'
000098 47 SLOTS DS 4F
000000 48 END STCK
CROSS-REFERENCE PAGE 4
Using your S/390 reference card, look up the machine instructions and match
the opcodes to the object code. For example, the last instruction, BR 14,
assembles to 07FE, 07 is branch on condition register. F is the mask and
means always. E is register 14.
The point of this exercise is to become familiar with the opcodes and machine
formats. Remember 90ECD00C, 98ECD00C, and 07FE are important clues in dumps.
Extra credit, go the other way with 05EF.
And as usual, any denial-heads who are still reading, please feel free to jump
in. Just because you clicked on a word processor or read a couple Jerry
Pontificate articles in Byle Magazine, that doesn't mean you know anything
about enterprise scale computing.
I'm guessing that there are only two types who are reading this far, real
assembler gear-heads for whom this is like reading a third grade book on a
visit to the zoo and S/390 non-assembler programmers who are breaking a sweat
but on every lesson say, a-ha, I've always wondered how that worked, who are
starting to feel the power of the force.
----------- Quarter Million Dollars offered for Y2K Idea ----
http://www.worldbank.org/infodev/y2k.html
Proposal form is in http://www.worldbank.org/infodev/formword.doc
The Information for Development Program (infoDev) is concerned that developing
countries are slow to begin the work necessary to convert information systems
to avoid the Year 2000 problem (Y2K), will have difficulty allocating the
large amounts of resources appropriate to the problem, and may face serious
disruption in many sectors in the next five years due to Y2K computer
failures.
infoDev therefore proposes to make a grant of up to $250,000 to the proponent
providing the best proposal on how to assist and stimulate developing
countries to take a more proactive approach in dealing with the Y2K problem.
Carlos Braga
Program Manager
infoDev Program
World Bank
1818 H St.NW
Washington DC 20433
USA
Room No. F3K-266
Tel: (202) 458-5153
Fax: (202) 522-3186
E-mail: infodev@worldbank.org
A big DC Y2K WRP thanks to Mr. A. for the tip.
---------------- CCCC ---------------------
Cory's Clueless Closing Comments.
What about a print version of the DC Y2K report? Is there enough interest that
I could publish this as a monthly magazine. I've seen a couple attempts at a
Y2K magazine and believe that with a little hired help, I could do better.
Couple things, print magazines have a better reach than ezines. They also
have more credibility, although I don't know why.
I have more to say, but it's so clueless that I better wait a week....
cory hamasaki 675 days.