Progetto AgentdDemo: Simplified version of a multi-agent system for the implementation of an auction. The auction requires the presence of a auctioneer and some bidders (the number of bidders can be configured) The functioning of the auction protocol: The auctioneer auctions an object with an first price and opens the auction for a fixed number of participants. When the required number of participants is registered for the opening of the auction, the auctioneer sends a message notifying the start of the auction, sending also the object and the first price. The bidders can accept to participate to the auction, if they want the object, otherwise they can quit. The auctioneer waits for the bid of participants and determines the temporary winner, sending a message to each participant which is still in competion. A bidder quits the auction when its budget is spent. The auction ends when only one bidder remains, or each bidder quit the auction. In the first case the alive bidder is the winner and the auctioneer sends a message notifying the winnings. Namespace AuctionDemo. The autcion has been implemented defining two kind of agents: Template Auctioneer [Auctioneer.cs]: - it is the auctioneer. - Knowledge: + AuctionData [AuctionData.cs] - it maintains the auction data. - Behaviour: + ManageAuction [ManageAuction.cs] - it implements the auctioneer role. Template Bidder [Bidder.cs]: - it represents the participants to the auction. - Knowledge: + Preferences [Preferences.cs] - it maintains the preferences about the objects to obtain. + Budget [Budget.cs] - it represents the budget of the bidder. - Behaviour: + Bid [Bid.cs] - it implements the bidder role. The namespace contains a batch class that starts an example of auction, customizable using the configuration.conf file. the batch reads data from configuration.conf and creates the multi-agent system, booting with specified parameters.