Home      Discussion      Topics      Dictionary      Almanac
Signup       Login
Frame language

Frame language

Overview
Frame language is a metalanguage
Metalanguage
In logic and linguistics, a metalanguage is a language used to make statements about statements in another language which is called the object language. It can refer to any terminology or language used to discuss language itself—a written grammar, for example, or a discussion about language use...

. It applies the frame concept to the structuring of language properties. Frame languages are usually software languages
Programming language
A programming language is an artificial language designed to express computations that can be performed by a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine, to express algorithms precisely, or as a mode of human...

.

Frame languages are rather focused on the recognition and description of objects
Object-oriented programming
Object-oriented programming is a programming paradigm that uses "objects" – data structures consisting of datafields and methods together with their interactions – to design applications and computer programs. Programming techniques may include features such as information hiding, data...

 and classes
, and relation
Relation
Relation may refer to:*Relation, a person to whom one is related, i.e. a family member *Relation , a generalization of arithmetic relations, such as "=" and "<", that occur in statements, such as "5 < 6" and "2 + 2 = 4"...

s and interactions are considered as "secondary".

In general, "frame
Data frame
In computer networking, a frame is a digital data transmission unit on the Layer 2 of the OSI model.RFC 1122 defines a frame as: "the unit of transmission in a link layer protocol, and consists of a link-layer header followed by a packet."...

" in this context means "something that can be/(has to be) fulfilled". In such sense, for example: Object-oriented programming language
Object-oriented programming language
This is a list of object-oriented programming languages.-Languages with object-oriented features:*ABAP*Ada 95*AmigaE**PortablE*BETA*Blue*Boo*C++*C#*COBOL*Cobra*ColdFusion*Common Lisp*COOL*CorbaScript*Clarion*CLU*Curl*D*Delphi...

s are frame languages, but also every grammar
Grammar
In linguistics, grammar is the set of logical and structural rules that govern the composition of sentences, phrases, and words in any given natural language. The term refers also to the study of such rules, and this field includes morphology and syntax, often complemented by phonetics, phonology,...

 is a frame language.
Discussion
Ask a question about 'Frame language'
Start a new discussion about 'Frame language'
Answer questions from other users
Full Discussion Forum
 
Encyclopedia
Frame language is a metalanguage
Metalanguage
In logic and linguistics, a metalanguage is a language used to make statements about statements in another language which is called the object language. It can refer to any terminology or language used to discuss language itself—a written grammar, for example, or a discussion about language use...

. It applies the frame concept to the structuring of language properties. Frame languages are usually software languages
Programming language
A programming language is an artificial language designed to express computations that can be performed by a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine, to express algorithms precisely, or as a mode of human...

.

Frame languages are rather focused on the recognition and description of objects
Object-oriented programming
Object-oriented programming is a programming paradigm that uses "objects" – data structures consisting of datafields and methods together with their interactions – to design applications and computer programs. Programming techniques may include features such as information hiding, data...

 and classes
, and relation
Relation
Relation may refer to:*Relation, a person to whom one is related, i.e. a family member *Relation , a generalization of arithmetic relations, such as "=" and "<", that occur in statements, such as "5 < 6" and "2 + 2 = 4"...

s and interactions are considered as "secondary".

In general, "frame
Data frame
In computer networking, a frame is a digital data transmission unit on the Layer 2 of the OSI model.RFC 1122 defines a frame as: "the unit of transmission in a link layer protocol, and consists of a link-layer header followed by a packet."...

" in this context means "something that can be/(has to be) fulfilled". In such sense, for example: Object-oriented programming language
Object-oriented programming language
This is a list of object-oriented programming languages.-Languages with object-oriented features:*ABAP*Ada 95*AmigaE**PortablE*BETA*Blue*Boo*C++*C#*COBOL*Cobra*ColdFusion*Common Lisp*COOL*CorbaScript*Clarion*CLU*Curl*D*Delphi...

s are frame languages, but also every grammar
Grammar
In linguistics, grammar is the set of logical and structural rules that govern the composition of sentences, phrases, and words in any given natural language. The term refers also to the study of such rules, and this field includes morphology and syntax, often complemented by phonetics, phonology,...

 is a frame language. In specific contexts, the authors of computer languages use the term "frame" arbitrarily and frequently intuitively, and in a metaphoric sense.

