edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodImpl Class Reference
[Engine]

Inherits edu::mit::csail::sdg::squander::engine::SquanderImpl.

Inherited by edu.mit.csail.sdg.squander.engine.kk.SquanderKodkod2Impl, and edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodPartImpl.

Collaboration diagram for edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodImpl:
Collaboration graph
[legend]

List of all members.

Classes

class  DiscoverHigherOrderQuant
class  KodkodEval
class  Tr2KK

Public Member Functions

 SquanderKodkodImpl ()

Protected Member Functions

Set< GlobalVariable > getModsForPostState (ForgeConverter fconv, SpecCase sc)
ForgeExpression getPreSpec (SpecCase cs)
ForgeExpression getPostSpec (SpecCase cs, ForgeConverter fconv)
IEvaluator exeSpec (ForgeExpression spec, Set< GlobalVariable > modifies, ForgeConverter fconv)
IEvaluator getEval (Iterator< Solution > solution)
void init ()
Formula convertSpec (ForgeExpression spec)
void createRelations ()
Bounds createBounds ()
ForgeConstant getPostLower (GlobalVariable g, ForgeConstant initialBound)
ForgeConstant getPostUpper (GlobalVariable var, ForgeConstant postLower)
Universe createUniverse ()
Formula node2form (Node node)
IntExpression node2int (Node node)
Expression node2expr (Node node)
Expression form2expr (Formula form)
ForgeConstant getExtent (GlobalVariable var, ForgeConstant lower)
int findMaxArrayLength (GlobalVariable var)
ForgeConstant.Unary nonnegs ()
ForgeConstant.Unary nonnegs (int upperBound)
void boundLocalVar (LocalVariable var, TupleFactory f, Bounds b)
void addRelForVar (ForgeVariable var, String name)
String relName (ForgeVariable var)
TupleSet conv2tuples (ForgeConstant fc, TupleFactory f)
Object convAtom (ForgeAtom a)
TupleSet conv2tuples (ObjTupleSet fc, TupleFactory f)

Protected Attributes

Set< GlobalVariable > modifies
ForgeConverter fconv
ForgeScene forgeScene
ForgeProgram program
Map< String, Relation > lit2rel
Map< ForgeType, Expression > type2expr
Map< String, Expression > var2rel
Map< ForgeVariable, ObjTupleSetmodVal
Map< ForgeVariable, ObjTupleSetlowerBounds
Map< ForgeVariable, ObjTupleSetupperBounds
Set< Integer > ints
Relation trueRelation
Relation falseRelation
SpecCase cs

Private Member Functions

String printBoundsSummary (Bounds bounds)
ForgeAtom lit2atom (ForgeLiteral lit, ForgeBounds forgeBounds)

Detailed Description

An implementation of the ISquander interface that uses Kodkod as the back-end.

Author:
Aleksandar Milicevic

Definition at line 94 of file SquanderKodkodImpl.java.


Constructor & Destructor Documentation

edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodImpl.SquanderKodkodImpl (  ) 

Member Function Documentation

void edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodImpl.addRelForVar ( ForgeVariable  var,
String  name 
) [protected]
void edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodImpl.boundLocalVar ( LocalVariable  var,
TupleFactory  f,
Bounds  b 
) [protected]
TupleSet edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodImpl.conv2tuples ( ObjTupleSet  fc,
TupleFactory  f 
) [protected]
TupleSet edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodImpl.conv2tuples ( ForgeConstant  fc,
TupleFactory  f 
) [protected]
Object edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodImpl.convAtom ( ForgeAtom  a  )  [protected]
Formula edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodImpl.convertSpec ( ForgeExpression  spec  )  [protected]
Bounds edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodImpl.createBounds (  )  [protected]

Reimplemented in edu.mit.csail.sdg.squander.engine.kk.SquanderKodkod2Impl, edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodPart2Impl, and edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodPartImpl.

Definition at line 885 of file SquanderKodkodImpl.java.

