Kevin Greer's Stuff
[ start | index | login ]
start > Context

Context

Created by kgr. Last edited by kgr, 83 days ago. Viewed 965 times. #22
[diff] [history] [edit] [rdf]
labels
attachments

I use the term "Context" to refer to the concept of bringing the implicit namespace (ie. global variables) under explicit program control.

Other terms or systems which are the same or similiar include: Dynamic Scoping, Fluid Variables, Inversion of Control, Dependency Injection, Component Contexts, Environmental Acquisition, Frames, Prototypes, Explicit Namespaces, First-Class Environments, Pi-Calculus, and Alpha Forms.

Dynamic Scoping / Fluid Variables

Lisp was originally dynamically scoped. It was later switched to lexical scoping but the ability to perform dynamic scoping was still retained.

Inversion of Control

IoC frameworks are becoming very popular in the Java community.

Component Oriented Software

Component Oriented software development involves creating software components which can be used to compose larger software systems. The method of plugging a component into the rest of the system is to provide it with some container specific Context class. In Java you can see many examples of this, including: ServletContext, AppletContext, and EJBContext. I'm interested in generic rather than specific Contexts.

Environmental Acquisition

I've only ever seen this term used in the Python world.

Frame-Based Systems

In AI they have the notion of a "Frame-Based System" as knowledge-based system in which frames constitute the primary means for encoding knowledge. Frames are a form of knowledge representation in which concepts are associated explicitly with their defining attributes. Instances of a concept are created by assigning values to the attributes.

Prototype Based Programming

The idea for creating "classless" OO systems was at least partially based on ideas taken from AI's Frame-Based Systems. The Class/Object duality is removed in favour of a single construct called the "Prototype". Prototypes are exactly Contexts. Context mechanics are very well developed within the field of prototype based languages. Unfortunately, these languages tend to underexploit the environmental aspects of prototypes.

Mobile Agents

A mobile agent is a software component which can move from node to node in a network in the fulfillment of its tasks. When a Mobile Agent arrives at a new node it needs something like a Context to help it find its way around.

Pi Calculus

Explicit Namespaces

Other

Please login to post a comment.
peerbox.com | Copyright 2005-2006 Kevin G. R. Greer