Why Declarative ?

.

Advantages

  • Easy to reason about.

  • Regular expressions are excellent for generating and recognising structures in the time domain.

  • Intrinsically portable.

  • A lot of designs need to conform to protocol specifications anyway.

  • Reversible. Can generate the transmitter and receiver from the same source code.

  • Likely to be HIGHLY composable. Just pile on more specifications.

  • Metrics can be quickly altered to select different designs: e.g. ratio of hardware to software or silicon to performance.

    Disadvantages

  • Many possible solutions in an enormous search space.

  • Little success so far, except with executable specifications (e.g. Prolog).

    Let's be Pragmatic

    Let's be pragmatic and create a source language where we can freely mix all three forms of specification and hope that the declarative subset becomes the most used.

    Let's use manual structure to provide component re-use and to constrain computational explosion, but allow the system to disolve structural boundaries when it is up to it.


  • Home.           SRG Talk. 12 March 2003. DJ Greaves. www.cl.cam.ac.uk.