This initial OPSL release includes a cross-platform software development kit (SDK) to be integrated with vendor software and ultimately installed onto TSA computers; this will occur both at the checkpoints and within the broader TSA network to facilitate standardized communication and to allow for standardized configuration, command, and control of TSE. This SDK provides access to core screening services and enables the OPSL network for OPSL aware devices. The OPSL Role definitions allow vendors to add capabilities into this ecosystem via a plug-in framework. To make your system OPSL aware, OPSL integration is implemented via one of three different models:

  1. Adapter Model: Recommended for learning, demonstrations, and legacy devices. OPSL software is packaged and installed as a separate executable which can run on the same or different computer from the screening device; is set up with a listening function (e.g. FTP, file share, proprietary transmission, etc.) to access screening files as they are collected. This model is designed to minimize impact and changes to existing system configurations, while compromising some OPSL capability. This may not require re-compiling existing TSE software, but would require creating at least a new software executable that can pull data from the existing system.
  2. Static Model: Recommended for most newer systems. The OPSL SDK is linked into TSE software and fulfills OPSL interfaces; requires a re-compile of vendor TSE software if integrated into existing software. This requires a small amount of software development in order to integrate the OPSL SDK into existing TSE software systems.
  3. Dynamic Model (available in the next OPSL release): Recommended for highly-configurable systems. Dynamically-linked libraries (DLLs) are used to encapsulate capabilities at a low-level within TSE. Individual capabilities are compartmentalized into plugin DLLs, such as source/detector interfaces, TSE control, low-level algorithms, and higher-level algorithms such as ATR. The plugin DLLs are loaded by a plugin manager executable provided within the OPSL SDK and are configured using a configuration file. This mode allows for fine grained decoupling and integration of low-level algorithms “inside the box.”