Image of computer code on a monitor, color coded in an IDE.

Persistent and Visual Modeler

Current: v1.0, released July 2023.

The Visual Persistent Hierarchical Component-based Modeler (PVM) is a novel visual and persistent RESTful tool for creating modular and hierarchical I/O component models.

The tool separates while synchronizing visual and persistent parts of models. Modelers are stored in MongoDB and can develop and explore their models at any desired hierarchy level. The separation and combination of visual and NoSQL persistence models is a key feature for developing software and simulation models at scale. Stored models can be exported to textual format. The tool also displays the structural metrics for any component at any level in its hierarchy. Documentations are available in the Download desktop launcher and Download RESTful launcher.

Separation of Concern Concept

The persistent, visual, and logical modeling combination allows systematic model development at scale. It is based on complementary capabilities and needs for developing system-theoretic component-based models. The separation of concerns addresses simplifying model development while achieving seamless development and integration of logical models with their visual and persistent counterparts.


The PVM’s architecture is developed to support RESTful and standalone use. It follows the Model-View-Control (MVC) design pattern emphasizing visual models to have loose yet one-to-one relationships to logical and persistent counterparts. The logical model syntax grounds the syntaxes for the visual and persistent models.

UI Development Environment

The UI is customized to be readable and to accommodate features spanning the logical, visual, and persistent aspects of models. The tool’s Menu Bar consists of two parts. The top part displays the User Modes. The rightmost corner of the first row has two toggle buttons. One is the “COUPLING Mode” toggle button and the other is the “CREATE mode” toggle button. By default, the UI is in the CHANGE mode. When the COUPLING button is clicked, the UI enters the “COUPLING” mode and it enters the “CHANGE” mode when it is toggled off. The same applies to the “CREATE” button. The leftmost corner of the first row always displays the name of the active mode in the UI. The bottom part displays the options for creating, storing models, loading, and exporting models. The UI has separate parts for the tree and component models. The following figures show the common capabilities for creating, changing, and visually rearranging model layouts displayed in multiple tabs.

PVM – Desktop Launcher

The PVM software package is available for desktop installation using either Windows or MacOS. Both require MongoDB as a service to be available on your local machine,

PVM – RESTful Launcher

The PVM software package is also available using a Java-based RESTful interface. In addition to MongoDB, you should also be using JDK 17 (LTS) to run the service.