Uses of Interface
eu.iv4xr.framework.extensions.ltl.IExplorableState
Package
Description
This package provides the following features:
The classes
LTL
and BoundedLTL
implementing Linear Temporal Logic
formulas, and the bounded variation of them.Provide a class,
GameWorldModel
, that can be used as a model of a
"computer game".-
Uses of IExplorableState in eu.iv4xr.framework.extensions.ltl
Modifier and TypeFieldDescriptionBuchi.BuchiTransition.condition
The predicate that guard the transition.Modifier and TypeMethodDescription(package private) BasicModelChecker.Path<IExplorableState>
BasicModelChecker.dfs(Predicate<IExplorableState> whatToFind, BasicModelChecker.Path<IExplorableState> pathSoFar, Collection<IExplorableState> visitedStates, IExplorableState state, int remainingDepth)
Implement the 'lazy model checking' algorithm similar to what is used by the SPIN model checker.(package private) BasicModelChecker.Path<Pair<IExplorableState,Integer>>
BuchiModelChecker.dfsBuchi(Buchi buchi, BasicModelChecker.Path<Pair<IExplorableState,Integer>> pathSoFar, Set<Pair<IExplorableState,Integer>> statesInPathToStartOfPossibleCycle, Set<Pair<IExplorableState,Integer>> visitedStates, Pair<IExplorableState,Integer> state, int remainingDepth)
The worker of our LTL model-checking algorithm.BasicModelChecker.find(Predicate<IExplorableState> q, int maxDepth)
Do model-checking to find a finite execution (of the given max-length) of the target program that ends in a state satisfying the predicate q.Check if the target 'program'BuchiModelChecker.model
can produce an infinite execution that would be accepted by the given Buchi automaton.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.BasicModelChecker.findShortest(Predicate<IExplorableState> q, int maxDepth)
Similar toBasicModelChecker.find(Predicate, int)
, but it will return the shortest execution (of the specified max-length) that ends in q.BuchiModelChecker.findShortest(Buchi buchi, int maxDepth)
Similar toBuchiModelChecker.find(Buchi, int)
, but it will return the shortest execution (of the specified max-length) that satisfies the Buchi.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.Modifier and TypeMethodDescription(package private) BasicModelChecker.Path<IExplorableState>
BasicModelChecker.dfs(Predicate<IExplorableState> whatToFind, BasicModelChecker.Path<IExplorableState> pathSoFar, Collection<IExplorableState> visitedStates, IExplorableState state, int remainingDepth)
Implement the 'lazy model checking' algorithm similar to what is used by the SPIN model checker.Buchi.getEnabledTransitions(IExplorableState state)
Check which of transitions of this Buchi, that go from from it current state, would be semantically possible/enabled given the concrete state of the environment with which this Buchi is executed.Modifier and TypeMethodDescription(package private) BasicModelChecker.Path<IExplorableState>
BasicModelChecker.dfs(Predicate<IExplorableState> whatToFind, BasicModelChecker.Path<IExplorableState> pathSoFar, Collection<IExplorableState> visitedStates, IExplorableState state, int remainingDepth)
Implement the 'lazy model checking' algorithm similar to what is used by the SPIN model checker.(package private) BasicModelChecker.Path<IExplorableState>
BasicModelChecker.dfs(Predicate<IExplorableState> whatToFind, BasicModelChecker.Path<IExplorableState> pathSoFar, Collection<IExplorableState> visitedStates, IExplorableState state, int remainingDepth)
Implement the 'lazy model checking' algorithm similar to what is used by the SPIN model checker.(package private) BasicModelChecker.Path<IExplorableState>
BasicModelChecker.dfs(Predicate<IExplorableState> whatToFind, BasicModelChecker.Path<IExplorableState> pathSoFar, Collection<IExplorableState> visitedStates, IExplorableState state, int remainingDepth)
Implement the 'lazy model checking' algorithm similar to what is used by the SPIN model checker.(package private) BasicModelChecker.Path<Pair<IExplorableState,Integer>>
BuchiModelChecker.dfsBuchi(Buchi buchi, BasicModelChecker.Path<Pair<IExplorableState,Integer>> pathSoFar, Set<Pair<IExplorableState,Integer>> statesInPathToStartOfPossibleCycle, Set<Pair<IExplorableState,Integer>> visitedStates, Pair<IExplorableState,Integer> state, int remainingDepth)
The worker of our LTL model-checking algorithm.(package private) BasicModelChecker.Path<Pair<IExplorableState,Integer>>
BuchiModelChecker.dfsBuchi(Buchi buchi, BasicModelChecker.Path<Pair<IExplorableState,Integer>> pathSoFar, Set<Pair<IExplorableState,Integer>> statesInPathToStartOfPossibleCycle, Set<Pair<IExplorableState,Integer>> visitedStates, Pair<IExplorableState,Integer> state, int remainingDepth)
The worker of our LTL model-checking algorithm.(package private) BasicModelChecker.Path<Pair<IExplorableState,Integer>>
BuchiModelChecker.dfsBuchi(Buchi buchi, BasicModelChecker.Path<Pair<IExplorableState,Integer>> pathSoFar, Set<Pair<IExplorableState,Integer>> statesInPathToStartOfPossibleCycle, Set<Pair<IExplorableState,Integer>> visitedStates, Pair<IExplorableState,Integer> state, int remainingDepth)
The worker of our LTL model-checking algorithm.BasicModelChecker.find(Predicate<IExplorableState> q, int maxDepth)
Do model-checking to find a finite execution (of the given max-length) of the target program that ends in a state satisfying the predicate q.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.BasicModelChecker.findShortest(Predicate<IExplorableState> q, int maxDepth)
Similar toBasicModelChecker.find(Predicate, int)
, but it will return the shortest execution (of the specified max-length) that ends in q.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.BasicModelChecker.sat(Predicate<IExplorableState> q)
Check if the target program has an finite execution that ends in a state satisfying the predicate q.BasicModelChecker.sat(Predicate<IExplorableState> q, int maxDepth)
Check if the target program has an finite execution of the specified maximum length, that ends in a state satisfying the predicate q.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.<CoverageItem>
BasicModelChecker.TestSuite<CoverageItem>BasicModelChecker.testSuite(List<CoverageItem> itemsToCover, Function<IExplorableState,CoverageItem> coverageFunction, int maxLength, boolean minimizeLength)
Return a test suite that tries to cover the specified coverage targets.Buchi.withTransition(String from, String to, String transitionId, String transitionName, Predicate<IExplorableState> condition)
Add the given transition to this Buchi.Buchi.withTransition(String from, String to, String transitionId, Predicate<IExplorableState> condition)
The same as the other withTransition. -
Uses of IExplorableState in eu.iv4xr.framework.extensions.ltl.gameworldmodel
Modifier and TypeClassDescriptionclass
Representing the state of the game-world; or more precisely a state inGameWorldModel
.