Se documentó el sistema en sus 1975 libro Principios de Diseño del Programa.[3] Presenta dos versiones de un programa, uno diseñado utilizando JSP, el otro usando métodos "tradicionales".La versión JSP del programa es estructuralmente equivalente a y la versión tradicional del programa es equivalente a Jackson critica la versión tradicional, alegando que esconde las relaciones que existen entre las líneas de entrada, lo que compromete la comprensibilidad y mantenibilidad del programa, por ejemplo, obligando al uso de un caso especial de la primera línea y forzando otro caso especial para una operación final de salida.JSP utiliza pasos semi-formales para capturar la estructura existente de las entradas y salidas de un programa en la estructura del programa en sí.JSP está orientado a la programación a nivel de las estructuras de control, por lo que los diseños implementados utilizan solo operaciones primitivas, secuencias, iteraciones y selecciones.Además la iteración tiene una estrella en la esquina superior derecha de su caja.La selección es similar a una secuencia, pero con un círculo dibujado en la esquina superior derecha de cada operación opcional.Cada ejecución se compone de uno o más bytes del mismo valor.El siguiente paso es describir las correspondencias entre las operaciones en las estructuras de entrada y salida.Si se encuentra un conflicto en la estructura, por lo general es resuelto dividiendo el programa en dos partes, utilizando una estructura de datos intermedia para proporcionar un marco estructural común con la que las dos partes del programa pueden comunicarse.Las dos partes del programa se implementan a menudo como procesos o corrutinas.