VM/COM, December 1985



1
-
            OO        OO OOO   OOO      //  OOOOOOO   OOOOOOO  OOO   OOO
             OO      OO  OO OOO OO     //  OO     OO OO     OO OO OOO OO
              OO    OO   OO  O  OO    //   OO        OO     OO OO  O  OO
               oo  oo    oo     oo   //    oo        oo     oo oo     oo
                oooo     oo     oo  //     oo     oo oo     oo oo     oo
                 oo      oo     oo //       ooooooo   ooooooo  oo     oo
0           ------------------------------------------------------------
            December  1985 edition                   Volume 2   Number 7
-                            CsNews Network Newsletter
-
-
            Staff:
0               Michele Robinson    CSMICH  at MAINE    Editor
                Andrew T. Robinson  ANDY    at MAINE    CsNews Director
                David Eckhardt      DAE     at PSUVAX1  Assistant Editor
                Prof. G. Markowsky  MARKOV  at MAINE    Faculty Advisor
-
0            Ôçççççççççççççççççççççççççççççççççççççççççççççççççççççççä
             ³ Newsletter article contribution Userid:  CSNEWS@MAINE ³
             ³                                                       ³
             ³  Contributions from readers welcomed and encouraged!  ³
             ¨ççççççççççççççççççççççççççççççççççççççççççççççççççççççç]
1
0                                Vm-Com  Issue 2.7
-
0                                Table of Contents
+                                _____ __ ________
-           Introduction to Vm/Com 2.7  . . . . . . . . . . . . . . .  1
            CSNEWS Notes  . . . . . . . . . . . . . . . . . . . . . .  2
            Letters to the Editor . . . . . . . . . . . . . . . . . .  4
            A Golden Thought  . . . . . . . . . . . . . . . . . . . .  7
            The Italian Experience in BITNET  . . . . . . . . . . . .  8
            VM : The Operating System of Choice . . . . . . . . . . . 10
            From  ISPF To CICS  . . . . . . . . . . . . . . . . . . . 14
            Handy Tips for Better Consulting  . . . . . . . . . . . . 18
            OpCodes . . . . . . . . . . . . . . . . . . . . . . . . . 22
-
-
-
-
-
-
-
-
-
-
-
-
-
0                                        2
1
0                                Vm-Com  Issue 2.7
0                            Introduction to Vm/Com 2.7
+                            Introduction to Vm/Com 2.7
-
                Hello once again!   Well this is the last  issue of 1985
            and the last of volume 2.   I'd like to thank all of you for
            reading  Vm/Com and  thank you  for the  responses you  have
            sent.   You have made Vm/Com quite a popular magazine.  Each
            month hundreds of issues go out  and we hope to keep getting
            more readers next year.  Please keep reading and please feel
            free to let us know what you think.  We can't make it happen
            without your help.
0               This issue is a bit smaller than the past few have been,
            but as the semester progresses people get busier and I don't
            receive quite as  many articles.   Please bear  with the low
            spots and try to enjoy what is here.   In this issue you get
            to see the first letters I have received.  Don't expect this
            column every issue, as I'll put it in only when I get enough
            articles  to make  it interesting.   Also there  is a  short
            thought  to look  at,  an  article describing  a fairly  new
            server to  the net,  and  an article  on VM.  For  the humor
            section  this time,   a consultant's  point  of view,   it's
            humorous..   but  it  wouldn't  hurt  to  take  it  somewhat
            seriously,  and of course there  is the ever popular OpCodes
            (which I am running out of..  so if you can think of any new
            ones please send them).
0               See ya'all in January with V3-1. In the meantime, have a
            great holiday season!!
0           Michele Robinson,
            Editor
-
-
-
-
-
-
-
0                                        1
1
0                                Vm-Com  Issue 2.7
0                                   CSNEWS Notes
+                                   CSNEWS Notes
0                         Andrew T. Robinson, (ANDY@MAINE)
-
               Hello, all you happy and eager BITNET users!  The holiday
            season is upon us,  and for your present,  I have decided to
            throw together another titillating set of CSNEWS NOTES!
0              The  CSNEWS staff  was  gathered  together for  the  CSOP
            Semesterly meeting  on November  6th,  and  discussed issues
            pertinent to CSNEWS and the  BITNET in general.   There were
            oodles and oodles  of interesting topics discussed  (not the
            least of  which was  the quality  of the  pizza we  were all
            eating).  I will try to summarize some of these below.
0              Vance   Ogden   (NMCS024@MAINE),    our   former   CSNEWS
            consultant,  is no longer an active CSNEWS operator.   Vance
            is working for the Dead River Corp.   in Bangor,  Maine as a
            system operator  on a PRIME  system.   Vance  maintained our
            NETMON and BACKUP  systems,  and answered questions  on both
            CSNEWS and BITNET.
0              To   fill   in   Vance's   position,    Michael   Johnson
            (MICHAEL@MAINE)  has taken over some of the programming work
            that  Vance did.    Mike  has also  volunteered  to do  more
            developmental  work   in  the   area  of   CSNEWS  Assembler
            conversions.
0              To  take  over  the CSNEWS  Consultant  position,   Steve
            Goldsmith (of FORUM@BITNIC fame) has been recruited.   Steve
            will  also  be  working  along  with  Mike  Johnson  in  the
            rewriting of BACKUP and NETMON on CSNEWS.  Steve should have
            a new ID, STEVE@MAINE, by the time this letter is available.
            We welcome Steve and his experience to the CSNEWS staff!