References edu.mit.csail.sdg.squander.spec.ForgeScene.args, edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodImpl.boundLocalVar(), edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodImpl.conv2tuples(), edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodImpl.createUniverse(), edu.mit.csail.sdg.squander.engine.SquanderReporter.creatingKodkodBounds(), edu.mit.csail.sdg.squander.engine.SquanderReporter.creatingKodkodUniverse(), edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodImpl.fconv, edu.mit.csail.sdg.squander.engine.ForgeConverter.findLiteralsForType(), edu.mit.csail.sdg.squander.engine.ForgeConverter.forgeBounds, edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodImpl.forgeScene, edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodImpl.getPostLower(), edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodImpl.getPostUpper(), edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodImpl.ints, edu.mit.csail.sdg.squander.spec.ForgeScene.isSpecField(), edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodImpl.lit2rel, edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodImpl.modifies, edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodImpl.program, edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodImpl.relName(), edu.mit.csail.sdg.squander.engine.SquanderImpl.reporter, edu.mit.csail.sdg.squander.spec.ForgeScene.returnVar, edu.mit.csail.sdg.squander.spec.ForgeScene.thisVar, edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodImpl.type2expr, and edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodImpl.var2rel.

Referenced by edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodImpl.exeSpec().

void edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodImpl.createRelations (  )  [protected]
Universe edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodImpl.createUniverse (  )  [protected]
IEvaluator edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodImpl.exeSpec ( ForgeExpression  spec,
Set< GlobalVariable >  modifies,
ForgeConverter  fconv 
) [protected]
int edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodImpl.findMaxArrayLength ( GlobalVariable  var  )  [protected]
Expression edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodImpl.form2expr ( Formula  form  )  [protected]
IEvaluator edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodImpl.getEval ( Iterator< Solution >  solution  )  [protected]
ForgeConstant edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodImpl.getExtent ( GlobalVariable  var,
ForgeConstant  lower 
) [protected]
Set<GlobalVariable> edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodImpl.getModsForPostState ( ForgeConverter  fconv,
SpecCase  sc 
) [protected]
ForgeConstant edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodImpl.getPostLower ( GlobalVariable  g,
ForgeConstant  initialBound 
) [protected]
ForgeExpression edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodImpl.getPostSpec ( SpecCase  cs,
ForgeConverter  fconv 
) [protected]
ForgeConstant edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodImpl.getPostUpper ( GlobalVariable  var,
ForgeConstant  postLower 
) [protected]
ForgeExpression edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodImpl.getPreSpec ( SpecCase  cs  )  [protected]
void edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodImpl.init (  )  [protected]
ForgeAtom edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodImpl.lit2atom ( ForgeLiteral  lit,
ForgeBounds  forgeBounds 
) [private]
Expression edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodImpl.node2expr ( Node  node  )  [protected]
Formula edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodImpl.node2form ( Node  node  )  [protected]
IntExpression edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodImpl.node2int ( Node  node  )  [protected]
ForgeConstant.Unary edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodImpl.nonnegs ( int  upperBound  )  [protected]
ForgeConstant.Unary edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodImpl.nonnegs (  )  [protected]
String edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodImpl.printBoundsSummary ( Bounds  bounds  )  [private]
String edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodImpl.relName ( ForgeVariable  var  )  [protected]

Member Data Documentation

Definition at line 672 of file SquanderKodkodImpl.java.

Referenced by edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodImpl.boundLocalVar(), edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodPartImpl.createBounds(), edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodPart2Impl.createBounds(), edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodImpl.createBounds(), edu.mit.csail.sdg.squander.engine.kk.SquanderKodkod2Impl.createBounds(), edu.mit.csail.sdg.squander.engine.kk.SquanderKodkod2Impl.createRelations(), edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodImpl.createUniverse(), edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodImpl.findMaxArrayLength(), edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodPart2Impl.getBounds(), edu.mit.csail.sdg.squander.engine.kk.SquanderKodkod2Impl.getBounds(), edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodImpl.getExtent(), edu.mit.csail.sdg.squander.engine.kk.SquanderKodkod2Impl.getExtent(), edu.mit.csail.sdg.squander.engine.kk.SquanderKodkod2Impl.getModLits(), edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodPart2Impl.getPostLower(), edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodImpl.getPostLower(), edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodImpl.getPostUpper(), edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodPartImpl.KodkodIntEval.makeConst(), edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodPartImpl.nextAtomForLiteral(), edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodImpl.nonnegs(), edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodPartImpl.partitionDomains(), edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodPartImpl.processFirst(), edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodPartImpl.processNext(), edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodPartImpl.sort(), and edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodImpl.Tr2KK.visit().


The documentation for this class was generated from the following file:
Generated by  doxygen 1.6.2-20100208