250 likes | 379 Views
Overview of ALCS/GI Debugger Architecture. ALCS/GI Debugger Architecture. ALCS/GI Debugger is designed to work in Client – Server architecture The server component of the debugger is referred as ZAS Server component is installed in the zOS host
E N D
ALCS/GI Debugger Architecture • ALCS/GI Debugger is designed to work in Client – Server architecture • The server component of the debugger is referred as ZAS • Server component is installed in the zOS host • ALCS/GI is the client component which is installed in PC • Client and server components communicate over TCP/IP
ALCS/GI Debugger Architecture MVS PC ALCS ZAS Server ALCS/GI Client MVS Services ZAS Datasets
ZAS Server • ZAS is started as a separate TCB when ALCS is bought up • ZAS will be shutdown automatically when ALCS is bought down • ZAS interacts with ALCS by internally triggering monitor ECBs using standard ALCS user exits • ZAS interacts with MVS using authorized SVC calls
ZAS Interface with MVS MVS ZAS Server Interface with MVS MVS Services • RACF authentication • Memory management • TCB control • TCP/IP communication
ZAS Interface with MVS • ZAS uses core memory carved out from MVS • APF authorization required for ZAS Load Library and SVC Load Library • RACF Security update for ZAS libraries • SYS1.PARMLIB changes to make SVC changes permanent • Port number to be reserved for each ALCS system
ZAS Datasets MVS ZAS Server Read / Write ZAS data set • User ID table • Source-view dataset • Macro panel dataset • Trace dataset ZAS Datasets
ZAS Datasets • Trace Terminal Table (TTT) – User terminal information • CMSTPFCT & CMSTPFSF – Have the Source view control file and structure file • PANELSFP & PANELSFT – Panels for ALCS application macros to be used in ALCS/GI
ZAS Interface with ALCS Interface with ALCS MVS • Start / shut-down ZAS Server • Load / Unload ALCS programs • Trace setup / commands • Input / output messages • Services to view core / file etc. ALCS ZAS Server
ZAS Interface with ALCS • The main ZAS module – ZAS#ALCS – is available in the LOADLIB provided by us • USERMODs provided for the changes done in ALCS monitor routines • Changes done in ALCS exits are provided to be incorporated in customer place • Changes required in ALCS startup JCL to start ALCS/GI also provided
ZAS User interface • A TCB will be created when the user log-in • This user TCB will be detached when the user session completes • User TCB invoked for every request from that user • Terminal Control Area (TCA) describes the status of the TCB • The User Trace Terminal Table (TTT) has terminal information for all users of ALCS/GI • TTT is a common table referred by all TCA
ZAS User interface ZAS Server USER1 TCB TCA <<<<<ZAS_TCA>>>> Trace Terminal Table (TTT) USER0001 C ………TCMD…………TMS1.. USER0002 C ………TCMD…………TMS1.. USER0003 D ………TCMD…………TMS1.. ………….. D …….…TCMD………….TMS1. ALCS USER2 TCB TCA <<<<<ZAS_TCA>>>>
ZAS terminals • ALCS/GI client has four terminals • Two unique terminals that can be traced (TMS1 & TMS2) • One command terminal (TCMD) • One terminal for asynchronous trace (TASY) • ZAS server map each of these terminals to an internal “pseudo” terminal • The “pseudo” terminal will be used by ZAS to interface with ALCS
ZAS pseudo terminals ZAS Trace Terminals ALCS/GI Terminals ZAS Server Message Terminals TMS1 TTM1 TMS2 TTM2 ALCS TASY TTAS Asynchronous trace terminal TCMD TCMD Command Terminal
ZAS pseudo terminals ZAS Trace Terminals ALCS/GI Terminals ZAS Server Two CRI’s required TMS1 TTM1 Two CRI’s required TMS2 TTM2 ALCS TASY TTAS One CRI required TCMD TCMD One CRI required
Updates to ALCS monitor programs • Following members of the ALCS control programs are updated for ZAS • DXCGTH – new user exit USRENBK is introduced • DXCINT – new user exit USRUTSK1 is introduced • DXCPGM – new user exit USRENBK is introduced • DXCCEXIT – Macro changed to introduce above new user exits • DXCINTP – needs to be reassembled to make the new user exits available for use • The user mod required to update above members are provided in the installation file
Updates to ALCS user exits • USRCOM4 – ROUTC/SENDC user exit • Message output sent to ALCS/GI terminals • USRENBK – Program ENTER/BACK exit • Programs entered is check for source view trace • USRTERM – ALCS termination • ALCS/ZAS was terminated when ALCS is coming down • USREXT – EXITC macro service extension • Clean-up ECB belonging to ALCS/GI
Updates to ALCS user exits • USRGTIS – Instruction trace exit • Used to identify line in the source for the instruction being executed during source view trace • USRSVC – User requested monitor call • New SVC monitor call used for ALCS/ZAS • Monitor call number – 135 • USRUTSK1 – ALCS startup exit • Used to bring up ALCS/ZAS when the ALCS is brought up
ALCS/ZAS Global trace • ZASTRACE is a started task • Started when the first ALCS system is brought up with ALCS/ZAS • The task can be stopped at any time from MVS console • Records flow of control about users session • Messages from and to PC • Messages from and to ALCS • Function call / returns inside ALCSZAS module • Data written to memory • A sample JCL is provided to dump data from memory to a dataset
ALCS/GI Client • ALCS/GI client installer is a standard windows installation file • ALCS/GI can be configured to communicate with different ALCS systems • ALCS/GI communicates with ZAS over TCP/IP • ALCS/GI uses FTP to read files for Source View trace or any other files required
ALCS/GI Client Menu bar and Tool bar ALCS/GI Terminal Source view trace ECB Graphical view