0              Another subject  discussed was  the removal  of the  CSBB
            Bulletin Board system  on CSNEWS.  This is  primarily due to
            the lack of use of CSBB.  It  was agreed that this act would
            be  premature,   but  if  CSBB   does  not  show  any  usage
            improvement over the  next few months,  it  will probably be
            phased out.    Come on people,  use  it!   If you  want more
            information, issue the command
0           SENDME CSBB HELPNET
0           to CSNEWS.   The service is there for everyone, so give it a
            try!
-
-
                                         2
1
0                                Vm-Com  Issue 2.7
0              One of the points that was  discussed the most during the
            meeting was  that of putting  a conferencing system  such as
            FORUM or  RELAY at  MAINE.   Not  everyone was  of the  same
            opinion on this subject, but we all agreed it would be worth
            a try to ask.   However,  at  the present time it would seem
            that the UMaine administration has  vetoed the idea,  due to
            resource usage by the CSNEWS system.
0              That about summarizes what's new  in the world of CSNEWS.
            I will talk to you all in the next issue, so keep those eyes
            glued to the screen, and keep on netting!
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-                                        3
1
0                                Vm-Com  Issue 2.7
0                              Letters to the Editor
+                              Letters to the Editor
0           Well here it  is...  what we've all been  waiting for!!  The
            first letters we have received. Please keep sending more!
-           ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
0           Date:         Tue, 30 Jul 85 09:39 EDT
            From:         KLM$GR@QUEENS (Jim Mabry)
            Subject:      IBM 370 Assembler article in VM/COM
0               I'd just like  to put in my 2 cents  about CSNEWS.  It's
            great!!  Being an Asm programmer,   I especially enjoyed the
            article on IBM 370 I/O architecture.  I didn't see it in the
            most recent issue  however.  Will there be  more articles of
            this type?  I hope so.  As a matter of fact, I tried the pgm
            and it does work!
0           Pac!
0           ------------------------------------------------------------
                Since  we  have  received this  letter  there  has  been
            another article in the series.    And there will probably be
            more coming sometime in the future.
0           Ed.
0           ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
0           Date:     Wed, 31 Jul 85  09:36 EST
            From:     KLM$GR@QUEENS
            Subject:  Another suggestion for Vm/Com.
                      A "Questions and Answers" page maybe?
0                Here's  another suggestion  for  Vm/Com.   How about  a
            "Questions and Answers"  section?  Or you could  call it the
            "Consultant's Corner"  or something  like that.  Users could
            send in  questions about  the system  or CSNEWS  or anything
            related to  the computing  world and  you could  have either
            other users answer them or the  CSNEWS staff can take a shot
            at it? What do you think of this idea?
0           Pac!
0           ------------------------------------------------------------
                There has been  a CSNOTICE file called  CONSULT CSNOTICE
            started from  this idea.    There is  nothing in  it at  the
            present time, but please feel free to append to it.
0           Ed.
-
0                                        4
1
0                                Vm-Com  Issue 2.7
0           ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
0           Date: 30 August 1985, 12:49:12 HOE
            From: Juan-Pedro Cerezo Martin   FISICTE1 at EEARN
0              Hello. A little note to say that the 2 articles of VM/COM
            about 370 I/O are really neat,  and to request (if possible)
            for a description of the  more important networks that exist
            in the world, to be published on next issues of VM/COM.
0           Regards, Juampe
0           ------------------------------------------------------------
                Would anyone  out there like to  put together a  list of
            networks ??  If so I'd be happy to put it in a later issue.
0           Ed.
0           ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
0           Date:    30 August 1985, 08:43:56 EDT
            From:    LIND@MAINE (Bob Lind)
            Subject: Vm/Com articles
0               Some  of  the  articles  in  vm  com  about  programming
            techiniques are pretty  interesting and useful,  but  no one
            ever lists any references at the end of the article.  If the
            information  was  not  taken from  any  source  except  from
            personal  experience  how  about listing  any  sources  that
            pertain to the topic?   I do not  know if there is a list of
            suggested computer  sources or not  somewhere,  if  there is
            please enlighten me.
                Maybe  someone could  start a  library  of abstracts  or
            reviews on decent computer sources.  Just an idea.
0           Bob
0           ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
0           Date:     Thu, 19 Sep 85  12:46 EDT
            From:     BITLIB@YALEVMX
            To:       NMCS114@MAINE
0               I just got  issue 2-5 of VM/Com and  really enjoyed what
            I've read so far. I took your quest for suggestions to heart
            and came up with this one off the top of my head.
                  How about  making one screenful  of VM/COM  for (free)
            advertisments of sorts.   Not classified ads and  stuff like
            that,   just ads  for  electronic  magazines,  new  servers,
            whatever.   I doubt  that you would get enough  to fill more
            than one screen in any given month.
0           Chris
-                                        5
1
0                                Vm-Com  Issue 2.7
0           ------------------------------------------------------------
                In  this issue  there  is an  article  describing a  new
            server.  Read on for details.
0           Ed.
0           ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
                                         6
1
0                                Vm-Com  Issue 2.7
0                                 A Golden Thought
+                                 A Golden Thought
0                         Mike Beverly, (CC609051@CCNYVME)
-
                         The computer age is not just another
                       fad that will pass us by!!
                         It is permitting the world to come
                       closer together by linking different
                       systems together.
                         It is also creating a period of in-
                       stant access to almost any information
                       at a touch of a few keys.
                         It has become a necessity without
                       which a person is defenseless in our
                       rapidly changing society.
                         This is one fad that will not outgrow
                       us, for this reason we have truly entered
                       the century of the computer age.
-
-
-
-
-
-
-
-
-
-
-
-                                        7
1
0                                Vm-Com  Issue 2.7
0                         The Italian Experience in BITNET
+                         The Italian Experience in BITNET
0                         Niccolo' Avico, LFCNET@ICNUCEVM
-
               Italy officially entered BITNET, with some of its biggest
            computer centers,  on November 1984.  Before this date there
            were  some networks  in  the country,   most  of which  were
            sponsored by National Research Council  (CNR);  one of them,
            RPCnet,  which  has been  almost completely  integrated into
            Bitnet, even allows remote logons.
0              The  first person  who  I heard  about  using BITNET  was
            Riccardo Mannella.   He soon became  well known with  his ID
            CHARM@ICNUCEVM.  Now he's  working in England,  so  his fans
            outside Italy can no longer interact with him (JANET, the UK
            internal network,  is  not part of BITNET except  for a mail
            gateway),  but many people here  (including myself)  have to
            acknowledge him  for his  work.  I  guess that  some Italian
            people in the US first contacted him, ones from GWUVM that I
            met last summer in Italy and Washington DC.
0              There are  still few Italian  BITNAUTS:  mostly  from the
            Pisa University  Computer Science,  Mathematics  and Phisics
            departments.  People  outside Italy cannot  understand this.
            Here everything at  the University is directly  supported by
            government. Thus only a small number of students can use the
            facilities  because of  the small  number  of terminals  and
            educational computers.  But university tuition is pretty low
            here:  about $100 a year, while US students' fees range from
            $5000 to $10000 a year.
0              However, resuming the previous tale, after some months VM
            software was imported  by Riccardo.  I can  remember the DSC
            EXEC by  Moshe (BFMOSH@WEIZMANN)   and FILTER  EXEC by  Andy
            (ANDY@MAINE).  In those days I began to learn REXX (and also
            VM, a change from UNIX, which I used to deal with). In order
            to learn a bit I decided  to rewrite FILTER,  since,  due to
            some differences between US and Italian keyboard,  it didn't
            work well  here.  The  new and  improved program  was called
            Filter2 and added some new functions to the old Filter.  For
            people who don't know what these execs do, they allow you to
            select incoming  messages,  talk  to someone  without always
            using TELL and much more.
0              The second program which I spent  a few nights of work on
            (I prefer night hours because  of faster system response and
            the time difference between here and the US)  was a new DSC.
            The old  one worked  well,  but  I wanted  to try  something
            smaller  before  making  the jump  to  the  server  program.
            Moreover I had to  wait a bit to obtain disk  space (now 104
            cyl).    These  programs   are   now   available  from   the
            LFCNET@ICNUCEVM server.
0                                        8
1
0                                Vm-Com  Issue 2.7
0              By the way,  the necessary code  for the server was born,
            after a black hole due to university exams,  during last hot
            July.  It took me 15 days to eliminate all the defects,  add
            other functions and complete it. Then I needed a few days to
            test  it  under  control of  system  programming  personnel.
            Finally  they put  the  ID in  the  AUTOLOG list,   allowing
            continuous service also after CPU restarts.
0              Presently the  server can  be accessed  only by  messages
            commands,   but an  upgrade is  under design  to also  allow
            inquiries with command files.  I'll advertise it in a future
            issue of this digest.
0              The available files can be divided into two groups: those
            stored on my disk (the only ones listed in LFCNET FILES) and
            some system  files;  these  are the  library of  ACM fortran
            subroutines, which have been stored at ICNUCEVM from 1975 as
            source files.   With the /Listall  command (note  that EVERY
            command  for the  server must  be  prefixed by  '/')  it  is
            possible to receive a selective list of required algorithms,
            depending on the problem one wants to solve. For example
0                     TELL LFCNET AT ICNUCEVM /L acm integral
0           will return a  file with the identifiers  of the interesting
            files  (which can  be acquired  with /Get)   that deal  with
            numeric integrals.  Note that the number associated with the
            file is part of its name.   For example:   the algorithm No.
            333 will be  in the file ALG333 ACM (just  specify file name
            and mode in the /Get command).  Also for normal LFCNET files
            a selective query is available. For example:
0                      TELL LFCNET AT ICNUCEVM /L file csnews
0           will return the list of CSNEWS files on the disk (those with
            information about that server).  In both request,  the first
            parameter of /Listall is called Topic and the second Subject
            (so FILE and ACM are topics,  CSNEWS and INTEGRAL subjects).
            To know the  actual list of Topics and  Subjects allowed you
            must /Get  the file TOPICS  FILE,  which deals  with another
            feature of the server:  the  Bulletin Board updated by users
            via both messages  and files;  but this is an  area to which
            I'll return,   if necessary,  in  a following issue  of this
            digest.
0              After  all  these words  I  have  problems coming  to  an
            appropriate end.  This has always been  the case for me,  so
            the best  I can  do is to  invite everyone  to use  and take
            advantage  of  all  the  Bitnet  features  that  are  always
            growing.  Be a  part of the "us",  who are  the students and
            researchers  all over  the world  who  fight geographic  and
            human distances with a powerful, invincible weapon: cultural
            exchange and mutual help.
-                                        9
1
0                                Vm-Com  Issue 2.7
0                       VM : The Operating System of Choice
+                       VM : The Operating System of Choice
0                           Andy Robinson, (ANDY@MAINE)
0              In today's  world of high-tech  and mass  marketing,  the
            mainframe buyer  has a  large choice  of hardware  to choose
            from.  Installations who desire IBM-370 series compatibility
            can get  it,  without paying  IBM prices (from  Amdahl,  for
            example).  There  are also  many other  vendors with  worthy
            systems,   such  as  Digital  Equipment  Corporation  (DEC),
            Control  Data Corporation  (CDC),   Honeywell,   and so  on.
            However,   on  BITNET  it  would   seem  that  most  of  the
            installations are IBM-370-series  mainframes or compatibles,
            with some VAXen,  PDPs,  and CDC machines thrown in for good
            measure.
0              The place  where there is often  NOT such a  selection is
            that of operating system software. Most machines have one or
            two  operating  systems,   available  through  the  software
            vendors. If the available operating systems do not suit your
            needs,  you have to write your  own or heavily modify one of
            the existing  ones.   This incurs a  lot of overhead  on the
            programming staff,  and results in  a lot of downtime during
            development and testing of the system.  There is one notable
            exception to this rule however: IBM VM.
0              What is  VM?  Well,   the initials  themselves stand  for
            "VIRTUAL  MACHINE."   VM  is the  result  of  a  development
            project  which began  in  the late  60's  with an  operating
            system called  CP-67.  That  system eventually  evolved into
            what most of  us see today when we LOGON:   VM/SP Release 3.
            The idea of  a virtual machine is  simple conceptually,  and
            extremely powerful:   every user on a VM system is allocated
            a  process  upon   LOGON  that  exactly  simulates   a  real
            IBM-370-series computer,  including  associated hardware and
            software.
0              Wait a minute,  you say...  what do you mean "simulates a
            real IBM-370"?  Well, I mean exactly that.  Every one of the
            userids on a VM system acts as if it were a separate IBM-370
            computer,  complete with a virtual processor,  card readers,
            printers,  punches,  and disks.  The best thing about all of
            this is:  You can run ANY program on a VM userid (henceforth
            referred to as a virtual machine)   that has been written to
            run on a straight 360/370 system. This means CMS, MVS, UNIX,
            DOS/VS, OS, ad infinitum. What's even funner, you can run VM
            UNDER VM (more on that later)!
-
-
-                                        10
1
0                                Vm-Com  Issue 2.7
0              Sound good?  It  is.  Not only can you  run any operating
            system written  to run  on a  360/370 under  VM,  but  every
            virtual machine  can run a  DIFFERENT operating  system.  At
            MAINE for example, we have most of our machines running CMS,
            but we also have DOS/VS batch machine(s), CICS machines, and
            a data  entry system called  MASTER --  and all on  one real
            CPU!
0              All of  this is great,  you  say,  but how does  it work?
            Well,  VM  is known  as a  virtual storage  operating system
            (VS).  In a VS system,  there may be several (or in the case
            of VM several hundred) "processes" that appear to be running
            at the same time on the computer. The sum of the memory used
            by these processes  usually exceeds that of  the main memory
            of the computer!  So a VS  system writes some blocks of main
            memory that  are not being used  to a disk,  and  then reads
            some other blocks of memory  previously saved in this manner
            back into the original locations.  This act of "swapping" or
            "paging" allows  the computer to  appear to have  many times
            more storage than it actually does.
0              The  concept that  allows the  computer  to perform  this
            swapping operation is known as "locality", which states that
            at any given moment in time,  an executing process will only
            be using  a small  portion of  the memory  allocated to  it.
            Therefore by only keeping that small portion in storage at a
            time, you can fit more processes into the computer.
0           ÕThe idea  of virtual  storage is  very powerful  in and  of
            itself,  and VM is by no  means the only operating system to
            use it (most do today, as a matter of fact). It is important
            for anyone  with computer science  interests to pick  up the
            concept of  VS and what it  means.  It is certainly  a basic
            contributor to the flexibility of VM!þ
0              Some of  you who  already know  about virtual  storage in
            some detail may also know that some of IBM's other operating
            systems  (such as  DOS/VS and  OS/VS)   are virtual  storage
            systems too,  and perform their  own paging.   Both of these
            systems also  run routinely  under VM,   which does  ITS own
            paging.  No problem  -- VM is perfectly  capable of handling
            this  situation (which  is  known  as second  level  virtual
            storage).   Common  sense will tell  us that there  could be
            (and,  in fact is)  some  performance degradation for the VS
            operating system running under VM.   But VM has provided for
            this with  hardware assists  and handshaking  features which
            allow most  other VS operating  systems to operate  under VM
            with little  performance degradation.   In some  cases,  the
            operating systems actually  run FASTER than they  would on a
            dedicated real 370!
-
-                                        11
1
0                                Vm-Com  Issue 2.7
0              One thing I have not discussed in detail is the fact that
            any device that  is part of the real computer  VM is running
            under can  be utilized by any  and/or all of the  userids on
            the system. This is all managed by VM in such a way that the
            devices  seem  to be  separate  pieces  of hardware  of  the
            specified type  (For instance,  my  userid has  a 5-cylinder
            virtual disk at device address  291.  It always acts exactly
            like a real 3380 disk drive with 5 cylinders on it).  So not
            only does a virtual machine act like a separate IBM-370 CPU,
            but all  the devices you  need to do  useful work act  as if
            they are separate hardware devices also.
0              This simulation of real devices  provides VM with another
            powerful   ability  --   definition  and   use  of   VIRTUAL
            COMMUNICATIONS  LINES.  These  lines  act  as if  they  were
            telephone lines to the rest of the system.  When a user gets
            on a terminal,   he can DIAL to a virtual  machine which has
            communications lines defined and driven,  instead of logging
            on.  This is what allows multi-user  systems such as UNIX to
            run  under VM  -- the  UNIX  user simply  DIALs the  virtual
            machine running  UNIX,  and  then logs  in according  to the
            rules of the guest operating system.
0              Virtual lines  are fine,  but a  user may want  to access
            resources other than those provided to him/her at LOGON. The
            command to accomplish this is DEFINE. With DEFINE a user can
            do all sorts of fun  and interesting things...  Want another
            printer?  Just issue a 'DEFINE PRINTER' command.   Need more
            disk space? Just issue a 'DEFINE T3380' command. DEFINE lets
            you add more resources to your virtual machine,  if you need
            them.
0              I  could go  into a  lengthy discussion  of the  commands
            available under  VM,  but I  won't.  My little  example with
            DEFINE  gives  you an  idea,   however,   of the  power  and
            flexibility of VM and its command language. You can do other
            things with VM  as well -- attach real devices  to a virtual
            machine (the most common application  here is using magnetic
            tape resources), link to other user's virtual disks, control
            printer and punch file spooling and destinations, keep a log
            of activity on your console, and much more.
0              As you can see, VM cannot really be classified with other
            operating systems,  as  it functions unlike most  if not all
            the systems available today.  It functions as the 'landlord'
            of the  machine.  Tenants can move  in and do  whatever they
            want. If they misbehave, they can always be swapped out.  VM
            is specifically designed so that its impact on each userid's
            response time is minimal.  CMS under  VM for example,  is as
            fast  under  most  circumstances as  any  other  multi-user,
            virtual-storage, interactive operating system under the same
            load conditions... often faster.
-
                                         12
1
0                                Vm-Com  Issue 2.7
0              In summary,  VM provides a powerful base operating system
            for general programming,  modification of existing operating
            systems,  and  creation of  new operating  systems.   A  new
            release of  VM can  be tested on  a virtual  machine without
            affecting general  users.   The  same is  true of  any other
            operating  system one  wishes  to  test.   VM  provides  the
            ability to run production and test versions of any number of
            IBM-compatible operating systems  on one real CPU.   VM also
            manages the resources of the real  CPU in such a manner that
            an individual user need never know he is sharing the CPU and
            its devices with anyone else.   VM  is truly a model for the
            large-computer operating system of the future.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
0                                        13
1
0                                Vm-Com  Issue 2.7
0                                From  ISPF To CICS
+                                From  ISPF To CICS
0                          Cody B. Shive (33000003@UNFVM)
-
               Since  my last  article on  ISPF,  I  have received  mail
            asking  how   to  use  the   system  installed   at  certain
            universities.   The most common problem  has been that it is
            not properly installed  for student use.  To clear  up a few
            problems with using the ISPSTART  command,  try entering the
            following:
0                      FILEDEF ISPPROF DISK ISPPROF MACLIB A.
0           Then type in ISPSTART.  You will be presented with a menu of
            options and  will get  a small presentation  of ISPF  from a
            user's point of view.
0              Unfortunatly,  ISPF has  not proven to be  exactly what I
            have been looking for. Since my first love is CICS (Customer
            Information Control System), I expected ISPF to be just like
            it.    There is  probably  no  other screen-oriented  system
            available that is further from CICS than ISPF.   I was sorry
            to discover  this,  but  at the same  time excited.    I was
            excited because  I would  have another  chance to  work with
            CICS in implementing a system I helped create last spring.
0              In comparison  to ISPF,  CICS  is a  completely different
            kind of  system.   CICS  is designed to  run almost  like an
            operating system in  what is called a region.   ISPF runs in
            the  same partition  as everything  else does  (at least  in
            VS1).  CICS can not be used  under VS1,  but must instead be
            run under  an MVS  environment.  There is  a fair  amount of
            security  that surrounds  a  CICS  region whereas  there  is
            nothing very secure about ISPF.   Also,  CICS is designed to
            allow screen-calling from within a  program where as ISPF is
            initiated via an entry  menu.
0              CICS is its own system.  To help you understand what CICS
            is and how it is used,  I will discuss interaction between a
            user  and an  online  program,   an accepted  structure  for
            programming, and security confines.  To the user, CICS looks
            like a completely independent system.  When she sits down at
            a terminal that is displaying something under VM,  she exits
            from VM  with a  VMEXIT.  Unless  the  terminal is  channel-
            attached, this command will return the terminal to VTAM.  At
            this point,  the user enters the name of the region.  If the
            region is active,  a menu screen will be presented.  This is
            known as the signon screen.  The user selects an option that
            will  let  her signon  to  the  region.  Another  screen  is
            displayed asking for an access name and a password.  This is
            one  of the  first signs  of security.    If a  user is  not
            allowed access to the region, she will not be given both the
