|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||
java.lang.Object | +--GlobalJoin
Flatten.
It stores information about global joins which are treated
special in the translations, as they can incorporate
mulit-synchronization.Flatten to access
the relevant elements.
Flatten,
HierarchicalDocumentReader| Field Summary | |
java.util.Vector |
allAssignments
Vector containing all assignments as textual String (with the proper renaiming), including the one of the root-transition (if present). |
static java.util.Vector |
allGlobalJoins
The (global) Vector, all joins are collected in This is where the additional join is planted to, if the clone() method is called. |
java.util.Vector |
allGuards
Vector containing all guards as textual String (with the proper renaiming), including the one of the root-transition (if present). |
java.util.Vector |
allHierarchicalStartLocations
The (growing) collection of all the (hierarchical) basic locations, from where the join might start. The entries of this Vector are TinstElementPairs. |
private static ComponentMapper |
cm
ComponentMapper to help access. The entries in it are created by Flatten. |
static boolean |
debug
For Spamming out information |
java.util.Stack |
growObligations
Contains all the unfinished intermediates nodes, i.e. |
private static HierarchicalDocumentReader |
hdr
The hierarchical document reader |
static InstantiationTree |
iTree
The (global) tree of instantiation, these joins are relative to. This is not patrticular to one global join. Not copied, when cloned. |
TextualInstantiation |
rootTinst
The TextualInstantiation, where the rootTransition is instantiated in. |
java.util.Vector |
rootTransitions
A list of transitions, that is taken, after the join has been transformed. (i.e. |
static boolean |
sanityChecks
Setting this |
int |
threshold
Number of locations that are required to take the join. |
java.util.Stack |
tinstsToExit
Stack that collects the textual instantiaions, that have to be exited, when the join is taken. It preserves a partial order in the sense, that the top-most element in the stack is always at the lowest level and a sub-component A of a component B is always higher in the stack than B. |
java.lang.String |
triggerVariable
Name of the counter associated with the global join. It is also used as a trigger to perform the join completly |
static int |
triggerVariableCounter
To make trigger Variables unique |
| Constructor Summary | |
private |
GlobalJoin()
Internal constructor, used for cloning (and of course not setting the static fields again). Needed also, when getGlobalJoin(org.w3c.dom.Element, TextualInstantiation) did not yield an
existing join. |
| Method Summary | |
java.lang.Object |
clone()
Returns a copy of this object, i.e. |
static java.util.Stack |
cloneStackOfPointers(java.util.Stack original)
Clones a stack of pointers, preserving the order. Assumes that a stack is sorted, starting with position 0 as the bottommost element. |
private static java.util.Vector |
cloneVectorOfPointers(java.util.Vector original)
Returns a new Vector containing all (pointers to) objects of the Vector in the same order. |
private java.util.Vector |
cloneVectorOfStrings(java.util.Vector original)
Returns a new Vector containing all the strings of the old one (intentionally, but not necessarily in the same order). |
private void |
finishGrowth()
Grow loop |
static GlobalJoin |
getGlobalJoin(org.w3c.dom.Element theRootTransition,
TextualInstantiation theTinst)
Constructor specifying the root transition (in the hierarchical version) Throws Exception, if HierarchicalDocumentReader.addGuardsAndAssignmentsOfConnectionInContext fails. If the second argument is Flatten.rootInstDummy, then this gobal join is global exit of a component. |
org.w3c.dom.Element |
getTopmostComponent()
Returns the (hierarchical) component that is left here, as seen from the rootTransitions. |
org.w3c.dom.Element |
getTopmostExit()
Returns the (only) exit that the global join is allowed to be specific to, before finishGrowth() is called.Thrwos exception, if it is not exactly one. |
void |
grow(TextualInstantiation tinst,
org.w3c.dom.Element exitOrExitpoint)
Main method telling the global join to continue to grow, starting with one particular <exit> or <exitpoint> the search for possibly different growth stops, when the listOfExitPoints contains only exits of OR templates/components if a grow is completed, the join is defined completely the last thing that is set is the triggerVariable
if at some point in the growing, the join has several options to
continue, it splits itself according to these options, adds all of
the new ones to the Vector allGlobalJoins and calls
grow() on them
|
static void |
growAll()
Finish growing all global joins. That typicaly increases their number. |
static void |
init(ComponentMapper theCm,
HierarchicalDocumentReader theHdr)
Required static setups |
private static java.lang.String |
inventNewTriggerVariable()
Make a new Variable name |
private void |
stopGrowingThisOne()
Remove from {link #allGlobalJoins} and terminate the growth obligations. |
java.lang.String |
toString()
Exhaustively describes this global join |
| Methods inherited from class java.lang.Object |
|
| Field Detail |
private static HierarchicalDocumentReader hdr
private static ComponentMapper cm
public static InstantiationTree iTree
public static java.util.Vector allGlobalJoins
clone() method is called.public static int triggerVariableCounter
public static boolean sanityChecks
public static boolean debug
public java.util.Stack growObligations
TinstElementPairs.finishGrowth().public java.lang.String triggerVariable
public int threshold
public java.util.Stack tinstsToExit
public java.util.Vector rootTransitions
public TextualInstantiation rootTinst
public java.util.Vector allGuards
public java.util.Vector allAssignments
public java.util.Vector allHierarchicalStartLocations
| Constructor Detail |
private GlobalJoin()
getGlobalJoin(org.w3c.dom.Element, TextualInstantiation) did not yield an
existing join.
allGlobalJoins.| Method Detail |
public static GlobalJoin getGlobalJoin(org.w3c.dom.Element theRootTransition,
TextualInstantiation theTinst)
throws java.lang.Exception
public static void init(ComponentMapper theCm,
HierarchicalDocumentReader theHdr)
public void grow(TextualInstantiation tinst,
org.w3c.dom.Element exitOrExitpoint)
throws java.lang.Exception
triggerVariableallGlobalJoins and calls
grow() on them
private void finishGrowth()
throws java.lang.Exception
private void stopGrowingThisOne()
public static void growAll()
throws java.lang.Exception
public java.lang.Object clone()
throws java.lang.CloneNotSupportedException
allGlobalJoins.clone in class java.lang.Object
private java.util.Vector cloneVectorOfStrings(java.util.Vector original)
throws java.lang.CloneNotSupportedException
public static java.util.Stack cloneStackOfPointers(java.util.Stack original)
private static java.util.Vector cloneVectorOfPointers(java.util.Vector original)
private static java.lang.String inventNewTriggerVariable()
public org.w3c.dom.Element getTopmostComponent()
throws java.lang.Exception
public org.w3c.dom.Element getTopmostExit()
throws java.lang.Exception
finishGrowth() is called.public java.lang.String toString()
toString in class java.lang.Object
|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||