






                NEST - Columbia University's Network Simulation Tool


            _A_d_d_r_e_s_s:
               Alexander Dupuy
               450 Computer Science
               Columbia University
               New York,  NY  10027

            _E-_m_a_i_l: nest-request@cs.columbia.edu

            _P_h_o_n_e: (212) 939-7000
               FAX: (212) 666-0140


            _D_e_s_c_r_i_p_t_i_o_n

            The NEST simulation package  developed  at  Columbia  is  an
            environment  for rapid prototyping and simulation of distri-
            buted networked systems.  NEST users can  develop  and  test
            distributed  systems  and  protocols  (from  crude models to
            actual system code) within simulated network scenarios.

            NEST is organized as a simulation  server,  responsible  for
            execution  of  complex  simulation scenarios, and a separate
            graphical   interface   for   simulation    control.     The
            client/server model permits distribution of NEST over a net-
            work environment.  Thus, complex simulations may be migrated
            to  powerful  remote  computational servers.  Alternatively,
            complex studies/development efforts by  multiple  teams  may
            utilize a shared multi-site simulation/integration testbed.

            Simulation servers are created using the NEST library, a  C-
            language library which runs under most Unix variants, and on
            POWER (IBM RS/6000), SPARC, MIPS, 680x0  and  VAX  architec-
            tures.   The  NEST  library  provides  a  simple, high-level
            message-passing facility among a set  of  concurrent  light-
            weight processes which simulate a distributed system.

            The interface provided by the NEST library allows  users  to
            link  in their own C code and run it on one or more nodes in
            a simulated  distributed  environment.   NEST  provides  the
            _________________________
            The information in this section is provided  in  accor-
            dance  with the copyright notice appearing at the front
            of this guide.




            September 4, 1992           NNSC        Section M.5,  Page 1








            following operations in this environment:


               o+  send messages to neighboring nodes

               o+  receive messages (optionally, with timestamps)

               o+  check for available messages

               o+  control passage of simulation time

            The user  can  also  provide  C  code  which  simulates  the
            behavior  of  a  channel,  and associate it with one or more
            communications channels.  More  than  one  function  can  be
            associated  with a channel, and the following operations are
            provided:


               o+  alter contents of messages

               o+  control transmission delay of messages

               o+  drop messages (cause them to not be received)

            Finally, a monitor function can be  provided  by  the  user,
            which  runs  periodically in the simulation, and can perform
            modifications to the network scenario as noted below in  the
            description of the NEST generic monitor.    In addition, the
            functionality provided by most available Unix  libraries  is
            accessible within a simulation server.

            Users interact with NEST through the NEST  generic  monitor,
            an X-based graphical interface supporting editing and modif-
            ication of simulation scenarios as well as dynamic  reconfi-
            guration of a simulation during execution.  Thus, it is pos-
            sible to study the dynamic response of a distributed  system
            to failures, burst-loads or other complex dynamical changes.

            The nest monitor provides the following operations for mani-
            pulation of the network simulation scenario:


               o+  create and delete nodes

               o+  create and delete links

               o+  start and stop functions running on nodes




            September 4, 1992           NNSC        Section M.5,  Page 2








               o+  change the function associated with a node

               o+  change the list of channel functions  associated  with
                  an edge

               o+  change the weight parameter associated with an edge

               o+  change the monitor function which runs periodically

               o+  show the current status of a node in the simulation

            NEST includes documentation and complete C source  code  for
            both  the  NEST  library  and the NEST generic monitor.  The
            NEST library will run under most  Unix  variants,  including
            AIX, SunOS, Ultrix, 4.x BSD, and System V.  The NEST generic
            monitor is an X application which uses  the  XView  library.
            The currently released version of NEST is version 2.6.

            _N_e_t_w_o_r_k _A_c_c_e_s_s

            NEST  documentation  and  full  source  is   available   via
            anonymous  FTP  from  cs.columbia.edu  [128.59.16.20] in the
            nest directory.  Some files are  stored  as  compressed  tar
            archives  -  be  sure  to  remember  to use binary mode when
            transferring them!

            There are several files in the ~ftp/nest directory:


            nest-2.6.tar.Z       Source for Nest 2.6 library & UI display
            nest-2.6-patch.*     Patches to Nest 2.6 library - please apply all
            nest-25-doc.tar.Z    Lineprinter formatted documentation
            nest-25-doc2.tar.Z   Scribe and PostScript formatted docs



            _W_h_o _C_a_n _U_s_e _t_h_e _S_e_r_v_i_c_e

            The NEST software is distributed under this arrangement  for
            research  and  evaluation purposes only.  Any redistribution
            or commercial use of the software  itself  in  any  form  is
            prohibited  without  further licensing from Columbia Univer-
            sity.








            September 4, 1992           NNSC        Section M.5,  Page 3


