-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Mutualize usage rules with powsybl #1067
Comments
To share your opinion |
I believe that what you described is some kind of a mix between our UsageMethods and our UsageRules. The big difference comes from the fact that PowSyBl allows multiple CNECs to be included in a Condition whereas in OpenRAO it is only one for the moment. I guess some changes to include could be:
In any case, we should carry this reflection based on the POC in #1050 that attempts to generify UsageRules and make them more flexible. |
Also, based on what I wrote previously, here is how I would map PowSyBl's Conditions on what exists in OpenRAO:
|
@annetill @obrix @pjeanmarie |
What seems common between Rao and powsybl-core, in particular between Security Analysis Condition and Rao UsageRule? We consider UsageMethod to be specific to Rao, so we will not try to link it to powsybl-core. Observations: Rao Instant in UsageRule, with its 'order', seems to be linked to the order of the list of ConditionalActions in a OperatorStrategy: But Instant is also linked to Cnec especially to limits of Cnec, which in powsybl-core seems to be the idea of temporary limits with different duration and permanent limit on network element. Condition seems to be on limit violation ('violationIds') but for now violationIds contains only 'elementIds on which we can have a limit violation' which is not very precise, for instance condition do not have a filter on limit-duration (but we have one on limit-type) and so we cannot target specificaly violation for some temporary limits. (We also cannot target a specific side (or limit holder)). But if each limit (one tatl or patl on one side of a network element) in powybl-core had an id (extend Identifiable) than this id could be use in violationIds to descibe a violation of a specific limit (without adding filter on duration or side). For Rao, we can used these limitIds for violationIds, or we can also imagine that violationIds will contain cnecIds which also target a limit at a specific instant (and a specific contingency). Proposition for Rao: Choose option 1 above, in details:
Proposition for Core: Create id for limits to be used in violationIds (and remove the filter on limit type in Condition because no longer necessary) |
plant uml schema (temporary and permanents limits could be added and linked to cnec):
|
Describe the current behavior
OpenRAO and PowSyBl's security analysis API have different objects that represent the same business concept: the application condition of a remedial action.
Describe the expected behavior
Try to converge to a common object model, even though it might not be easy!
Describe the motivation
Common code with PowSyBl, and streamlined experience across RAO & sensitivity analysis APIs
Extra Information
No response
The text was updated successfully, but these errors were encountered: