# dlpjava: a data link protocol simulator

## Peter JB King

This tool enables students to write connection oriented data link protocols in Java and have them tested on a simulated communication channel. The simulator checks for common protocol errors such as delivering packets out of order, or losing packets. It should run on any Java system.

It also provides simple visualisation of data frames travelling along the communications channel, indicating whether or not they have encountered transmission errors. The example below shows the channel from A to B with two data frames in transit, the first of which has encountered a transmission erro and is shaded. The second one has (so far) transmitted successfully, and is a solid blue colour. The red boxes indicate that the netwrok layer has been instructed not to provide any more packets for transmission. The list A80, A81, etc at the A end of the channel indicates the identities of packets that the A protocol has accepted for transmission, but that have not yet been delivered to B.

## Getting the Software

The system is packaged as a Java Jar file, along with the documentation for the system in LaTeX. For convenience, both Unix tar format and ZIP format archives are provided. You only need to download one. Unpacking themthe archive in a temporary directory gives several files

              dlpjava     -- the script to run the simulator under Unix
              dlpjava.mk  -- component of Unix dlpjava system
              dlpjava.jar -- jar file
              README      -- this file
              Install     -- Unix installation script
              documents   -- directory of user documentation

To install under Unix, choose a name for the script, and a directory to store the jar file and the .mk file in. Suppose the script is to be in `/usr/local/bin/dlpjava` and the directory is to be `/usr/local/lib/dlpjava` Execute

            Install /usr/local/bin/dlpjava /usr/local/lib/dlpjava

You will need to modify the documentation to reflect how users can run the system.

Under Windows, you will need to copy the `dlpjava.jar` file to a location that can be accessed by all users and modify the documentation accordingly.

## Dlpjava Tutorial

Tutorial examples on use of the simulator.

## User Manual

Here is a copy of the user manual.

## Feedback

If you would like to receive any feedback to the professor on this simulator. Mail the professor at pjbk@macs.hw.ac.uk.

Peter King's home page