Frames
Frames are not a new concept for Match Developer. Earlier versions of MD offered frame functionality which allowed users to create a frame system where the frame would act as a basic template for what a frame instance value could be, basically defining an object and its attributes. In turn, the frame instances could be evaluated by your model.
In Match Developer 2, frames are much more powerful and useful for modelling. It is now possible to create data models with constraints on or between any of the variables to specify the relationships. This gives you much more control over system design, business processes, information and data in general as frames and frame instances are directly usable and integrated with knowledge tables.
Frames define the data model, specify instances of this data model, and specify constraints between elements of the data model.

A frame is a single-column table having a user defined (potentially unlimited) number of variable rows. On creation you will be presented with a frame containing a default frame name (Frame 1) and 3 empty variable rows.
Frame components
Frame title (or name): User defined, descriptive text used to identify individual frames. The frame title must be unique.
Frame variable: Every row in a frame is a placeholder for a variable. All frame variables are treated the same as a Match standard variable and therefore require the same attention to its domain properties. (Refer to variable section on how to set the variable domain.)
There is no limit to the number of variables a single frame can hold. However, a proper data model will limit the number of variables each frame contains.
Primary key: A primary key allows to uniquely identify the frame. Therefore, the primary key is required to be unique. Each frame requires at least one primary key. Multiple primary keys are allowed in each frame to form a “composite key”. The primary key is indicated with italicized font.
Aggregation frame: An aggregation frame allows the frame to have variables that are represented by a set of variables that belong together. When required, you can create an aggregation frame, which will thus contain the variables that compose one of the variables of the frame. For example a variable “Address” could be changed to an aggregation frame with the variables “Street”, “City”, “Postcode”, “Country”. Aggregation frames are identified with Underlined text.
Frame constraint (arrow): It is possible to create constraints for a variable that belongs to a frame. When constraints are present within a single frame an arrow will indicate the constrained variable(s).
Inter-variable constraint: Inter-variable constraints are a special form of frame constraints. They allow for constraints that consists of multiple variables of the frame. When an inter-variable constraint exists in a frame, the arrows that point towards the variables of the constraint are connected with each other.
Frame instance: A frame is also allowed to have instances. Frame instances are a predefined set of instances, specified in a frame. More information about instances can be found in the tab Instances.