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.