From df9f936977d0fdd8f4bdacfc62bc3e2a705dada7 Mon Sep 17 00:00:00 2001 From: Sam Crawford <35857611+samm82@users.noreply.github.com> Date: Mon, 23 Jul 2018 14:49:07 -0400 Subject: [PATCH 1/7] Sorting in GlassBR (#899) * Sorted Table of Aux Constants in Glass and SWHS as per #886 * Moved compareBySymbol to docLang to be reused; sorted Input Data Constraints - closes #864 * Moved sortBy in GlassBR to sortBySymbol in Misc to be used in docLang for all examples --- code/drasil-code/drasil-code.cabal | 2 +- code/drasil-data/drasil-data.cabal | 2 +- code/drasil-docLang/Drasil/DocLang.hs | 20 +- .../drasil-docLang/Drasil/DocumentLanguage.hs | 5 +- .../Drasil/Sections/SolutionCharacterSpec.hs | 4 +- .../Sections/SpecificSystemDescription.hs | 12 +- code/drasil-docLang/drasil-docLang.cabal | 2 +- code/drasil-example/Drasil/GlassBR/Body.hs | 4 +- code/drasil-example/drasil-example.cabal | 12 +- code/drasil-gen/drasil-gen.cabal | 2 +- code/drasil-lang/Language/Drasil.hs | 2 +- code/drasil-lang/Language/Drasil/Misc.hs | 13 +- code/drasil-lang/drasil-lang.cabal | 2 +- code/drasil-printers/drasil-printers.cabal | 2 +- code/stable/gamephys/SRS/Chipmunk_SRS.tex | 20 +- .../stable/gamephys/Website/Chipmunk_SRS.html | 72 ++--- code/stable/glassbr/SRS/GlassBR_SRS.tex | 30 +- code/stable/glassbr/Website/GlassBR_SRS.html | 132 ++++----- code/stable/nopcm/SRS/NoPCM_SRS.tex | 16 +- code/stable/nopcm/Website/NoPCM_SRS.html | 64 ++-- code/stable/ssp/SRS/SSP_SRS.tex | 14 +- code/stable/ssp/Website/SSP_SRS.html | 40 +-- code/stable/swhs/SRS/SWHS_SRS.tex | 68 ++--- code/stable/swhs/Website/SWHS_SRS.html | 280 +++++++++--------- 24 files changed, 417 insertions(+), 403 deletions(-) diff --git a/code/drasil-code/drasil-code.cabal b/code/drasil-code/drasil-code.cabal index 4a09eec9b3..c30aeb5d45 100644 --- a/code/drasil-code/drasil-code.cabal +++ b/code/drasil-code/drasil-code.cabal @@ -37,7 +37,7 @@ library split >= 0.2.3.1, MissingH >= 1.4.0.1, parsec >= 3.1.9, - drasil-lang >= 0.1.5 + drasil-lang >= 0.1.6 default-language: Haskell2010 ghc-options: -Wall -O2 diff --git a/code/drasil-data/drasil-data.cabal b/code/drasil-data/drasil-data.cabal index e4e94abb6f..df960c19b1 100644 --- a/code/drasil-data/drasil-data.cabal +++ b/code/drasil-data/drasil-data.cabal @@ -45,7 +45,7 @@ library MissingH >= 1.4.0.1, parsec >= 3.1.9, data-fix (>= 0.0.4 && <= 1.0), - drasil-lang >= 0.1.5 + drasil-lang >= 0.1.6 default-language: Haskell2010 ghc-options: -Wall diff --git a/code/drasil-docLang/Drasil/DocLang.hs b/code/drasil-docLang/Drasil/DocLang.hs index a9a477f0cd..3465a179fa 100644 --- a/code/drasil-docLang/Drasil/DocLang.hs +++ b/code/drasil-docLang/Drasil/DocLang.hs @@ -8,8 +8,8 @@ module Drasil.DocLang ( SCSSub(..), SSDSec(..), SSDSub(..), SolChSpec(..), ExistingSolnSec(..), StkhldrSec(StkhldrProg2), StkhldrSub(Client, Cstmr), TConvention(..), TraceabilitySec(TraceabilityProg), - TSIntro(..), UCsSec(..), mkDoc, mkLklyChnk, mkRequirement, mkUnLklyChnk, - tsymb, tsymb'', + TSIntro(..), UCsSec(..), mkDoc, mkLklyChnk, mkRequirement, + mkUnLklyChnk, tsymb, tsymb'', -- DocumentLanguage.Definitions Field(..), Fields, InclUnits(IncludeUnits), Verbosity(Verbose), -- DocumentLanguage.RefHelpers @@ -40,14 +40,14 @@ module Drasil.DocLang ( ) where import Drasil.DocumentLanguage (AppndxSec(..), AuxConstntSec(..), - DerivationDisplay(..), DocDesc, DocSection(..), Emphasis(..), GSDSec(GSDProg2), - GSDSub(UsrChars, SystCons, SysCntxt), IntroSec(..), IntroSub(..), LCsSec(..), LFunc(..), - Literature(Doc', Lit, Manual), ProblemDescription(..), RefSec(..), RefTab(..), - ReqrmntSec(..), ReqsSub(FReqsSub, NonFReqsSub), ScpOfProjSec(ScpOfProjProg), - SCSSub(..), SSDSec(..), SSDSub(..), SolChSpec(..), StkhldrSec(StkhldrProg2), - StkhldrSub(Client, Cstmr), TConvention(..), TraceabilitySec(TraceabilityProg), - TSIntro(..), UCsSec(..), mkDoc, mkLklyChnk, mkRequirement, mkUnLklyChnk, - tsymb, tsymb'', ExistingSolnSec(..)) + DerivationDisplay(..), DocDesc, DocSection(..), Emphasis(..), ExistingSolnSec(..), + GSDSec(GSDProg2), GSDSub(UsrChars, SystCons, SysCntxt), IntroSec(..), IntroSub(..), + LCsSec(..), LFunc(..), Literature(Doc', Lit, Manual), ProblemDescription(..), + RefSec(..), RefTab(..), ReqrmntSec(..), ReqsSub(FReqsSub, NonFReqsSub), + ScpOfProjSec(ScpOfProjProg), SCSSub(..), SSDSec(..), SSDSub(..), SolChSpec(..), + StkhldrSec(StkhldrProg2), StkhldrSub(Client, Cstmr), TConvention(..), + TraceabilitySec(TraceabilityProg), TSIntro(..), UCsSec(..), mkDoc, + mkLklyChnk, mkRequirement, mkUnLklyChnk, tsymb, tsymb'') import Drasil.DocumentLanguage.Definitions (Field(..), Fields, InclUnits(IncludeUnits), Verbosity(Verbose)) import Drasil.DocumentLanguage.RefHelpers (ModelDB, cite, ddRefDB, mdb, refA, diff --git a/code/drasil-docLang/Drasil/DocumentLanguage.hs b/code/drasil-docLang/Drasil/DocumentLanguage.hs index 483c546434..04f49e0353 100644 --- a/code/drasil-docLang/Drasil/DocumentLanguage.hs +++ b/code/drasil-docLang/Drasil/DocumentLanguage.hs @@ -40,6 +40,7 @@ import Data.Drasil.Concepts.Documentation (refmat) import Data.Function (on) import Data.List (nub, sortBy) +import Data.Ord (comparing) type System = Sentence type DocKind = Sentence @@ -254,7 +255,7 @@ mkSections si l = map doit l doit (IntroSec is) = mkIntroSec si is doit (StkhldrSec sts) = mkStkhldrSec sts doit (SSDSec ss) = mkSSDSec si ss - doit (AuxConstntSec acs) = mkAuxConsSec acs + doit (AuxConstntSec acs) = mkAuxConsSec acs doit Bibliography = mkBib (citeDB si) doit (GSDSec gs') = mkGSDSec gs' doit (ScpOfProjSec sop) = mkScpOfProjSec sop @@ -533,7 +534,7 @@ mkExistingSolnSec (ExistSolnProg cs) = SRS.offShelfSol cs [] -- | Helper for making the 'Values of Auxiliary Constants' section mkAuxConsSec :: AuxConstntSec -> Section mkAuxConsSec (AuxConsVerb s) = s -mkAuxConsSec (AuxConsProg key listOfCons) = AC.valsOfAuxConstantsF key listOfCons +mkAuxConsSec (AuxConsProg key listOfCons) = AC.valsOfAuxConstantsF key $ sortBySymbol listOfCons {--} diff --git a/code/drasil-docLang/Drasil/Sections/SolutionCharacterSpec.hs b/code/drasil-docLang/Drasil/Sections/SolutionCharacterSpec.hs index de0e7c6da6..71f239b1f3 100644 --- a/code/drasil-docLang/Drasil/Sections/SolutionCharacterSpec.hs +++ b/code/drasil-docLang/Drasil/Sections/SolutionCharacterSpec.hs @@ -26,10 +26,10 @@ import Data.Drasil.SentenceStructures (ofThe, foldlSP, foldlSent, foldlList, sAn import qualified Data.Drasil.Concepts.Documentation as Doc import Data.List (find) import Control.Lens ((^.)) -import Drasil.Sections.SpecificSystemDescription (inDataConstTbl, outDataConstTbl, - listofTablesToRefs) import Drasil.Sections.GeneralSystDesc(genSysIntro) +import Drasil.Sections.SpecificSystemDescription (inDataConstTbl, outDataConstTbl, + listofTablesToRefs) import qualified Drasil.DocLang.SRS as SRS diff --git a/code/drasil-docLang/Drasil/Sections/SpecificSystemDescription.hs b/code/drasil-docLang/Drasil/Sections/SpecificSystemDescription.hs index 9a36488a75..604842c254 100644 --- a/code/drasil-docLang/Drasil/Sections/SpecificSystemDescription.hs +++ b/code/drasil-docLang/Drasil/Sections/SpecificSystemDescription.hs @@ -27,6 +27,8 @@ import Data.Drasil.Concepts.Software (program) import Data.Drasil.Utils (foldle, fmtU, getRVal) import Data.Drasil.SentenceStructures (fmtPhys, fmtSfwr, mkTableFromColumns, foldlSent, foldlSP, typUncr, ofThe, foldlList) +import Data.List (sortBy) + import qualified Drasil.DocLang.SRS as SRS @@ -208,11 +210,11 @@ dataConstraintUncertainty = foldlSent [S "The", phrase uncertainty, phrase colum inDataConstTbl :: (UncertainQuantity c, Constrained c, HasReasVal c) => [c] -> Contents inDataConstTbl qlst = Table titl cts (S "Input Data Constraints") True "InDataConstraints" where - columns = [(S "Var", map ch qlst), - (titleize' physicalConstraint, map fmtPhys qlst), - (titleize' softwareConstraint, map fmtSfwr qlst), - (S "Typical Value", map (\q -> fmtU (E $ getRVal q) q) qlst), - (short typUnc, map typUncr qlst)] + columns = [(S "Var", map ch $ sortBySymbol qlst), + (titleize' physicalConstraint, map fmtPhys $ sortBySymbol qlst), + (titleize' softwareConstraint, map fmtSfwr $ sortBySymbol qlst), + (S "Typical Value", map (\q -> fmtU (E $ getRVal q) q) $ sortBySymbol qlst), + (short typUnc, map typUncr $ sortBySymbol qlst)] tbl = mkTableFromColumns columns titl = fst tbl cts = snd tbl diff --git a/code/drasil-docLang/drasil-docLang.cabal b/code/drasil-docLang/drasil-docLang.cabal index 30a723a1b5..de70f0c4e4 100644 --- a/code/drasil-docLang/drasil-docLang.cabal +++ b/code/drasil-docLang/drasil-docLang.cabal @@ -39,7 +39,7 @@ library MissingH >= 1.4.0.1, parsec >= 3.1.9, data-fix (>= 0.0.4 && <= 1.0), - drasil-lang >= 0.1.5, + drasil-lang >= 0.1.6, drasil-data >= 0.1.1 default-language: Haskell2010 ghc-options: -Wall diff --git a/code/drasil-example/Drasil/GlassBR/Body.hs b/code/drasil-example/Drasil/GlassBR/Body.hs index 70964e859e..34adf338ae 100644 --- a/code/drasil-example/Drasil/GlassBR/Body.hs +++ b/code/drasil-example/Drasil/GlassBR/Body.hs @@ -15,8 +15,8 @@ import Drasil.DocLang (AppndxSec(..), AuxConstntSec(..), DerivationDisplay(..), ReqsSub(FReqsSub, NonFReqsSub), ScpOfProjSec(ScpOfProjProg), SCSSub(..), SSDSec(..), SSDSub(..), SolChSpec(..), StkhldrSec(StkhldrProg2), StkhldrSub(Client, Cstmr), TraceabilitySec(TraceabilityProg), - TSIntro(SymbOrder, TSPurpose), UCsSec(..), Verbosity(Verbose), cite, - dataConstraintUncertainty, goalStmtF, inDataConstTbl, intro, mkDoc, + TSIntro(SymbOrder, TSPurpose), UCsSec(..), Verbosity(Verbose), + cite, dataConstraintUncertainty, goalStmtF, inDataConstTbl, intro, mkDoc, mkRequirement, outDataConstTbl, physSystDesc, probDescF, termDefnF, traceGIntro, tsymb) diff --git a/code/drasil-example/drasil-example.cabal b/code/drasil-example/drasil-example.cabal index 3ef74db461..858ec398d8 100644 --- a/code/drasil-example/drasil-example.cabal +++ b/code/drasil-example/drasil-example.cabal @@ -19,7 +19,7 @@ executable tiny mtl >= 2.2.1, directory >= 1.2.6.2, split >= 0.2.3.1, - drasil-lang >= 0.1.5, + drasil-lang >= 0.1.6, drasil-data >= 0.1.1, drasil-code >= 0.1.1, drasil-printers >= 0.1.0, @@ -58,7 +58,7 @@ executable nopcm mtl >= 2.2.1, directory >= 1.2.6.2, split >= 0.2.3.1, - drasil-lang >= 0.1.5, + drasil-lang >= 0.1.6, drasil-data >= 0.1.1, drasil-code >= 0.1.1, drasil-printers >= 0.1.0, @@ -93,7 +93,7 @@ executable ssp mtl >= 2.2.1, directory >= 1.2.6.2, split >= 0.2.3.1, - drasil-lang >= 0.1.5, + drasil-lang >= 0.1.6, drasil-data >= 0.1.1, drasil-code >= 0.1.1, drasil-printers >= 0.1.0, @@ -126,7 +126,7 @@ executable glassbr mtl >= 2.2.1, directory >= 1.2.6.2, split >= 0.2.3.1, - drasil-lang >= 0.1.5, + drasil-lang >= 0.1.6, drasil-data >= 0.1.1, drasil-code >= 0.1.1, drasil-printers >= 0.1.0, @@ -155,7 +155,7 @@ executable chipmunkdocs mtl >= 2.2.1, directory >= 1.2.6.2, split >= 0.2.3.1, - drasil-lang >= 0.1.5, + drasil-lang >= 0.1.6, drasil-data >= 0.1.1, drasil-code >= 0.1.1, drasil-printers >= 0.1.0, @@ -188,7 +188,7 @@ executable swhs pretty >= 1.1.1.1, mtl >= 2.2.1, directory >= 1.2.6.2, - drasil-lang >= 0.1.5, + drasil-lang >= 0.1.6, drasil-data >= 0.1.1, drasil-code >= 0.1.1, drasil-printers >= 0.1.0, diff --git a/code/drasil-gen/drasil-gen.cabal b/code/drasil-gen/drasil-gen.cabal index af125f4749..9c11f1f188 100644 --- a/code/drasil-gen/drasil-gen.cabal +++ b/code/drasil-gen/drasil-gen.cabal @@ -19,7 +19,7 @@ library split >= 0.2.3.1, MissingH >= 1.4.0.1, parsec >= 3.1.9, - drasil-lang >= 0.1.5, + drasil-lang >= 0.1.6, drasil-code >= 0.1.3, drasil-printers >= 0.1.0 default-language: Haskell2010 diff --git a/code/drasil-lang/Language/Drasil.hs b/code/drasil-lang/Language/Drasil.hs index ba304da338..539ea34598 100644 --- a/code/drasil-lang/Language/Drasil.hs +++ b/code/drasil-lang/Language/Drasil.hs @@ -153,7 +153,7 @@ module Language.Drasil ( -- Misc , mkTable, unit_symb, introduceAbb, phrase, plural, phrase's , plural's, at_start, at_start' - , unitToSentence, unitToSentenceUnitless + , unitToSentence, unitToSentenceUnitless, sortBySymbol -- Generate --, gen, genCode -- People diff --git a/code/drasil-lang/Language/Drasil/Misc.hs b/code/drasil-lang/Language/Drasil/Misc.hs index 2f3fae47a2..c1c924fe77 100644 --- a/code/drasil-lang/Language/Drasil/Misc.hs +++ b/code/drasil-lang/Language/Drasil/Misc.hs @@ -1,12 +1,16 @@ module Language.Drasil.Misc where -import Language.Drasil.Classes (HasUnitSymbol(usymb), NamedIdea(term), Idea) +import Language.Drasil.Classes (HasSymbol(symbol), HasUnitSymbol(usymb), + NamedIdea(term), Idea) import Language.Drasil.Chunk.NamedIdea (short) import Language.Drasil.Chunk.Quantity (Quantity, getUnit) import Language.Drasil.Chunk.Unitary (Unitary, unit) import Language.Drasil.Spec ((+:+), Sentence((:+:), S, Sy), sParen) +import Language.Drasil.Symbol (Stage(Implementation), compsy) import Language.Drasil.Development.UnitLang (USymb) +import Data.List (sortBy) + import qualified Language.Drasil.NounPhrase as NP import Control.Lens ((^.)) @@ -85,6 +89,13 @@ noSpaces s | not (' ' `elem` s) = s | otherwise = error "String has at least one space in it." +-- Sorts a list of HasSymbols by Symbol +sortBySymbol :: (HasSymbol a) => [a] -> [a] +sortBySymbol = sortBy compareBySymbol + where + compareBySymbol :: (HasSymbol a) => a -> a -> Ordering + compareBySymbol a b = compsy (symbol a Implementation) (symbol b Implementation) + {- --------------------- WIP --------------------- Function used to derive the unit of an equation. Takes a Relation, sorts the diff --git a/code/drasil-lang/drasil-lang.cabal b/code/drasil-lang/drasil-lang.cabal index 346c6abc4d..be9487d822 100644 --- a/code/drasil-lang/drasil-lang.cabal +++ b/code/drasil-lang/drasil-lang.cabal @@ -1,5 +1,5 @@ Name: drasil-lang -Version: 0.1.5 +Version: 0.1.6 Cabal-Version: >= 1.18 Author: Dan Szymczak, Steven Palmer, Jacques Carette, Spencer Smith build-type: Simple diff --git a/code/drasil-printers/drasil-printers.cabal b/code/drasil-printers/drasil-printers.cabal index 1b6b69e178..2d66a2332e 100644 --- a/code/drasil-printers/drasil-printers.cabal +++ b/code/drasil-printers/drasil-printers.cabal @@ -39,7 +39,7 @@ library MissingH >= 1.4.0.1, parsec >= 3.1.9, data-fix (>= 0.0.4 && <= 1.0), - drasil-lang >= 0.1.4 + drasil-lang >= 0.1.6 default-language: Haskell2010 ghc-options: -Wall diff --git a/code/stable/gamephys/SRS/Chipmunk_SRS.tex b/code/stable/gamephys/SRS/Chipmunk_SRS.tex index fd24c4733d..b4137bf7cd 100644 --- a/code/stable/gamephys/SRS/Chipmunk_SRS.tex +++ b/code/stable/gamephys/SRS/Chipmunk_SRS.tex @@ -848,27 +848,27 @@ \subsubsection{Data Constraints} Var & Physical Constraints & Typical Value & Uncert. \\ \midrule -$L$ & $L\geq{}0$ & $44.2$ m & 10.0\% -\\ -$m$ & $m\geq{}0$ & $56.2$ kg & 10.0\% +${C_{R}}$ & $0\leq{}{C_{R}}\leq{}1$ & $0.8$ & 10.0\% \\ -$\mathbf{I}$ & $\mathbf{I}\geq{}0$ & $74.5$ kg$\text{m}^{2}$ & 10.0\% +$\mathbf{F}$ & -- & $98.1$ N & 10.0\% \\ $G$ & -- & $9.8$ $\frac{\text{m}^{3}}{(\text{kg}\text{s}^{2})}$ & 10.0\% \\ -$\mathbf{p}$ & -- & $0.412$ m & 10.0\% +$\mathbf{I}$ & $\mathbf{I}\geq{}0$ & $74.5$ kg$\text{m}^{2}$ & 10.0\% \\ -$ϕ$ & -- & $\frac{π}{2}$ rad & 10.0\% +$L$ & $L\geq{}0$ & $44.2$ m & 10.0\% \\ -$\mathbf{v}$ & -- & $2.51$ $\frac{\text{m}}{\text{s}}$ & 10.0\% +$m$ & $m\geq{}0$ & $56.2$ kg & 10.0\% \\ -$ω$ & -- & $2.1$ $\frac{\text{rad}}{\text{s}}$ & 10.0\% +$\mathbf{p}$ & -- & $0.412$ m & 10.0\% \\ -$\mathbf{F}$ & -- & $98.1$ N & 10.0\% +$\mathbf{v}$ & -- & $2.51$ $\frac{\text{m}}{\text{s}}$ & 10.0\% \\ $τ$ & -- & $200.0$ Nm & 10.0\% \\ -${C_{R}}$ & $0\leq{}{C_{R}}\leq{}1$ & $0.8$ & 10.0\% +$ω$ & -- & $2.1$ $\frac{\text{rad}}{\text{s}}$ & 10.0\% +\\ +$ϕ$ & -- & $\frac{π}{2}$ rad & 10.0\% \\ \bottomrule \caption{Input Data Constraints} diff --git a/code/stable/gamephys/Website/Chipmunk_SRS.html b/code/stable/gamephys/Website/Chipmunk_SRS.html index db39b83247..e2c13bf15f 100644 --- a/code/stable/gamephys/Website/Chipmunk_SRS.html +++ b/code/stable/gamephys/Website/Chipmunk_SRS.html @@ -2794,13 +2794,13 @@
-FIXME: This needs to be filled in +
-FIXME: This needs to be filled in +
-FIXME: This needs to be filled in +
-FIXME: This needs to be filled in +
-FIXME: This needs to be filled in +
-FIXME: This needs to be filled in +
-FIXME: This needs to be filled in +
-FIXME: This needs to be filled in +
-FIXME: This needs to be filled in +[4] [5, Eq. 14]
-FIXME: This needs to be filled in +
-FIXME: This needs to be filled in +
-FIXME: This needs to be filled in +
-FIXME: This needs to be filled in +
-FIXME: This needs to be filled in +
GTF is the glass type factor, as given by DD6.
++q̂ is calculated with reference to glassLite. +
-FIXME: This needs to be filled in +[5, Eq. 7]
-FIXME: This needs to be filled in +
-FIXME: This needs to be filled in +
-FIXME: This needs to be filled in +
-FIXME: This needs to be filled in +
-FIXME: This needs to be filled in +
-FIXME: This needs to be filled in +
-FIXME: This needs to be filled in +
-FIXME: This needs to be filled in +
-FIXME: This needs to be filled in +
-FIXME: This needs to be filled in +
-FIXME: This needs to be filled in +
-FIXME: This needs to be filled in +
-FIXME: This needs to be filled in +
-FIXME: This needs to be filled in +
-FIXME: This needs to be filled in +
-FIXME: This needs to be filled in +
-FIXME: This needs to be filled in +
-FIXME: This needs to be filled in +
-FIXME: This needs to be filled in +
-FIXME: This needs to be filled in +
-FIXME: This needs to be filled in +
-FIXME: This needs to be filled in +
-FIXME: This needs to be filled in +
-FIXME: This needs to be filled in +
-FIXME: This needs to be filled in +
-FIXME: This needs to be filled in +
-FIXME: This needs to be filled in +
-FIXME: This needs to be filled in +
-FIXME: This needs to be filled in +
-FIXME: This needs to be filled in +
;+^t?t8Nz`N&OiZe-9;dsI<#?bvLqY3vsxk#>G TVsew6*x)WG *+Wb!rW&c3Yx*%nxqqN_l<*SaWzlvHSUzX zp_%T>or#VFT`YH8&)DZ@SS-9lb$ow_79rKdf?kYB6BTCNClZNmy*{1uv MTOaZf10!lK%~gtB>JZS2*XYwYXK?C~ghB$O{N@~g8XBR@oz^PL z%XS Qn zz1q1l6Td`S?$>S(yrzxGSZxUGn7&` zT@3r4M!x1!zsjUkBJNgN)#PfNe|b2TPE>Xyli{LSCW0qJ4;6{|h?&KTI5?@DbJnV0 z%B%R^7I}L%E7sB2;WlIJiwwl&XIGBTp(Ytf=63nR73q69D4^Ah?#Mqe<{gAeDf2|U zxI5{DvgHA@!^R9q?+^9d(Uc)QCQGV(M+)(vB$F%_#R##BRno@Qc%{urJ+s`F)7fHG zU4aGn@lM@x)XwyD-*kTxhyCsKS$?5b{+O $bAj|lwFSeM#TtH1r`$oIWiMB@-AxXR21>=`TJFmA`Q iJ%GQ1 zzkMwo8bH*68=sFHNL4sx;j<~C5)!+CtO&-$)EV2TNPsz%HH2no=P9SaZqkx*uiIbf z#8yXgx4s;8PSGV5#NoMj+)fcWa})I>nX_)bk~VlxNHcN?u>p(Zdh_y4p%Ig02}7+6 zG3y?MT~ujVjl*;iqHa^Tf3xSU2ZwBr!~uuJ=O10+VB6Z%4@5E8C`kQc^VrV;s&&un z=!wQ371#whqOIH3eJNA Dh`5izMke%bQ#u<{;SHgs@dWH>KG5xfPSQ8Y_Mo)%=tN1YLW}DJ%14D$5E+` zYT Nq?@M>YenE!m8I-$nevne&v890+GKm|zkf4z zKMsOrzRc57*-4CTfF^d2O3OX_V;KW3&qu3jbBuBiL5n_}2U?n+1X?Fu8}u-<- = z>)~D&*oI!QBEEEvq;qiDr9lJKkPUT6%s3c3*T|CJNfcVY?FPLgf3h?m_ bo?o*h0NjjzcdefOxXS);Q6>&wJ+~!OFw }gS9r5ep zD29}aNxPNyrt@J}CP?oDI9{28V+z^DAODHIh|9>|uQr}0jR*`{#uM?@eRU>l5TP^e zWO3Gn#|-T@CG*=FzOS7(O)tAo@cbDM{Kc}dlijop{Wf{YkQ8BB+90zqjWn-d8W%US zO1epU-y%Ls`pEO>=O+xkO*+Q)L4P&BzQ2+usZB;6Fh0`k{IeAt)YqbiX)CS?V*1E? zhP@=Tq8;a`E%>E*)zK!n&O5>pj@Q>7XS11?<_x11^(kO3BG+O>&zoiW`b4}Y`*1{Y zWYJwut~T!#Wo#07g`m5yx8 Az6iIl+Ps#{THfmFFnYcI@?xonF0k1rneZuX zf@$ryDmMLcXjVf1>*f663^-oM?af(Rex`xgH?MJjf^es^Mc;#wRrMuL^UBv+l?L&U zg!(_Ve;lXMoxTg?u26KW$~n6~&S^ql_s`gbB{S_pBgD{~Ii7RA8loQNHl?w!=XPWV zCgK-9*oJ9y4U+duRdOVjR^BnW+Nj01s@UKdUOK(^Wm1V=LGcqsAJz)ij-XHXl%&HR z>5%^V>T0BB5yfx7ZM0qw8Qq|s!V~x3XM}z}z+hvS;;MotcM^%6fABfoRXAw74FEDm zd`{r`mBxPcxN1N9fY0S1(pYlY49M^BEcGe_Hvx_TcZbV3$On5L6G!sG3)RFB?edOl z=N9=Sc?B Myzf %TLKw=En7J*~(C!>k2d7Ddq42Z3tF zp~B{dPPM-qg6JF6(4J(E*H*Se_#LJu!s8-?y=ac0;z%Ep9@8P{sBXT2K)=*>Ww503 zQ5=RIsckp8 AOnt-fAi#jNwAEXKK(_M=y2gwO()~ zWC Axn;~<%R%$Sa|$?>jXzL*fMUR(IY2D{HFem8_S`Wu;;FPv0ix|kga)K zDZMp_@ghI44*mE{w&Ne?Qn9MjxfmgKmYk}RB^V3obVhEChsEA1(F$W$*$io(y_pC2 zEM^=y_6a78kMxrO1zDt@8-1wednsf?o0k*1Sv7)q?jy#So~d_NTV6!lM^Y=LWUk!O z+S#HN`QF0>DTzcI&EEAK(>NEgRrM*;&tgPe23lFu3U}#xvoJpsHs{>L>E%S`Ps$P( za1?1a0{mvEfo1hafdQ<@Yad)yDqi4+8vj;1!E3H*=@s=yB!d#^x#g(gUYFTzV&P3A zjAlZM)VnMDo3cPzGQA-5!Xjf7y@)7`{lkXao6D_C-+ht-tdBCpctw1q_QvcgPd`3C z_E=!fkYRD6=wlvL9rMu50ELSYiFN$bhxmCr(dM|Cc&>`z0^i-lP5?@qzgM@EIaO+u z3?#!<1b)-!!@YVNO$8jd<5ycq&}jkRmoeogmod|myR79|_rx~>sr7yRY@<>5VZ#Ko z@;3=TBFcS8)xujF2B=Mj4?CUguV&6U<&lWmBiFRgYk!xv>>A@O5j0=2xZ6CKTs;?1 z L3zNcbz}_(eWsfCL9tAc{n@x z!s =4%gS4(~Q76L$ehyKQ2E6YAt&p5^{COKb~8!OIdI>hn2 zTzh(_2Px$Ex!|+0XDOpdy!)mZ1>{wmSS-FT|o-K&D1yh~UX5#^lmjK2l9> z=WyRXL3uHWY{XjOq{2gL9?9*RI0$e4_g1lwpe-zDa_aQ^Qc@lYww0^cb>+i;oj*Bp zL@1wFR7nZ1GSb_tZyVigeQ~_T&+3d%^@wOyfh7Ze+7 sHmPzDiJ)GTw$dV!I&{oD2rDx6VRh;y2 zR->x~=LMx!8$+7Y8>|^I-thQ_Br@wu{RW#$L-I4`_e0yOiBmE{WBrs>9hi;AuZT z2DRT0E;dJYPM~MWr?fy;O3&@R^L1_`$T$+|xzHjaD<#85 yj?)9Iefi4jwDMKL(b1it*?JzH&0cyAC* zF5D_S-x*VBlU>sw+U>E^K4eFS^R%{Mgto3vMnO$?2 |uAf|iQ{Yc% zj$`N2pUB4NJpXbS>vu1n3zb`dIhJ*b6SxI7oTHF{@*em?$@@m#nAc|Tv#wT%lKI;Y z$#&<5%X{jtBk=^yEMKe;T?4WjONwM-BQ!X|ao>K?w$8w$F~4`M|CBUAHR4 nl7Zl1Q$53p2Ug6 z;d1805(S}~C(l1Sc_jlgseg-j(|hyibYajE=X`6>xK7Hk=T(}$;6SCmRjd=mYP+8o zfz$D7A4<#r@Zs|4(d!+%p;Ug97JZ&aS9?5H@qli50HXk&EZ0E4b;ZhRZ?pFaRrL9G zC8|=SBE;@D#oW mWL?QXHBJw|ZKURKf|{6u+|#$gRZVzv#QwA@slYx6eMDpUDV|Em-L5+I#;hm; zjtBqSMPUXva&E|F+l9NLh!2hC#{k_z;V1d0ZjU*OjlVCdMTH8_AW&8#874FBi*9~3 zc%~hm`}Rb5D|(xw=JL7C;5W~tbpO*Cc4r;nc=#D))jfRjJUf*0F&4Jq<>AU&qxwUV zMQEFtX%F7z R7M0J1^fh&I0 q%w5p4LTP{m{^<-gzn!QR($a6sd05=x*<*(qm%g zNW F>b3yqn7D*9L z962*#uz-r0vpK#ziRf&^U$$R$V6;f%7gu^Wn@ouN-1 fO5G)9bPpxhczVmVD)SLr6am-&T1;o%7eZbN=S zfsyUcywAs+OM3dPBwZeA8c9H8SxYuE?Z}|3$LB5U5fO7C2zF a6 qdPbvd)bL#v^geNJGtiXlC_cbkQDD7%$_m-yY*OxjF4pHyZW4i-w~Zv{ zEK<;2u# #oG)zn8@nPY5;jllHmk&33@R+3PC)do zc3u8u$FEZlQk_vr WbX5b3GiICRaD*8Gh#_iN2dwVXvSdjMZ8WK#&y0g~L1W&D8|8 zyaZJth3h+f47;QQ^krc9CM G`bpCYy?an3*4FdUmf)X z&wV%Z*~ {E{5t_jVENFu4%Q-Z(b!NrvbP5V!-5+-|#nX96 zCzc+YwF&6n1g4fF}3@yOy89Z76 zvgnmV$scNf!!Y?@?$u39P3cy|4Y-cq`8E4Fe=f6E(4@I|Hg(gjZq?+DpGlEXyEMNj zHEYWhn6=9(`km{Ez@g0$@_=!-U1>fi!FntQSgsJ;&VJ|>)H>&wtlvC2T{#`w(A5l% ze0mp*$MaN*CsvQBcCjgpCGOZ7P<10<4w6^_-n#PB6=iDT3!4Xlxl|MYC7d@!&np6N z9oUHyF0B{LP5`=2N|mT>4+2A^u3OF)i$%yWC4}xQaW_f~NiJ+c{P^d{{97gW1JLsd z5qC94Xhd1#cF~*P5T^-X?Q<7fd jolfj8c%f-a`kFJeFD#{kQUe4$najdMx0Q!;`Lw`JXz zL^c4XOoy@AFdz@=INP*b9S`umTa|AZseBhd9PksySCuRoFG_sD99}lDCnW*AK(R9> zC`Mhx=+3)YW%94jNQiS&n9zN7oX0A(miFz@A2!_%Qb<07u2JQII^h;1mfA`Aaxt{* zTRSlU$ef~w2HhzPz}{V#e}eB0T}{I%(6k0)$z=6N080j_t )CxfsOLa| z1~59EwK88mx!b@tBllgdiQiGzcAIx#?B!}GwR1L5Bo=?C<*^vTbWQqi#a*88W6{ou zzB~y$WS$)i&Cl?pGRe1Coxs4jmwtB_z#lbP-N&2;XYR} MTkZcObF6=4`8Y@>8?X?fCP1X%GyjD}B_81C%uI~g2b3YC03jq7I3F8%W@9A( z75%|6c-k6SJ*pA VlQ|hq9TI7Jb3}(^&U=trR5#g{e@E6$;l}NB~3;C@0^LT zB0ftbA-yf&ctN*7B_BlZz2C55H!OMvw~T%jibF^x14ydjLy;akQ=`&EqHs<3X4I6C zJ5X$9xA 51*ob_nbhl`{{anPBgFs! literal 0 HcmV?d00001 diff --git a/code/drasil-docLang/Drasil/DocumentLanguage.hs b/code/drasil-docLang/Drasil/DocumentLanguage.hs index 04f49e0353..071fe38656 100644 --- a/code/drasil-docLang/Drasil/DocumentLanguage.hs +++ b/code/drasil-docLang/Drasil/DocumentLanguage.hs @@ -159,7 +159,7 @@ data GSDSec = GSDVerb Section data GSDSub where GSDSubVerb :: Section -> GSDSub - SysCntxt :: [Contents] -> GSDSub + SysCntxt :: [Contents] -> GSDSub --FIXME: partially automate UsrChars :: [Contents] -> GSDSub SystCons :: [Contents] -> [Section] -> GSDSub diff --git a/code/drasil-example/Drasil/SSP/Body.hs b/code/drasil-example/Drasil/SSP/Body.hs index 394a8a909f..0f0b7f5175 100644 --- a/code/drasil-example/Drasil/SSP/Body.hs +++ b/code/drasil-example/Drasil/SSP/Body.hs @@ -9,15 +9,16 @@ import Drasil.DocLang (DocDesc, DocSection(..), IntroSec(..), IntroSub(..), LCsSec(..), LFunc(..), RefSec(..), RefTab(..), TConvention(..), --TSIntro, TSIntro(..), UCsSec(..), Fields, Field(..), SSDSec(..), SSDSub(..), Verbosity(..), InclUnits(..), DerivationDisplay(..), SolChSpec(..), - SCSSub(..), - dataConstraintUncertainty, genSysF, goalStmtF, - inDataConstTbl, intro, mkDoc, nonFuncReqF, outDataConstTbl, probDescF, reqF, - termDefnF, tsymb'', valsOfAuxConstantsF) - -import Data.Drasil.Concepts.Documentation (analysis, - design, document, effect, element, endUser, goalStmt, inModel, input_, - interest, interest, issue, loss, method_, organization, physics, - problem, property, requirement, srs, table_, template, value, variable) + SCSSub(..), GSDSec(..), GSDSub(..), + dataConstraintUncertainty, goalStmtF, inDataConstTbl, intro, mkDoc, + nonFuncReqF, outDataConstTbl, probDescF, reqF, termDefnF, tsymb'', + valsOfAuxConstantsF) + +import Data.Drasil.Concepts.Documentation (analysis, assumption, + design, document, effect, element, endUser, environment, goalStmt, inModel, + input_, interest, interest, interface, issue, loss, method_, organization, + physics, problem, product_, property, requirement, software, softwareSys, + srs, sysCont, system, table_, template, user, value, variable) import Data.Drasil.Concepts.Education (solidMechanics, undergraduate) import Data.Drasil.Concepts.Math (equation, surface) import Data.Drasil.Concepts.PhysicalProperties (mass) @@ -31,15 +32,15 @@ import Data.Drasil.Software.Products (sciCompS) import Data.Drasil.People (henryFrankis) import Data.Drasil.Phrase (for) import Data.Drasil.SentenceStructures (foldlList, foldlSP, foldlSent, - foldlSent_, ofThe, sAnd, sOr) + foldlSent_, ofThe, sAnd, sOr, foldlSPCol) import Data.Drasil.SI_Units (degree, metre, newton, pascal) -import Data.Drasil.Utils (enumBullet, enumSimple, noRefsLT) +import Data.Drasil.Utils (enumBullet, enumSimple, noRefsLT, bulletNested, bulletFlat) import Drasil.SSP.Assumptions (sspRefDB) import Drasil.SSP.Changes (likelyChanges_SRS, unlikelyChanges_SRS) import Drasil.SSP.DataDefs (dataDefns) import Drasil.SSP.DataDesc (sspInputMod) import Drasil.SSP.Defs (acronyms, crtSlpSrf, fs_concept, intrslce, itslPrpty, - morPrice, mtrlPrpty, plnStrn, slice, slope, slpSrf, soil, soilLyr, ssa) + morPrice, mtrlPrpty, plnStrn, slice, slope, slpSrf, soil, soilLyr, ssa, ssp) import Drasil.SSP.GenDefs (generalDefinitions) import Drasil.SSP.Goals (sspGoals) import Drasil.SSP.IMods (sspIMods_new) @@ -49,10 +50,10 @@ import Drasil.SSP.TMods (fs_rc_new, equilibrium_new, mcShrStrgth_new, hookesLaw_ import Drasil.SSP.Unitals (fs, index, numbSlices, sspConstrained, sspInputs, sspOutputs, sspSymbols) -import qualified Drasil.DocLang.SRS as SRS (funcReq, inModel, missingP, physSyst) +import qualified Drasil.DocLang.SRS as SRS (funcReq, assumpt, inModel, missingP, physSyst) --type declarations for sections-- -gen_sys_desc, req, aux_cons :: Section +req, aux_cons :: Section table_of_symbol_intro :: [TSIntro] @@ -89,7 +90,7 @@ resourcePath :: String resourcePath = "../../../datafiles/SSP/" ssp_srs :: Document -ssp_srs = mkDoc mkSRS (for) ssp_si +ssp_srs = mkDoc mkSRS for ssp_si mkSRS :: DocDesc mkSRS = RefSec (RefProg intro @@ -102,8 +103,8 @@ mkSRS = RefSec (RefProg intro EmptyS , IOrgSec orgSecStart inModel (SRS.inModel SRS.missingP []) orgSecEnd]) : --FIXME: issue #235 - Verbatim gen_sys_desc: - ------ + (GSDSec $ GSDProg2 [SysCntxt [sysCtxIntro, sysCtxFig1, sysCtxDesc, sysCtxList], + UsrChars [userCharIntro], SystCons [] []]): SSDSec (SSDProg [SSDSubVerb problem_desc , SSDSolChSpec @@ -120,7 +121,7 @@ mkSRS = RefSec (RefProg intro ] ) ] - ): + ): map Verbatim [req] ++ [LCsSec (LCsProg likelyChanges_SRS)] ++ [UCsSec (UCsProg unlikelyChanges_SRS)] ++[Verbatim aux_cons] ++ (Bibliography : []) @@ -228,10 +229,53 @@ orgSecEnd = S "The" +:+ plural inModel +:+ S "provide the set of" +:+ +:+ S "to perform a" +:+ titleize morPrice +:+ titleize analysis -- SECTION 3 -- -gen_sys_desc = genSysF [] userCharIntro [] [] - -- SECTION 3.1 -- --- User Characteristics automatically generated in genSysF with the +-- System Context automatically generated +sysCtxIntro :: Contents +sysCtxIntro = foldlSP + [makeRef sysCtxFig1 +:+ S "shows the" +:+. phrase sysCont, + S "A circle represents an external entity outside the" +:+ phrase software + `sC` S "the", phrase user, S "in this case. A rectangle represents the", + phrase softwareSys, S "itself" +:+. (sParen $ short ssp), + S "Arrows are used to show the data flow between the" +:+ phrase system, + S "and its" +:+ phrase environment] + +sysCtxFig1 :: Contents +sysCtxFig1 = fig (titleize sysCont) (resourcePath ++ "SystemContextFigure.png") "sysCtxDiag" + +sysCtxDesc :: Contents +sysCtxDesc = foldlSPCol + [S "The interaction between the", phrase product_, S "and the", phrase user, + S "is through a user" +:+. phrase interface, + S "The responsibilities of the", phrase user, S "and the", phrase system, + S "are as follows"] + +sysCtxUsrResp :: [Sentence] +sysCtxUsrResp = [S "Provide the input data related to the soil layer(s) and water" +:+ + S "table (if applicable), ensuring no errors in the data entry", + S "Ensure that consistent units are used for input variables", + S "Ensure required" +:+ phrase software +:+ plural assumption +:+ sParen ( + makeRef (SRS.assumpt SRS.missingP [])) +:+ S "are appropriate for any particular" +:+ + phrase problem +:+ S "input to the" +:+ phrase software] + +sysCtxSysResp :: [Sentence] +sysCtxSysResp = [S "Detect data type mismatch, such as a string of characters" +:+ + S " input instead of a floating point number", + S "Determine if the inputs satisfy the required physical and software constraints", + S "Identify the most likely failure surface within the possible input range", + S "Find the factor of safety for the slope", + S "Find the displacement of soil that will occur on the slope"] + +sysCtxResp :: [Sentence] +sysCtxResp = [titleize user +:+ S "Responsibilities", + short ssp +:+ S "Responsibilities"] + +sysCtxList :: Contents +sysCtxList = Enumeration $ bulletNested sysCtxResp $ + map bulletFlat [sysCtxUsrResp, sysCtxSysResp] + +-- SECTION 3.2 -- +-- User Characteristics automatically generated with the -- userContraints intro below userCharIntro :: Contents @@ -246,7 +290,7 @@ userChar pname understandings familiarities = foldlSP [ S "and be familiar with", foldlList familiarities] -- SECTION 3.2 -- --- System Constraints automatically generated in genSysF +-- System Constraints automatically generated -- SECTION 4 -- @@ -385,4 +429,4 @@ non_func_req = nonFuncReqF [accuracy, performanceSpd] aux_cons = valsOfAuxConstantsF ssa [] -- References -- --- automatically generated +-- automatically generated \ No newline at end of file diff --git a/code/stable/ssp/SRS/SSP_SRS.tex b/code/stable/ssp/SRS/SSP_SRS.tex index 4172704dcf..600bc612d5 100644 --- a/code/stable/ssp/SRS/SSP_SRS.tex +++ b/code/stable/ssp/SRS/SSP_SRS.tex @@ -289,6 +289,33 @@ \subsection{Organization of Document} \section{General System Description} \label{Sec:GenSysDesc} This section provides general information about the system including identifying the interfaces between the system and its environment (system context), describing the user characteristics and listing the system constraints. +\subsection{System Context} +\label{Sec:SysContext} +Figure~\ref{Figure:sysCtxDiag} shows the system context. A circle represents an external entity outside the software, the user in this case. A rectangle represents the software system itself (SSP). Arrows are used to show the data flow between the system and its environment. +\begin{figure} +\begin{center} +\includegraphics[width=\textwidth]{../../../datafiles/SSP/SystemContextFigure.png} +\caption{System Context} +\label{Figure:sysCtxDiag} +\end{center} +\end{figure} +The interaction between the product and the user is through a user interface. The responsibilities of the user and the system are as follows: +\begin{itemize} +\item{User Responsibilities} +\begin{itemize} +\item{Provide the input data related to the soil layer(s) and water table (if applicable), ensuring no errors in the data entry} +\item{Ensure that consistent units are used for input variables} +\item{Ensure required software assumptions (Section~\ref{Sec:Assumps}) are appropriate for any particular problem input to the software} +\end{itemize} +\item{SSP Responsibilities} +\begin{itemize} +\item{Detect data type mismatch, such as a string of characters input instead of a floating point number} +\item{Determine if the inputs satisfy the required physical and software constraints} +\item{Identify the most likely failure surface within the possible input range} +\item{Find the factor of safety for the slope} +\item{Find the displacement of soil that will occur on the slope} +\end{itemize} +\end{itemize} \subsection{User Characteristics} \label{Sec:UserChars} The end user of SSA should have an understanding of undergraduate Level 1 Calculus and Physics, and be familiar with soil and material properties. diff --git a/code/stable/ssp/Website/SSP_SRS.html b/code/stable/ssp/Website/SSP_SRS.html index 7d1f397f7d..77ada7b23b 100644 --- a/code/stable/ssp/Website/SSP_SRS.html +++ b/code/stable/ssp/Website/SSP_SRS.html @@ -1211,6 +1211,61 @@
This section provides general information about the system including identifying the interfaces between the system and its environment (system context), describing the user characteristics and listing the system constraints.
+++++System Context +
++Figure:sysCtxDiag shows the system context. A circle represents an external entity outside the software, the user in this case. A rectangle represents the software system itself (SSP). Arrows are used to show the data flow between the system and its environment. +
++ ++ ++The interaction between the product and the user is through a user interface. The responsibilities of the user and the system are as follows: +
++
+- +User Responsibilities +
++
+- +Provide the input data related to the soil layer(s) and water table (if applicable), ensuring no errors in the data entry +
+- +Ensure that consistent units are used for input variables +
+- +Ensure required software assumptions (Assumptions) are appropriate for any particular problem input to the software +
+- +SSP Responsibilities +
++
+- +Detect data type mismatch, such as a string of characters input instead of a floating point number +
+- +Determine if the inputs satisfy the required physical and software constraints +
+- +Identify the most likely failure surface within the possible input range +
+- +Find the factor of safety for the slope +
+- +Find the displacement of soil that will occur on the slope +
+From 5480c6cdf96f1eac922235268ee8310e8895d42c Mon Sep 17 00:00:00 2001 From: Sam Crawford <35857611+samm82@users.noreply.github.com> Date: Mon, 23 Jul 2018 19:38:08 -0400 Subject: [PATCH 4/7] [Small PR] Added Notes to Glass DD6 (#933) * Added glass type notes to DD6 - closes #751 * Renamed t1 and t2 to pb and lr in function names as per comments on #914 --- code/drasil-example/Drasil/GlassBR/Body.hs | 8 ++-- .../drasil-example/Drasil/GlassBR/DataDefs.hs | 14 +++++- code/drasil-example/Drasil/GlassBR/TMods.hs | 45 +++++++++---------- code/stable/glassbr/SRS/GlassBR_SRS.tex | 4 ++ code/stable/glassbr/Website/GlassBR_SRS.html | 16 +++++++ 5 files changed, 58 insertions(+), 29 deletions(-) diff --git a/code/drasil-example/Drasil/GlassBR/Body.hs b/code/drasil-example/Drasil/GlassBR/Body.hs index 34adf338ae..856269ec6f 100644 --- a/code/drasil-example/Drasil/GlassBR/Body.hs +++ b/code/drasil-example/Drasil/GlassBR/Body.hs @@ -61,7 +61,7 @@ import Drasil.GlassBR.DataDefs (aspRat, dataDefns, gbQDefns, hFromt, strDisFac, import Drasil.GlassBR.ModuleDefs (allMods) import Drasil.GlassBR.References (rbrtsn2012) import Drasil.GlassBR.Symbols (this_symbols) -import Drasil.GlassBR.TMods (tModels, t1SafetyReq, t2SafetyReq, t1IsSafe, t2IsSafe) +import Drasil.GlassBR.TMods (tModels, pbSafetyReq, lrSafetyReq, pbIsSafe, lrIsSafe) import Drasil.GlassBR.IMods (iModels, calOfCap, calOfDe, probOfBr, probOfBreak, calofCapacity, calofDemand) @@ -130,7 +130,7 @@ mkSRS = RefSec (RefProg intro [TUnits, tsymb [TSPurpose, SymbOrder], TAandA]) : , SSDSolChSpec (SCSProg [ Assumptions - , TMs ([Label] ++ stdFields) [t1IsSafe, t2IsSafe] + , TMs ([Label] ++ stdFields) [pbIsSafe, lrIsSafe] , GDs [] [] HideDerivation -- No Gen Defs for GlassBR , DDs' ([Label, Symbol, Units] ++ stdFields) dataDefns ShowDerivation , IMs ([Label, Input, Output, InConstraints, OutConstraints] ++ stdFields) [probOfBreak, calofCapacity, calofDemand] HideDerivation @@ -543,8 +543,8 @@ req4Desc = foldlSent [titleize output_, S "the", plural inQty, S "from", acroR 2] req5Desc cmd = foldlSent_ [S "If", (ch is_safe1), S "∧", (ch is_safe2), - sParen (S "from" +:+ (makeRef (reldefn t1SafetyReq)) - `sAnd` (makeRef (reldefn t2SafetyReq))), S "are true" `sC` + sParen (S "from" +:+ (makeRef (reldefn pbSafetyReq)) + `sAnd` (makeRef (reldefn lrSafetyReq))), S "are true" `sC` phrase cmd, S "the", phrase message, Quote (safeMessage ^. defn), S "If the", phrase condition, S "is false, then", phrase cmd, S "the", phrase message, Quote (notSafe ^. defn)] diff --git a/code/drasil-example/Drasil/GlassBR/DataDefs.hs b/code/drasil-example/Drasil/GlassBR/DataDefs.hs index 14f413d6d8..01fc0a0a3c 100644 --- a/code/drasil-example/Drasil/GlassBR/DataDefs.hs +++ b/code/drasil-example/Drasil/GlassBR/DataDefs.hs @@ -5,6 +5,7 @@ import Language.Drasil import Prelude hiding (log, exp, sqrt) import Drasil.DocLang (refA) +import Drasil.GlassBR.Concepts (annealed, fullyT, heatS) import Drasil.GlassBR.Unitals (actualThicknesses, aspectR, demand, dimlessLoad, gTF, glassTypeAbbrsStr, glassTypeFactors, glass_type, lDurFac, load_dur, mod_elas, nom_thick, nominalThicknesses, nonFactorL, pb_tol, @@ -115,7 +116,7 @@ glaTyFac = mkDataDef gTF glaTyFac_eq glaTyFacDD :: DataDefinition glaTyFacDD = mkDD glaTyFac [{-references-}] [{-derivation-}] ""--temporary - Nothing + (Just $ anGlass : ftGlass : hsGlass : []) --DD7-- @@ -185,18 +186,27 @@ aspRatDD = mkDD aspRat [{-references-}] [{-derivation-}] ""--temporary --Additional Notes-- aGrtrThanB :: Sentence -aGrtrThanB = ((ch plate_len) `sC` (ch plate_width) +:+ +aGrtrThanB = (ch plate_len `sC` ch plate_width +:+ S "are" +:+ plural dimension +:+ S "of the plate" `sC` S "where" +:+. sParen (E (sy plate_len $> sy plate_width))) +anGlass :: Sentence +anGlass = (getAcc annealed +:+ S "is" +:+ phrase annealed +:+ S "glass") + arRef :: Sentence arRef = (ch aspectR +:+ S "is the" +:+ phrase aspectR +:+. S "defined in DD11") +ftGlass :: Sentence +ftGlass = (getAcc fullyT +:+ S "is" +:+ phrase fullyT +:+ S "glass") + hRef :: Sentence hRef = (ch min_thick +:+ S "is the minimum thickness" `sC` S "which is based on the nominal thicknesses" +:+. S "as shown in DD2") +hsGlass :: Sentence +hsGlass = (getAcc heatS +:+ S "is" +:+ phrase heatS +:+ S "glass") + ldfRef :: Sentence ldfRef = (ch lDurFac +:+ S "is the" +:+ phrase lDurFac +:+. S "as defined by DD3") diff --git a/code/drasil-example/Drasil/GlassBR/TMods.hs b/code/drasil-example/Drasil/GlassBR/TMods.hs index 24ada8c38e..d40c2a0839 100644 --- a/code/drasil-example/Drasil/GlassBR/TMods.hs +++ b/code/drasil-example/Drasil/GlassBR/TMods.hs @@ -1,4 +1,4 @@ -module Drasil.GlassBR.TMods (tModels, t1SafetyReq, t2SafetyReq,t1IsSafe,t2IsSafe) where +module Drasil.GlassBR.TMods (tModels, pbSafetyReq, lrSafetyReq, pbIsSafe, lrIsSafe) where import Drasil.GlassBR.Unitals (demand, demandq, is_safe1, is_safe2, lRe, pb_tol, prob_br) @@ -13,48 +13,47 @@ import Data.Drasil.SentenceStructures (foldlSent, isThe, sAnd) {--} tModels :: [RelationConcept] -tModels = [t1SafetyReq, t2SafetyReq] +tModels = [pbSafetyReq, lrSafetyReq] -- FIXME: This is a hack to see if TheoryModel printing will work. This chunk -- needs to be updated properly. --- this is the new function but it still uses the t1SafetyReq, --- so basiclly we have to combine the old function with the new function +-- this is the new function but it still uses the pbSafetyReq, +-- so basically we have to combine the old function with the new function -t1IsSafe :: TheoryModel -t1IsSafe = tm' (cw t1SafetyReq) +pbIsSafe :: TheoryModel +pbIsSafe = tm' (cw pbSafetyReq) (tc' "isSafe" [qw is_safe1, qw prob_br, qw pb_tol] ([] :: [ConceptChunk]) [] [TCon Invariant $ (sy is_safe1) $= (sy prob_br) $< (sy pb_tol)] []) "isSafe" --shortname - [t1descr] + [pbSafeDescr] -t1SafetyReq :: RelationConcept -t1SafetyReq = makeRC "safetyReqPb" (nounPhraseSP "Safety Req-Pb") - t1descr ((sy is_safe1) $= (sy prob_br) $< (sy pb_tol)) +pbSafetyReq :: RelationConcept +pbSafetyReq = makeRC "safetyReqPb" (nounPhraseSP "Safety Req-Pb") + pbSafeDescr ((sy is_safe1) $= (sy prob_br) $< (sy pb_tol)) -t1descr :: Sentence -t1descr = tDescr (is_safe1) s ending +pbSafeDescr :: Sentence +pbSafeDescr = tDescr (is_safe1) s ending where s = (ch is_safe1) `sAnd` (ch is_safe2) +:+ sParen (S "from" +:+ - (ref t2SafetyReq)) + (ref lrSafetyReq)) ending = ((ch prob_br) `isThe` (phrase prob_br)) `sC` S "as calculated in" +:+. (ref probOfBr) +:+ (ch pb_tol) `isThe` (phrase pb_tol) +:+ S "entered by the user" - -t2IsSafe :: TheoryModel -t2IsSafe = tm' (cw t2SafetyReq) +lrIsSafe :: TheoryModel +lrIsSafe = tm' (cw lrSafetyReq) (tc' "isSafe2" [qw is_safe2, qw lRe, qw demand] ([] :: [ConceptChunk]) [] [TCon Invariant $ (sy is_safe2) $= (sy lRe) $> (sy demand)] []) "isSafe2" - [t2descr] + [lrSafeDescr] -t2SafetyReq :: RelationConcept -t2SafetyReq = makeRC "safetyReqLR" (nounPhraseSP "Safety Req-LR") - t2descr ( (sy is_safe2) $= (sy lRe) $> (sy demand)) +lrSafetyReq :: RelationConcept +lrSafetyReq = makeRC "safetyReqLR" (nounPhraseSP "Safety Req-LR") + lrSafeDescr ( (sy is_safe2) $= (sy lRe) $> (sy demand)) -t2descr :: Sentence -t2descr = tDescr (is_safe2) s ending +lrSafeDescr :: Sentence +lrSafeDescr = tDescr (is_safe2) s ending where s = ((ch is_safe1) +:+ sParen (S "from" +:+ (makeRef ((Definition . Theory) - t1SafetyReq))) `sAnd` (ch is_safe2)) + pbSafetyReq))) `sAnd` (ch is_safe2)) ending = (short lResistance) `isThe` (phrase lResistance) +:+ sParen (S "also called capacity") `sC` S "as defined in" +:+. (ref calOfCap) +:+ (ch demand) +:+ sParen (S "also referred as the" +:+ diff --git a/code/stable/glassbr/SRS/GlassBR_SRS.tex b/code/stable/glassbr/SRS/GlassBR_SRS.tex index 520fe41594..3fc3444bda 100644 --- a/code/stable/glassbr/SRS/GlassBR_SRS.tex +++ b/code/stable/glassbr/SRS/GlassBR_SRS.tex @@ -612,6 +612,10 @@ \subsubsection{Data Definitions} \item{$g$ is the glass type $g\in{}\{AN,FT,HS\}$ (Unitless)} \end{symbDescription} \\ \midrule \\ +Notes & AN is annealed glass + FT is fully tempered glass + HS is heat strengthened glass +\\ \midrule \\ Source & \\ \midrule \\ RefBy & FIXME: This needs to be filled in diff --git a/code/stable/glassbr/Website/GlassBR_SRS.html b/code/stable/glassbr/Website/GlassBR_SRS.html index 37939ff82f..ed163db25d 100644 --- a/code/stable/glassbr/Website/GlassBR_SRS.html +++ b/code/stable/glassbr/Website/GlassBR_SRS.html @@ -1993,6 +1993,22 @@
+ +Notes + ++ ++AN is annealed glass +
++FT is fully tempered glass +
++HS is heat strengthened glass +
++ Source From c34b88e9d1ec8716f2fcdadea15863fce71fe149 Mon Sep 17 00:00:00 2001 From: Yuzhi Zhao Date: Mon, 23 Jul 2018 19:56:09 -0400 Subject: [PATCH 5/7] Symbol Sorting (#896) * A new function for sorting symbols. * Fix the bug in sorting symbols. * Fix stable of SWHS. * Fix stable in GamePhysics. * Fix stable in SSP. * Fix stable in NoPCM. * Fix stable in GlassBR. * More change. * More changes. * Fix errors. * Sorting symbol becomes case sensitive. * Remove extra spaces. --- code/drasil-lang/Language/Drasil/Symbol.hs | 99 +++++++++---- code/stable/gamephys/SRS/Chipmunk_SRS.tex | 8 +- .../stable/gamephys/Website/Chipmunk_SRS.html | 34 ++--- code/stable/glassbr/SRS/GlassBR_SRS.tex | 6 +- code/stable/glassbr/Website/GlassBR_SRS.html | 20 +-- code/stable/nopcm/SRS/NoPCM_SRS.tex | 6 +- code/stable/nopcm/Website/NoPCM_SRS.html | 12 +- code/stable/ssp/SRS/SSP_SRS.tex | 28 ++-- code/stable/ssp/Website/SSP_SRS.html | 92 ++++++------ code/stable/swhs/SRS/SWHS_SRS.tex | 38 ++--- code/stable/swhs/Website/SWHS_SRS.html | 132 +++++++++--------- code/stable/tiny/SRS/Tiny_SRS.tex | 4 +- code/stable/tiny/Website/Tiny_SRS.html | 8 +- 13 files changed, 269 insertions(+), 218 deletions(-) diff --git a/code/drasil-lang/Language/Drasil/Symbol.hs b/code/drasil-lang/Language/Drasil/Symbol.hs index 147e004a58..3cc8cabdfe 100644 --- a/code/drasil-lang/Language/Drasil/Symbol.hs +++ b/code/drasil-lang/Language/Drasil/Symbol.hs @@ -2,7 +2,7 @@ -- gets rendered as a (unique) symbol. This is actually NOT based on -- semantics at all, but just a description of how things look. -module Language.Drasil.Symbol(Decoration(..), Symbol(..), compsy, +module Language.Drasil.Symbol(Decoration(..), Symbol(..), compsy, upper_left, sub, sup, hat, vec, prime, sCurlyBrSymb, Stage(..)) where import Language.Drasil.Unicode (Special(CurlyBrClose, CurlyBrOpen)) @@ -47,35 +47,86 @@ complsy _ [] = GT complsy (x : xs) (y : ys) = compsy x y `mappend` complsy xs ys compsy :: Symbol -> Symbol -> Ordering -compsy (Concat (x:[])) (Concat (y:[])) = compsy x y -compsy (Concat (Atomic "Δ":xs)) b = compsy (Concat xs) b -compsy a (Concat (Atomic "Δ":ys)) = compsy a (Concat ys) -compsy (Concat (x:xs)) (Concat (y:ys)) = --The above two lines ensure symbols like "x" and "delta x" stay together +compsy (Concat (x:[])) (Concat (y:[])) = compsy x y +compsy (Concat (Atomic "Δ":(Atomic x):xs)) (Atomic y) = + case compare (map toLower x) (map toLower y) of + EQ -> GT + other -> other +compsy (Concat (Atomic "Δ":x:xs)) y = + case compsy x y of + EQ -> GT + other -> other +compsy (Atomic x) (Concat (Atomic "Δ":(Atomic y):ys)) = + case compare (map toLower x) (map toLower y) of + EQ -> LT + other -> other +compsy a (Concat (Atomic "Δ":y:ys)) = + case compsy a y of + EQ -> LT + other -> other +compsy (Concat (x:xs)) (Concat (y:ys)) = compsy x y `mappend` complsy xs ys -compsy (Concat a) b = complsy a [b] -compsy b (Concat a) = complsy [b] a -compsy (Corners _ _ ur lr b) (Corners _ _ u' l' b') = +compsy (Concat a) b = complsy a [b] +compsy b (Concat a) = complsy [b] a +compsy (Corners _ _ u l (Atomic b)) (Corners _ _ u' l' (Atomic b')) = + case compare (map toLower b) (map toLower b') of + EQ -> case complsy l l' of + EQ -> complsy u u' + other -> other + other -> other +compsy (Corners _ _ u l b) (Corners _ _ u' l' b') = case compsy b b' of - EQ -> case complsy lr l' of - EQ -> complsy ur u' - other -> other + EQ -> case complsy l l' of + EQ -> complsy u u' + other -> other other -> other -compsy (Corners _ _ _ _ a) b = compsy a b -compsy b (Corners _ _ _ _ a) = compsy b a -compsy (Atop d1 a) (Atop d2 a') = +compsy (Atomic a) (Corners _ _ _ _ (Atomic b)) = + case compare a b of + EQ -> LT + other -> case compare (map toLower a) (map toLower b) of + EQ -> LT + other -> other +compsy (Corners _ _ _ _ (Atomic b)) (Atomic a) = + case compare b a of + EQ -> GT + other -> case compare (map toLower b) (map toLower a) of + EQ -> GT + other -> other +compsy (Corners _ _ _ _ b) a = compsy b a +compsy a (Corners _ _ _ _ b) = compsy a b +compsy (Atop d1 a) (Atop d2 a') = case compsy a a' of EQ -> compare d1 d2 other -> other -compsy (Atop _ a) b = compsy a b -compsy b (Atop _ a) = compsy b a -compsy (Atomic x) (Atomic y) = - compare (map toLower x) (map toLower y) -compsy (Special a) (Special b) = compare a b -compsy (Special _) _ = LT -compsy _ (Special _) = GT -compsy (Atomic _) _ = LT -compsy _ (Atomic _) = GT -compsy Empty Empty = EQ +compsy (Atomic a) (Atop _ (Atomic b)) = + case compare a b of + EQ -> LT + other -> case compare (map toLower a) (map toLower b) of + EQ -> LT + other -> other +compsy (Atop _ (Atomic b)) (Atomic a) = + case compare b a of + EQ -> GT + other -> case compare (map toLower b) (map toLower a) of + EQ -> GT + other -> other +compsy (Atop _ a) b = compsy a b +compsy b (Atop _ a) = compsy b a +compsy (Special a) (Special b) = compare a b +compsy _ (Special _) = GT +compsy (Special _) _ = LT +compsy (Atomic x) (Atomic y) = + case compare (map toLower x) (map toLower y) of + EQ -> compare x y + other -> other +compsy (Atomic _) _ = LT +compsy _ (Atomic _) = GT +compsy Empty Empty = EQ + + + + + -- | Helper for creating a symbol with a superscript on the left side of the symbol. -- Arguments: Base symbol, then superscripted symbol. diff --git a/code/stable/gamephys/SRS/Chipmunk_SRS.tex b/code/stable/gamephys/SRS/Chipmunk_SRS.tex index 012a267044..3386d9184f 100644 --- a/code/stable/gamephys/SRS/Chipmunk_SRS.tex +++ b/code/stable/gamephys/SRS/Chipmunk_SRS.tex @@ -91,6 +91,8 @@ \subsection{Table of Symbols} \\ $L$ & Length & m \\ +$M$ & Total Mass of the Rigid Body & kg +\\ $m$ & Mass & kg \\ ${m_{1}}$ & Mass of the first body & kg @@ -103,8 +105,6 @@ \subsection{Table of Symbols} \\ ${m_{j}}$ & Mass Of the J-Th Particle & kg \\ -$M$ & Total Mass of the Rigid Body & kg -\\ $\mathbf{n}$ & Collision Normal Vector & m \\ $\mathbf{p}$ & Position & m @@ -115,12 +115,12 @@ \subsection{Table of Symbols} \\ $\mathbf{r}$ & Displacement & m \\ -$\mathbf{\hat{r}}$ & Displacement unit vector & m -\\ ${\mathbf{r}_{OB}}$ & Displacement vector between the origin and point B & m \\ $\mathbf{r}(t)$ & Linear Displacement & m \\ +$\mathbf{\hat{r}}$ & Displacement unit vector & m +\\ $t$ & Time & s \\ ${t_{c}}$ & Denotes the time at collision & s diff --git a/code/stable/gamephys/Website/Chipmunk_SRS.html b/code/stable/gamephys/Website/Chipmunk_SRS.html index 2e934c0889..ffcd848fb0 100644 --- a/code/stable/gamephys/Website/Chipmunk_SRS.html +++ b/code/stable/gamephys/Website/Chipmunk_SRS.html @@ -277,6 +277,17 @@
+ +M + ++Total Mass of the Rigid Body + ++kg + ++ m @@ -343,17 +354,6 @@
- -M - --Total Mass of the Rigid Body - --kg - -- n @@ -409,10 +409,10 @@
-r̂ +rOB -Displacement unit vector +Displacement vector between the origin and point B m @@ -420,10 +420,10 @@
-rOB +r(t) -Displacement vector between the origin and point B +Linear Displacement m @@ -431,10 +431,10 @@
-r(t) +r̂ -Linear Displacement +Displacement unit vector m diff --git a/code/stable/glassbr/SRS/GlassBR_SRS.tex b/code/stable/glassbr/SRS/GlassBR_SRS.tex index 3fc3444bda..561ba5b6c5 100644 --- a/code/stable/glassbr/SRS/GlassBR_SRS.tex +++ b/code/stable/glassbr/SRS/GlassBR_SRS.tex @@ -69,14 +69,14 @@ \subsection{Table of Symbols} \midrule $a$ & Plate length (long dimension) & m \\ -${AR_{max}}$ & Maximum aspect ratio & -- -\\ $AR$ & Aspect ratio & -- \\ -$b$ & Plate width (short dimension) & m +${AR_{max}}$ & Maximum aspect ratio & -- \\ $B$ & Risk of failure & -- \\ +$b$ & Plate width (short dimension) & m +\\ ${d_{max}}$ & Maximum value for one of the dimensions of the glass plate & mm \\ ${d_{min}}$ & Minimum value for one of the dimensions of the glass plate & mm diff --git a/code/stable/glassbr/Website/GlassBR_SRS.html b/code/stable/glassbr/Website/GlassBR_SRS.html index ed163db25d..c1dc1b5488 100644 --- a/code/stable/glassbr/Website/GlassBR_SRS.html +++ b/code/stable/glassbr/Website/GlassBR_SRS.html @@ -123,10 +123,10 @@
-ARmax +AR -Maximum aspect ratio +Aspect ratio -- @@ -134,10 +134,10 @@
-AR +ARmax -Aspect ratio +Maximum aspect ratio -- @@ -145,24 +145,24 @@
-b +B -Plate width (short dimension) +Risk of failure -m +-- -B +b -Risk of failure +Plate width (short dimension) --- +m diff --git a/code/stable/nopcm/SRS/NoPCM_SRS.tex b/code/stable/nopcm/SRS/NoPCM_SRS.tex index 6311e22f4a..2e332f2526 100644 --- a/code/stable/nopcm/SRS/NoPCM_SRS.tex +++ b/code/stable/nopcm/SRS/NoPCM_SRS.tex @@ -95,15 +95,15 @@ \subsection{Table of Symbols} \\ $\mathbf{\hat{n}}$ & Normal Vector & -- \\ -${q_{C}}$ & Heat flux into the water from the coil & $\frac{\text{W}}{\text{m}^{2}}$ +$q$ & Heat flux & $\frac{\text{W}}{\text{m}^{2}}$ \\ -$\mathbf{q}$ & Thermal flux vector & $\frac{\text{W}}{\text{m}^{2}}$ +${q_{C}}$ & Heat flux into the water from the coil & $\frac{\text{W}}{\text{m}^{2}}$ \\ ${q_{in}}$ & Heat flux input & $\frac{\text{W}}{\text{m}^{2}}$ \\ ${q_{out}}$ & Heat flux output & $\frac{\text{W}}{\text{m}^{2}}$ \\ -$q$ & Heat flux & $\frac{\text{W}}{\text{m}^{2}}$ +$\mathbf{q}$ & Thermal flux vector & $\frac{\text{W}}{\text{m}^{2}}$ \\ $S$ & Surface & $\text{m}^{2}$ \\ diff --git a/code/stable/nopcm/Website/NoPCM_SRS.html b/code/stable/nopcm/Website/NoPCM_SRS.html index 25df3b4498..40f1b6b56e 100644 --- a/code/stable/nopcm/Website/NoPCM_SRS.html +++ b/code/stable/nopcm/Website/NoPCM_SRS.html @@ -274,10 +274,10 @@
-qC +q -Heat flux into the water from the coil +Heat flux W/m2 @@ -285,10 +285,10 @@
-q +qC -Thermal flux vector +Heat flux into the water from the coil W/m2 @@ -318,10 +318,10 @@
-q +q -Heat flux +Thermal flux vector W/m2 diff --git a/code/stable/ssp/SRS/SSP_SRS.tex b/code/stable/ssp/SRS/SSP_SRS.tex index 600bc612d5..60eba3fd05 100644 --- a/code/stable/ssp/SRS/SSP_SRS.tex +++ b/code/stable/ssp/SRS/SSP_SRS.tex @@ -67,28 +67,28 @@ \subsection{Table of Symbols} \\ $(x,y)$ & Cartesian Position Coordinates: y is considered parallel to the direction of the force of gravity and x is considered perpendicular to y & m \\ -$a$ & Constant: FIXME: missing description & m -\\ $A$ & Constant: FIXME: missing description & m \\ -$b$ & Base Width of a Slice: in the x-ordinate direction only for slice index i & m +$a$ & Constant: FIXME: missing description & m \\ -$c'$ & Effective Cohesion: internal pressure that sticks particles of soil together & Pa +$b$ & Base Width of a Slice: in the x-ordinate direction only for slice index i & m \\ ${C1_{i}}$ & Interslice Normal Force Function: the normal force at the interslice interface for slice i & Nm \\ ${C2_{i}}$ & Interslice Shear Force Function: the shear force at the interslice interface for slice i & Nm \\ +$c'$ & Effective Cohesion: internal pressure that sticks particles of soil together & Pa +\\ $E$ & Elastic Modulus: The ratio of the stress exerted on a body to the resulting strain. & Pa \\ +$F$ & Force: An interaction that tends to produce change in the motion of an object & N +\\ $f$ & Scaling Function: magnitude of interslice forces as a function of the x coordinatefor interslice index i; can be constant or a half-sine & -- \\ ${F_{x}}$ & X-Component of the Net Force: & N \\ ${F_{y}}$ & Y-Component of the Net Force: & N \\ -$F$ & Force: An interaction that tends to produce change in the motion of an object & N -\\ $FS$ & Factor of Safety: The global stability of a surface in a slope & -- \\ ${FS_{Loc,i}}$ & Local Factor of Safety: for slice index i & -- @@ -123,10 +123,10 @@ \subsection{Table of Symbols} \\ $M$ & Moment: a measure of the tendency of a body to rotate about a specific point or axis & Nm \\ -$n$ & Number of Slices: the slip mass has been divided into & -- -\\ $N$ & Normal Force: total reactive force for a soil surface subject to a body resting on it & N \\ +$n$ & Number of Slices: the slip mass has been divided into & -- +\\ $N'$ & Effective Normal Force: for a soil surface, subtracting pore water reactive force from total reactive force & N \\ $N*$ & Effective Normal Force: for a soil surface, without the influence of interslice forces & N @@ -149,20 +149,20 @@ \subsection{Table of Symbols} \\ $T$ & Mobilized Shear Force: without the influence of interslice forces for slice index i & N \\ +$u$ & Local Index: used as a bound variable index in calculations & -- +\\ ${U_{b}}$ & Base Hydrostatic Force: from water pressure within the slice for slice index i & N \\ ${U_{t}}$ & Surface Hydrostatic Force: from water pressure acting into the slice from standing water on the slope surface for slice index i & N \\ -$u$ & Local Index: used as a bound variable index in calculations & -- -\\ $v$ & Local Index: used as a bound variable index in calculations & -- \\ $W$ & Weight: downward force caused by gravity on slice i & N \\ -$x$ & X Ordinate: refers to either slice i midpoint, or slice interface i & m -\\ $X$ & Interslice Shear Force: exerted between adjacent slices for interslice index i & N \\ +$x$ & X Ordinate: refers to either slice i midpoint, or slice interface i & m +\\ ${x_{slip}}$ & X Ordinate: distance of the slip surface at i, refers to either slice i midpoint, or slice interface i & m \\ ${x_{us}}$ & X Ordinate: distance of the edge of the slope at i, refers to either slice i midpoint, or slice interface i & m @@ -217,10 +217,10 @@ \subsection{Table of Symbols} \\ $Υ$ & Function: generic minimization function or algorithm & -- \\ -$φ'$ & Effective Angle of Friction: The angle of inclination with respect to the horizontal axis of the Mohr-Coulomb shear resistance line & ${}^{\circ}$ -\\ $Φ$ & Constant: converts resistive shear without the influence of interslice forces, to a calculation considering the interslice forces & N \\ +$φ'$ & Effective Angle of Friction: The angle of inclination with respect to the horizontal axis of the Mohr-Coulomb shear resistance line & ${}^{\circ}$ +\\ $Ψ$ & Constant: converts mobile shear without the influence of interslice forces, to a calculation considering the interslice forces & N \\ $ω$ & Angle: of imposed surface load acting into the surface relative to the vertical for slice index i & ${}^{\circ}$ diff --git a/code/stable/ssp/Website/SSP_SRS.html b/code/stable/ssp/Website/SSP_SRS.html index 77ada7b23b..debaa6419f 100644 --- a/code/stable/ssp/Website/SSP_SRS.html +++ b/code/stable/ssp/Website/SSP_SRS.html @@ -126,7 +126,7 @@
-a +A Constant: FIXME: missing description @@ -137,7 +137,7 @@
-A +a Constant: FIXME: missing description @@ -159,21 +159,21 @@
-c′ +C1i -Effective Cohesion: internal pressure that sticks particles of soil together +Interslice Normal Force Function: the normal force at the interslice interface for slice i -Pa +N⋅m -C1i +C2i -Interslice Normal Force Function: the normal force at the interslice interface for slice i +Interslice Shear Force Function: the shear force at the interslice interface for slice i N⋅m @@ -181,13 +181,13 @@
-C2i +c′ -Interslice Shear Force Function: the shear force at the interslice interface for slice i +Effective Cohesion: internal pressure that sticks particles of soil together -N⋅m +Pa @@ -203,32 +203,32 @@
-f +F -Scaling Function: magnitude of interslice forces as a function of the x coordinatefor interslice index i; can be constant or a half-sine +Force: An interaction that tends to produce change in the motion of an object --- +N -Fx +f -X-Component of the Net Force: +Scaling Function: magnitude of interslice forces as a function of the x coordinatefor interslice index i; can be constant or a half-sine -N +-- -Fy +Fx -Y-Component of the Net Force: +X-Component of the Net Force: N @@ -236,10 +236,10 @@
-F +Fy -Force: An interaction that tends to produce change in the motion of an object +Y-Component of the Net Force: N @@ -434,24 +434,24 @@
-n +N -Number of Slices: the slip mass has been divided into +Normal Force: total reactive force for a soil surface subject to a body resting on it --- +N -N +n -Normal Force: total reactive force for a soil surface subject to a body resting on it +Number of Slices: the slip mass has been divided into -N +-- @@ -577,21 +577,21 @@
-Ub +u -Base Hydrostatic Force: from water pressure within the slice for slice index i +Local Index: used as a bound variable index in calculations -N +-- -Ut +Ub -Surface Hydrostatic Force: from water pressure acting into the slice from standing water on the slope surface for slice index i +Base Hydrostatic Force: from water pressure within the slice for slice index i N @@ -599,13 +599,13 @@
-u +Ut -Local Index: used as a bound variable index in calculations +Surface Hydrostatic Force: from water pressure acting into the slice from standing water on the slope surface for slice index i --- +N @@ -632,24 +632,24 @@
-x +X -X Ordinate: refers to either slice i midpoint, or slice interface i +Interslice Shear Force: exerted between adjacent slices for interslice index i -m +N -X +x -Interslice Shear Force: exerted between adjacent slices for interslice index i +X Ordinate: refers to either slice i midpoint, or slice interface i -N +m @@ -951,24 +951,24 @@
-φ′ +Φ -Effective Angle of Friction: The angle of inclination with respect to the horizontal axis of the Mohr-Coulomb shear resistance line +Constant: converts resistive shear without the influence of interslice forces, to a calculation considering the interslice forces -° +N -Φ +φ′ -Constant: converts resistive shear without the influence of interslice forces, to a calculation considering the interslice forces +Effective Angle of Friction: The angle of inclination with respect to the horizontal axis of the Mohr-Coulomb shear resistance line -N +° diff --git a/code/stable/swhs/SRS/SWHS_SRS.tex b/code/stable/swhs/SRS/SWHS_SRS.tex index 24e7d79af3..300c5ff0e0 100644 --- a/code/stable/swhs/SRS/SWHS_SRS.tex +++ b/code/stable/swhs/SRS/SWHS_SRS.tex @@ -81,26 +81,26 @@ \subsection{Table of Symbols} \\ ${C^{L}}$ & Specific heat capacity of a liquid & $\frac{\text{J}}{(\text{kg}{}^{\circ}\text{C})}$ \\ -${{C_{P}}^{L}}$ & Specific heat capacity of PCM as a liquid & $\frac{\text{J}}{(\text{kg}{}^{\circ}\text{C})}$ -\\ ${C^{S}}$ & Specific heat capacity of a solid & $\frac{\text{J}}{(\text{kg}{}^{\circ}\text{C})}$ \\ -${{C_{P}}^{S}}$ & Specific heat capacity of PCM as a solid & $\frac{\text{J}}{(\text{kg}{}^{\circ}\text{C})}$ -\\ ${C^{V}}$ & Specific heat capacity of a vapour & $\frac{\text{J}}{(\text{kg}{}^{\circ}\text{C})}$ \\ ${C_{W}}$ & Specific heat capacity of water & $\frac{\text{J}}{(\text{kg}{}^{\circ}\text{C})}$ \\ +${{C_{P}}^{L}}$ & Specific heat capacity of PCM as a liquid & $\frac{\text{J}}{(\text{kg}{}^{\circ}\text{C})}$ +\\ +${{C_{P}}^{S}}$ & Specific heat capacity of PCM as a solid & $\frac{\text{J}}{(\text{kg}{}^{\circ}\text{C})}$ +\\ $D$ & Diameter of tank & m \\ $E$ & Sensible heat & J \\ -${{{E_{P}}_{melt}}^{init}}$ & Change in heat energy in the PCM at the instant when melting begins & J -\\ ${E_{P}}$ & Change in heat energy in the PCM & J \\ ${E_{W}}$ & Change in heat energy in the water & J \\ +${{{E_{P}}_{melt}}^{init}}$ & Change in heat energy in the PCM at the instant when melting begins & J +\\ $g$ & Volumetric heat generation per unit volume & $\frac{\text{W}}{\text{m}^{3}}$ \\ $h$ & Convective heat transfer coefficient & $\frac{\text{W}}{(\text{m}^{2}{}^{\circ}\text{C})}$ @@ -123,6 +123,10 @@ \subsection{Table of Symbols} \\ $\mathbf{\hat{n}}$ & Unit outward normal vector for a surface & -- \\ +$Q$ & Latent heat & J +\\ +$q$ & Heat flux & $\frac{\text{W}}{\text{m}^{2}}$ +\\ ${q_{C}}$ & Heat flux into the water from the coil & $\frac{\text{W}}{\text{m}^{2}}$ \\ ${q_{in}}$ & Heat flux input & $\frac{\text{W}}{\text{m}^{2}}$ @@ -131,13 +135,9 @@ \subsection{Table of Symbols} \\ ${q_{P}}$ & Heat flux into the PCM from water & $\frac{\text{W}}{\text{m}^{2}}$ \\ -$\mathbf{q}$ & Thermal flux vector & $\frac{\text{W}}{\text{m}^{2}}$ -\\ -$Q$ & Latent heat & J -\\ ${Q_{P}}$ & Latent heat energy added to PCM & J \\ -$q$ & Heat flux & $\frac{\text{W}}{\text{m}^{2}}$ +$\mathbf{q}$ & Thermal flux vector & $\frac{\text{W}}{\text{m}^{2}}$ \\ $S$ & Surface & $\text{m}^{2}$ \\ @@ -147,12 +147,6 @@ \subsection{Table of Symbols} \\ $ΔT$ & Change in temperature & ${}^{\circ}$C \\ -${{t_{melt}}^{final}}$ & Time at which melting of PCM ends & s -\\ -${{t_{melt}}^{init}}$ & Time at which melting of PCM begins & s -\\ -${{T_{melt}}^{P}}$ & Melting point temperature for PCM & ${}^{\circ}$C -\\ ${T_{boil}}$ & Boiling point temperature & ${}^{\circ}$C \\ ${T_{C}}$ & Temperature of the heating coil & ${}^{\circ}$C @@ -169,6 +163,12 @@ \subsection{Table of Symbols} \\ ${T_{W}}$ & Temperature of the water & ${}^{\circ}$C \\ +${{t_{melt}}^{final}}$ & Time at which melting of PCM ends & s +\\ +${{t_{melt}}^{init}}$ & Time at which melting of PCM begins & s +\\ +${{T_{melt}}^{P}}$ & Melting point temperature for PCM & ${}^{\circ}$C +\\ $V$ & Volume & $\text{m}^{3}$ \\ ${V_{P}}$ & Volume of PCM & $\text{m}^{3}$ @@ -187,12 +187,12 @@ \subsection{Table of Symbols} \\ $τ$ & Dummy variable for integration over time & s \\ +${τ_{W}}$ & ODE parameter for water & s +\\ ${{τ_{P}}^{L}}$ & ODE parameter for liquid PCM & s \\ ${{τ_{P}}^{S}}$ & ODE parameter for solid PCM & s \\ -${τ_{W}}$ & ODE parameter for water & s -\\ $ϕ$ & Melt fraction & -- \\ $∇$ & Gradient & -- diff --git a/code/stable/swhs/Website/SWHS_SRS.html b/code/stable/swhs/Website/SWHS_SRS.html index ac2dddefdc..d947686886 100644 --- a/code/stable/swhs/Website/SWHS_SRS.html +++ b/code/stable/swhs/Website/SWHS_SRS.html @@ -186,10 +186,10 @@
-CPL +CS -Specific heat capacity of PCM as a liquid +Specific heat capacity of a solid J/(kg⋅°C) @@ -197,10 +197,10 @@
-CS +CV -Specific heat capacity of a solid +Specific heat capacity of a vapour J/(kg⋅°C) @@ -208,10 +208,10 @@
-CPS +CW -Specific heat capacity of PCM as a solid +Specific heat capacity of water J/(kg⋅°C) @@ -219,10 +219,10 @@
-CV +CPL -Specific heat capacity of a vapour +Specific heat capacity of PCM as a liquid J/(kg⋅°C) @@ -230,10 +230,10 @@
-CW +CPS -Specific heat capacity of water +Specific heat capacity of PCM as a solid J/(kg⋅°C) @@ -263,10 +263,10 @@
-EPmeltinit +EP -Change in heat energy in the PCM at the instant when melting begins +Change in heat energy in the PCM J @@ -274,10 +274,10 @@
-EP +EW -Change in heat energy in the PCM +Change in heat energy in the water J @@ -285,10 +285,10 @@
-EW +EPmeltinit -Change in heat energy in the water +Change in heat energy in the PCM at the instant when melting begins J @@ -417,21 +417,21 @@
-qC +Q -Heat flux into the water from the coil +Latent heat -W/m2 +J -qin +q -Heat flux input +Heat flux W/m2 @@ -439,10 +439,10 @@
-qout +qC -Heat flux output +Heat flux into the water from the coil W/m2 @@ -450,10 +450,10 @@
-qP +qin -Heat flux into the PCM from water +Heat flux input W/m2 @@ -461,10 +461,10 @@
-q +qout -Thermal flux vector +Heat flux output W/m2 @@ -472,13 +472,13 @@
-Q +qP -Latent heat +Heat flux into the PCM from water -J +W/m2 @@ -494,10 +494,10 @@
-q +q -Heat flux +Thermal flux vector W/m2 @@ -549,32 +549,32 @@
-tmeltfinal +Tboil -Time at which melting of PCM ends +Boiling point temperature -s +°C -tmeltinit +TC -Time at which melting of PCM begins +Temperature of the heating coil -s +°C -TmeltP +Tenv -Melting point temperature for PCM +Temperature of the environment °C @@ -582,21 +582,21 @@
-Tboil +tfinal -Boiling point temperature +Final time -°C +s -TC +Tinit -Temperature of the heating coil +Initial temperature °C @@ -604,10 +604,10 @@
-Tenv +Tmelt -Temperature of the environment +Melting point temperature °C @@ -615,21 +615,21 @@
-tfinal +TP -Final time +Temperature of the phase change material -s +°C -Tinit +TW -Initial temperature +Temperature of the water °C @@ -637,32 +637,32 @@
-Tmelt +tmeltfinal -Melting point temperature +Time at which melting of PCM ends -°C +s -TP +tmeltinit -Temperature of the phase change material +Time at which melting of PCM begins -°C +s -TW +TmeltP -Temperature of the water +Melting point temperature for PCM °C @@ -769,10 +769,10 @@
-τPL +τW -ODE parameter for liquid PCM +ODE parameter for water s @@ -780,10 +780,10 @@
-τPS +τPL -ODE parameter for solid PCM +ODE parameter for liquid PCM s @@ -791,10 +791,10 @@
-τW +τPS -ODE parameter for water +ODE parameter for solid PCM s diff --git a/code/stable/tiny/SRS/Tiny_SRS.tex b/code/stable/tiny/SRS/Tiny_SRS.tex index e64c9a383e..e5eb1cd66f 100644 --- a/code/stable/tiny/SRS/Tiny_SRS.tex +++ b/code/stable/tiny/SRS/Tiny_SRS.tex @@ -83,10 +83,10 @@ \subsection{Table of Units} \\ rad & angle (radian) \\ -s & time (second) -\\ S & conductance (siemens) \\ +s & time (second) +\\ sr & solid angle (steradian) \\ Sv & dose equivalent (sievert) diff --git a/code/stable/tiny/Website/Tiny_SRS.html b/code/stable/tiny/Website/Tiny_SRS.html index af4c113790..a3606defca 100644 --- a/code/stable/tiny/Website/Tiny_SRS.html +++ b/code/stable/tiny/Website/Tiny_SRS.html @@ -247,18 +247,18 @@
-s +S -time (second) +conductance (siemens) -S +s -conductance (siemens) +time (second) From 18184c2bf99b5ff856e272a7e2d63c9665e85390 Mon Sep 17 00:00:00 2001 From: Sam Crawford <35857611+samm82@users.noreply.github.com> Date: Mon, 23 Jul 2018 20:02:35 -0400 Subject: [PATCH 6/7] Removed "program" from the Title of GlassBR (#937) * Retrieved stash from previous work (very broken) * Removed unused glassBRProg (kept it in a comment) * Reformatted intro_ and removed sys as a parameter as per #818 * Updated stable - closes #818 --- .../drasil-docLang/Drasil/DocumentLanguage.hs | 2 +- .../Sections/SpecificSystemDescription.hs | 19 +++++++++---------- .../drasil-example/Drasil/GamePhysics/Body.hs | 2 +- code/drasil-example/Drasil/GlassBR/Body.hs | 6 +++--- .../drasil-example/Drasil/GlassBR/Concepts.hs | 4 ++-- code/stable/gamephys/SRS/Chipmunk_SRS.tex | 4 ++-- .../stable/gamephys/Website/Chipmunk_SRS.html | 2 +- code/stable/glassbr/SRS/GlassBR_SRS.tex | 8 ++++---- code/stable/glassbr/Website/GlassBR_SRS.html | 6 +++--- code/stable/nopcm/SRS/NoPCM_SRS.tex | 2 +- code/stable/nopcm/Website/NoPCM_SRS.html | 2 +- code/stable/ssp/SRS/SSP_SRS.tex | 4 ++-- code/stable/ssp/Website/SSP_SRS.html | 2 +- code/stable/swhs/SRS/SWHS_SRS.tex | 2 +- code/stable/swhs/Website/SWHS_SRS.html | 2 +- 15 files changed, 33 insertions(+), 34 deletions(-) diff --git a/code/drasil-docLang/Drasil/DocumentLanguage.hs b/code/drasil-docLang/Drasil/DocumentLanguage.hs index 071fe38656..40c96d21dd 100644 --- a/code/drasil-docLang/Drasil/DocumentLanguage.hs +++ b/code/drasil-docLang/Drasil/DocumentLanguage.hs @@ -424,7 +424,7 @@ mkScpOfProjSec (ScpOfProjProg kWrd uCTCntnts indCases) = mkSSDSec :: SystemInformation -> SSDSec -> Section mkSSDSec _ (SSDVerb s) = s mkSSDSec si (SSDProg l) = - SSD.specSysDescr (siSys si) $ map (mkSubSSD si) l + SSD.specSysDescr $ map (mkSubSSD si) l where mkSubSSD :: SystemInformation -> SSDSub -> Section mkSubSSD _ (SSDSubVerb s) = s diff --git a/code/drasil-docLang/Drasil/Sections/SpecificSystemDescription.hs b/code/drasil-docLang/Drasil/Sections/SpecificSystemDescription.hs index 604842c254..9130d80567 100644 --- a/code/drasil-docLang/Drasil/Sections/SpecificSystemDescription.hs +++ b/code/drasil-docLang/Drasil/Sections/SpecificSystemDescription.hs @@ -20,8 +20,8 @@ import Language.Drasil import Data.Drasil.Concepts.Documentation (physical, column, input_, uncertainty, physicalConstraint, softwareConstraint, typUnc, user, model, value, quantity, information, constraint, variable, output_, symbol_, limitation, problem, inModel, datum, datumConstraint, section_, dataDefn, - general, genDefn, assumption, thModel, physicalSystem, - likelyChg, unlikelyChg, goalStmt, purpose, requirement, element) + general, genDefn, assumption, thModel, physicalSystem, problemDescription, solutionCharacteristic, + likelyChg, unlikelyChg, goalStmt, purpose, requirement, element, specification) import Data.Drasil.Concepts.Math (equation) import Data.Drasil.Concepts.Software (program) import Data.Drasil.Utils (foldle, fmtU, getRVal) @@ -33,17 +33,16 @@ import qualified Drasil.DocLang.SRS as SRS -- | Specific System description section builder. Takes the system and subsections. -specSysDescr :: (NamedIdea a) => a -> [Section] -> Section -specSysDescr sys subs = SRS.specSysDes [intro_ sys] subs +specSysDescr :: [Section] -> Section +specSysDescr subs = SRS.specSysDes [intro_] subs -- FIXME: this all should be broken down and mostly generated. -- Generates an introduction based on the system. -intro_ :: (NamedIdea a) => a -> Contents -intro_ sys = Paragraph $ S "This section first presents the problem" +:+ - S "description, which gives a high-level view of the problem to be" +:+ - S "solved. This is followed by the solution characteristics" +:+ - S "specification, which presents the assumptions" `sC` - S "theories, and definitions that are used for the" +:+. (phrase sys) +intro_ :: Contents +intro_ = Paragraph $ foldlSent [S "This", phrase section_, S "first presents the", + phrase problemDescription `sC` S "which gives a high-level view of the", phrase problem, + S "to be solved. This is followed by the", plural solutionCharacteristic, phrase specification `sC` + S "which presents the", foldlList (map S ["assumptions", "theories", "definitions"]), S "that are used"] --Up to change, decide on what ending sentence structure we would like to employ --Using Verbatim for now. diff --git a/code/drasil-example/Drasil/GamePhysics/Body.hs b/code/drasil-example/Drasil/GamePhysics/Body.hs index 58be06ac13..d33b60327d 100644 --- a/code/drasil-example/Drasil/GamePhysics/Body.hs +++ b/code/drasil-example/Drasil/GamePhysics/Body.hs @@ -332,7 +332,7 @@ systemConstraintSect = sSubSec systemConstraint [] -- have not been encoded. specific_system_description :: Section -specific_system_description = specSysDescr physLib [problem_description, solution_characteristics_specification] +specific_system_description = specSysDescr [problem_description, solution_characteristics_specification] ------------------------------- -- 4.1 : Problem Description -- diff --git a/code/drasil-example/Drasil/GlassBR/Body.hs b/code/drasil-example/Drasil/GlassBR/Body.hs index 856269ec6f..e6d1758d09 100644 --- a/code/drasil-example/Drasil/GlassBR/Body.hs +++ b/code/drasil-example/Drasil/GlassBR/Body.hs @@ -54,8 +54,8 @@ import Data.Drasil.Utils (makeTMatrix, makeListRef, itemRefToSent, noRefs, import Drasil.GlassBR.Assumptions (assumptionConstants, assumptionDescs, gbRefDB, newAssumptions) import Drasil.GlassBR.Changes (likelyChanges_SRS, unlikelyChanges_SRS) -import Drasil.GlassBR.Concepts (aR, lShareFac, gLassBR, stdOffDist, glaSlab, - blastRisk, glass, glaPlane, glassBRProg, ptOfExplsn, acronyms) +import Drasil.GlassBR.Concepts (acronyms, aR, blastRisk, glaPlane, glaSlab, + glass, gLassBR, lShareFac, ptOfExplsn, stdOffDist) import Drasil.GlassBR.DataDefs (aspRat, dataDefns, gbQDefns, hFromt, strDisFac, nonFL, dimLL, glaTyFac, tolStrDisFac, tolPre, risk, standOffDis) import Drasil.GlassBR.ModuleDefs (allMods) @@ -162,7 +162,7 @@ stdFields = [DefiningEquation, Description Verbose IncludeUnits, Notes, Source, glassSystInfo :: SystemInformation glassSystInfo = SI { - _sys = glassBRProg, + _sys = gLassBR, _kind = srs, _authors = [nikitha, spencerSmith], _units = map unitWrapper [metre, second, kilogram] ++ map unitWrapper [pascal, newton], diff --git a/code/drasil-example/Drasil/GlassBR/Concepts.hs b/code/drasil-example/Drasil/GlassBR/Concepts.hs index 92a3bfc1c2..3d49bc4fb9 100644 --- a/code/drasil-example/Drasil/GlassBR/Concepts.hs +++ b/code/drasil-example/Drasil/GlassBR/Concepts.hs @@ -8,9 +8,9 @@ import Data.Drasil.Concepts.Documentation (assumption, dataDefn, goalStmt, inMod {--} -glassBRProg :: CommonConcept +{-glassBRProg :: CommonConcept glassBRProg = dcc' "glassBRProg" (nounPhraseSP "GlassBR program") - "The glass safety analysis program" "GlassBR" + "The glass safety analysis program" "GlassBR"-} {-Acronyms-} acronyms :: [CI] diff --git a/code/stable/gamephys/SRS/Chipmunk_SRS.tex b/code/stable/gamephys/SRS/Chipmunk_SRS.tex index 3386d9184f..dedf9ff889 100644 --- a/code/stable/gamephys/SRS/Chipmunk_SRS.tex +++ b/code/stable/gamephys/SRS/Chipmunk_SRS.tex @@ -258,7 +258,7 @@ \subsection{System Constraints} There are no system constraints. \section{Specific System Description} \label{Sec:SpecSystDesc} -This section first presents the problem description, which gives a high-level view of the problem to be solved. This is followed by the solution characteristics specification, which presents the assumptions, theories, and definitions that are used for the Chipmunk2D game physics library. +This section first presents the problem description, which gives a high-level view of the problem to be solved. This is followed by the solution characteristics specification, which presents the assumptions, theories, and definitions that are used. \subsection{Problem Description} \label{Sec:ProbDesc} Creating a gaming physics library is a difficult task. Games need physics libraries that simulate objects acting under various physical conditions, while simultaneously being fast and efficient enough to work in soft real-time during the game. Developing a physics library from scratch takes a long period of time and is very costly, presenting barriers of entry which make it difficult for game developers to include physics in their products. There are a few free, open source and high quality physics libraries available to be used for consumer products (Section~\ref{Sec:ExistingSolns}). By creating a simple, lightweight, fast and portable 2D rigid body physics library, game development will be more accessible to the masses and higher quality products will be produced. @@ -659,7 +659,7 @@ \subsubsection{Data Definitions} \item{$\mathbf{p}$ is the position (m)} \end{symbDescription} \\ \midrule \\ -Source & +Source & \\ \midrule \\ RefBy & FIXME: This needs to be filled in \\ \bottomrule \end{tabular} diff --git a/code/stable/gamephys/Website/Chipmunk_SRS.html b/code/stable/gamephys/Website/Chipmunk_SRS.html index ffcd848fb0..06454e3559 100644 --- a/code/stable/gamephys/Website/Chipmunk_SRS.html +++ b/code/stable/gamephys/Website/Chipmunk_SRS.html @@ -949,7 +949,7 @@ Specific System Description
-This section first presents the problem description, which gives a high-level view of the problem to be solved. This is followed by the solution characteristics specification, which presents the assumptions, theories, and definitions that are used for the Chipmunk2D game physics library. +This section first presents the problem description, which gives a high-level view of the problem to be solved. This is followed by the solution characteristics specification, which presents the assumptions, theories, and definitions that are used.
diff --git a/code/stable/glassbr/SRS/GlassBR_SRS.tex b/code/stable/glassbr/SRS/GlassBR_SRS.tex index 561ba5b6c5..b49302d8fb 100644 --- a/code/stable/glassbr/SRS/GlassBR_SRS.tex +++ b/code/stable/glassbr/SRS/GlassBR_SRS.tex @@ -29,7 +29,7 @@ \newcounter{ucnum} \newcommand{\uctheucnum}{UC\theucnum} \bibliography{bibfile} -\title{Software Requirements Specification for GlassBR program} +\title{Software Requirements Specification for GlassBR} \author{Nikitha Krithnan and W. Spencer Smith} \begin{document} \maketitle @@ -263,7 +263,7 @@ \subsection{Individual Product Use Cases} The user provides the inputs to GlassBR for use within the analysis. There are two main classes of inputs: glass geometry and blast type. The glass geometry based inputs include the glass type and dimensions of the glass plane. The blast type input includes parameters like weight of charge, TNT equivalent factor, and stand off distance from the point of explosion. These parameters describe charge weight and stand off blast. Another input the user gives is the tolerable value of probability of breakage. GlassBR outputs if the glass slab will be safe by comparing whether capacity is greater than demand. Capacity is the load resistance calculated and demand is the requirement which is the 3 second duration equivalent pressure. The second condition is to check whether the calculated probability (${P_{b}}$) is less than the tolerable probability (${P_{btol}}$) which is obtained from the user as an input. If both conditions return true, then it's shown that the glass slab is safe to use, else if both return false, then the glass slab is considered unsafe. All the supporting calculated values are also displayed as output. \section{Specific System Description} \label{Sec:SpecSystDesc} -This section first presents the problem description, which gives a high-level view of the problem to be solved. This is followed by the solution characteristics specification, which presents the assumptions, theories, and definitions that are used for the GlassBR program. +This section first presents the problem description, which gives a high-level view of the problem to be solved. This is followed by the solution characteristics specification, which presents the assumptions, theories, and definitions that are used. \subsection{Problem Description} \label{Sec:ProbDesc} A system is needed to efficiently and correctly predict the blast risk involved with the glass. GlassBR is a computer program developed to interpret the inputs to give out the outputs which predict whether the glass slab can withstand the blast under the conditions. @@ -726,7 +726,7 @@ \subsubsection{Data Definitions} $LDF$ is the load duration factor as defined by DD3. ${P_{btol}}$ is the tolerable probability entered by the user. \\ \midrule \\ -Source & +Source & \\ \midrule \\ RefBy & FIXME: This needs to be filled in \\ \bottomrule \end{tabular} @@ -785,7 +785,7 @@ \subsubsection{Data Definitions} \\ \midrule \\ Notes & $a$, $b$ are dimensions of the plate, where ($a>b$). \\ \midrule \\ -Source & +Source & \\ \midrule \\ RefBy & FIXME: This needs to be filled in \\ \bottomrule \end{tabular} diff --git a/code/stable/glassbr/Website/GlassBR_SRS.html b/code/stable/glassbr/Website/GlassBR_SRS.html index c1dc1b5488..295767efba 100644 --- a/code/stable/glassbr/Website/GlassBR_SRS.html +++ b/code/stable/glassbr/Website/GlassBR_SRS.html @@ -3,7 +3,7 @@-Software Requirements Specification for GlassBR program +Software Requirements Specification for GlassBR @@ -11,7 +11,7 @@-Software Requirements Specification for GlassBR program +Software Requirements Specification for GlassBR
- -TNT - --TNT (Trinitrotoluene) Equivalent Factor - -- UC