Software
Cabling (or SC) is a high-level visual module construction language, so
instead of building programs from arithmetic operations, predicates, and
I/O, like with other programming languages, an SC programmer builds programs
from modules. These modules are themselves constructed either using
SC (in which case the modules are called "boards") or with your favorite
programming language (in which case they're called "chips"). In other words,
SC programs are built hierarchically, with the most basic pieces all written
in standard programming languages. The role of SC is to manage complexity,
and to illustrate and constrain how modules can interact--the circumstances
under which each should be invoked, and how data is shared and/or passed
between them. The result is a program that is not only easy to build
and understand, but one which is well-suited to run efficiently on a number
of sequential, parallel, distributed, and grid platforms.
SC is unique in many ways, especially
among module (or component) composition languages or parallel programming
languages. For example, SC is object-oriented, visual, Instead, SC
relies on the programmer to provide these operations to it (in the form
of smaller programs written in more conventional languages, called component
languages), and SC will then invoke them at the appropriate times and deal
appropriately with any results. Altogether, SC is:
There's lots more information here on SC, and because elepar is the very inventor of SC, this is the right place to get it. See the FAQ's to understand more about the advantages and issues involved with SC, and the history page to see how SC came to be. To get a very high-level picture, see the one page Software Cabling "cheat sheet", and for more detail, look at the online SC tutorial (or "Primer"), and the papers cited on the references page. And, if you want a more personal touch, contact us about a hands-on tutorial.
|
|