modelNetworkCommunication1

Extends from Modelica.Icons.Example (Icon for runnable examples).

Information

Overview

  • This model is part of a system to demonstrate agent communication over a network connection.
  • It uses a simple example case in which a single book is bought by a BookSellerAgent from a BookBuyerAgent.
  • It is used together with the model NetWorkCommunication2.

Concept

The model NetworkCommunication1 harbors the BookSellerAgent. The model NetworkCommunication2 harbors the BookBuyerAgent. In order to run the system, the model NetworkCommunication1 needs to be opened on one machine and the model NetworkCommunicatio2 needs to be opened on another machine on the same local network. In the parameters of the featured BookBuyerAgent and BookSellerAgent the network IP adress of the other machine needs to be specified under "uDPSend_adapted(IPAddress="134.130.49.128")". (For example, if NetworkCommunication1 runs on a machine with local IP address 192.168.2.1 and NetworkCommunication2 runs on a machine with local IP address 192.168.2.2, change the parameter of the BookSellerAgent in NetworkCommunication1 to "uDPSend_adapted(IPAddress="192.168.2.2")".)

Start the simulation of both models at roughly the same time and a book will be traded over the local network, as can be seen in the example results.

References

  • Felix Bünning. Development of a Modelica-library for agent-based control of HVAC systems. Bachelor thesis, 2016, RWTH Aachen University, Aachen, Germany.
  • FIPA ACL Message Structure Specification
  • FIPA Communicative Act Library Specification
  • Caire, 2009, JADE PROGRAMMING FOR BEGINNERS

Example Results

Results on the machine running NetworkCommunication1 (BookSellerAgent):

Seller agent

Results on the machine running NetworkCommunication2 (BookBuyerAgent):

Buyer agent

  • November 2016, by Felix Bünning: Info-window updated
  • October 2015, by Felix Bünning: Developed and implemented

Components

TypeNameDefaultDescription
BookSellerAgentbookSellerAgent1
Modelica_DeviceDrivers.Blocks.OperatingSystem.SynchronizeRealtimesynchronizeRealtime
Agents.MessageNotificationmessageNotification