As computing power increases, software is developed to make use of the increased capacity. A transition is currently in progress as the growth of higher level scripting languages enables a larger number of programmers to develop programs in larger and more diverse domains. The world of software program development is becoming readily accessible to a larger audience.
Concurrently, digital communication has revolutionized the way that people interact. Protocols are established to enable new types of communication. Successful protocols are built in layers; each layer makes use of the one below it and providing services to the layer directly above it. As new uses are discovered for digital communications, new protocols will need to be developed to support them.
Simulations are useful when communication protocols are developed. The simulation can be specified, implemented and its runtime behavior verified against the specification.
This thesis proposes and demonstrates that there exists a set of software development tools that are readily accessible and end to end to address the problem of specifying, implementing and verifying layered communication protocol simulations.