Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add predicates/properties #21

Open
fredher opened this issue Aug 26, 2019 · 3 comments
Open

Add predicates/properties #21

fredher opened this issue Aug 26, 2019 · 3 comments
Labels
enhancement New feature or request

Comments

@fredher
Copy link
Collaborator

fredher commented Aug 26, 2019

TChecker currently check if some label is reachable. Properties would extend labels by allowing more general properties like "P1.l1 && 1 <= i <= 5 && x-y <= 6". Needs:

  • parse properties from string (requires to extend expressions to allow labels as well as locations like P1.l1)
  • compile the resulting expression into bytecode
  • evaluate the bytecode on a state (evaluation depends on the state, as for instance in "x[2*i] <= a-b")
@fredher fredher added the enhancement New feature or request label Aug 26, 2019
@fredher
Copy link
Collaborator Author

fredher commented Nov 29, 2019

Interface with Spot:

  • spot yields a list of atomic propositions ,ex: P.l, i<10,.etc
  • Tchecker should provide the truth value of each atomic proposition (a function to evaluate each of them in spot, or a bitvector, or,...)

@fredher
Copy link
Collaborator Author

fredher commented Nov 29, 2019

Atomic propositions on transitions would be a nice additions. What should we allow:

  • predicates on pre/post states, ex: P.l1 & (P.l2)' ???
  • predicates on events ex: P1.a || P2.b ???

@fredher
Copy link
Collaborator Author

fredher commented Nov 29, 2019

We want:

  • atomic propositions on states written on process locations and integer variables, ex: P1.l, x<3,...
  • atomic propositions on transitions written on process events, ex: P1.a, P2.b,...
    We need to:
  • determine if an AP is a state or a transition AP
  • evaluate an AP (or a set of APs) on a state or a transition

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant