New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

ltlparse

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ltlparse

Verify ROS states using LTL expressions

  • 1.0.1
  • latest
  • npm
  • Socket score

Version published
Weekly downloads
1
decreased by-83.33%
Maintainers
1
Weekly downloads
 
Created
Source

ltlparse: temporal expression evaluator

ltlparse provides a language specification for defining temporal expressions which act on timed data, from either a simulation or a real-time system. During execution of either, ltlparse will verify the truthiness of the user-specified formulas.

Timed data is (currently) sourced from a set of user-specified comma-separated-value files, which are written to by external programs, and watched/read by ltlparse.

In the configuration file, each formula defined has an associated csv path, allowing for different formulas to work on data from different sources. Nonetheless, multiple formulas may take data from the same csv file.

The intended use-case of ltlparse is real-time evaluation of temporal formulas for error and safety-checking, especially for robotic systems.

This brings us to the following roadmap:

Development Roadmap

  • Define syntax
  • Define state-trajectory data format (JSON)
  • Parse ASTs
  • Finalize CLI
  • Support unbounded linear operators
  • Create API communication interface. (CSVs, for now)
  • Support bounded linear operators
  • Automated testing?

Syntax specification

To maximize usability, the arithmetic syntax is an infix representation similar to that used C/C++. Here we define all of the operators included in the syntax, in order of increasing execution priority.

PriorityOpsArityDescription
1||2Logical OR
2^^2Logical XOR
3&&2Logical AND
4==2Equals
4!=2Not-equals
5<2Less-than
5<=2Less-than-or-equal
5>2Greater-than
5>=2Greater-than-or-equal
6+2Add
6-2Subtract
7*2Multiply
7/2Divide
7%2Modulo (Remainder)
8^2Power
9!1Logical NOT
10N:1Next 1
10A:1Always 2
10E:1Eventually 3
10U:2Until 4
10R:2Release 5

_

Unbounded LTL OperatorsDescription
N: (x)x must have held in the previous time instance.
A: (x)x must have held in all previous time instances, as well as the current instance.
E: (x)x must hold in any of the previous time instances, or the current instance.
(x) U: (y)x must have held at least until y became true, which must have held during any point, including now.
(x) R: (y)y had to have held until and including the first instance where x held; if x never holds, y must always hold.

Keywords

FAQs

Package last updated on 28 Jan 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc