GlossaryΒΆ

Adapter
Adapters

"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."

Wikipedia page on the adapter pattern

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.

Backplane
Backplanes

Todo

Document term Backplane

Callable
Callables
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
Component
Components

Todo

Document term Component

Concurrent

Todo

Document term Concurrent

Consumer

Todo

Document term Consumer

Consumers
See Consumer
Container

Todo

Document term Container

Coroutine
Coroutines

"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.

Factory

Todo

Document term Factory

Filter
Filters

Todo

Document term 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
Generators

"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.

Idempotent

Todo

Document term idempotent

Inbox
Inboxes

Todo

Document term Inbox

Interface
interfaces

Todo

Document term 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

Mailbox
Mailboxes

Todo

Document term Mailbox

Message
Messages

Todo

Document term Message

Outbox
Outboxes

Todo

Document term Outbox

Pipeline
Pipelines

Todo

Document term Pipeline

Post Office
Post Offices

Todo

Document term Post Office

Producer
Producers
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.
Publisher
Publishers

Todo

Document term Publisher

Scheduler
Schedulers

Todo

Document term Scheduler

Sink

Todo

Document term Sink

Source

Todo

Document term Source

Subscriber
Subscribers

Todo

Document term Subscriber

Previous topic

Appendix A: Full Licence Text

Next topic

To Do Items Index

This Page