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

Inherits edu::mit::csail::sdg::squander::engine::kk::SquanderKodkodImpl.

Inherited by edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodPart2Impl.

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

List of all members.

Classes

class  Atom
class  KodkodIntEval

Public Member Functions

 SquanderKodkodPartImpl ()

Protected Member Functions

void partitionDomains ()
Atom nextAtomForLiteral (Unary partition, ForgeDomain litType, Map< ForgeDomain, Set< ForgeDomain >> deps, Set< Atom > availAtoms)
Universe createUniverse ()
Bounds createBounds ()
IEvaluator getEval (Iterator< Solution > solutions)
Object convAtom (ForgeAtom a)

Protected Attributes

Map< ForgeType.Unary, Map
< Atom, ForgeLiteral > > 
partitions
Map< String, Atom > lit2atom

Private Member Functions

void sort (List< ForgeType.Unary > types)
void processNext (ForgeType.Unary t, Map< ForgeDomain, Set< ForgeDomain >> deps, Set< Atom > allAtoms)
Set< Atom > processFirst (ForgeType.Unary t)
Map< ForgeDomain, Set
< ForgeDomain > > 
createDependencies (List< ForgeType.Unary > types)
String printPartitions ()

Detailed Description

An implementation of the ISquander interface that uses KodkodPart translation to Kodkod in order to minimize the number of atoms in the universe.

Author:
Aleksandar Milicevic

Definition at line 53 of file SquanderKodkodPartImpl.java.


Constructor & Destructor Documentation

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

Definition at line 146 of file SquanderKodkodPartImpl.java.


Member Function Documentation

Object edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodPartImpl.convAtom ( ForgeAtom  a  )  [protected]
Bounds edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodPartImpl.createBounds (  )  [protected]

Reimplemented from edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodImpl.

Reimplemented in edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodPart2Impl.

Definition at line 410 of file SquanderKodkodPartImpl.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.SquanderKodkodPartImpl.createUniverse(), edu.mit.csail.sdg.squander.engine.SquanderReporter.creatingKodkodBounds(), edu.mit.csail.sdg.squander.engine.SquanderReporter.creatingKodkodUniverse(), edu.mit.csail.sdg.squander.engine.SquanderReporter.end(), 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.SquanderKodkodPartImpl.lit2atom, 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.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.

Map<ForgeDomain, Set<ForgeDomain> > edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodPartImpl.createDependencies ( List< ForgeType.Unary >  types  )  [private]
Universe edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodPartImpl.createUniverse (  )  [protected]
IEvaluator edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodPartImpl.getEval ( Iterator< Solution >  solutions  )  [protected]
Atom edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodPartImpl.nextAtomForLiteral ( Unary  partition,
ForgeDomain  litType,
Map< ForgeDomain, Set< ForgeDomain >>  deps,
Set< Atom >  availAtoms 
) [protected]
void edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodPartImpl.partitionDomains (  )  [protected]
String edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodPartImpl.printPartitions (  )  [private]
Set<Atom> edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodPartImpl.processFirst ( ForgeType.Unary  t  )  [private]
void edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodPartImpl.processNext ( ForgeType.Unary  t,
Map< ForgeDomain, Set< ForgeDomain >>  deps,
Set< Atom >  allAtoms 
) [private]
void edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodPartImpl.sort ( List< ForgeType.Unary >  types  )  [private]

Member Data Documentation

Map<ForgeType.Unary, Map<Atom, ForgeLiteral> > edu.mit.csail.sdg.squander.engine.kk.SquanderKodkodPartImpl.partitions [protected]

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