Skip to main content

A library for efficiently working with Signal Temporal Logic (STL) and its quantitative semantics.

Project description

Signal Temporal Logic Monitoring

This package provides an interface to define offline monitoring for Signal Temporal Logic (STL) specifications. The library is written in C++ (and can be used with CMake) and has been wrapped for Python usage using pybind11.

The library is inspired by the following projects:

  • py-metric-temporal-logic is a tool written in pure Python, and provides an elegant interface for evaluating discrete time signals using Metric Temporal Logic (MTL).
  • Breach and S-TaLiRo are Matlab toolboxes designed for falsification and simulation-based testing of cyber-physical systems with STL and MTL specifications, respectively. One of their various features includes the ability to evaluate the robustness of signals against STL/MTL.

The signal-temporal-logic library aims to be different from the above in the following ways:

  • Written for speed and targets Python.
  • Support for multiple quantitative semantics.
    • All the above tools have their own way of computing the quantitative semantics for STL/MTL specifications.
    • This tool will try to support common ways of computing the robustness, but will also have support for other quantitative semantics of STL.

List of Quantitative Semantics

  • Classic Robustness
    • A. Donzé and O. Maler, "Robust Satisfaction of Temporal Logic over Real-Valued Signals," in Formal Modeling and Analysis of Timed Systems, Berlin, Heidelberg, 2010, pp. 92–106.
  • Temporal Logic as Filtering
    • A. Rodionova, E. Bartocci, D. Nickovic, and R. Grosu, "Temporal Logic As Filtering," in Proceedings of the 19th International Conference on Hybrid Systems: Computation and Control, New York, NY, USA, 2016, pp. 11–20.
  • Smooth Cumulative Semantics
    • I. Haghighi, N. Mehdipour, E. Bartocci, and C. Belta, "Control from Signal Temporal Logic Specifications with Smooth Cumulative Quantitative Semantics," arXiv:1904.11611 [cs], Apr. 2019.

Installing Python package

Using pip

$ python3 -m pip install signal-temporal-logic

Build from source

Requirements: cmake >= 3.5, git and a C++ compiler that supports C++17.

First clone the repository:

$ git clone https://github.com/anand-bala/signal-temporal-logic

Then install using pip, install the package:

$ python3 -m pip install -U .

Usage

See the examples/ directory for some usage examples in C++ and Python.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

signal_temporal_logic-0.1.2-pp36-pypy36_pp73-manylinux2010_x86_64.whl (266.9 kB view details)

Uploaded PyPymanylinux: glibc 2.12+ x86-64

signal_temporal_logic-0.1.2-cp38-cp38-win_amd64.whl (196.8 kB view details)

Uploaded CPython 3.8Windows x86-64

