Generate mainframe CALM architecture

Proprietary

Write the jobs, programs, load modules, data sets, DB2 tables, CICS resources, IMS databases, segments and the PSBs that reach them, control cards and scheduled jobs of a mainframe portfolio, and the relationships between them, as a FINOS CALM (Common Architecture Language Model) document. Control transfers become interacts edges, resource access becomes connects, and what the build composes becomes composed-of, so a reader can tell a runtime path from a build-time fact. Every node and every edge carries the file and line it was read from, the application and environment it belongs to and the technology it is, so the document can be filtered as well as drawn. A dependency the analysis could not resolve is kept as a node and marked, because a job running a program nobody can find is a finding rather than an edge to drop.

This recipe reads data tables that other recipes populate, so it produces nothing on its own. Run it as part of io.moderne.mainframe.prethink.UpdateMainframePrethinkContext.

io.moderne.mainframe.prethink.GenerateMainframeArchitecture

Optional

viewsBoolean

Also write one document per view defined in architecture-views.json, each a filter over the same architecture: the nodes of one technology and its neighbours, and the relationships between them. Off by default, because a reader who wants the whole estate wants one file.

mod run . --recipe=io.moderne.mainframe.prethink.GenerateMainframeArchitecture

Install it once from Recipe actions, then run it on every repository under the current directory. New to the Moderne CLI? Set it up.