Skip to content

UML and Java Classes

William Cox edited this page Sep 23, 2024 · 13 revisions

NOTE: The UML presented on this page is from the first CTS Draft Standard; this page will eventually be updated.

Standards and Models Used

Standards Used

The project uses standards including

UML Model Description

Most of these standards were built and defined using UML models. In some cases the UML is normative (WS-Calendar PIM, ISO 17800) and others informative (Energy Interoperation, EMIX, and initial versions of WS-Calendar).

For the development of this project we have been informed by the standards' UML models, and simplified them for easier use, while ensuring that a conformance statement would accurately describe the standards aspects of this project.

UML Model Diagrams for CTS

These figures are from The Energy Mashup Lab's Common Transactive Services Specification We show the EiTender and EiTransaction classes. They are simplified and profiled from the base standard models as shown in the next section.

EiTender is part of a message payload that describes a tender, or an offer to buy or sell. EiTender

EiTransaction is part of a message payload that describes a transaction, or a notice that two tenders have matched in the market: EiTransaction

Starting Point for the CTS Model

For the EiTender and EiTransaction classes, CTS flattens the model inheritance hierarchy from OASIS Energy Interoperation shown below: EiTender and EiTransaction Types 20191107.

The price and time interval are not shown in this diagram, as they are high in the inheritance hierarchy, so we explicitly include them in the EiTender and EiTransaction Java classes.

Note that the standards describe streams of time intervals; we simplify to one time interval only.

Clone this wiki locally