| Frame technology is an advanced form of object orientation, an
automated assembly line which manufactures software modules — objects,
programs, subroutines — from adaptable, generic components called
frames. Frames contain data elements and/or methods, expressed in any
language. But what really distinguishes frames is that they also contain commands
which can adapt — select, delete, modify, and/or iterate — any detail
in any subcomponent frame. Such details are usually generic —
parameterized to become specific methods and data elements during
module assembly. Generic frames, being adaptable to many more
situations than use-as-is components, greatly reduce the number of
components needed to model complex information domains, such as
business systems. | Frame Technology formalizes the specification and composition of frames. It contains two things: A standard definition of its data and functions, which expresses the similarities that are available to all instances of use (e.g. 'PASCAL' code) Software Engineering change commands, which expresses the differences that are peculiar to each instance of use. (e.g. These are the 'frame commands') Because Frames are so adaptable, one frame library has been used for a great diversity of applications, from insurance and banking to manufacturing and retailing, to government, utilities and aerospace, and for computer systems, from micros to mainframes. Frame Hierarchy Each module is assembled from a hierarchy of frames. Frames at or near the bottom of a hierarchy typically handle environmental details — operating systems, databases, windows, network protocols, etc. These frames usually come from the starter library, supplying 85 percent or more of all module details. They are the most reusable because they are common to all modules in the environment. Frames in the middle of a hierarchy deal with data and functions related to common business processes such as payroll, customer information, inventory control, banking, insurance and so on. At the top of each module's hierarchy is a Specification Frame (SPC), so-called because it specifies the module's custom details and main component frames. It is the master blueprint, the only frame the developer creates to define the module. In mature environments, SPCs contain less than five percent systems source code yet give developers control over every detail of those systems. Frame Libraries Frame libraries are equipped with a small number of templates, or prototype SPCs — one for each module type (data entry, file update, inquiry, report, etc.). Each template remembers all the frames needed to build any module of that type and lists the normal parameters, which when set, convert the template into an SPC. Templates make creating SPCs a fill-in-the-blanks exercise, one that can be automated by interactive wizards. Frame Processor A frame processor is the tool that executes frames in a hierarchy of frames, distinguishing between frame commands and code (or text). The result from the frame processor is an output file which contains ordinary text (text without any frame commands). Frame Commands Explaining frame commands requires a bit more hierarchy terminology: ancestors a frame's ancestors are all frames above that frame on the path to and including the SPC descendants a frame's descendants are any frame below it parent parent is an immediate ancestor child is an immediate descendent Each frame is designed so that, when necessary, its behaviour can be modified by its ancestors. The frame contains information, in the form of frame commands, for adapting other frames. A frame contains code or text and frame commands. The commands are used to modify the code (or text). The code could be in any programming language.
|