|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object sofya.ed.semantic.EventFilter sofya.ed.semantic.EventSelectionFilter sofya.apps.atomicity.AutomataController
public class AutomataController
Starts and stops the automata which check whether a method is atomic on a particular invocation. Each automata controller should be associated with a single thread.
Nested Class Summary |
---|
Nested classes/interfaces inherited from interface sofya.ed.semantic.EventListener |
---|
EventListener.Arguments, EventListener.CallData, EventListener.ExceptionData, EventListener.FieldData, EventListener.MethodData, EventListener.MonitorData, EventListener.NewAllocationData, EventListener.ObjectData, EventListener.ThreadData, EventListener.ThreadStatus |
Field Summary |
---|
Fields inherited from class sofya.ed.semantic.EventFilter |
---|
listenerCount, listeners |
Constructor Summary | |
---|---|
AutomataController(EventClassifier classifier,
ResultCollector results)
Creates a new automata controller. |
Methods inherited from class sofya.ed.semantic.EventSelectionFilter |
---|
callReturnEvent, classPrepareEvent, constructorCallEvent, exceptionCatchEvent, exceptionThrowEvent, executionStarted, interfaceCallEvent, newAllocationEvent, staticCallEvent, staticInitializerEnterEvent, systemExited, systemStarted, threadDeathEvent, threadStartEvent, virtualCallEvent |
Methods inherited from class sofya.ed.semantic.EventFilter |
---|
addEventListener, ensureCapacity, removeEventListener |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface sofya.ed.semantic.EventListener |
---|
callReturnEvent, classPrepareEvent, constructorCallEvent, exceptionCatchEvent, exceptionThrowEvent, executionStarted, interfaceCallEvent, newAllocationEvent, staticCallEvent, staticInitializerEnterEvent, systemExited, systemStarted, threadDeathEvent, threadStartEvent, virtualCallEvent |
Constructor Detail |
---|
public AutomataController(EventClassifier classifier, ResultCollector results)
classifier
- Global classifier to which automata created by
this controller can delegate classification if desired.results
- Result collector used to record results of atomicity
checking on invoked methods.Method Detail |
---|
public static ChainedEventListenerFactory getFactory(EventClassifier classifier, ResultCollector results)
classifier
- Global classifier to which automata created by
the generated controllers can delegate classification if desired.results
- Result collector used by the generated controllers
to record results of atomicity checking on invoked methods.
public ChainedEventListener getParent()
ChainedEventListener
getParent
in interface ChainedEventListener
public long getStreamID()
ChainedEventListener
getStreamID
in interface ChainedEventListener
public java.lang.String getStreamName()
ChainedEventListener
getStreamName
in interface ChainedEventListener
protected void startAutomata(MethodSignature mSig)
protected void stopAutomata(MethodSignature mSig)
public void monitorContendEvent(EventListener.ThreadData td, EventListener.ObjectData od, EventListener.MonitorData md)
EventListener
monitorContendEvent
in interface EventListener
monitorContendEvent
in class EventSelectionFilter
td
- Information about the thread which is contending for a monitor.od
- Information about the object which owns the monitor.md
- Information about the location of the monitor contention.public void monitorAcquireEvent(EventListener.ThreadData td, EventListener.ObjectData od, EventListener.MonitorData md)
EventListener
monitorAcquireEvent
in interface EventListener
monitorAcquireEvent
in class EventSelectionFilter
td
- Information about the thread which acquired a monitor.od
- Information about the object which owns the monitor.md
- Information about the location of the monitor acquisition.public void monitorPreReleaseEvent(EventListener.ThreadData td, EventListener.ObjectData od, EventListener.MonitorData md)
EventListener
monitorPreReleaseEvent
in interface EventListener
monitorPreReleaseEvent
in class EventSelectionFilter
td
- Information about the thread which is about to release a
monitor.od
- Information about the object which owns the monitor.md
- Information about the location of the monitor about to
be released event..public void monitorReleaseEvent(EventListener.ThreadData td, EventListener.ObjectData od, EventListener.MonitorData md)
EventListener
monitorReleaseEvent
in interface EventListener
monitorReleaseEvent
in class EventSelectionFilter
td
- Information about the thread which released a monitor.od
- Information about the object which owns the monitor.md
- Information about the location of the monitor release.public void staticFieldAccessEvent(EventListener.ThreadData td, EventListener.FieldData fd)
EventListener
staticFieldAccessEvent
in interface EventListener
staticFieldAccessEvent
in class EventSelectionFilter
td
- Information about the thread in which the field access
occurred.fd
- Information about the accessed field.public void instanceFieldAccessEvent(EventListener.ThreadData td, EventListener.ObjectData od, EventListener.FieldData fd)
EventListener
instanceFieldAccessEvent
in interface EventListener
instanceFieldAccessEvent
in class EventSelectionFilter
td
- Information about the thread in which the field access
occurred.od
- Information about the object which owns the accessed field.fd
- Information about the accessed field.public void staticFieldWriteEvent(EventListener.ThreadData td, EventListener.FieldData fd)
EventListener
staticFieldWriteEvent
in interface EventListener
staticFieldWriteEvent
in class EventSelectionFilter
td
- Information about the thread in which the field write
occurred.fd
- Information about the written field.public void instanceFieldWriteEvent(EventListener.ThreadData td, EventListener.ObjectData od, EventListener.FieldData fd)
EventListener
instanceFieldWriteEvent
in interface EventListener
instanceFieldWriteEvent
in class EventSelectionFilter
td
- Information about the thread in which the field write
occurred.od
- Information about the object which owns the written field.fd
- Information about the written field.public void constructorEnterEvent(EventListener.ThreadData td, EventListener.ObjectData od, EventListener.MethodData md)
EventListener
This is the first point during the object creation process at which the object can be uniquely identified.
constructorEnterEvent
in interface EventListener
constructorEnterEvent
in class EventSelectionFilter
td
- Information about the thread executing the constructor.od
- Information about the object under construction.
At the time of this event, only the object ID will be
valid.md
- Information about the entered constructor.public void constructorExitEvent(EventListener.ThreadData td, EventListener.ObjectData od, EventListener.MethodData md)
EventListener
NOTE: This event is raised only if the constructor completes normally. If a constructor throws an escaping exception, the object is not successfully created and thus further events related to the object are not possible.
constructorExitEvent
in interface EventListener
constructorExitEvent
in class EventSelectionFilter
td
- Information about the thread executing the constructor.od
- Information about the object under construction.
At the time of this event, only the object ID will be
valid.md
- Information about the exited constructor.public void virtualMethodEnterEvent(EventListener.ThreadData td, EventListener.ObjectData od, EventListener.MethodData md)
EventListener
virtualMethodEnterEvent
in interface EventListener
virtualMethodEnterEvent
in class EventSelectionFilter
td
- Information about the thread executing the method.od
- Information about the object on which the virtual
method was called.md
- Information about the entered method.public void virtualMethodExitEvent(EventListener.ThreadData td, EventListener.ObjectData od, EventListener.MethodData md)
EventListener
virtualMethodExitEvent
in interface EventListener
virtualMethodExitEvent
in class EventSelectionFilter
td
- Information about the thread executing the method.od
- Information about the object on which the virtual
method was called.md
- Information about the exited method.public void staticMethodEnterEvent(EventListener.ThreadData td, EventListener.MethodData md)
EventListener
staticMethodEnterEvent
in interface EventListener
staticMethodEnterEvent
in class EventSelectionFilter
td
- Information about the thread executing the method.md
- Information about the entered method.public void staticMethodExitEvent(EventListener.ThreadData td, EventListener.MethodData md)
EventListener
staticMethodExitEvent
in interface EventListener
staticMethodExitEvent
in class EventSelectionFilter
td
- Information about the thread executing the method.md
- Information about the exited method.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |