Skip to content

Overview for v2.0.17.241921515

The Integration Toolkit module, formerly known as the Simulation Aids module1, supplies a variety of expression functions and other general utilities that are particularly useful when developing projects, optimizing projects, and dealing with equipment or data sources that don’t yet exist.

It provides advanced functions useful in many applications, particularly when attempting to improve performance by trading out jython scripting in favor of iterating expression functions.

This module provides no drivers, nor any extension point implementations, nor any user interface components. It only provides expression functions and scripting functions.

This module also provides alternatives for and expansion of the features of Automation Professionals’ Life Cycle module. The Life Cycle module will receive no further updates.

Expression Debugging

These functions provide expression-level targeted debugging and performance measuring tools. These are described in detail under Debugging.

  • Advanced / debugMe(key, expr)

  • Advanced / traceMe(key, expr)

  • Advanced / timeMe(key, expr)

  • Advanced / nanoTime()

Expression-Scripting Connectors

Expression functions have some limitations that jython scripting avoids, like the ability to make assignments other than a binding target, and to access or manipulate data types that are not valid in bindings. These expression functions and scripting functions are made to work together in otherwise unavailable ways.

See Scripting for a complete discussion of how these interact with each other.

  • Advanced / objectScript(expr, …)

  • Dataset / view(pseudoSQL, fromDS, …)

  • Dataset / mungeColumnName(name)

  • system.dataset.mungeColumnName(name)

  • system.aggregate.[count|groupConcat|max|mean|min|popStdDev|stdDev|sum](numberList)

  • Advanced / unQualify(object)

  • Advanced / globalVarMap(key)

  • system.util.globalVarMap(key)

  • Advanced / sessionVarMap()

  • system.perspective.sessionVarMap(…)

  • Advanced / pageVarMap()

  • system.perspective.pageVarMap(…)

  • Advanced / viewVarMap()

  • system.perspective.viewVarMap(…)

General Iteration Functions

These expression functions and their utilities loop over datasets, lists, arrays, mappings, and simple integer ranges, yielding datasets and/or lists in certain combinations. These are particularly useful for producing complex dynamic property trees for Perspective components.

See Iteration for complete details.

  • Iteration / it([depth])

  • Iteration / idx([depth])

  • Iteration / forEach(source, expr…)

  • Iteration / groupBy(source, keyExpr…)

  • Iteration / orderBy(source, keyExpr…)

  • Iteration / where(source, condExpr…)

  • Iteration / asList(arg [, arg…])

  • Iteration / asMap(…)

  • Iteration / asPairs(…)

  • Iteration / descending(comparable)

  • Iteration / flatten(list [, …])

  • Iteration / unMap(object, key [, …])

Dataset Functions

These functions process datasets into new datasets, create datasets from scratch in various ways, and extract metadata from datasets.

See Datasets for complete details.

  • Dataset / toTransient(dataset)

  • system.dataset.TransientDataset(…)

  • Dataset / nonTransient(dataset)

  • Dataset / recorder(poll, limit, dataset OR colName, colValue [, …])

  • Dataset / alias(dataset, columnPrefix)

  • Dataset / columnsOf(dataset)

  • Dataset / crossJoin(dataset, dataset)

  • Dataset / innerJoin(dataset, dataset, keyLeft, keyRight [, …])

  • Dataset / leftJoin(dataset, dataset, keyLeft, keyRight [, …])

  • Dataset / selectStar(dataset, columnInfo, expr [, …])

  • Dataset / unionAll(columnInfo, rowSource [, …])

Utility Functions

These functions don’t quite fit any of the above categories.

See Utilities for complete details.

  • Advanced / transform(valueExpr, transformExpr)

  • Advanced / value([depth])

  • Math / ramp(pollRate, target, rampRate [, revRampRate [, accel]])

  • Advanced / tags(tagPaths [, timing])


Introspection scripting tools. See Reflection for details.


  1. The module ID remains com.automation_pros.simaids, and the package names continue with this prefix, in order to ensure proper replacement of older versions.