0                                        14
1
0                                Vm-Com  Issue 2.7
0           access name and  password.   Assuming she is  allowed to use
            the system,   she types  in the  required items  and presses
            ENTER. The screen will clear and look blank.  At this point,
            the user types in  the transaction identification (trans-id)
            of her program,  and away  it goes.   Unfortunately,  things
            usually aren't that easy.  If you  are just a user,  chances
            are you  don't know what you  are doing when you  punch this
            stuff in.  If you are a programmer, you'll have to know.
0              From  the programmer's  standpoint,  you  have  a lot  of
            things happening  in the background  that the user  does not
            see.   CICS uses  tables to  figure out  what terminals  are
            allowed to access  the region,  what programs  are valid (by
            trans-id), what data sets are used and what their names are,
            and what mapsets are available for  the programs to use.  In
            most cases, programmers themselves are not allowed to update
            these tables.    That job  is relegated  to a  CICS Security
            Administrator.   She ensures security is  kept for all parts
            of  the  system.  She  will  assign  the names  of  mapsets,
            programs,  data sets,   and terminals for the  programmer to
            use.  In most cases,  these are added to non-production CICS
            regions  that programmers  use  to  test and  perfect  their
            programs.
0              Once the  programmer is  given the  necessary information
            for her programs,  she is able  to start coding a system and
            implementing it.  First,  the  programmer must design screen
            lay-outs that  depict what is going  to be displayed  on the
            screen.    These  can   be  either   data-entry  or   merely
            informational/tutorial  in nature.    The  idea  here is  to
            design the screens that the  programmer's program will call.
            Then, the programmer must design a program that will display
            these screens and accept the data from them.   She will have
            to design  an interactive program.   Instead of  designing a
            simple interactive program  in COBOL,  PASCAL or  PL/1,  the
            programmer is designing an online system.   An online system
            is an interactive system, but the term interactive in a CICS
            environment implies more  than a simple program.    A widely
            accepted  technique for  implementing  online systems  under
            CICS is pseudo-conversational programming.  Remember that in
            conversational programming (the simple program), the program
            waits  for  the user  to  enter  a  key  or data  before  it
            continues processing.  The  user decides to wait  an hour to
            enter  something,  the  system  keeps  running the  program,
            waiting for  a reply.    Because we are  now dealing  with a
            larger,  more expensive system,  programming under CICS in a
            conversational  mode is  unnecessarily  wasteful of  machine
            resources.
-
-
0                                        15
1
0                                Vm-Com  Issue 2.7
0              There is  a way  to conserve  the resources  of a  system
            supporting   CICS.    The  idea   of   pseudo-conversational
            programming is that the program appears to converse with the
            user.  Instead,   the program does  not wait for  the user's
            input.  The sequence of events is simple.  The user signs on
            to a CICS region, types a transid and waits.   CICS searches
            its tables,  loads the program  associated with the transid,
            and  gives  control  to  it.   At  that  point  the  program
            executes,   displaying  a  screen.    After  the  screen  is
            displayed,  the program exits to CICS.  Although the program
            is not resident in memory,  to CICS the transaction is still
            active.   Now, things look like this:   the program finishes
            executing and leaves a screen of information at the terminal
            for the user.   If the user  pushes any program function key
            like a pf  or pa key or enter,  CICS  calls that transaction
            up,   and the  program is  once  again loaded  in and  given
            control to finish processing.
0              There has to  be some special processing  in that program
            to handle sending screens,  receiving  them and knowing what
            is going on when the program  is not active.   An example of
            some simple logic in COBOL program follows.
-            PROCEDURE DIVISION.
                  EXEC CICS
                       SEND MAP('SCREEN1')
                       MAPSET('MAPSET1')
                       MAPONLY
                       ERASE
                  END-EXEC.
                  EXEC CICS
                       RETURN
                       TRANSID('MENU')
                       COMMAREA (COMMUNICATION-AREA)
                  END-EXEC.
-           There is not much to this  logic.   What will happen is when
            the transid, MENU, is entered after the CICS signon, SCREEN1
            will be  displayed.  That is  what the first  EXEC statement
            does.   But watch what happens.  The program enters,  throws
            up a screen, then returns to CICS. Now, while the screen has
            been displayed  for the  user the  program has  been flushed
            from memory and only allowed a communication area (commarea)
            to be transmitted  to the program when  it re-enters.   When
            the  user presses  enter or  a program  function key,   CICS
            reloads the program and gives control to it.   You may begin
            to see  what that implies the  program will have  to contend
            with. Essentially, the program will have to figure out which
            screen was displayed and receive the data from it or process
            an error if a wrong key was pressed.
-
                                         16
1
0                                Vm-Com  Issue 2.7
0              This may seem simple, but it can get complex.   After you
            get past all the system particulars, you will have much more
            to contend with inside your program.   In later articles,  I
            will  explain  more  about  CICS and  give  some  ideas  for
            debugging.  Since many of you may not get the chance to work
            on  a CICS  region,   I will  try  to  keep things  somewhat
            general.   Anyone having questions can  feel free to contact
            me personally.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-                                        17
