For the last two semesters, The Lab has worked with graduating students in the master’s program at the New Jersey Institute of Technology (NJIT) to develop fully open source software for transactive energy (TE) applications. This students work with The Lab through the Capstone Project (https://centers.njit.edu/uri/programs/capstone.php)
The architecture is fully modular, designed to enable widely different technologies to interoperate in a highly scalable Actor-to-Actor system of systems.
All agents, whether buy or selling power, interact with the Local Market through a Transactive Energy User Agent (TEUA). A Supervisory Controller (SC) directs each TEUA in what to buy or sell and when. The architecture defines an External Market Adaptor (EMA) to connect the local microgrid to a larger microgrid or to a traditional power distribution market. Because the interface between the EMA and the Local Market is just another TEUA, any microgrid can have connection to more than one external market, or to none at all.
The Local Market consists of Local Market Agent (LMA) and a Local Market Engine (LME). The LMA manages all conversations with the TEU Agents, accepting tenders and recording contracts. The Local Market Engine matches orders, efficiently finding actionable contracts in response to notifications from the LMA. All data logging is performed by the LMA.
The Lab uses the Parity Trading engine to connect buyers and sellers (https://github.com/paritytrading/parity) . The Parity Trading engine is a mature open source project that is used in some NASDAQ markets. Parity provides high speed trading and provides reliability features such as data mirroring, order-book cloning, and support of high-speed ticker-tape functions. The Parity Trading engine supports information exchange with FIX (Financial Information Exchange) reporting.
Every module has defined simple interfaces that enable making technology changes to support local business needs without changing other systems. For example, if a TE Market preferred a double auction to financial trading, using an existing market platform, that platform would be wrapped completely inside the LME, and no other modules would change.
All inter-module communication is based on simple REST messaging.
The NIST Common Transactive Services Project can be found at https://github.com/EnergyMashupLab/NIST-CTS-Agents