Package pygar.state
Class NegotiationGroupStateMachine
java.lang.Object
java.util.Observable
pygar.state.StateMachine<java.lang.String>
pygar.state.NegotiationGroupStateMachine
@ThreadSafe public class NegotiationGroupStateMachine extends StateMachine<java.lang.String>
A class used in a Blind Agent Negotiator (BAN) application to keep track of the negotiation
groups. A negotiation group (NG) consists of two or more clients of the BAN who have mutually
agreed to negotiation. Within a particular market, the BAN regularly starts a negotiation
session among members of the NG and waits for the session to end before starting another.
N.b. there is no method to alter the groupMembers after construction; therefore, the
field should be thread safe if we declare it volatile.
-
Nested Class Summary
Nested classes/interfaces inherited from class pygar.state.StateMachine
StateMachine.Context, StateMachine.TransitionPt1, StateMachine.TransitionPt2, StateMachine.TransitionPt3
-
Field Summary
Fields Modifier and Type Field Description java.util.List<java.lang.String>
groupMembers
-
Constructor Summary
Constructors Constructor Description NegotiationGroupStateMachine(java.util.List<java.lang.String> members)
-
Method Summary
Methods inherited from class pygar.state.StateMachine
_getStateContext, acceptContextFreeEvent, acceptEvent, addTransition, addTransition, getState, main, notifyObservers, notifyObservers, setState
-
Field Details
-
groupMembers
public volatile java.util.List<java.lang.String> groupMembers
-
-
Constructor Details
-
NegotiationGroupStateMachine
public NegotiationGroupStateMachine(java.util.List<java.lang.String> members)
-