[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