The structure of the CMAS

The CMAS is a special type of CICS®/ESA system. To all of the tasks that normally run in CICS/ESA, the CMAS adds a timing services task. A CMAS is started by running program EYU9XECS. This program is responsible for locating the CICSPlex® SM subsystem and identifying the address space as a starting CMAS. If this is the first CMAS to start after an MVS™ IPL, EYU9XECS starts a CICSPlex SM subsystem. The program then transfers control to program EYU9XSTC, which is the timing services control program. After initializing, EYU9XSTC attaches DFHSIP, which is the CICS/ESA system initialization program. This starts the CICS/ESA system that runs within a CMAS.

Start of changeIt is possible to invoke CICSPlex SM code automatically during CICS initialization to initialize the region as a CMAS. The preferred method of initializing the region as a CMAS is to use the CPSMCONN=CMAS SIT parameter as described in the CPSMCONN system initialization parameter topic in the CICS System Definition Guide.End of change

Start of changeAn alternative method is to specify programs to be run in the initialization program list table (PLTPI). For a CMAS, the PLTPI specifies program EYU9XLCS, which issues a CICS START command to start transaction XLEV. This transaction is queued to start when CICS initialization is complete.End of change

Start of changeThe XLEV transaction runs program EYU9XLEV, which is responsible for creating the run-time environment for a CMAS. The component called Kernel Linkage is responsible for building data structures and controlling the interfaces between other CICSPlex SM components. Program EYU9XLEV starts the Kernel Linkage processing. Note that this program is used to create not only the CMAS run-time environment, but also the environment for agent code in local MASs.End of change

The environment that Kernel Linkage creates is called the method call environment. Each program in the CICSPlex SM system is called a method. The methods in a single component are grouped together and referred to as a major object, which is really just another name for a component. When one method calls another method, it uses the Kernel Linkage method call services and passes parameters using a data structure called a message argument list (MAL). For each major object, there exist two primary control structures. The first, the major object descriptor block (MODB), is built by Kernel Linkage during initialization and, among other things, contains a directory of all the methods (or programs) that make up the component. The second, the major object environment block (MOEB) is pointed to from the MODB. The MOEB is created during the initialization of each component. While the format of all MODBs is the same, the MOEB for each component is unique and serves to store critical information and to anchor data used by the component.

Once the method call environment has been built, each component that requires initialization is given control to do so. Some components are merely callable services, however others are active parts of the system. Those that are active components (such as Communications, Monitor Services, real-time analysis, and Workload Manager) make calls to Kernel Linkage during initialization to start one or more tasks in the CMAS. These calls identify the method to be run. Kernel Linkage uses the method name and the MODB to determine the proper transaction ID to be used on the EXEC CICS START command. All such transactions have EYU9XLOP defined as their first program. The tasks that are started run as CICS tasks under control of the CICS/ESA system that runs within the CMAS. Each task must establish a unique run-time environment to support method processing. This environment, which runs separate from and in parallel to the other tasks, is created by a program called EYU9XLOP. This program establishes a unique copy of the environment, called an object process, and then actually calls the first method to be run.

After EYU9XLEV has completed the process of sequencing CMAS initialization, it enters a wait state. This wait state is broken only when EYU9XLEV must perform service functions (such as start additional CICS service tasks for the single-system image interface) or when CMAS termination is requested.

[[ Contents Previous Page | Next Page Index ]]