In the field of Artificial Intelligence
Artificial intelligence
Artificial intelligence is the intelligence of machines and the branch of computer science which aims to create it. Textbooks define the field as "the study and design of intelligent agents,"...

, a frame is a data structure
Data structure
In computer science, a data structure is a particular way of storing and organizing data in a computer so that it can be used efficiently.Different kinds of data structures are suited to different kinds of applications, and some are highly specialized to specific tasks...

 introduced by Marvin Minsky
Marvin Minsky
Marvin Lee Minsky is an American cognitive scientist in the field of artificial intelligence , co-founder of Massachusetts Institute of Technology's AI laboratory, and author of several texts on AI and philosophy.-Biography:...

 in the 1970s that can be used for knowledge representation
Knowledge representation
Knowledge representation is an area in artificial intelligence that is concerned with how to formally "think", that is, how to use a symbol system to represent "a domain of discourse" - that which can be talked about, along with functions that may or may not be within the domain of discourse that...

. Minsky frames are intended to help an Artificial Intelligence
Artificial intelligence
Artificial intelligence is the intelligence of machines and the branch of computer science which aims to create it. Textbooks define the field as "the study and design of intelligent agents,"...

 system recognize specific instances of patterns. Frames usually contain properties called attributes or slots. Slots may contain default values (subject to override by detecting a different value for an attribute), refer to other frames (component relationships) or contain methods for recognizing pattern instances. Frames are thus a machine-usable formalization of concept
Concept
There are two prevailing theories in contemporary philosophy which attempt to explain the nature of concepts . The representational theory of mind proposes that concepts are mental representations, while the semantic theory of concepts holds that they are abstract objects...

s or schemata
Schema (psychology)
A schema , in psychology and cognitive science, is a mental structure that represents some aspect of the world. Schemata were initially introduced into psychology and education through the work of the British psychologist Sir Frederic Bartlett...

. In contrast, the object-oriented paradigm partitions an information domain into abstraction hierarchies (classes
Class (computer science)
In object-oriented programming, a class is a construct that is used as a blueprint to create objects of that class. This blueprint describes the state and behavior that the objects of the class all share. An object of a given class is called an instance of the class. The class that contains that...

 and subclasses) rather than partitioning into component hierarchies, and is used to implement any kind of information processing. Frame Technology
Frame Technology (software engineering)
Frame Technology is a language-neutral system that manufactures custom software from reusable, machine-adaptable building blocks, called frames.
FT is used to reduce the time, effort, and errors involved in the design, construction, and evolution of large, complex software systems...

 is loosely based on Minsky Frames, its purpose being software synthesis rather than pattern analysis.

Like many other knowledge representation systems and languages, frames are an attempt to resemble the way human beings are storing knowledge. It seems like we are storing our knowledge in rather large chunks, and that different chunks are highly interconnected. In frame-based knowledge representations knowledge describing a particular concept is organized as a frame. The frame usually contains a name and a set of slots.

The slots describe the frame with attribute-value pairs or alternatively a triple containing framename, slotname and value in some order. In many frame systems the slots are complex structures that have facets describing the properties of the slot. The value of a slot may be a primitive such as a text string or an integer, or it may be another frame. Most systems allow multiple values for slots and some systems support procedural attachments. These attachments can be used to compute the slot value, or they can be triggers used to make consistency checking or updates of other slots. The triggers can be trigged by updates on slots.

Inference and reasoning


In most frame-based knowledge representation
Knowledge representation
Knowledge representation is an area in artificial intelligence that is concerned with how to formally "think", that is, how to use a symbol system to represent "a domain of discourse" - that which can be talked about, along with functions that may or may not be within the domain of discourse that...

s, inheritance
Inheritance
Inheritance is the practice of passing on property, titles, debts, and obligations upon the death of an individual. It has long played an important role in human societies...

 is the central inference
Inference
An inference is an assumption of what will happen rather than a true conclusion, prediction or hypothesis.* Human inference is traditionally studied within the field of cognitive psychology....

 mechanism. The frames are organized as a hierarchy
