Skip to main content

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

Project description

pypi

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.3-pp36-pypy36_pp73-manylinux2010_x86_64.whl (264.4 kB view details)

Uploaded PyPymanylinux: glibc 2.12+ x86-64

signal_temporal_logic-0.1.3-cp38-cp38-win_amd64.whl (196.1 kB view details)

Uploaded CPython 3.8Windows x86-64

signal_temporal_logic-0.1.3-cp38-cp38-manylinux2010_i686.whl (274.3 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.12+ i686

signal_temporal_logic-0.1.3-cp38-cp38-macosx_10_15_x86_64.whl (241.1 kB view details)

Uploaded CPython 3.8macOS 10.15+ x86-64

signal_temporal_logic-0.1.3-cp37-cp37m-win_amd64.whl (194.1 kB view details)

Uploaded CPython 3.7mWindows x86-64

signal_temporal_logic-0.1.3-cp37-cp37m-manylinux2010_i686.whl (280.0 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.12+ i686

signal_temporal_logic-0.1.3-cp37-cp37m-macosx_10_15_x86_64.whl (233.0 kB view details)

Uploaded CPython 3.7mmacOS 10.15+ x86-64

signal_temporal_logic-0.1.3-cp36-cp36m-win_amd64.whl (194.0 kB view details)

Uploaded CPython 3.6mWindows x86-64

signal_temporal_logic-0.1.3-cp36-cp36m-manylinux2010_i686.whl (279.6 kB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.12+ i686

signal_temporal_logic-0.1.3-cp36-cp36m-macosx_10_15_x86_64.whl (232.8 kB view details)

Uploaded CPython 3.6mmacOS 10.15+ x86-64

signal_temporal_logic-0.1.3-cp35-cp35m-win_amd64.whl (194.0 kB view details)

Uploaded CPython 3.5mWindows x86-64

signal_temporal_logic-0.1.3-cp35-cp35m-manylinux2010_i686.whl (279.6 kB view details)

Uploaded CPython 3.5mmanylinux: glibc 2.12+ i686

signal_temporal_logic-0.1.3-cp35-cp35m-macosx_10_15_x86_64.whl (232.8 kB view details)

Uploaded CPython 3.5mmacOS 10.15+ x86-64

File details

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

File metadata

File hashes

Hashes for signal_temporal_logic-0.1.3-pp36-pypy36_pp73-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 3b046c761e71166cd01d44e479e870b3dd62b956066de5cdbbf877bb23320b81
MD5 eb33aae912028f8300bdd767594e7500
BLAKE2b-256 fa53aaa7b19ed91ebe3df1a2609ab3a9587c8ddd74a7f1780bc5f02bc956b833

See more details on using hashes here.

File details

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

File metadata

  • Download URL: signal_temporal_logic-0.1.3-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 196.1 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.48.0 CPython/3.8.3

File hashes

Hashes for signal_temporal_logic-0.1.3-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 86d095e47fab979811c5e759016db359a491ce321c4c3e4717a50cdbe5f5a9e1
MD5 44cc76a9a98f6f6b166d8240a6fa9092
BLAKE2b-256 d8121eda420bf3b6b88d604c151add92e774b0cedad54c92ccbb2c03214b8cd8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for signal_temporal_logic-0.1.3-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1939065cadfaa1bca26add88fc0ad99ab6d7598377b9c888b683c424321bc80a
MD5 8db2bee63224b29a8ad5769ef863dd4d
BLAKE2b-256 178ae146ec3cccad8e27320bde18b8112ecfe62cf22ac2b10fcb49402ce323a2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: signal_temporal_logic-0.1.3-cp38-cp38-manylinux2010_i686.whl
  • Upload date:
  • Size: 274.3 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.48.0 CPython/3.8.3

File hashes

Hashes for signal_temporal_logic-0.1.3-cp38-cp38-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 496aa40553db4c8e9a0aa1f27eb40ca027107a4742d3d5f8653d0820fc277b84
MD5 5a77bf36e3d049e5c245c602a6907638
BLAKE2b-256 bb680f7cebc5c5151e216437ea276a0ce0f6cdb5cf72598cef3885d7c941a3bd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: signal_temporal_logic-0.1.3-cp38-cp38-macosx_10_15_x86_64.whl
  • Upload date:
  • Size: 241.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.48.0 CPython/3.8.3

File hashes

Hashes for signal_temporal_logic-0.1.3-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 686d74a2719f8662d877ba4e7c2904c50f5e78d04ed7f71ca28422fdec97472f
MD5 6690b095af2d56b386215e20f1e9b7f5
BLAKE2b-256 17dc22c4bf23405b07aafa92de6c867fb90e50c1979325de212ad8a67be7467b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: signal_temporal_logic-0.1.3-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 194.1 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.48.0 CPython/3.8.3

File hashes

Hashes for signal_temporal_logic-0.1.3-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 12a12c83afe6ce15ea46215f0ac9e27e2b72e017763019dede13c57801623764
MD5 c584daa6cfb7ff8e1658df936d839091
BLAKE2b-256 783691966c9593175b213a592a246a98733848083a33ddbbdb33692c2ccffefc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for signal_temporal_logic-0.1.3-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 488208b4f459893bc6cc6a827dcb4aeb9cbd9f95bfa2141669fa644abed6ff3f
MD5 288032bd9407a3a4dd4c39ce86a16076
BLAKE2b-256 4adb34c271518f4f5216205c2dc25b8c95c20a5436a6d586430e2cc11bbf2b88

See more details on using hashes here.

File details

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

File metadata

  • Download URL: signal_temporal_logic-0.1.3-cp37-cp37m-manylinux2010_i686.whl
  • Upload date:
  • Size: 280.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.48.0 CPython/3.8.3

File hashes

Hashes for signal_temporal_logic-0.1.3-cp37-cp37m-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 cad030cdaf8edf96e3b949878962e45375ab4059958ed2f789cbc97fe06500c9
MD5 a566f31716ef2aef2d7c464f40093735
BLAKE2b-256 4f4a36c6f6080dfbd736687699415363e7969e6cd7987be2f92f96be7710dcf4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: signal_temporal_logic-0.1.3-cp37-cp37m-macosx_10_15_x86_64.whl
  • Upload date:
  • Size: 233.0 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.48.0 CPython/3.8.3

File hashes

Hashes for signal_temporal_logic-0.1.3-cp37-cp37m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 bfda1a4befe07093063af2d25ed04f5cafbf528d7be87952e79e9d4401325f04
MD5 f46027a1e36dac42b621bed7ad3e1e18
BLAKE2b-256 010a9cda519b7a230f3aacb186482cb3e4546a781fb8e740d27bed5519ede9c8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: signal_temporal_logic-0.1.3-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 194.0 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.48.0 CPython/3.8.3

File hashes

Hashes for signal_temporal_logic-0.1.3-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 1ce502a994197dededc1e450a0e76dd586cc14b7bbb30009df348c23bd5529d2
MD5 f9120a097b75e8c1cf7ddc5052a78415
BLAKE2b-256 bf05a2e18bb30aa4515151ae72f7169ad688b3868aa3df80fd556046a7588e66

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for signal_temporal_logic-0.1.3-cp36-cp36m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 58432b16dc39fe390f24fd0493ed39abf0ad4fad0c13504089130b149bcb6e03
MD5 ff17eb8af05a531fbc549d4e21b3f027
BLAKE2b-256 80a7897fb1afa654d0c9cb8219bfc6bee066cd78515bcae5f8720a90401447dd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: signal_temporal_logic-0.1.3-cp36-cp36m-manylinux2010_i686.whl
  • Upload date:
  • Size: 279.6 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.48.0 CPython/3.8.3

File hashes

Hashes for signal_temporal_logic-0.1.3-cp36-cp36m-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 bcd0ce7b06cdeaa03a7feacb36d43131fa7cd6ab5263eaa76cd9b10707e8f7c9
MD5 cb56f52817b5825292a51dddb3a37527
BLAKE2b-256 9e4b05d8bcf5ef9bb55f18de7627f888a7d347ba0e922ca41a8b54923cf736c2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: signal_temporal_logic-0.1.3-cp36-cp36m-macosx_10_15_x86_64.whl
  • Upload date:
  • Size: 232.8 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.48.0 CPython/3.8.3

File hashes

Hashes for signal_temporal_logic-0.1.3-cp36-cp36m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 aeb9f861287e916dc3515cc014cfec87caed85924c6d22d343cc384c43de9711
MD5 fd61e94a8231c035689b111a39482841
BLAKE2b-256 63c4f594c65cd5094042c945ae92dab99d5d41d190fb394f73453d251aae1377

See more details on using hashes here.

File details

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

File metadata

  • Download URL: signal_temporal_logic-0.1.3-cp35-cp35m-win_amd64.whl
  • Upload date:
  • Size: 194.0 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.48.0 CPython/3.8.3

File hashes

Hashes for signal_temporal_logic-0.1.3-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 14803ccec44a79d1d05f6a82af93bbf9c23b95a8d90cc3f7392062a230e70574
MD5 c1b88f8db2a5411db1dea2d7181a8110
BLAKE2b-256 1a99cc473ff1a2254903a09509436ee7ce84bcae809f8b899026aa03b2b53a97

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for signal_temporal_logic-0.1.3-cp35-cp35m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ef0b49e551674c72c9e5b852ddf2df0c9b3655c09e7958e7e3176456b5a6c9fd
MD5 b62b9b101d78b65d4a9de48162ff62b8
BLAKE2b-256 6721c58fe44a36e64147771c0c9d644c375ef4c29f9724f012e80e8fae4284a4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: signal_temporal_logic-0.1.3-cp35-cp35m-manylinux2010_i686.whl
  • Upload date:
  • Size: 279.6 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.48.0 CPython/3.8.3

File hashes

Hashes for signal_temporal_logic-0.1.3-cp35-cp35m-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 dd9dd47986d2394f8065eb00c32e9fe152d10102e8d528a5c259fdcd105cbbd3
MD5 488ae30bbbb45a99ab5c7123c8acc19a
BLAKE2b-256 d144b2acb2613696a478e6ed14ee51e1eba8568ffdc509602a63ebf36dd49ac6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: signal_temporal_logic-0.1.3-cp35-cp35m-macosx_10_15_x86_64.whl
  • Upload date:
  • Size: 232.8 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.48.0 CPython/3.8.3

File hashes

Hashes for signal_temporal_logic-0.1.3-cp35-cp35m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 0a28f2b1219a53ff8ec292bfb15b6efb0d589b8380480d7e1044f45e67a20c63
MD5 0b41f0fe530a54d4d2d0871a9877ffc3
BLAKE2b-256 39d3bc9629422c22a38007fea2c5674d005f678dd5c7f02678d201fcc36cf1f5

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