1
0                                Vm-Com  Issue 2.7
0                         Handy Tips for Better Consulting
+                         Handy Tips for Better Consulting
0                            Glenn Sixbury, VMAQ5@KSUVM
-
               Unlike the title  may imply,  this article  does not tell
            consultants how to do a  better job of consulting.  Instead,
            it is  mainly directed  toward users in  an attempt  to tell
            them how to help the consultant help them better. This topic
            may seem like  it is of little concern to  the average user,
            but I think I can prove to you it is.
0              For example, most people who seek a consultant's help for
            a problem  don't want to stand  in line for long  periods of
            time,  don't like being told  the wrong answers to questions
            they ask, and don't like to be treated like babbling brooks,
            although  sometimes  they  may come  across  that  way.   By
            following a couple of guidelines,   which I'm going to state
            below,   things can  run much  smoother  for all  concerned.
            First,  to  show how  much difference knowing  how to  ask a
            question  can make,   I'm  going to  give  you  a couple  of
            examples.   These  examples will  be more  vivid if  you put
            yourself in the  consultant's place and try  to imagine what
            you would do as the consultant.   To start with,  what would
            you say if a person came in  with a problem and explained it
            something like this:
0                   "I'm having real problems, and I need a lot of help.
                 I've  been working  on this  program for  the last  two
                 nights,  and I haven't been able to get anywhere,  so I
                 sure hope you can help me.
0                   "See,  I  don't understand  why one  of my  routines
                 isn't  working."  (At  this point,   the person  begins
                 shuffling through a book bag,  occasionally pulling out
                 a printout and  putting it on your  desk.)   "The thing
                 that  really  irritates  me  is  that  it  was  working
                 yesterday, and I didn't change anything. Something must
                 be wrong with  the computer." (Now,  frustrated  by the
                 search,  the person puts down the book bag and shuffles
                 through the stack of printouts, finally pulling out one
                 and opening it so you can  look at it.)   "Anyway,  I'm
                 doing this linked  list thing,  and we're  simulating a
                 binary tree.    This routine here  is quitting  on me."
                 (The person points  to one of the  routines,  which you
                 look at).  After a moment,   you confirm your suspicion
                 that it's  written in PASCAL and  that it's a  run time
                 error.   Unfortunately,  there are no clues to tell you
                 what's going on, and, of course,  there are no comments
                 anywhere in  sight.  "So the  program gets in  here and
                 quits," the person continues. "What's wrong?"
-
                                         18
1
0                                Vm-Com  Issue 2.7
0              What would you say?  Well, just this morning,  I had that
            very thing happen  to me.   It turned out that  the user was
            wrong about  the information  given to  me.   First  of all,
            after quizzing the person for awhile,  I discovered that the
            printout I had seen was old,  and after having the person go
            get a  recent printout,   I saw that  the information  I had
            originally  been given  was  wrong.  It  was  stopping in  a
            different routine, the problem was a mix-up on the BEGIN-END
            pairs, and there was no way it could have ever worked in its
            present  state.   The  point here,   though,   is that  this
            question took a lot of time,   and was highly irritating for
            me to work on.    The next person who came in  had a problem
            that was similar in difficulty,  but  because of the way the
            question was asked,   it took me only  twenty-five or thirty
            seconds to listen to the problem  and give a correct answer.
            That question was phrased something like this:
0                   "My PASCAL program isn't  working."  (At this point,
                 I  was  given a  listing  open  to  the spot  near  the
                 problem,  and each section was  pointed to as that part
                 of the routine  was discussed.)   "See,  I'm  reading a
                 line of 80 characters into a  packed array.  Then I put
                 seven characters of that array  into another array.  At
                 that point, this second array is checked to insure that
                 it only contains blanks.  If it contains anything other
                 than blanks, I set this flag to true.   The problem is,
                 the flag  was being set to  true,  even though  I tried
                 reading in several lines of blanks."
0              After staring at the spots he'd pointed to for about five
            seconds,  I noticed that he had a FOR loop that was counting
            down instead of up, but he'd used the word TO instead of the
            necessary word DOWNTO. The problem was solved and he went on
            his way.
0              So much  for my version  of 'A Day  in the Life',   but I
            think you can see  that if a question is phrased  in a semi-
            logical manner,  it  will be answered more  quickly and more
            completely.   If all users phrased their questions that way,
            you'd have to spend less time in line, which means less time
            waiting to  see a consultant  and more time  receiving help.
            Also,  the quality of the help  will be better,  because the
            consultant will have  more time to help you,  and  he or she
            will be in a much better mood.
0              So how  do you ask a  question in the right  way?   Given
            below is my handydandy set of rules that will help to answer
            that  question.   These  are rules  that you  will bend  and
            stretch and pull on to suit your  own needs,  but as long as
            you keep them in the back  of your mind,  hopefully you will
            provide the consultant,   your teacher or whomever  else you
            talk into  helping you,  with  enough information  to answer
            your question.
-                                        19
1
0                                Vm-Com  Issue 2.7
0           1)   Always have any pertinent  listings and output with you
            and ready.   Nothing  is more irritating and  time consuming
            for a consultant than when he asks to see your listing,  and
            you have to say you forgot it,   or didn't think it would be
            needed.
0           2)    Always know  what you're  problem  is.   You  wouldn't
            believe the number of people who come in to see me,  throw a
            listing on my  desk and say,  "It doesn't work."  When I ask
            why, they say "I don't know. It just didn't work."
