GlossaryΒΆ

Adapter

"In computer programming, the adapter design pattern (often referred to as the wrapper pattern or simply a wrapper) translates one interface for a class into a compatible interface. An adapter allows classes to work together that normally could not because of incompatible interfaces, by providing its interface to clients while using the original interface. The adapter translates calls to its interface into calls to the original interface, and the amount of code necessary to do this is typically small. The adapter is also responsible for transforming data into appropriate forms."

Adapter pattern at Wikipedia

In this project, this pattern has been formalized by the use of the zope.interface and zope.component packages. zope.interface prvides a method to formally define interfaces independent of their implementations, and zope.component facilitates the creation and registration of adapters when they are necessary.

You can find more information on the Zope Component Architecture and it's adapter system by reading A Comprehensive Guide to Zope Component Architecture by Baiju M, in particular chapter 4, as well as in the documentation for the zope.interface and zope.component packages. For more general information about adapters, see the Wikipedia page on the adapter pattern.

Adapters
See Adapter
Backplane

Todo

Document term Backplane

Backplanes
See Backplane
Callable
In Python, A callable is a generic term for any object that can be called. This is usually a function or a method, but can be any object that defines a __call__() method. For more information see the Python documentation on Emulating callable objects
Callables
See Callable
Component

Todo

Document term Component

Components
See Component
Concurrent

Todo

Document term Concurrent

Consumer

Todo

Document term Consumer

Consumers
See Consumer
Container

Todo

Document term Container

Coroutine

"A coroutine is a generalization of the subroutine. Forget for a moment everything you've been taught about calling functions, and stacks, etc... Think back to BASIC, and the evil GOTO statement. Imagine a more powerful GOTO that could jump back and forth between functions, passing arguments, and you begin to get the idea."

"Coroutines are a bit of ancient forgotten computer-science lore; stamped out of the collective memory by the hegemony of C. But they are useful in a wide variety of situations that can only be clumsily solved using 'standard' tools like threads and processes."

Coroutines In Python

Coroutines in Python are described in PEP 342. There is an excellent presentation on Python coroutines titled A Curious Course on Coroutines and Concurrency by David Beazley. For information on coroutines in general, see the Wikipedia page on coroutines.

Coroutines
See Coroutine
Factory

Todo

Document term Factory

Filter

Todo

Document term Filter

Filters
See Filter
Framework
For this project, a framework is simply defined as something that calls your code, rather than your code calling it. (As opposed to a library.) For general information on the concept if a framework in software, see the Wikipedia page on software frameworks.
Generator

"A generator is, simply put, a function which can stop whatever it is doing at an arbitrary point in its body, return a value back to the caller, and, later on, resume from the point it had `frozen' and merrily proceed as if nothing had happened."

Python Generator Tricks

Generators in Python are described in PEP 255. There is an excellent presentation on Python generators titled Generator Tricks for Systems Programmers by David Beazley. For information on generators in general, see the Wikipedia page on generators.

Generators
See Generator
Idempotent

Todo

Document term idempotent

Inbox

Todo

Document term Inbox

Inboxes
See Inbox
Interface

Todo

Document term Interface

interfaces
See Interface
Lazy

Todo

Document term Lazy

Library
For this project, a library is simply defined as packaged code that you call in your program. (As opposed to a framework that calls your code for you.) For general information on the concept if a library in software, see the Wikipedia page on libraries.

Todo

Document term Link

See Link
Mailbox

Todo

Document term Mailbox

Mailboxes
See Mailbox
Message

Todo

Document term Message

Messages
See Message
Outbox

Todo

Document term Outbox

Outboxes
See Outbox
Pipeline

Todo

Document term Pipeline

Pipelines
See Pipeline
Post Office

Todo

Document term Post Office

Post Offices
See Post Office
Producer
For this project, a producer is a coroutine that produces messages to be consumed, but does not consume any messages itself (aside from shutdown messages). For example, reading lines from a files and send them out one at a time. For general information on the concept of a producer, see the Wikipedia page on the Producer-consumer problem.
Producers
See Producer
Publisher

Todo

Document term Publisher

Publishers
See Publisher
Scheduler

Todo

Document term Scheduler

Schedulers
See Scheduler
Sink

Todo

Document term Sink

Source

Todo

Document term Source

Subscriber

Todo

Document term Subscriber

Subscribers
See Subscriber

Previous topic

Appendix A: Full Licence Text

Next topic

To Do Items Index

This Page