Publication date: 04/12/2021

Application Builder Terminology

An application consists of modules. A module contains the objects and scripts that are compiled into an application. When you run an application, JMP can show a separate window for each module. For example, one window might show a Create Graphs button. After the user clicks the button, the graphs appear in a new window.

There are terms you should become familiar with before using Application Builder. Knowing these terms helps you understand how a module works, even if you need to minimally edit an automatically generated script.


The top-level file that consists of one or more modules.


A collection of objects, messages, instances, and other JSL statements that are compiled into an application to create new JMP features.

Instant Application

An application that typically consists of reports and does not require JSL scripting. You can also create an instant application, or “dashboard”, in Dashboard Builder. Similar to Application Builder, Dashboard Builder has a drag-and-drop interface but with pre-configured display boxes.

Custom Application

An application that demonstrates custom behavior through JSL scripting.

Objects and Messages

An object is a dynamic entity in JMP, such as a data table, a data column, a platform results window, a graph, and so on. Most objects can receive messages that instruct the object to perform some action on itself.

A message is a JSL statement that is directed to an object. That object knows how to evaluate the message.

Module Instance

The occurrence of a module in the application. In a complex application, you might create a start-up script that creates multiple instances of one or more modules.


A collection of unique variable names and corresponding values that prevents collisions among scripts.

JMP creates the Application namespace and the ModuleInstance namespace automatically. Symbols in the Application namespace are visible only to scripts in the application; the namespace is not available to scripts not created in the application. For more information about namespaces, see Advanced Scoping and Namespaces.


A unique name to which you assign a value. JMP creates the thisApplication and thisModuleInstance variables automatically.

The thisApplication variable (used in the Application namespace) contains module names, which are available in any script in the application.

The thisModuleInstance variable (used in the ModuleInstance namespace) contains box and script names, which are valid only in their own modules.


A display box object (such as a tab or outline) into which you drag other objects.

Want more information? Have questions? Get answers in the JMP User Community (