Hierarchy
A hierarchy is an arrangement of items in which the items are represented as being "above," "below," or "at the same level as" one another and with only one "neighbor" above and below each level. These classifications are made with regard to rank, importance, seniority, power status or authority...

 with some general concept
Concept
There are two prevailing theories in contemporary philosophy which attempt to explain the nature of concepts . The representational theory of mind proposes that concepts are mental representations, while the semantic theory of concepts holds that they are abstract objects...

 as the root frame. Many systems support multiple inheritance
Multiple inheritance
Multiple inheritance refers to a feature of some object-oriented programming languages in which a class can inherit behaviors and features from more than one superclass...

. In these systems the tree structure can look more like a directed graph
Directed graph
A directed graph or digraph is a pair G= of:* a set V, whose elements are called vertices or nodes,* a set A of ordered pairs of vertices, called arcs, directed edges, or arrows .It differs from an ordinary or undirected graph, in that the latter is defined in terms of unordered pairs of...

 with possible cycles.

Reasoning
Reasoning
Reasoning is the cognitive process of looking for reasons for beliefs, conclusions, actions or feelings.Humans have the ability to engage in reasoning about their own reasoning. Different forms of such reflection on reasoning occur in different fields...

 in frame-systems is based on frame matching
Matching
In the mathematical discipline of graph theory, a matching or edge-independent set in a graph is a set of edges without common vertices. It may also be an entire graph consisting of edges without common vertices.- Definition :...

, inheritance and spreading activation
Spreading activation
Spreading activation is a method for searching associative networks, neural networks or semantic networks. The search process is initiated by labeling a set of source nodes with weights or "activation" and then iteratively propagating or "spreading" that activation out to other nodes linked to the...

.

Implementations


Frame Representation Language (FRL), 1997, Roberts/Goldstein.

Two examples of frame- or frame based- languages are OIL
Ontology Inference Layer
OIL can be regarded as an Ontology infrastructure for the Semantic Web. OIL is based on concepts developed in Description Logic and frame-based systems and is compatible with RDFS....

 and F-logic
F-logic
F-logic is a knowledge representation- and ontology language.It accounts in a declarative fashion for structural aspects of object-oriented and frame-based languages....

.

An editor
Ontology editor
Ontology editors are applications designed to assist in the creation or manipulation of ontologies.They often express ontologies in one of many ontology languages...

 for frame-based ontologies
Ontology (computer science)
In computer science and information science, an ontology is a formal representation of a set of concepts within a domain and the relationships between those concepts. It is used to reason about the properties of that domain, and may be used to define the domain.In theory, an ontology is a "formal,...

 is Protégé
Protege (software)
Protégé is a free, open source ontology editor and a knowledge acquisition system. Like Eclipse, Protégé is a framework for which various other projects suggest plugins. This application is written in Java and heavily uses Swing to create the rather complex user interface...

.

The Knowledge Machine
Knowledge Machine
The Knowledge Machine is a concept of Seymour Papert, which is intended to enable children to explore any situation and engage them completely. Although Papert never clearly defined the Knowledge Machine, one interpretation is a virtual reality device that allows the user to slip into any situation...

 (KM) is a knowledge representation language and reasoning engine. The knowledge is represented as frames, but KM is also influenced by logic. This combination makes KM very expressive and provides it with a clear, formal semantics.

KL-ONE
KL-ONE
KL-ONE is a well known knowledge representation system in the tradition of semantic networks and frames; that is, it is a frame language. The system is an attempt to overcome semantic indistinctness in semantic network representations and to explicitly represent conceptual information as a...

 is a well known knowledge representation system in the tradition of semantic networks and frames. The system is an attempt to overcome semantic indistinctness in semantic network representations and builds upon the idea of Structured inheritance networks.

See also

  • First-order logic
    First-order logic
    First-order logic is a formal logic used in mathematics, philosophy, linguistics, and computer science. It goes by many names, including: first-order predicate calculus, the lower predicate calculus, and predicate logic...

  • Semantic Networks
  • Ontology language
  • Description logic
    Description logic
    Description logics are a family of knowledge representation languages which can be used to represent the concept definitions of an application domain in a structured and formally well-understood way...


External links