Thinking aloud: Can Bing/Bard help keep mainframes running?

toddogasawara
GeezerViews
Published in
3 min readApr 23, 2023

Google is trying have its Bard LLM catch up with Microsoft Bing Copilot. On April 21, 2023, it announced Bard now helps you code.

We’re launching these capabilities in more than 20 programming languages including C++, Go, Java, Javascript, Python and Typescript. And you can easily export Python code to Google Colab — no copy and paste required. Bard can also assist with writing functions for Google Sheets.

Looking at their list, I wondered if Bard could provide an assist to support mainframes. One of the big problems with supporting mainframes has nothing to do with the product itself. The problem is finding knowledgeable technical people to maintain, manage, and run the hardware and software. And, when you do find these people, they might be expensive resources. And, on a, perhaps darker note — not be ageist since I’m a retiree myself — you do not know how long these knowledgeable people will be available for your operations. And, I’m not talking about people finding better positions.

In the course of a large multi-team two-year project to migrate a mainframe from on-premise to a managed service, we had a key technical stakeholder, a staff member, and two contract programmers pass away.

So, any mainframe knowledge assistance could be helpful to keep a project moving. So, I asked Google Bard a relatively elementary question: provide a jcl sample showing how to increase the number of allocated dasd cylinders.

The JCL sample it generated look good to me and could help a neophyte move in the right direction and provide context to ask specific questions. Bard also gave a line-by-line explanation of its output.

Here is a breakdown of the JCL statements:

//INCR_CYLINDERS JOB (ACCT=ABC123,MSGCLASS=A)

This statement defines the job name, account number, and message class for the job.

//STEP01 EXEC PGM=IEFBR14

This statement defines the first step in the job. The IEFBR14 program is a utility program that can be used to perform various tasks, such as allocating data sets and printing messages.

//SYSPRINT DD SYSOUT=*

This statement defines the SYSPRINT data set. This data set will be used to print output from the job.

//SYSIN DD *

This statement defines the SYSIN data set. This data set will contain the input data for the job.

INCR_CYLINDERS

This is the INCR_CYLINDERS macro. This macro is used to increase the number of allocated cylinders for a data set.

DATASET=DASD_DATASET

This parameter specifies the name of the data set to be increased.

NEW_CYLINDERS=10

This parameter specifies the number of cylinders to be added to the data set.

/*

This is a comment line. Comments are used to document the JCL.

I should note that I asked Bing Copilot the same question and it generated a completely different set of JCL code. Both Bard and Bing referenceed the IEFBR14 utility though. Bing also assumed you want to release the allocated space after the job runs.

I’m interested to know what knowledgeable mainframe (especially z/OS) programmers think of the possibility of LLM-s like Bard and Bing helping staff members who may have been “asked” to help with the mainframe even though it is not in their knowledge scope.

--

--

toddogasawara
GeezerViews

Editor MobileViews; retired former State of Hawaii Director of Operations for IT