It is a way of organizing information about an object, which describes the properties of the object in a similar way to a record in a database, where the fields are reserved for each property [Pacheco, 2007].

A framework is a complex data structure that contains information about an object. The information stored in the frame is divided into different fields or areas called slots and each contains information about an attribute of an object or a pointer to another frame. Examples:

Setting: Employee

Name

Age (between 16 and 65)

Legs (2 by default)

Occupation

2 - Setting: Family Man Name

Age (16 to 120)

Marital status (generic: married)

Spouse (pointed at Women’s family)

It is called instantiation of a framework to one with their slots filled. We can then see the framework as a class of entities as an exemplification of it as a particular entity.

Examples of instantiations of the above frames are:

1 - Setting: Employee

Name: Jesus Lopez

Age: 32

Legs: 2

Occupation: Programmer

2 - Setting: Family Man

Name: Jesus Lopez

Age: 32

Marital Status: Married

Spouse: (pointing to the family Women’s exemplification of Mariela Perez)

Each slot can be assigned various types of information, called facets of the slot, among which are:

Value stores the value for the slot. Bespoke Software Example: a slot name frames Female Employee and family.

Default value: contains an initial value or values commonly used for the facet value. Example: most people have two legs and used unless otherwise known, one can think that statement as normal. Usually defaults are used when knowledge is not available otherwise. Sometimes the default can be used as the initial value of the facet value.

Generic: It is a property associated with a class of entities, so that each entity of the class has that property. Example: Married Men in the family context.

Restrictions: contains a set of logical expressions that must be true to the value stored in the facet value. Example: the slot Age under Employee. The restrictions may be more complex analysis and may refer to values of other slots in the current frame or another frame. Example: Suppose that the framework we add a slot Employee Gender and employment considerations we do in our country. The status of age will depend, then, whether male or female employee.

Procedure: contains a procedure for calculating the value to be stored in the facet value.

Demon: contains a procedure that runs automatically when you change the value stored in the facet value. It is therefore important to maintain the internal consistency of the information. Examples:

A demon associated with the Employee under age slot will be activated if it is filled with a value outside the range 16 to 65. The demon user can ask for an explanation of the cause of the violation and act upon the explanation given.