-
Notifications
You must be signed in to change notification settings - Fork 26
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
Missing Information from Data Def Descriptions #350
Comments
Yes, due to de-embedding and automation, it does seem that information is being lost. Potential (temporary?) actions:
(Although, I'm not sure if the DataDefs generation is being updated to take the additional description information into account (as @szymczdm stated that DataDefs is in the process of being overhauled (comment of commit edaea0c)).) |
Thank you for the clarification @niazim3 . I do not know the best way to keep knowledge as we go forward, but I think it is important to keep it, even if it is an "ugly" solution. Once the information is lost, it is hard to get it back. This is why some of the original "manual" case study SRSs do not match. A previous author deleted a section, and then the next author just started from what the previous one left. The information stayed "lost." We should see what @szymczdm and @JacquesCarette recommend for the best way to keep information that doesn't currently fit nicely into the patterns that we've currently identified. |
Below is a rough overview of what is missing from the data definitions in GlassBR (just to see if a pattern can be apparent enough to come up with a solution). It seems that mostly, references to other parts of the document, some definitions, and constraints on some concepts are missing.
In the case of the constraints though (i.e. the instances where "a > b" is stated), the current output |
Great work @niazim3. Your summary of "lost" information was the exact right thing to do. Another item of lost information is the "Source" field in the different definitions. (The source is important information for traceability and it is difficult to recover after the fact.) A pattern that emerges for me is that the information that is left out is connecting to those features of Drasil that have not been implemented. I think the question for @szymczdm and @JacquesCarette is how far we are away from having references and citations fully working. The follow up question for them is: if we cannot get these features working, what is the best way to fake it? As far as repeating a > b in different places, I'm afraid that this is something I think we need to do. The SRS is not a document that will be read from start to finish like a novel, or even like a journal paper; the SRS is a reference document. It will be referred to with the goal of answering a specific question. That is why I like each of the pieces to be as self-contained and as complete as possible. That is why we repeat the meaning and units of so many of the symbols. This information is in the Table of Symbols, but we don't want people to have to constantly refer to this table. With document generation repeating information like this is essentially free and because of the generation we know that it will be correct. The information that a>b is critical for the definition of a and b, otherwise, there is no way to tell which dimension is the length and which is the width. It is an arbitrary decision, but it is a necessary decision to make the document unambiguous. |
Yes, We will need to figure out what this 'lost' information really means, so that it is not 'dead'. But first we should make sure it is at least present in the document. |
In commit 723c369, a |
Hmm, this is another important issue. We definitely need to come back to this one. |
Yup, we need to discuss this one. I have a feeling this is where Attributes might come into play a bit more, but that depends on the types of information we're trying to keep (and what they "mean"). If we want to display constraints (ie. things like a > b) then we need to know why those particular constraints are important in this context, since we're likely ignoring (not displaying) some other constraints. I'll also need to think about how to generate the references in the description, since I think there'll be some problems there. |
UpdateThe overview I commented on Jul 18, 2017 (please see above) still holds. The only thing I want to add is:
With the addition of a Notes field for the data definitions (done in b032040), a lot of this information can be re-captured. Should this issue be closed after all the missing information is added, even though the Notes field may end up being a temporary solution to the missing information? @szymczdm @JacquesCarette |
There is a lot of different kinds of missing information documented in this one issue. I think it should be splits into many small issues, so that most can be dealt with quickly. Some of them may require more substantial work (like 2. in the update above). |
Thanks @JacquesCarette! The comment has been updated to include only the type of missing information related to the ones from earlier comments. Actually adding the missing information back into Drasil will need to be held off until the new |
Merge of #779 closes this issue. |
* added DataDefinition.hs file and created DataDefinition data type * additions/upgrades added to DataDefinition type * started transfer of mkDataDef and mkDataDef' to DataDefinition file * transfer of mkDataDef no longer breaks compilation * created mkDD smart constructor * made DataDefinition an instance of all the classes QDefinition is an instance of; temporarily expects a shortname instead of the desired label * made first datadefinition * undoes some changes from previous commit * created DataDefinitions for GlassBR * broken; attempted to replace calls to [QDefinition] with calls to [DataDefinition] * updated version number to avoid import error; now get error from before merge * made progress; callstack outputs a conversion error from use of ConvertRel * GlassBR's data definitions are rendered using DataDefinitions instead of QDefinitions * updated stable for notes added to GlassBR * added a note to GlassBR DD9 as mentioned in #350 * removed all instances of mkDataDef'
I noticed that the generated description for DD:stressDistFac no longer includes text about how J is interpolated from the given data (as done in the original case study). I like how all of the entries from the equation are defined, but there is more to the description than this. I'm assuming this a temporary situation as the Drasil language grows and changes? I noticed that the same thing is done in several of the other data definitions and in some of the other case studies. It is great to de-embed and automate, but we don't want to lose information in the process.
The text was updated successfully, but these errors were encountered: