Skip to content
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

Catch undesired intersection between fields of SystemInformation #1506

Open
bmaclach opened this issue Jun 5, 2019 · 3 comments
Open

Catch undesired intersection between fields of SystemInformation #1506

bmaclach opened this issue Jun 5, 2019 · 3 comments
Labels
design Related to the current design of Drasil (not artifacts). needs-clarification Needs a clear 'state', 'goal', 'analysis', and 'explanation' to reduce solution ambiguities. needs-design

Comments

@bmaclach
Copy link
Collaborator

bmaclach commented Jun 5, 2019

Some fields in SystemInformation are intended to be disjoint. For example, if the same equation is included in the definitions field and the datadefs field, the function corresponding to that calculation will be duplicated in the generated code. The inputs and outputs field should also be disjoint (though we currently include the outputs in the inputs in many examples as a hack for when we can't express all of the equations necessary for calculating the outputs).

Drasil should perform a check that these fields are actually disjoint.

Note: There is a FIXME in the code saying that the definitions field will be removed in the future.

, _definitions :: [QDefinition] --FIXME: will be removed upon migration to use of [DataDefinition] below
, _datadefs :: [DataDefinition]

I'm thinking it will need to be replaced by something else so we don't lose the information it contained (the GenDefns and InstanceModels), in which case we will still need to check that none of the DataDefinitions, GenDefns, or InstanceModels are the same.

@Mornix
Copy link
Collaborator

Mornix commented Jun 5, 2019

Looks like @JacquesCarette removed _definitions as part of QDef-in-InstMod (not merged in and needs to be re-done because the branch is stale), more details of what that branch contained at #1373.

@JacquesCarette
Copy link
Owner

QDef-in-InstMod

@JacquesCarette JacquesCarette mentioned this issue May 14, 2020
2 tasks
@bmaclach bmaclach removed their assignment May 28, 2020
@balacij balacij added design Related to the current design of Drasil (not artifacts). needs-design labels Apr 26, 2023
@balacij
Copy link
Collaborator

balacij commented Apr 26, 2023

This ticket assumes we have a definition of SystemInformation and makes an assertion that I've never seen before: that some fields of SI are meant to be disjoint sets!

It also hints that the 'solution' to an SRS is held within the SI. If this is the case, then I completely agree, but if this is not, I don't see the issue. There should be some chunk that clearly captures how a particular input-output problem may be solved. That solution method doesn't necessarily need to be the only one that can solve the input-output problem (e.g., two can deviate at different ODE solvers, expression formulas, etc.).

@balacij balacij added the needs-clarification Needs a clear 'state', 'goal', 'analysis', and 'explanation' to reduce solution ambiguities. label Apr 26, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
design Related to the current design of Drasil (not artifacts). needs-clarification Needs a clear 'state', 'goal', 'analysis', and 'explanation' to reduce solution ambiguities. needs-design
Projects
None yet
Development

No branches or pull requests

5 participants