[BBF Standards] data exchange issue 1: Abstraction
Jake Beal
jakebeal at MIT.EDU
Tue Feb 26 18:00:17 EST 2008
> If a part can be both a "part" (basic part) and a "device", then the
> hierarchy of parts->devices->systems is not quite a hierarchy. Would it
> not be more organized to have a solid hierarchy by disallowing such an
> overlap?
The part->device->system relationship might be viewed as analogous to
the token->expression->program relationship in programming languages.
This is most clear in a language like LISP (I'd prefer to use a more
universally familiar language, like C, but it breaks this relationship):
Tokens are primitive elements:
'+' or '2' or 'x' or 'sqrt'
Expressions are combinations of *one or more* tokens:
'2' or '(+ x 2)' or '(sqrt (+ x 2))'
When there is only one token in the expression (e.g. '2'), we may
call it a primitive expression or a self-evaluating expression.
These serve as the "base case" for interpreting expressions.
A program is a collection of expressions that we view as a functional whole:
'(def factorial (n)
(if (zero? n)
1
(* n
(factorial (- n 1)))))
(factorial 12)'
is a program to compute the factorial of 12.
Similarly, a device consisting of a single part might be viewed as the
base case for analyzing a device composed of many parts.
Thanks,
-Jake
More information about the Standards
mailing list