Table of Contents

Industry

Variables

Capital.

Fixed Costs (kr ? $)

Revenues per unit (kr ? $)

Cost of inputs per unit (kr ? $)

Carbon released per unit (g ?)

Production capacity (Units)

Carbon owned (g ?)

Carbon used (g ?)

Buy/Sell list

Average profit

Functionality:

Nr of units sold /Not carbon (Number) — calculate? Orginal equations

        o
          Profit = (Revenues per unit - Cost per unit) * Nr of units sold - Fixed costs (kr ? $)
        o
          Cost per unit = Cost of inputs per unit + Carbon release per unit * Cost of Carbon (kr ? $)

Other equations

        o
          Cost of Carbon = (Cost of Carbon * Carbon units owned + Cost of bought Carbon * unit bought)/(Carbon units owned + units bought)
        o
          Max Units Produced with owned Carbon = owned Carbon / Carbon released per unit
        o
          Max Carbon usage = Carbon release per unit * Production capacity
        o
          Nr of units sold = min(Max Units Produced with owned Carbon , Production capacity)

Buy/Sell

        o
          If (Max Carbon usage > Owned carbon) Buy difference (Units)
        o
          If (Max Carbon usage < Owned carbon) Sell difference (Units)
        o
          Max bid price = Capital / units 
        

Market

Variables:

Average price

Name

Country

Functionality:

Match offers and bids according to the design. At the end of the day, makes the transaction between buyers and sellers of the matching trades.

Matches, improvements, and checkout:

        o
          Match: If (bid's price > offer's minimum price) assign this bid to that offer.
        o
          Improvement: Scanning the offers for every bid:
                          If (current offer's price < old offer's price) repoint the bid to the new one.
        o
          Checkout: For every maching offer: notify the buyers/sellers with units sold/bought and for wich price.
                                Then if the offer and the bid are not checked out completely, keep them on the market as new.
        

Monitor

Use JFreeGraph - from last year's model (in SVN). A module declared in the psySpec, meant to be listening to every type of message from every module. So it will have the time passing, the prices in the bids/offers and from whom, and the traded transactions.

Global

Initial values for all the modules (industries or market) are retrieved from psyclone as parameters. Every module starts only with a name given in the command line, then will be able to ask for parameters to the central system.