Understanding the Application-Level Metamodel

The object model for an application defines the relationships between the objects that comprise the application. These can be physical objects, like program source files or JCLs, or logical objects that identify abstract program elements: entry points, data stores, screens, jobs, and so forth.

The relationships between objects describe the ways in which they interact. In the figure below, the source file GSS.CBL defines the GSS program. The program, in turn, reads the data file GSS.FCSTSEC.

Relationships are conceived as having a left and right end. In the relationship CobolDefinesMap, for example, the left relationship end is DefinesMap, while the right relationship end is IsDefinedInCobol.

Each object or relationship the parser generates is modeled as an entity or relationship in an Entity Relationship Diagram (ERD). Each entity or relationship is an instance of an entity or relationship type. The application-level metamodel defines these types.