NETDEF
A Neural Language

NETDEF (Network Definition) is a high level parallel language used to define complex algorithms. It was based on the Occam language, having processes (a modular flow of execution) and channels (unidirectional point-to-point communication of values) as its main concepts. NETDEF has the usual control structures and operators, and has also specific processes aiming some neural networks distinct features.

In this webpage, it is available a NETDEF compiler and simulator, in order to program and test the potentialities of this approach (for Windows™ only). If you have some questions or suggestions please email me. You can also check the websites of J. Félix Costa and Hava T. Siegelmann, the other contributors to this work. You can also return to the PhD main page.

Here is a sample image of the compiler. It was programmed in Borland's Delphi™ 4 environment system.

netdef.gif (23331 bytes)

Fig. 1: Using the NETDEF compiler

The compiler takes a NETDEF program, compiles it and give a neural network text description. E.g., the program:

NETDEF netName(0,0) IS
VAR  
  i  : integer;  
  c1 : channel;
SEQ  
  SEND i TO c1;
ENDSEQ;
ENDDEF.

is compiled into the following network:

Mn0In(i+1) = sigma( )
Mn0Out(i+1) = sigma( + 1,0 * SEQ1Out(i) )
VARIMn0:i(i+1) = sigma( + 1,0 * VARIMn0:i(i) )
VARCMn0:c1(i+1) = sigma( + 1,0 * VARCMn0:c1(i) + 1,0 * SEND1Val(i) )
VARCMn0:c1Flg(i+1) = sigma( + 1,0 * Mn0In(i) + 1,0 * VARCMn0:c1Flg(i)
                            - 1,0 * SEND1Flg(i) )
SEQ1In(i+1) = sigma( + 1,0 * Mn0In(i) )
SEQ1Out(i+1) = sigma( + 1,0 * SEND1Out(i) )
SEND1In(i+1) = sigma( + 1,0 * SEQ1In(i) + 1,0 * SEND1In(i)
                      - 1,0 * SEND1Wait(i) )
SEND1Out(i+1) = sigma( + 1,0 * SEND1Wait(i) )
SEND1Wait(i+1) = sigma( + 2,0 * VARCMn0:c1Flg(i) + 1,0 * SEND1In(i)
                        - 1,0 * SEND1Wait(i) - 2,0 )
SEND1Flg(i+1) = sigma( + 1,0 * SEND1Wait(i) )
SEND1Val(i+1) = sigma( + 1,0 * VARIMn0:i(i) + 1,0 * SEND1Wait(i) - 1,0 )

This text describes a neural network that executes the algorithm defined by the NETDEF program above.


There are many scientific and commercial approaches in the neurocomputing field. Check links section for some examples.

NETDEF is a first step to create a general purpose language for neural network hardware. NETDEF relevant feature is that it gives an automatic mechanism to translate complex algorithms into neural networks descriptions.

Here lies the main difference in NETDEF: it can describe any procedure, not just learning algorithms, and map them into a neural net text description. This description then, is used in some appropriate neural hardware machine where the desired algorithm can be executed, and not just on a von Neumann machine.







go back to PhD website

Last modification: 26/01/05 
by João Pedro Neto
Neto's e-mail