-
Notifications
You must be signed in to change notification settings - Fork 53
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
Repeated Requirements #33
Comments
Hi Alexander, what you describe fits perfectly with the idea of FRET templates: you could create a template for a type of requirements and then have placeholders for identifiers (X1, ...,XN) that are changing in each requirement instance. Here is information on how to use templates in FRET: https://github.com/NASA-SW-VnV/fret/blob/master/fret-electron/docs/_media/user-interface/writingReqs.md#templates-tab and here is information on how to create a FRET template: https://github.com/NASA-SW-VnV/fret/blob/master/fret-electron/docs/_media/creatingTemplates/createTemplate.md I would be happy to discuss FRET templates or other ideas further with you. Thanks, |
Thanks for the pointer to templates! I think these are close to what I'm looking for, but I do have some additional thoughts. I'm not sure how generally useful these would be, but I thought I'd share them here anyway. Let's consider the following set of requirements:
If possible, it would be nice to capture the extra structure that's there (i.e., the index is repeated across the variables
In a slightly different but related scenario, now imagine I have maybe a half dozen such requirements, i.e.
(for a few valuations of Another idea might be to parameterize a set of requirements by some identifiers, so maybe something like:
and then allow instantiating this family in some parent requirement, i.e.
|
I see what you are saying. Another way of describing such constraints in a concise way is through a quantified (first-order) logic formula. For example: "FSM shall always satisfy forall i 0<=i<N and (if s[i] > x[i] then y[i])", where N is known. Right? |
Yes, exactly! |
Hi all,
I'm wondering if anyone has any ideas for how to effectively tackle the following problem. I have a system with several instances of a single type of subcomponent. If a single instance has, say, N requirements, then that means if I have
C
copies, I need to produceN*C
requirements (almost identical, but changing some identifiers here and there, likeX1
, ...,XN
.(You can imagine a system with
N
identical sensor units that all feed in to a single 'logic' subcomponent that makes some kind of decision based on these sensor values -- in this case you really need to talk about each sensor unit)I'm wondering if anyone can suggest a way that I might avoid so much repetition in providing the requirements, especially given that if changes are discovered later, they will have to be propagated to each near-duplicate requirement.
As an example, one idea is to simplify give requirements for each type of component only (in the example above, just give the
N
requirements for a sensor unit, plus for a logic subcomponent withC
inputs) . I think this would work, but then checking realizability wouldn't be checking the realizability of the composition of theC
sensors and so on.I think the problem wouldn't be so much of an issue if there were an easy way to use a standard text editor to produce the requirements. I think the CSV format is close to this, but it seems importing the frettish sentences wraps them in quotes (e.g. as
"FSM shall always Foo"
), which means they don't get semantics generated for them.Thanks!
The text was updated successfully, but these errors were encountered: