Jump to content

SMP/E

From Wikipedia, the free encyclopedia

System Modification Program/Extended(SMP/E), the proprietary version ofSystem Modification Program(SMP), "is a tool designed to manage the installation of software products on [a]z/OSsystem and to track the modifications "to those products.[1]: 1 [2][3][4][5]

SMP/E manages multiple software versions, helps apply patches and updates (PTFs), facilitates orderly testing and, if necessary, reversion to a previous state, allows a "trial run" pseudo-installation to verify that actual installation will work, keeps audit and security records to assure only approved software updates occur, and otherwise provides highly evolved, centralized control over all software installation on z/OS.

Although it is possible to design and ship software products that install on z/OS without SMP/E, most mainframe administrators prefer SMP/E-enabled products, at least for non-trivial packages. Using SMP/E typically requires some working knowledge ofJob Control Language(JCL), although most products supply sample JCL. The rigorous software management discipline associated with SMP/E typically extends to product documentation as well, with IBM and other vendors supplying a standardized "Program Directory" manual for each software product that precisely aligns with the SMP/E work processes. The Program Directory provides detailed information on pre-requisites and co-requisites, for example.

Use of SMP/E to manage system updates helps ensure system integrity, by making sure that the system is in a consistent state and that changes to that state are properly audited.[6]

History[edit]

IBM introduced SMP inOS/360andOS/VS[7]to replace semi-manual processes involving tools such as IEBEDIT[8]and IMAPTFLE.[9]IBM introduced 3 subsequent free releases of SMP, with significant changes between releases, especially from SMP3 to SMP4.[10]All four releases store tracking data inpartitioned data sets(PDSs).

IBM introduced SMP/E[11]for OS/VS; however, SMP/E Release 2 is the last release to supportOS/VS1.SMP/E stores tracking data inVSAMdatasets rather than the PDSs that SMP release 1 through 4 use. While originally a separate product, SMP/E is bundled withz/OS.

IBM ultimately introduced similar tools for other operating systems, e.g.,Maintain System History Program (MSHP)forDOS/VS,Virtual Machine Serviceability Enhancements Staged (VM/SP SES),(nowVMSES/E), forVM/SPthroughz/VM.[12]

Concepts[edit]

All IBM and most non-IBM software is assigned at least one seven characterFMID(Function Modification ID) that identifies the piece of software and its release number. This first FMID is called theBase FMID.For Example DB2 Version 9's Base FMID is HDB9910. Separately installable features also have FMIDs (calledDependent FMIDs) that relate in some way to the base product – DB2 English language panels for Version 9's Dependent FMID is JDB9910.

A software package is composed ofelements,individual components such as object files (MOD), macros (MAC), sample programs (SAMP), etc.[1]: p.37 

TheCSI(Consolidated Software Inventory) is a dataset containing the information that SMP/E needs to track the contents of the distribution and target libraries. The CSI contains "metadata"identifying the installed FMIDs and elements, the ID of the most recent update, and pointers to the associated libraries.

ASYSMOD(System Modification) is any modification to the system. This includes:[1]: p.38 

  • Function SYSMODSinstall a new product, version or release.
  • PTF SYSMODSare official IBM fixes for reported problems.
  • APAR FIXESare less formal fixes from IBM.
  • USERMODSare user modifications to a product, such as installation-specific "exits."

Each SYSMOD is assigned a seven characterSYSMOD IDto uniquely identify it. When the SYSMOD is installed this ID is recorded in the CSI entry for the element being added or replaced, and is called theRMID(replacement module id).

A simple declarative language calledMCS(Modification Control Statements) provides the information to SMP/E identifying the SYSMOD and providing information on how to install it. Each SYSMOD is prefixed with a number of MCS statements that, for example, identify it as an APAR fix or PTF, supply the SYSMOD ID, identify the applicable FMID, etc.[13]: pp.5ff 

Prerequisitesorprereqsare SYSMODS that are required to be installedbeforea second can be installed.Corequisitesorcoreqsare two or more SYSMODS that must be installedtogether,none can be installed without the others. A SYSMODsupersedes,orsupsanother if its functionally replaces the first. This prereq, coreq, and sup information is provided in the MCS. Arequisite chainis the "sequence of SYSMODs that are directly or indirectly identified as requisites for a given SYSMOD," for example, if A is a prereq for B, and B is a prereq for C, then A and B are the requisite chain for C and both need to be installed before C, although not necessarily in a separate run of SMP/E.[1]: pp.231, 226, 236, 232 Requisite chains can frequently become extremely involved and comprise hundreds of SYSMODS.

HOLDDATAis a set of MCS statements that indicate that specific SYSMODS contain errors or require manual processing outside the scope of SMP/E before they can be installed.[1]: p.229 The user is required to take action to fix the problem, if possible, before installing held SYSMODS.

SMP/E manages two types of libraries.Target libraries(TLIBS) contain the executable code and other information used to run the system. Originally there were a limited number of target libraries: SYS1.LINKLIB for executable programs, SYS1.MACLIB for standardmacros,etc., but as of 2012 each software product usually has its own set of target libraries.Distribution Libraries(DLIBS) contain the master copy of each element for a system. Each product (FMID) has its own set of distribution libraries which are normally used only by SMP/E. Libraries inOS/360 and successors,unlike directories inunix,usually contain only one type and format of data. A software package may haveobjectlibraries (MOD),ISPFpanels(PNL), macro libraries (MAC) and many more.

Use[edit]

SMP/E is a single large program which runs as abatch job.A series ofISPFpanelscan be used to interactively build the SMP/E job stream based on user input.

One common sequence of steps is calledRECEIVE-APPLY-ACCEPTfrom the commands used for each step.

The SMP/ERECEIVEcommand processes SYSMODs from a source outside of SMP. Previously this might have been aPUT tapedistributed by IBM roughly monthly. More recently it might be a collection of SYSMODS downloaded over the internet. The RECEIVE process uses the MCS to create an entry in the CSI for each SYSMOD, marking its status as "RECEIVED", and stores the MCS information and the actual SYSMOD data.

TheREJECTcommand can be used to delete SYSMODS in "RECEIVED" status.

TheAPPLYcommand installs one or more received SYSMODS into the appropriate target libraries. The SYSMODS to be applied can be selected by various criteria, for example a single SYSMOD can be selected by SYSMOD ID, all SYSMODS received in a group can be selected bySOURCEID,or all un-applied SYSMODS that have been received can be applied. The requisite chains for the specified SYSMODS are checked and SYSMODS without the proper requisites, in hold status, or that have been superseded are flagged as errors and are not installed. Commonly SMP/E is instructed to also automatically apply any requisites in "RECEIVE" status to minimize these errors. SYSMODS installed have their status changed to "APPLIED" in the CSI.APPLY CHECKcan be used to check the SYSMODS to be installed without actually performing the installation.

TheRESTOREcommand can be used to remove an applied SYSMOD that has not been accepted.

TheACCEPTcommand installs SYSMODS permanently into the distribution libraries and marks their status as "ACCEPTED" in the CSI. Normally ACCEPT is done once the SYSMODS are known to be performing correctly before the next APPLY of service. There is no way in SMP/E to undo an ACCEPT operation except to delete all installation libraries including the CSIs (and to start installation again).

SMP/E datasets[edit]

SMP/E is a large, complex program; features and datasets are added with every release. The major SMP/E datasets are:[1][13]

  • CSI –Consolidated Software Inventory.The CSI contains all the information SMP/E needs to track the distribution and target libraries.
  • PTS –PTF Temporary Storage.The PTS data set is used to hold PTFs as received.
  • MTS –Macro Temporary Storage.The MTS data set is a target library for macros that exist only in a distribution library, allowing the current version of these macros to be used for assemblies during APPLY processing.
  • STS –Source Temporary Storage.The STS data set is a target library for source that exists only in a distribution library, allowing the current version of these modules to be used for assemblies during APPLY processing.

See also[edit]

References[edit]

  1. ^abcdefIBM Corporation (2010).SMP/E for z/OS User's Guide(PDF).
  2. ^Barbara Klein; Rick Long; Kenneth Ray Blackman; Diane Lynne Goff; Stephen P. Nathan; Moira McFadden Lanyi; Margaret M. Wilson; John Butterweck; Sandra L. Sherrill (29 November 2011).An Introduction to IMS: Your Complete Guide to IBM Information Management System.Pearson Education. p. 71.ISBN978-0-13-288700-7.System Modification Program Extended (SMP/E) is a z/OS tool for managing the installation of software products on a z/OS system and for tracking modifications to those products.
  3. ^Robert R. Moeller (21 January 2005).Brink's Modern Internal Auditing.John Wiley & Sons. p. 471.ISBN978-0-471-70926-8.Utility programs allow systems programmers to make operating system program adjustments easily. IBM's SMP/E (System Modification Program Extended), for example, is used to apply corrections to the MVS operating system.
  4. ^Sam Golub (December 1988)."SMP De-mystified (Part 1)".Technical Support.Network and Systems Professionals Association.RetrievedFebruary 22,2023.
  5. ^Sam Golub (January 1989)."SMP De-mystified (Part 2)".Technical Support.Network and Systems Professionals Association.RetrievedFebruary 22,2023.
  6. ^Sharp, Susan; Mosby, Teresa (1992). "The Scrubber System".EDPACS.20(5): 8–14.doi:10.1080/07366989209451601.ISSN0736-6981.
  7. ^SMP.
  8. ^"The IEBEDIT Program"(PDF).IBM System/360 Operating System - Utilities(PDF)(Twelfth ed.). June 1970. pp. 392–402. GC28-6586-11.{{cite book}}:|work=ignored (help)
  9. ^"Chapter 9: IMAPTFLE"(PDF).IBM System/360 Operating System: Service Aids - OS Release 21(PDF)(Third ed.). March 1972. pp. 219–239. GC28-6719-2.{{cite book}}:|work=ignored (help)
  10. ^SMP4.
  11. ^SMPE.
  12. ^Morton, Dave."IBM Mainframe Operating Systems: Timeline and Brief Explanation for the IBM System/360 and Beyond"(PDF).Archived fromthe original(PDF)on January 7, 2018.RetrievedOctober 23,2012.
  13. ^abIBM Corporation (2010).SMP/E for z/OS Reference(PDF).

Sources[edit]

SMP

OS/VS System Modification Program (SMP)(PDF)(Second ed.). September 1974. GC28-0673-1.{{cite book}}:|work=ignored (help)

SMP4

OS/VS System ModificationProgram (SMP) System Programmer's Guide(Seventh ed.). September 1980. GC28-0673-6.{{cite book}}:|work=ignored (help)

SMPE

System Modification Program Extended - User's Guide - Release 6(PDF)(Twelfth ed.). April 1992. SC28-1302-11.{{cite book}}:|work=ignored (help)

External links[edit]