signal_temporal_logic-0.1.2-cp38-cp38-manylinux2010_i686.whl (276.2 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.12+ i686

signal_temporal_logic-0.1.2-cp38-cp38-macosx_10_15_x86_64.whl (247.1 kB view details)

Uploaded CPython 3.8macOS 10.15+ x86-64

signal_temporal_logic-0.1.2-cp37-cp37m-win_amd64.whl (194.6 kB view details)

Uploaded CPython 3.7mWindows x86-64

signal_temporal_logic-0.1.2-cp37-cp37m-manylinux2010_i686.whl (281.0 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.12+ i686

signal_temporal_logic-0.1.2-cp37-cp37m-macosx_10_15_x86_64.whl (237.7 kB view details)

Uploaded CPython 3.7mmacOS 10.15+ x86-64

signal_temporal_logic-0.1.2-cp36-cp36m-win_amd64.whl (194.6 kB view details)

Uploaded CPython 3.6mWindows x86-64

signal_temporal_logic-0.1.2-cp36-cp36m-manylinux2010_i686.whl (280.2 kB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.12+ i686

signal_temporal_logic-0.1.2-cp36-cp36m-macosx_10_15_x86_64.whl (237.5 kB view details)

Uploaded CPython 3.6mmacOS 10.15+ x86-64

signal_temporal_logic-0.1.2-cp35-cp35m-win_amd64.whl (194.6 kB view details)

Uploaded CPython 3.5mWindows x86-64

signal_temporal_logic-0.1.2-cp35-cp35m-manylinux2010_i686.whl (280.2 kB view details)

Uploaded CPython 3.5mmanylinux: glibc 2.12+ i686

signal_temporal_logic-0.1.2-cp35-cp35m-macosx_10_15_x86_64.whl (237.5 kB view details)

Uploaded CPython 3.5mmacOS 10.15+ x86-64

File details

Details for the file signal_temporal_logic-0.1.2-pp36-pypy36_pp73-manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for signal_temporal_logic-0.1.2-pp36-pypy36_pp73-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 e148186b74d67cd83be4c9095b505ec5118224eae5e7b4fe3d56dcd63332cdea
MD5 ee662e343a154b7df4e5c7c1847fede2
BLAKE2b-256 d5d28d789e08105472fe6862934451dcf27cbd2d9b2fa755834d233d2e72f348

See more details on using hashes here.

File details

Details for the file signal_temporal_logic-0.1.2-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: signal_temporal_logic-0.1.2-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 196.8 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.8.3

File hashes

Hashes for signal_temporal_logic-0.1.2-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 e9eae00bd17fca85cca6496d83d511c1da49ff68f8bd50c595c337742ab3c53c
MD5 a25ffa9c7ef85044b3777cb27d19d26d
BLAKE2b-256 c578e4fe5bec76225f10b966ce6ae2697043a84eaba4dc2e71563c3a2edd84ae

See more details on using hashes here.

File details

Details for the file signal_temporal_logic-0.1.2-cp38-cp38-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for signal_temporal_logic-0.1.2-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a610a54f89aeb8f58a9bbb24c784a553b739bc9512a47938156f1dc623bae54f
MD5 02af6d0ce51578f9ae5f94d9b44a9f74
BLAKE2b-256 3c5fff9c796bc70e8186c81e73e77fc5aae57f8ad125b7a64c4e982685602eff

See more details on using hashes here.

File details

Details for the file signal_temporal_logic-0.1.2-cp38-cp38-manylinux2010_i686.whl.

File metadata

  • Download URL: signal_temporal_logic-0.1.2-cp38-cp38-manylinux2010_i686.whl
  • Upload date:
  • Size: 276.2 kB
  • Tags: CPython 3.8, manylinux: glibc 2.12+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.8.3

File hashes

Hashes for signal_temporal_logic-0.1.2-cp38-cp38-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 1a66d81e4e641c12f2be4b233a9bb21321e9f51c197fbcf7fc692947676ba110
MD5 27df6f4597869e50941ebc8e24465c02
BLAKE2b-256 75fa9ece7d544987def0bb8dc721a16db0d01fbe1752f82b902d208c38f306a0

See more details on using hashes here.

File details

Details for the file signal_temporal_logic-0.1.2-cp38-cp38-macosx_10_15_x86_64.whl.

File metadata

  • Download URL: signal_temporal_logic-0.1.2-cp38-cp38-macosx_10_15_x86_64.whl
  • Upload date:
  • Size: 247.1 kB
  • Tags: CPython 3.8, macOS 10.15+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.8.3

File hashes

Hashes for signal_temporal_logic-0.1.2-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 e27e433c50d9f6df1623b8e980ec2712411eeb19a7710105c2a7eb91e669ef6d
MD5 68c25b81b21b203bf8643fb8d0f76ce8
BLAKE2b-256 2b7cdface25077631182b76798529f5ffe32bb470d8a66f59c39356fd6058d92

See more details on using hashes here.

File details

Details for the file signal_temporal_logic-0.1.2-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: signal_temporal_logic-0.1.2-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 194.6 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.8.3

File hashes

Hashes for signal_temporal_logic-0.1.2-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 53489f3636790fe80732fa9c897f4508b23ee5c5305385f7aa33bcca1c442c20
MD5 1752a04abdfb20c2ab96c5de283c58de
BLAKE2b-256 ce03e980c44fe445c18bf9ebb94a64e3116f6a1cc6c8158d1ac2b5b0be7811a3

See more details on using hashes here.

File details

Details for the file signal_temporal_logic-0.1.2-cp37-cp37m-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for signal_temporal_logic-0.1.2-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 993933c31e3b7f8fa54023f0daf1cb167fde6c882658088b70b10df3120aff1d
MD5 980dcd92e7718d1315516ae4114c97c1
BLAKE2b-256 76bf33d2d94dbf1afcf8bada16c4eec7466d4689ba69e4c09a5598e24f130774

See more details on using hashes here.

File details

Details for the file signal_temporal_logic-0.1.2-cp37-cp37m-manylinux2010_i686.whl.

File metadata

  • Download URL: signal_temporal_logic-0.1.2-cp37-cp37m-manylinux2010_i686.whl
  • Upload date:
  • Size: 281.0 kB
  • Tags: CPython 3.7m, manylinux: glibc 2.12+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.8.3

File hashes

Hashes for signal_temporal_logic-0.1.2-cp37-cp37m-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 05db04c3c86c4430f1cf9ea8eba040ceebe537ec9812db2fd0ed7c1fee91873a
MD5 8fbe5695f84823641ac8b3b865d0c07a
BLAKE2b-256 21a2a012f49f8d386f658b6b0786336248a53bb85f9aea69ddd7087db7159dfe

See more details on using hashes here.

File details

Details for the file signal_temporal_logic-0.1.2-cp37-cp37m-macosx_10_15_x86_64.whl.

File metadata

  • Download URL: signal_temporal_logic-0.1.2-cp37-cp37m-macosx_10_15_x86_64.whl
  • Upload date:
  • Size: 237.7 kB
  • Tags: CPython 3.7m, macOS 10.15+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.8.3

File hashes

Hashes for signal_temporal_logic-0.1.2-cp37-cp37m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 b5625937487f62d50705ecf18dfaab240dc5cd77b42063d6fa7fbe2c8a31cf24
MD5 c43a2d603bfb1f550e8b86808d8c1c4b
BLAKE2b-256 ede26e698ecee11b78a1b3df4887ed434dd381bac90310c0df262d108386ae0e

See more details on using hashes here.

File details

Details for the file signal_temporal_logic-0.1.2-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: signal_temporal_logic-0.1.2-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 194.6 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.8.3

File hashes

Hashes for signal_temporal_logic-0.1.2-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 76542605ef03b2a6e2bba3694990bf011329bd8972c4befea6dc861dd82e2069
MD5 50b9dbbea53b4642bda92c122e236461
BLAKE2b-256 6c9590b4f84526fe4c05030ea4ff00c83197b5f54441f9f0b68e4c4da4458a51

See more details on using hashes here.

File details

Details for the file signal_temporal_logic-0.1.2-cp36-cp36m-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for signal_temporal_logic-0.1.2-cp36-cp36m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 efaf5f8a878a5be3605ac5ef58fe07461bee07c1c6c0b4f13e98f74835204dad
MD5 f02da1a2916784aafa7c5339a3329253
BLAKE2b-256 1b206c8ec5fa35d6beb8e77b068206efd8dd1695c6b82da9f1174d81906b30af

See more details on using hashes here.

File details

Details for the file signal_temporal_logic-0.1.2-cp36-cp36m-manylinux2010_i686.whl.

File metadata

  • Download URL: signal_temporal_logic-0.1.2-cp36-cp36m-manylinux2010_i686.whl
  • Upload date:
  • Size: 280.2 kB
  • Tags: CPython 3.6m, manylinux: glibc 2.12+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.8.3

File hashes

Hashes for signal_temporal_logic-0.1.2-cp36-cp36m-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 872690f611dc4f2cc5be231690ddd09e68db7950be466eacf646d5c0cffa72e4
MD5 77464ac0abecb3c47bce7079b0949733
BLAKE2b-256 98c6f00885ae988356e3b4f1ced8c234c166465d19ce26b039d7b3599ff6775e

See more details on using hashes here.

File details

Details for the file signal_temporal_logic-0.1.2-cp36-cp36m-macosx_10_15_x86_64.whl.

File metadata

  • Download URL: signal_temporal_logic-0.1.2-cp36-cp36m-macosx_10_15_x86_64.whl
  • Upload date:
  • Size: 237.5 kB
  • Tags: CPython 3.6m, macOS 10.15+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.8.3

File hashes

Hashes for signal_temporal_logic-0.1.2-cp36-cp36m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 bc61c7a5a063bbaf51609aab8ac941b6346e8ea1f99b3b27a151a23a5bc390d1
MD5 11e73b732960fb8a4c74a36abad3149e
BLAKE2b-256 cf54aebd4bd0b893db775eaa773f604fc47a591f9e591184f662d2c16e393c84

See more details on using hashes here.

File details

Details for the file signal_temporal_logic-0.1.2-cp35-cp35m-win_amd64.whl.

File metadata

  • Download URL: signal_temporal_logic-0.1.2-cp35-cp35m-win_amd64.whl
  • Upload date:
  • Size: 194.6 kB
  • Tags: CPython 3.5m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.8.3

File hashes

Hashes for signal_temporal_logic-0.1.2-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 5eac87d642881a74629218cf3bd664049960b62ff7d3ba93b33c8b4eb7f0276a
MD5 57a542491684a24299b0dfe7b32a523a
BLAKE2b-256 9e8bb4336fda7d8065ea9476aa5b4bde23488250265fddd1599b102933d652ca

See more details on using hashes here.

File details

Details for the file signal_temporal_logic-0.1.2-cp35-cp35m-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for signal_temporal_logic-0.1.2-cp35-cp35m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1e4ae96de9b8b99c6964376b937c60b45da89576181f0bd3238496ad8eb441d3
MD5 ab04c0cbddcf01dabe59358434e05c33
BLAKE2b-256 7d23b5b05b415b0f5c3933c84f54f707b2084db2485ff2938c50300146a8c506

See more details on using hashes here.

File details

Details for the file signal_temporal_logic-0.1.2-cp35-cp35m-manylinux2010_i686.whl.

File metadata

  • Download URL: signal_temporal_logic-0.1.2-cp35-cp35m-manylinux2010_i686.whl
  • Upload date:
  • Size: 280.2 kB
  • Tags: CPython 3.5m, manylinux: glibc 2.12+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.8.3

File hashes

Hashes for signal_temporal_logic-0.1.2-cp35-cp35m-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 07b9907a2eb644e7ebde15e4f402ae61537dcc1948bf1784f7eaac5bbae2ff0a
MD5 9c377f8b18b5ae9b9b14c2e34a98b1f2
BLAKE2b-256 4ad96debe5af888db961ad248d0e58448c06c09bb85e2de0bfeda3b00e53992a

See more details on using hashes here.

File details

Details for the file signal_temporal_logic-0.1.2-cp35-cp35m-macosx_10_15_x86_64.whl.

File metadata

  • Download URL: signal_temporal_logic-0.1.2-cp35-cp35m-macosx_10_15_x86_64.whl
  • Upload date:
  • Size: 237.5 kB
  • Tags: CPython 3.5m, macOS 10.15+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.8.3

File hashes

Hashes for signal_temporal_logic-0.1.2-cp35-cp35m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 304b1f3318a7235cf997eaf020822deda596a7bdb3244c748bf591eddcb9910f
MD5 cef5621de3e06f64a7465d70c388b609
BLAKE2b-256 ad63ac824f0a598e68ca5b1c26e846edd2ef37375de0bfd4930828f6a1057c9a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page