edu.mit.csail.sdg.squander.spec.Spec Class Reference
[Specification]

Collaboration diagram for edu.mit.csail.sdg.squander.spec.Spec:
Collaboration graph
[legend]

List of all members.

Classes

class  SpecCase

Public Member Functions

 Spec (JavaScene javaScene, ForgeScene forgeScene)
JavaScene javaScene ()
ForgeScene forgeScene ()
Collection< SpecCasecases ()
boolean isEmpty ()
void addCase (ForgeExpression requires, ForgeExpression ensures, Frame frame, boolean helper)
ForgeExpression invariant ()
ForgeExpression wellformedPre (Set< GlobalVariable > modifiable)
ForgeExpression wellformedPost (Set< GlobalVariable > modifiable)
ForgeExpression concreteConstraint (Set< GlobalVariable > unmodifiable)
ForgeExpression abstractConstraint ()
ForgeExpression funcConstraint ()
String toString ()

Private Member Functions

ForgeExpression fieldConstraint (JField field)

Private Attributes

final JavaScene javaScene
final ForgeScene forgeScene
final List< SpecCasecases

Static Private Attributes

static int fieldCounter = 0

Detailed Description

Specification.

proc: Procedure cases: set SpecCase

Author:
Kuat Yessenov (kuat@mit.edu)
Aleksandar Milicevic

Definition at line 32 of file Spec.java.


Constructor & Destructor Documentation

edu.mit.csail.sdg.squander.spec.Spec.Spec ( JavaScene  javaScene,
ForgeScene  forgeScene 
)

Definition at line 83 of file Spec.java.

References edu.mit.csail.sdg.squander.spec.Spec.cases().


Member Function Documentation

ForgeExpression edu.mit.csail.sdg.squander.spec.Spec.abstractConstraint (  ) 
void edu.mit.csail.sdg.squander.spec.Spec.addCase ( ForgeExpression  requires,
ForgeExpression  ensures,
Frame  frame,
boolean  helper 
)
ForgeExpression edu.mit.csail.sdg.squander.spec.Spec.concreteConstraint ( Set< GlobalVariable >  unmodifiable  ) 
ForgeExpression edu.mit.csail.sdg.squander.spec.Spec.fieldConstraint ( JField  field  )  [private]
ForgeExpression edu.mit.csail.sdg.squander.spec.Spec.funcConstraint (  ) 
ForgeExpression edu.mit.csail.sdg.squander.spec.Spec.invariant (  ) 

Semantic meaning of a specification. OR of old(pre) AND of old(pre) => post /\ frame All modifiable global variables across frames. Expression denoting the valid state semantics of invariants: For all relevant classes, for any instance in the class all invariants must hold. The only exception is for constructors to avoid invariant condition on the of "this" (the exact type, not super-types.)

Definition at line 150 of file Spec.java.

References edu.mit.csail.sdg.squander.spec.JavaScene.classSpecs(), edu.mit.csail.sdg.squander.spec.Spec.forgeScene(), edu.mit.csail.sdg.squander.spec.Spec.javaScene(), edu.mit.csail.sdg.squander.spec.ForgeScene.program, and edu.mit.csail.sdg.squander.spec.ForgeScene.typeForCls().

Referenced by edu.mit.csail.sdg.squander.spec.Spec.SpecCase.post().

boolean edu.mit.csail.sdg.squander.spec.Spec.isEmpty (  ) 

Definition at line 97 of file Spec.java.

References edu.mit.csail.sdg.squander.spec.Spec.cases().

String edu.mit.csail.sdg.squander.spec.Spec.toString (  ) 
ForgeExpression edu.mit.csail.sdg.squander.spec.Spec.wellformedPost ( Set< GlobalVariable >  modifiable  ) 
ForgeExpression edu.mit.csail.sdg.squander.spec.Spec.wellformedPre ( Set< GlobalVariable >  modifiable  ) 

Member Data Documentation

Definition at line 77 of file Spec.java.

Referenced by edu.mit.csail.sdg.squander.engine.SquanderImpl.exeMethod().

Definition at line 73 of file Spec.java.

Referenced by edu.mit.csail.sdg.squander.spec.Spec.fieldConstraint().

Definition at line 76 of file Spec.java.

Definition at line 75 of file Spec.java.


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