Class PlantBuildingManager

  • All Implemented Interfaces:
    de.dlr.gitlab.fame.agent.AgentAbility
    Direct Known Subclasses:
    IndividualPlantBuilder, PredefinedPlantBuilder

    public abstract class PlantBuildingManager
    extends de.dlr.gitlab.fame.agent.Agent
    Installs and tears down conventional power plants
    Author:
    Christoph Schimeczek
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  PlantBuildingManager.Products
      • Nested classes/interfaces inherited from class de.dlr.gitlab.fame.agent.Agent

        de.dlr.gitlab.fame.agent.Agent.WarmUpStatus
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      void updateAndSendPortfolio​(ArrayList<de.dlr.gitlab.fame.communication.message.Message> input, List<de.dlr.gitlab.fame.communication.Contract> contracts)
      Generates a new Portfolio and sends it to a connected agent
      protected abstract void updatePortfolio​(de.dlr.gitlab.fame.time.TimeStamp time, de.dlr.gitlab.fame.time.TimeSpan deliveryInterval)
      Creates new plants and tears down old ones in order to match current and future plant specifications
      • Methods inherited from class de.dlr.gitlab.fame.agent.Agent

        addContract, call, closeChannel, executeActions, executeWarmUp, fulfilNext, fulfilNext, getId, getNextRandomNumberGenerator, getPostOffice, handleMessage, now, openChannel, publish, receive, sendMessageTo, sendMessageTo, store, store, toString, warmUp
    • Constructor Detail

      • PlantBuildingManager

        public PlantBuildingManager​(de.dlr.gitlab.fame.agent.input.DataProvider dataProvider)
                             throws de.dlr.gitlab.fame.agent.input.ParameterData.MissingDataException
        Parameters:
        dataProvider - contains all input data from config
        Throws:
        de.dlr.gitlab.fame.agent.input.ParameterData.MissingDataException - thrown if requested input is not provided
    • Method Detail

      • updateAndSendPortfolio

        public void updateAndSendPortfolio​(ArrayList<de.dlr.gitlab.fame.communication.message.Message> input,
                                           List<de.dlr.gitlab.fame.communication.Contract> contracts)
        Generates a new Portfolio and sends it to a connected agent
        Parameters:
        input - not used
        contracts - one contract to receiver of generated Portfolio - typically a ConventionalPlantOperator
      • updatePortfolio

        protected abstract void updatePortfolio​(de.dlr.gitlab.fame.time.TimeStamp time,
                                                de.dlr.gitlab.fame.time.TimeSpan deliveryInterval)
        Creates new plants and tears down old ones in order to match current and future plant specifications
        Parameters:
        time - the target time when the generated portfolio shall become active
        deliveryInterval - duration for which the portfolio shall be active