El diseño de PetrA se basa en el modelo vista-control4.1, donde cada objeto gráfico principal tiene asociado un objeto de control que se encarga de manejar las acciones que aparentemente realizan los objetos visibles. Así, cada panel y ventana tiene asociado un objeto de control. De esta forma, el objeto de la clase Controller es el objeto de control para el panel de herramientas y el panel de preferencias. Esto es, el objeto Controller se encarga de manejar los eventos que se generan desde estos paneles para afectar a un documento red de Petri (en el caso del panel), o a toda la aplicación (en el caso de las preferencias). Además este objeto se encarga de realizar las interacciones entre los controladores de cada red de Petri, el sistema operativo y algunas operaciones del usuario a través del menú de la aplicación y el panel de herramientas.
Cada red de Petri se maneja como un documento, representado por una ventana y una área de dibujo, y tiene asociado un objeto de control propio (PNController) que se encarga de manejar las operaciones específicas de la red de Petri con el ambiente de trabajo. Este objeto de control se encarga de mantener el identificador de la ventana de trabajo y el identificador del objeto gráfico que dibuja la red.