|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjason.architecture.AgArch
jmadem.MADeMAgArch
public class MADeMAgArch
Basic architecture for a Jason agent performing MADeM decisions.
Nested Class Summary | |
---|---|
(package private) class |
MADeMAgArch.BidTimeout
Handles bid timeout for a specific decision making. |
Field Summary | |
---|---|
private java.lang.String |
agName
Agent name |
private java.util.logging.Logger |
logger
Class logger |
private java.util.concurrent.ConcurrentMap<java.lang.Integer,DecisionData> |
mademData
Data managed by MADeM for every decision being performed: id_decision, agents involved, allocations, utility functions considered, bids... |
private java.util.concurrent.ConcurrentMap<jason.asSyntax.Atom,java.lang.Float> |
personalWeights
Personal weights representing the internal attitude of the agent towards other individuals. |
private int |
tout
Maximum waiting time for bids (in milliseconds). |
private java.util.concurrent.ConcurrentMap<jason.asSyntax.Atom,UtilityFunctionInt> |
utilityFunctions
Utility functions repository |
private java.util.concurrent.ConcurrentMap<jason.asSyntax.Atom,java.lang.Float> |
utilityWeights
Utility weights representing the importance given to each point of view in the multi-modal agent decision making. |
private Cuf |
welfare
Social welfare considered by the agent |
Constructor Summary | |
---|---|
MADeMAgArch()
|
Method Summary | |
---|---|
boolean |
addUtilityFunction(java.lang.String uFuncName)
Registers a new utility function in the MADeM agent. |
void |
bid(java.lang.String auctioneer,
jason.asSyntax.Literal madem_auction)
Bids over a set of allocations coming from an auctioneer according to the specified utility function. |
void |
checkMail()
Filters MADeM messages out of the agent Mailbox. |
java.util.concurrent.ConcurrentMap<jason.asSyntax.Atom,java.lang.Float> |
getPersonalWeights()
Gets the personal weights of the MADeM agent. |
int |
getTimeout()
Gets bid timeout (in milliseconds). |
float |
getUtility(java.lang.String auctioneer,
Allocation allocation,
jason.asSyntax.Atom uFunc)
Obtains the utility value given by a specific utility function. |
java.util.Set<jason.asSyntax.Atom> |
getUtilityFunctionNames()
Gets the names of the utility functions previously registered in the MADeM agent. |
java.util.concurrent.ConcurrentMap<jason.asSyntax.Atom,java.lang.Float> |
getUtilityWeights()
Gets the utility weights of the MADeM agent. |
java.lang.String |
getWelfare()
Gets the social welfare of the MADeM agent. |
void |
initAg(java.lang.String agClass,
jason.mas2j.ClassParameters bbPars,
java.lang.String asSrc,
jason.runtime.Settings stts)
MADeM agent initiator. |
void |
processBid(java.lang.String bidder,
jason.asSyntax.Literal madem_bid)
Process an external bid related to a certain decision. |
boolean |
removeUtilityFunction(java.lang.String uFuncName)
Removes a utility function previously registered in the MADeM agent. |
boolean |
setPersonalWeights(java.util.concurrent.ConcurrentMap<jason.asSyntax.Atom,java.lang.Float> new_pw)
Changes the personal weights of the MADeM agent towards the other agents. |
boolean |
setTimeout(int new_tout)
Changes bid timeout to a new positive value. |
boolean |
setUtilityWeights(java.util.concurrent.ConcurrentMap<jason.asSyntax.Atom,java.lang.Float> new_uw)
Changes the utility weights of the MADeM agent. |
void |
setWelfare(Cuf new_sw)
Changes social welfare of the MADeM agent. |
int |
startMADeMDecision(jason.asSyntax.ListTermImpl ags,
jason.asSyntax.ListTermImpl allocs,
jason.asSyntax.ListTermImpl uFuncs)
Starts a MADeM decision using the internal parameters of the agent. |
int |
startMADeMDecision(jason.asSyntax.ListTermImpl ags,
jason.asSyntax.ListTermImpl allocs,
jason.asSyntax.ListTermImpl uFuncs,
java.util.concurrent.ConcurrentMap<jason.asSyntax.Atom,java.lang.Float> pW,
java.util.concurrent.ConcurrentMap<jason.asSyntax.Atom,java.lang.Float> uW,
Cuf sw,
int tout)
Starts a MADeM decision by specifying all its parameters. |
void |
winnerDeterminationProblem(int id_decision)
Solves the winner determination problem for a specific decision. |
Methods inherited from class jason.architecture.AgArch |
---|
act, broadcast, canSleep, getAgName, getArchInfraTier, getCycleNumber, getTS, isRunning, perceive, sendMsg, setArchInfraTier, setCycleNumber, setTS, sleep, stopAg |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private java.util.logging.Logger logger
private java.lang.String agName
private java.util.concurrent.ConcurrentMap<jason.asSyntax.Atom,UtilityFunctionInt> utilityFunctions
private java.util.concurrent.ConcurrentMap<jason.asSyntax.Atom,java.lang.Float> utilityWeights
private java.util.concurrent.ConcurrentMap<jason.asSyntax.Atom,java.lang.Float> personalWeights
private Cuf welfare
private int tout
private java.util.concurrent.ConcurrentMap<java.lang.Integer,DecisionData> mademData
Constructor Detail |
---|
public MADeMAgArch()
Method Detail |
---|
public void initAg(java.lang.String agClass, jason.mas2j.ClassParameters bbPars, java.lang.String asSrc, jason.runtime.Settings stts) throws jason.JasonException
initAg
in class jason.architecture.AgArch
agClass
- agent class definitionbbPars
- agent class parametersasSrc
- AgentSpeak source codestts
- MAS Runtime Settings for an Agent
jason.JasonException
public boolean addUtilityFunction(java.lang.String uFuncName)
uFuncName
- name of the utility function to be added
public boolean removeUtilityFunction(java.lang.String uFuncName)
uFuncName
- name of the utility function to be removed
public java.util.Set<jason.asSyntax.Atom> getUtilityFunctionNames()
public int startMADeMDecision(jason.asSyntax.ListTermImpl ags, jason.asSyntax.ListTermImpl allocs, jason.asSyntax.ListTermImpl uFuncs)
ags
- names of the agents involved in the decisionallocs
- allocations being considered as solutions for the decision problemuFuncs
- names of the different utility functions to pay attention to
public int startMADeMDecision(jason.asSyntax.ListTermImpl ags, jason.asSyntax.ListTermImpl allocs, jason.asSyntax.ListTermImpl uFuncs, java.util.concurrent.ConcurrentMap<jason.asSyntax.Atom,java.lang.Float> pW, java.util.concurrent.ConcurrentMap<jason.asSyntax.Atom,java.lang.Float> uW, Cuf sw, int tout)
ags
- names of the agents involved in the decisionallocs
- allocations being considered as solutions for the decision problemuFuncs
- names of the different utility functions to pay attention topW
- personal weights to be applied over external preferencesuW
- utility weights in the multi-modal decisionsw
- type of social welfare being consideredtout
- timeout for getting bids (in milliseconds)
public void checkMail()
checkMail
in class jason.architecture.AgArch
public boolean setTimeout(int new_tout)
new_tout
- new timeout value (in milliseconds)
public int getTimeout()
public void setWelfare(Cuf new_sw)
new_sw
- new social welfarepublic java.lang.String getWelfare()
public boolean setPersonalWeights(java.util.concurrent.ConcurrentMap<jason.asSyntax.Atom,java.lang.Float> new_pw)
new_pw
- new personal weights
public java.util.concurrent.ConcurrentMap<jason.asSyntax.Atom,java.lang.Float> getPersonalWeights()
public boolean setUtilityWeights(java.util.concurrent.ConcurrentMap<jason.asSyntax.Atom,java.lang.Float> new_uw)
new_uw
- new utility weights
public java.util.concurrent.ConcurrentMap<jason.asSyntax.Atom,java.lang.Float> getUtilityWeights()
public void bid(java.lang.String auctioneer, jason.asSyntax.Literal madem_auction)
auctioneer
- agent asking for preferencemadem_auction
- allocations and utility functions being consideredpublic void processBid(java.lang.String bidder, jason.asSyntax.Literal madem_bid)
bidder
- name of the agent who sent the bidmadem_bid
- bid containing bidder's preferencespublic float getUtility(java.lang.String auctioneer, Allocation allocation, jason.asSyntax.Atom uFunc)
auctioneer
- agent asking for preferenceallocation
- allocation being evaluateduFunc
- name of the utility function being considered
public void winnerDeterminationProblem(int id_decision)
id_decision
- Identifier of the decision being solved
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |