nema-common
SHAREDNEMA/NTCIP-derived common types shared by controller-family models.
Module
A small module with a clean import graph: service models import it; there is no required inheritance.
module openits-nema-common {
namespace "urn:openits:yang:nema-common";
// NEMA/NTCIP-derived types for the controller family
typedef phase-id { type uint8 { range "1..16"; } }
typedef operation-mode { type enumeration {
enum free; enum coordinated; enum flash; enum preempt;
} }
grouping nema-fault { leaf code { type uint16; } }
}
Reuse
Reused by signal-control, ramp-metering, dms. Because shared modules only add definitions and never change per-service semantics, updating one is backward-compatible: a consumer that doesn't import a new type simply doesn't see it.
Schema registry
Immutable and content-addressed like every module; cite the exact revision in ce-dataschema.