Uses of Class
eu.iv4xr.framework.extensions.ltl.LTL
Package
Description
This package provides the following features:
The classes
LTL
and BoundedLTL
implementing Linear Temporal Logic
formulas, and the bounded variation of them.-
Uses of LTL in eu.iv4xr.framework.extensions.ltl
Modifier and TypeClassDescriptionstatic class
LTL.And<State>
static class
LTL.Next<State>
static class
LTL.Not<State>
static class
LTL.Now<State>
static class
LTL.Or<State>
For representing "phi || psi".static class
LTL.Until<State>
static class
LTL.WeakUntil<State>
Weak-until is not primitive in LTL-sense, but we add it as a separate class so that we can structurally recognize that a formula is a weak-until formula.Modifier and TypeFieldDescriptionLTL.And.conjuncts
LTL.Or.disjuncts
BoundedLTL.ltl
LTL.Next.phi
LTL.Not.phi
LTL.Until.phi1
LTL.WeakUntil.phi1
LTL.Until.phi2
LTL.WeakUntil.phi2
Modifier and TypeMethodDescriptionstatic <State> LTL<State>
always(phi) constructs the LTL formula "G phi" (also written "[] phi").static <State> LTL<State>
If p is a state-predicate, always(phi) constructs the LTL formula "G now(p)" (also written "[] now(p)").static <State> LTL<State>
LTL2Buchi.andRewrite(LTL<State> f)
Normalize an LTL formula by rewriting conjunctions.static <State> LTL<State>
static <State> LTL<State>
static <State> LTL<State>
phi.implies(psi) constructs the LTL formula "phi --> psi".static <State> LTL<State>
To recognize and destruct "not(phi)" pattern, where phi is non-atomic.static <State> LTL<State>
LTL2Buchi.pushNegations(LTL<State> f)
Normalize an LTL formula by rewriting it, so that negations are recursively pushed as far as possible inside.LTL.treeClone()
Make a clone of this LTL formula.Modifier and TypeMethodDescriptionstatic <State> LTL<State>
always(phi) constructs the LTL formula "G phi" (also written "[] phi").static <State> LTL<State>
LTL2Buchi.andRewrite(LTL<State> f)
Normalize an LTL formula by rewriting conjunctions.static <State> LTL<State>
static <State> LTL<State>
static <State> LTL<State>
(package private) static String
(package private) static <State> Predicate<State>
static <State> LTL.Until<State>
LTL.eventually(LTL<State> phi)
evenatually(phi) constructs the LTL formula "F phi" (also written "diamond phi").BuchiModelChecker.find(LTL<IExplorableState> phi, int maxDepth)
The same asBuchiModelChecker.find(Buchi, int)
, but it takes an LTL formula for specifying the pattern of the execution to find.BuchiModelChecker.findShortest(LTL<IExplorableState> phi, int maxDepth)
Similar toBuchiModelChecker.find(LTL, int)
, but it will return the shortest execution (of the specified max-length) that satisfies the given LTL.static Buchi
LTL2Buchi.getBuchi(LTL<IExplorableState> phi)
Translate the given LTL formula to a Buchi automaton.phi.implies(psi) constructs the LTL formula "phi --> psi".static <State> boolean
static <State> LTL.And<State>
Recognize "not(p ∧ ...static <State> boolean
static <State> LTL.Next<State>
Recognize "not(next(psi))".static <State> LTL.Not<State>
Recognize "not(not(phi))".static <State> LTL.Now<State>
To recognize and destruct "not(now p)".static <State> LTL.Or<State>
Recognize "not(p || ...static <State> LTL<State>
To recognize and destruct "not(phi)" pattern, where phi is non-atomic.static <State> LTL.Until<State>
LTL2Buchi.isNotUntil(LTL<State> psi)
Recognize "not(p U q)" .static <State> LTL.WeakUntil<State>
LTL2Buchi.isNotWeakUntil(LTL<State> psi)
Recognize "not(p W q)" .static <State> Predicate<State>
To recognize and destruct "now p".static <State> LTL.And<State>
ltlAnd(phi1, ..., phin ) constructs the LTL formula "phi1 ∧ phi2 ...static <State> LTL.Not<State>
ltlNot(phi) constructs the LTL formula "not phi".static <State> LTL.Or<State>
ltlOr(phi1, ..., phin ) constructs the LTL formula "phi1 || phi2 ...static <State> LTL.Next<State>
If p is a state-predicate, next(p) constructs the LTL formula "X now(p)".static <State> LTL<State>
LTL2Buchi.pushNegations(LTL<State> f)
Normalize an LTL formula by rewriting it, so that negations are recursively pushed as far as possible inside.BuchiModelChecker.sat(LTL<IExplorableState> phi)
Check if the target 'program'BuchiModelChecker.model
can produce an infinite execution that would satisfy the given LTL formula.BuchiModelChecker.sat(LTL<IExplorableState> phi, int maxDepth)
Check if the target program has an finite execution of the specified maximum length that would witness the given LTL formula.phi.Until(psi) constructs the LTL formula "phi U psi".phi.weakUntil(psi) constructs the LTL formula "phi W psi". -
Uses of LTL in eu.iv4xr.framework.mainConcepts
Modifier and TypeMethodDescriptionTestAgent.addLTL(LTL<SimpleState>... ltlsToAdd)
Add one or more LTL-properties that would be checked as the agent runs.