0           3)  Always summarize what you're trying to do.   The keyword
            here is "summarize".    Use one or two  sentences to explain
            what you're trying to do,  and forget about everything else.
            Explanations  like,   "The  teacher  for  this  class  never
            explains anything,  and  even though this was  assigned four
            months ago and is due tomorrow,   I really couldn't start on
            it until today, because my grandmother died twice and my dog
            ate the problem  assignment." Save that stuff  as your entry
            for the Great Excuse Contest.
0           4)   Always tell  what language or utility  you're using.  A
            rule  to  remember  is  that the  number  of  languages  and
            utilities a consultant works with  is approximately equal to
            his  age  squared  times  the  number  of  years  he's  been
            consulting  divided by  100 (in  other words,   a lot),   so
            although  it   may  seem  obvious   to  you   what  language
            something's written in, make sure you state it anyway.
0           5)   Always explain what you've already tried,  but remember
            to have some  sort of listing to back it  up,  especially if
            you tried something that you're  certain should have worked.
            Too often,   a user has  told me  about a command  that he'd
            tried which didn't work. At that point, I've logged onto his
            account,  typed  in exactly what he  said he did,   and it's
            worked perfectly.   Believe it or  not,  the computer really
            doesn't like consultants better.
0           6)    Finally,   after obtaining  the  necessary  background
            information, and after filling in the consultant on what you
            wanted to do,  what language or utility you wanted to use to
            do it,   and what  you've already tried,   you can  tell the
            consultant what the problem is.   Too often,  the problem is
            stated first,  and as we can see,  the problem should always
            be the last thing you explain.
-
-
-
0                                        20
1
0                                Vm-Com  Issue 2.7
0              For the  average user,  keeping  the above rules  in mind
            will  make   getting  help   easier  and   will  lower   the
            consultant's blood pressure.  For consultants, the next time
            you get  a babbling  brook or  an insufficient  explainer in
            your office,  you might hand them a copy of this article and
            send them on a reading  assignment.   Also,  everyone should
            realize  that asking  questions in  a way  that is  logical,
            concise, but provides enough information for the question to
            be answered,   will help  not only  in going  to a  computer
            consultant, but also,  it will help later in life when going
            to your supervisor on the job.    The advantage here is that
            once you  get into the habit  of expressing your  queries in
            this way,  it comes naturally and can  be a real plus in the
            way other  people view you.   After  all,  would you  want a
            babbling brook working for you?
-
-
-
-
-
-
-
-
-
-
-
-
-
0                                        21
1
0                                Vm-Com  Issue 2.7
0                                     OpCodes
+                                     OpCodes
0                      Various and Assorted Creative Minds...
-
            ACQT    Advance Clock to Quitting Time
            CAT     Confused And Tired
            CBA     Compare and Branch Anyway
            CCS     Chinese Character Set
            CM      Confuse Memory
            CMD     Compare Meaningless Data
            CML     Compute Meaning of Life (42)
            CN      Compare Nonsensically
            DAP     De-select Active Peripheral
            DCON    Disable CONsole
            DDOA    Drop Dead On Answer
            DHTPL   Disk Head Three Point Landing
            DIIL    Disable Interrupts and enter Infinite Loop
            DPMI    Declare Programmer Mentally Incompetent
            DPS     Disable Power Supply
            DRI     Disable Random Interrupt
            DT%FFP  DecTape - Unload and Flappa-Flap
            DT%SHO  DecTape - Spin Hubs Opposite
            ED      Expunge Data ÕUNIXþ
            ED      Execute Data
            EDR     Execute Destructive Read
            EDS     Execute Data Segment
            EIAO    Execute In Any Order
            EIOC    Execute Invalid OpCode
            EIP     Execute Programmer Immediately
            EOI     Execute Operator Immediate
            EP      Execute Programmer
            EPI     Execute Programmer Immediate
            EPS     Execute Program Sideways
            ETI     Execute This Instruction
            ETM     Emulate Trinary Machine
            EVC     Execute Verbal Commands
            EWD     Execute Warp Drive
            EXECP   EXECute Programmer
            ICM     Immerse Central Memory
            II      Inquire and Ignore
            IM      Imagine Memory
            MMLG    Make Me Look Good
            MT%HRDV MagTape - High speed Rewind and Drop Vacuum
            RBLY    Restore Backup from Last Year
            RDD     Reverse Disk Drive
            RDI     Reverse Disk Immediate
            RIRG    Rewrite Inter-Record Gap
            RPBR    Reverse Parity and BRanch
            RRB     Read Record and Blush
            RRR     Read Record and Run away
            RT      Reverse Throughput
-                                        22
1
0                                Vm-Com  Issue 2.7
0           SCB     Spindle Card and Belch
            SEX     Set EXecution register
            SHCD    SHuffle Card Deck
            SRSD    Seek Record and Scratch Disk
            TSH     Trap Secretary and Halt
            TSM     Trap Secretary and Mount
            VAX     Violate All executions
            VNO     Violate Noise Ordinance
            XIO     Execute Invalid Op code
            XKF     Execute Kermit the Frog
            XOH     Execute no-Op and Hang
            XOR     Execute OperatoR
            XPR     Execute Programmer
-
-
-
-
-
-
-
-
-
-
-
-
-
-
                                         23