InfrastructureSystems.jl
InfrastructureSystems.jl copied to clipboard
Elaborate Type Hierarchy for Key Types
Currently, VariableType, ParameterType, etc. have no type hierarchy. In new PowerAnalytics, we define some unions:
"The various key entry types that can work with a System"
const SystemEntryType = Union{
PSI.VariableType,
PSI.ExpressionType,
}
"The various key entry types that can be used to make a PSI.OptimizationContainerKey"
const EntryType = Union{
SystemEntryType,
PSI.ParameterType,
PSI.AuxVariableType,
PSI.InitialConditionType,
}
to handle these types more generically. @daniel-thom and I think something like this (not wedded to this layout, but something that groups these key types in useful ways) would be good to include in the type hierarchy itself.
This actually belongs in InfrastructureSystems.Optimization.
This is a good idea but requires more design conversations.