XMAP - A General Purpose Process for Describing Software Systems
Original Publication Date: 1993-Sep-01
Included in the Prior Art Database: 2005-Mar-20
Publishing Venue
IBM
Related People
Abstract
XMAP is a process for building descriptions of software systems (collections of programs and other software objects). XMAP consists of a language for describing software objects, a method for controlling the vocabulary of the language, a processor that analyzes statements in the language, and the data produced by the processor. The figure depicts the components of XMAP and conveys its context.
XMAP - A General Purpose Process for Describing Software Systems
XMAP is a
process for building descriptions of software systems
(collections of programs and other software objects). XMAP consists
of a language for describing software objects, a method for
controlling the vocabulary of the language, a processor that analyzes
statements in the language, and the data produced by the processor.
The figure depicts the components of XMAP and conveys its context.
XMAP serves
as a bridge between the persons or analysis tools
that extract information from individual programs, and the
presentation tools that give this information back to the user in
various formats.
XMAP has four components:
1. DESCRIPTIVE
STATEMENTS are a simple language for describing a
software object at a high level of
detail. The language is
designed to convey those
characteristics of the object relevant
to understanding its relationship to
other objects in the system.
There are at least five statement
types:
o OBJECT - begins the description of an
object, providing its
name and descriptive text.
o REFERENCE - identifies a connection between
the object and
another object.
o DATA - identifies data used by the object.
o PROPERTY - identifies properties of the object.
o END - Marks the end of the description.
Here are descriptions of three objects, using these statements:
OBJECT
iecvabc OBJECT panxyz OBJECT
subjcl
'Invokes the panel
function' 'Invokes jcl exec'
'Submits a job'
REFERENCE panxyz REFERENCE subjcl END
subjcl
DATA ispxyz ispabc DATA ispxyz
END iecvabc END panxyz
The
language allows for the nesting of descriptions, to
convey relationships of hierarchy or
containment between objects.
Other
forms of syntax can also be used for the same
purpose. XMAP is thus a programming language for
building a
high-level description of diverse
kinds of entities. rather than
a detailed description of a single
kind of entities.
2. The VOCABULARY
INTERFACE enables the user to customize the
vocabulary of the DESCRIPTIVE
STATEMENTS so that the statements
exactly suit the system being described. For example, to
describe a system composed of a set
of ordinary program modules,
some command lists ("EXECs"
written in REXX language) and ISPF
panels, the user might change the
vocabulary as follows:
o Replace the term 'OBJECT' with: 'MODULE,'
'EXEC,' and
'PANEL.'
o Replace the term 'REFERENCE' with: 'CALL,'
'EXEC,' and
'DISPLAY.' Specify that CALL
connects...