diff --git a/code/drasil-data/lib/Data/Drasil/Concepts/Documentation.hs b/code/drasil-data/lib/Data/Drasil/Concepts/Documentation.hs
index f92308f00ac..5e4cd1eb07b 100644
--- a/code/drasil-data/lib/Data/Drasil/Concepts/Documentation.hs
+++ b/code/drasil-data/lib/Data/Drasil/Concepts/Documentation.hs
@@ -53,8 +53,8 @@ doccon = [abbAcc, abbreviation, acronym, analysis, appendix, aspect, body,
-- | Collects all documentation-related common ideas (like a concept, but with no definition).
doccon' :: [CI]
doccon' = [assumption, dataConst, dataDefn, desSpec, genDefn, goalStmt, inModel,
- likelyChg, learnObj, mg, mis, notebook, physSyst, requirement, srs, thModel, typUnc,
- unlikelyChg]
+ likelyChg, learnObj, mg, mis, physSyst, requirement, srs, thModel, typUnc,
+ unlikelyChg, notebook, refBy, refName]
assumption, desSpec, goalStmt, dataConst, likelyChg, learnObj, unlikelyChg, physSyst,
mg, mis, typUnc, sec, refBy, refName :: CI
@@ -74,7 +74,7 @@ unlikelyChg = commonIdeaWithDict "unlikelyChg" (cn' "unlikely change")
physSyst = commonIdeaWithDict "physSyst" (combineNINI physicalSystem description) "PS" [softEng]
mis = commonIdeaWithDict "mis" (fterms compoundPhrase moduleInterface specification) "MIS" [softEng]
mg = commonIdeaWithDict "mg" (fterms compoundPhrase module_ guide) "MG" [softEng]
-typUnc = commonIdeaWithDict "typUnc" (cn' "typical uncertainty") "Uncert." [softEng]
+typUnc = commonIdeaWithDict "typUnc" (cnIES "typical uncertainty") "Uncert." [softEng]
sec = commonIdeaWithDict "section" (cn' "section") "Sec" [documentc]
refBy = commonIdeaWithDict "refBy" (cn "referenced by") "RefBy" [documentc]
refName = commonIdeaWithDict "refName" (cn' "reference name") "Refname" [documentc]
diff --git a/code/drasil-docLang/lib/Drasil/DocumentLanguage.hs b/code/drasil-docLang/lib/Drasil/DocumentLanguage.hs
index 6d4fc0c78f5..3d29ee3e901 100644
--- a/code/drasil-docLang/lib/Drasil/DocumentLanguage.hs
+++ b/code/drasil-docLang/lib/Drasil/DocumentLanguage.hs
@@ -1,4 +1,4 @@
-{-# Language TupleSections #-}
+{-# Language TupleSections, LambdaCase #-}
---------------------------------------------------------------------------
-- | Start the process of moving away from Document as the main internal
-- representation of information, to something more informative.
@@ -10,7 +10,7 @@ module Drasil.DocumentLanguage (mkDoc, findAllRefs) where
import Control.Lens ((^.), set)
import Data.Function (on)
import Data.List (nub, sortBy)
-import Data.Maybe (maybeToList, mapMaybe)
+import Data.Maybe (maybeToList, mapMaybe, isJust)
import qualified Data.Map as Map (keys)
import Drasil.DocDecl (SRSDecl, mkDocDesc)
@@ -25,15 +25,17 @@ import Drasil.DocumentLanguage.Core (AppndxSec(..), AuxConstntSec(..),
import Drasil.DocumentLanguage.Definitions (ddefn, derivation, instanceModel,
gdefn, tmodel)
import Drasil.Document.Contents(mkEnumSimpleD, foldlSP)
-import Drasil.ExtractDocDesc (getDocDesc, egetDocDesc)
+import Drasil.ExtractDocDesc (getDocDesc, egetDocDesc, getSec)
import Drasil.TraceTable (generateTraceMap)
import Language.Drasil
import Language.Drasil.Display (compsy)
+import Utils.Drasil (splitAtAll, mergeAll)
import Drasil.Database (findOrErr, ChunkDB, insertAll, UID, HasUID(..), invert)
import Drasil.Database.SearchTools (findAllDataDefns, findAllGenDefns,
- findAllInstMods, findAllTheoryMods, findAllConcInsts, findAllLabelledContent)
+ findAllInstMods, findAllTheoryMods, findAllConcInsts, TermAbbr, shortForm,
+ termResolve', findAllLabelledContent)
import Drasil.System (System(SI), whatsTheBigIdea, _systemdb, HasSystem(..))
import Drasil.GetChunks (ccss, ccss', citeDB)
@@ -66,11 +68,12 @@ import Drasil.DocumentLanguage.TraceabilityGraph (traceyGraphGetRefs, genTraceGr
import Drasil.Sections.TraceabilityMandGs (traceMatStandard)
import Drasil.Sections.ReferenceMaterial (emptySectSentPlu)
-import Drasil.Metadata as Doc (software)
-import qualified Data.Drasil.Concepts.Documentation as Doc (likelyChg, section_,
- unlikelyChg)
+import Drasil.Metadata (software, dataDefn, genDefn, inModel, thModel, requirement)
+import Data.Drasil.Concepts.Documentation (likelyChg, section_, unlikelyChg, assumption, goalStmt, refName, refBy)
import qualified Data.Map.Strict as M
+import Language.Drasil.Development (shortdep)
+
-- * Main Function
-- | Creates a document from a 'System', a document description ('SRSDecl'), and
@@ -177,11 +180,27 @@ getUnitLup m c = getUnit (findOrErr (c ^. uid) m :: DefinedQuantityDict)
-- | Helper for creating the different document sections.
mkSections :: System -> DocDesc -> [Section]
-mkSections si dd = map doit dd
+mkSections si dd =
+ let
+ splitByTAandA :: [[DocSection]]
+ refSecPlans :: [DocSection]
+ (splitByTAandA, refSecPlans) = splitAtAll (\case {RefSec _ -> True; _ -> False}) dd
+
+ splitSecs :: [[Section]]
+ splitSecs = map (map doit) splitByTAandA
+
+ refSecs :: [Section]
+ refSecs = map
+ (\case {
+ RefSec rs -> mkRefSec si dd rs $ concat splitSecs;
+ _ -> error "A non-RefSec got captured in the RefSecs list!"})
+ refSecPlans
+ in
+ mergeAll splitSecs refSecs
where
doit :: DocSection -> Section
doit TableOfContents = mkToC dd
- doit (RefSec rs) = mkRefSec si dd rs
+ doit (RefSec _) = error "RefSecs should have been filtered out!"
doit (IntroSec is) = mkIntroSec si is
doit (StkhldrSec sts) = mkStkhldrSec sts
doit (SSDSec ss) = mkSSDSec si ss
@@ -207,8 +226,8 @@ mkToC dd = SRS.tOfCont [intro, UlC $ ulcc $ Enumeration $ Bullet $ map ((, Nothi
-- | Helper for creating the reference section and subsections.
-- Includes Table of Symbols, Units and Abbreviations and Acronyms.
-mkRefSec :: System -> DocDesc -> RefSec -> Section
-mkRefSec si dd (RefProg c l) = SRS.refMat [c] (map (mkSubRef si) l)
+mkRefSec :: System -> DocDesc -> RefSec -> [Section] -> Section
+mkRefSec si dd (RefProg c l) renderedSecs = SRS.refMat [c] (map (mkSubRef si) l)
where
mkSubRef :: System -> RefTab -> Section
mkSubRef si' TUnits = mkSubRef si' $ TUnits' defaultTUI tOfUnitSIName
@@ -224,11 +243,24 @@ mkRefSec si dd (RefProg c l) = SRS.refMat [c] (map (mkSubRef si) l)
mkSubRef SI {_systemdb = cdb} (TSymb' f con) =
mkTSymb (ccss (getDocDesc dd) (egetDocDesc dd) cdb) f con
- mkSubRef _ (TAandA ideas) =
+ mkSubRef SI {_systemdb = cdb} TAandA =
SRS.tOfAbbAcc
- [LlC $ tableAbbAccGen $ nub ideas]
+ [LlC $ tableAbbAccGen $ collectDocumentAbbreviations renderedSecs cdb]
[]
+collectDocumentAbbreviations :: [Section] -> ChunkDB -> [TermAbbr]
+collectDocumentAbbreviations renderedSecs cdb =
+ filter (isJust . shortForm) allTerms
+ where
+ -- Terms found in the document using the list of `Sentence`s extracted from
+ -- the sections.
+ foundInDoc = concatMap shortdep $ concatMap getSec renderedSecs
+ -- Terms that could not be found in `Sentence`s, but are important to
+ -- include in the table of abbreviations and acronyms.
+ missingFromDocHACK = map (^. uid) [assumption, dataDefn, genDefn, goalStmt,
+ inModel, requirement, thModel, refName, refBy]
+ allTerms = map (termResolve' cdb) $ nub (foundInDoc ++ missingFromDocHACK)
+
-- | Helper for creating the table of symbols.
mkTSymb :: (Quantity e, Concept e, Eq e, MayHaveUnit e) =>
[e] -> LFunc -> [TSIntro] -> Section
@@ -344,19 +376,19 @@ mkReqrmntSec (ReqsProg l) = R.reqF $ map mkSubs l
-- | Helper for making the Likely Changes section.
mkLCsSec :: LCsSec -> Section
-mkLCsSec (LCsProg c) = SRS.likeChg (introChgs Doc.likelyChg c: mkEnumSimpleD c) []
+mkLCsSec (LCsProg c) = SRS.likeChg (introChgs likelyChg c: mkEnumSimpleD c) []
-- ** Unlikely Changes
-- | Helper for making the Unikely Changes section.
mkUCsSec :: UCsSec -> Section
-mkUCsSec (UCsProg c) = SRS.unlikeChg (introChgs Doc.unlikelyChg c : mkEnumSimpleD c) []
+mkUCsSec (UCsProg c) = SRS.unlikeChg (introChgs unlikelyChg c : mkEnumSimpleD c) []
-- | Intro paragraph for likely and unlikely changes
-introChgs :: NamedIdea n => n -> [ConceptInstance] -> Contents
+introChgs :: Idea n => n -> [ConceptInstance] -> Contents
introChgs xs [] = mkParagraph $ emptySectSentPlu [xs]
-introChgs xs _ = foldlSP [S "This", phrase Doc.section_, S "lists the",
- plural xs, S "to be made to the", phrase Doc.software]
+introChgs xs _ = foldlSP [S "This", phrase section_, S "lists the",
+ introduceAbbPlrl xs, S "to be made to the", phrase software]
-- ** Traceability
diff --git a/code/drasil-docLang/lib/Drasil/DocumentLanguage/Core.hs b/code/drasil-docLang/lib/Drasil/DocumentLanguage/Core.hs
index 53df0f5d84e..46cdec62e42 100644
--- a/code/drasil-docLang/lib/Drasil/DocumentLanguage/Core.hs
+++ b/code/drasil-docLang/lib/Drasil/DocumentLanguage/Core.hs
@@ -53,7 +53,7 @@ data RefTab where
-- | Allows Lens functions in addition to an introduction for a table of symbols.
TSymb' :: LFunc -> [TSIntro] -> RefTab
-- | Default.
- TAandA :: [IdeaDict] -> RefTab
+ TAandA :: RefTab
-- add more here
-- | For creating a table of symbols introduction
@@ -113,7 +113,7 @@ data IntroSub where
-- | Describes characteristics of the system.
IChar :: [Sentence] -> [Sentence] -> [Sentence] -> IntroSub
-- | Organises the section.
- IOrgSec :: CI -> Section -> Sentence -> IntroSub
+ IOrgSec :: CI -> Section -> Maybe Sentence -> IntroSub
-- ** Stakeholders Section
diff --git a/code/drasil-docLang/lib/Drasil/ExtractDocDesc.hs b/code/drasil-docLang/lib/Drasil/ExtractDocDesc.hs
index 4600093c01a..ef3eab83d7b 100644
--- a/code/drasil-docLang/lib/Drasil/ExtractDocDesc.hs
+++ b/code/drasil-docLang/lib/Drasil/ExtractDocDesc.hs
@@ -1,16 +1,21 @@
{-# LANGUAGE LambdaCase, Rank2Types #-}
-- | Defines functions to extract certain kinds of information from a document.
-- Mainly used to pull the 'UID's of chunks out of 'Sentence's and 'Expr's.
-module Drasil.ExtractDocDesc (getDocDesc, egetDocDesc, sentencePlate) where
+module Drasil.ExtractDocDesc (
+ getDocDesc, egetDocDesc,
+ sentencePlate,
+ getSec
+) where
import Control.Lens((^.))
+import Data.Functor.Constant (Constant(Constant))
+import Data.Generics.Multiplate (appendPlate, foldFor, purePlate, preorderFold)
+
import Drasil.DocumentLanguage.Core
import Drasil.Sections.SpecificSystemDescription (inDataConstTbl, outDataConstTbl)
import Language.Drasil hiding (Manual, Verb)
import Theory.Drasil
-
-import Data.Functor.Constant (Constant(Constant))
-import Data.Generics.Multiplate (appendPlate, foldFor, purePlate, preorderFold)
+import Data.Maybe (maybeToList)
-- | Creates a section contents plate that contains diferrent system subsections.
secConPlate :: Monoid b => (forall a. HasContents a => [a] -> b) ->
@@ -20,8 +25,6 @@ secConPlate mCon mSec = preorderFold $ purePlate {
introSub = Constant <$> \case
(IOrgSec _ s _) -> mSec [s]
_ -> mempty,
- --gsdSec = Constant <$> \case
- -- (GSDProg _) -> mempty,
gsdSub = Constant <$> \case
(SysCntxt c) -> mCon c
(UsrChars c) -> mCon c
@@ -100,20 +103,20 @@ egetCon _ = []
sentencePlate :: Monoid a => ([Sentence] -> a) -> DLPlate (Constant a)
sentencePlate f = appendPlate (secConPlate (f . concatMap getCon') $ f . concatMap getSec) $
preorderFold $ purePlate {
- introSec = Constant . f <$> \(IntroProg s1 s2 _) -> [s1, s2],
+ introSec = Constant . f <$> \(IntroProg s1 s2 s3) -> [s1, s2] ++ concatMap getIntroSub s3,
introSub = Constant . f <$> \case
(IPurpose s) -> s
(IScope s) -> [s]
(IChar s1 s2 s3) -> concat [s1, s2, s3]
- (IOrgSec _ _ s1) -> [s1],
+ (IOrgSec _ s1 s2) -> maybeToList s2 ++ getSec s1,
stkSub = Constant . f <$> \case
(Client _ s) -> [s]
(Cstmr _) -> [],
- pdSec = Constant . f <$> \(PDProg s _ _) -> [s],
+ pdSec = Constant . f <$> \(PDProg s secs pds) -> s : concatMap getSec secs ++ concatMap getPDSub pds,
pdSub = Constant . f <$> \case
(TermsAndDefs Nothing cs) -> def cs
(TermsAndDefs (Just s) cs) -> s : def cs
- (PhySysDesc _ s _ _) -> s
+ (PhySysDesc _ s lc cs) -> s ++ getLC lc ++ getC cs
(Goals s c) -> s ++ def c,
scsSub = Constant . f <$> \case
(Assumptions c) -> def c
@@ -121,12 +124,12 @@ sentencePlate f = appendPlate (secConPlate (f . concatMap getCon') $ f . concatM
def (x ^. defined_quant) ++ notes [x] ++
r (x ^. valid_context)) in r t
(DDs s _ d _) -> s ++ der d ++ notes d
- (GDs s _ d _) -> def d ++ s ++ der d ++ notes d
+ (GDs s _ d _) -> s ++ def d ++ der d ++ notes d
(IMs s _ d _) -> s ++ der d ++ notes d
(Constraints s _) -> [s]
- (CorrSolnPpties _ _) -> [],
+ (CorrSolnPpties _ cs) -> getC cs,
reqSub = Constant . f <$> \case
- (FReqsSub c _) -> def c
+ (FReqsSub c lcs) -> def c ++ concatMap getLC lcs
(NonFReqsSub c) -> def c,
lcsSec = Constant . f <$> \(LCsProg c) -> def c,
ucsSec = Constant . f <$> \(UCsProg c) -> def c,
@@ -136,17 +139,41 @@ sentencePlate f = appendPlate (secConPlate (f . concatMap getCon') $ f . concatM
} where
def :: Definition a => [a] -> [Sentence]
def = map (^. defn)
+
+ getIntroSub :: IntroSub -> [Sentence]
+ getIntroSub (IPurpose ss) = ss
+ getIntroSub (IScope s) = [s]
+ getIntroSub (IChar s1 s2 s3) = s1 ++ s2 ++ s3
+ getIntroSub (IOrgSec _ s1 s2) = maybeToList s2 ++ getSec s1
+
der :: MayHaveDerivation a => [a] -> [Sentence]
der = concatMap (getDerivSent . (^. derivations))
+
getDerivSent :: Maybe Derivation -> [Sentence]
getDerivSent Nothing = []
getDerivSent (Just (Derivation h s)) = h : s
+
notes :: HasAdditionalNotes a => [a] -> [Sentence]
notes = concatMap (^. getNotes)
+ getPDSub :: PDSub -> [Sentence]
+ getPDSub (TermsAndDefs ms c) = def c ++ maybe [] pure ms
+ getPDSub (PhySysDesc _ s lc cs) = s ++ getLC lc ++ getC cs
+ getPDSub (Goals s c) = s ++ def c
+
+ getC :: [Contents] -> [Sentence]
+ getC = concatMap getCon'
+
+ getLC :: LabelledContent -> [Sentence]
+ getLC = getCon . (^. accessContents)
+
-- | Extracts 'Sentence's from a document description.
getDocDesc :: DocDesc -> [Sentence]
getDocDesc = fmGetDocDesc (sentencePlate id)
+-- ^ FIXME: We want all Sentences from a document (not necessarily a document
+-- description), so we use this function. But 'sentencePlate' does not include
+-- all 'Sentence's! Some only appear when rendering (at least, after
+-- `mkSections` is used on a `DocDesc` to create `[Section]`).
-- | Extracts 'Sentence's from a 'Section'.
getSec :: Section -> [Sentence]
@@ -171,10 +198,9 @@ getCon (DerivBlock h d) = h : concatMap getCon d
getCon (Enumeration lst) = getLT lst
getCon (Figure l _ _ _) = [l]
getCon (Bib bref) = getBib bref
-getCon (Graph [(s1, s2)] _ _ l) = [s1, s2, l]
-getCon Graph{} = []
-getCon (Defini _ []) = []
-getCon (Defini dt (hd:fs)) = concatMap getCon' (snd hd) ++ getCon (Defini dt fs)
+getCon (Graph sss _ _ l) = let (ls, rs) = unzip sss
+ in l : ls ++ rs
+getCon (Defini _ ics) = concatMap (concatMap getCon' . snd) ics
-- | Get the bibliography from something that has a field.
getBib :: (HasFields c) => [c] -> [Sentence]
@@ -206,10 +232,10 @@ getField Year{} = EmptyS
-- | Translates different types of lists into a 'Sentence' form.
getLT :: ListType -> [Sentence]
-getLT (Bullet it) = concatMap (getIL . fst) it
-getLT (Numeric it) = concatMap (getIL . fst) it
-getLT (Simple lp) = concatMap getLP lp
-getLT (Desc lp) = concatMap getLP lp
+getLT (Bullet it) = concatMap (getIL . fst) it
+getLT (Numeric it) = concatMap (getIL . fst) it
+getLT (Simple lp) = concatMap getLP lp
+getLT (Desc lp) = concatMap getLP lp
getLT (Definitions lp) = concatMap getLP lp
-- | Translates a 'ListTuple' into 'Sentence's.
diff --git a/code/drasil-docLang/lib/Drasil/Sections/Introduction.hs b/code/drasil-docLang/lib/Drasil/Sections/Introduction.hs
index 166a69b55b5..7a655d4faa2 100644
--- a/code/drasil-docLang/lib/Drasil/Sections/Introduction.hs
+++ b/code/drasil-docLang/lib/Drasil/Sections/Introduction.hs
@@ -3,11 +3,13 @@
module Drasil.Sections.Introduction (orgSec, introductionSection,
purposeOfDoc, scopeOfRequirements, charIntRdrF, purpDoc) where
-import Language.Drasil
+import Data.Maybe (maybeToList)
+
+import Language.Drasil hiding (organization)
import qualified Drasil.DocLang.SRS as SRS (intro, prpsOfDoc, scpOfReq,
charOfIR, orgOfDoc, goalStmt, thModel, inModel, sysCon)
import Drasil.DocumentLanguage.Definitions(Verbosity(..))
-import Language.Drasil.Chunk.Concept.NamedCombinators
+import Language.Drasil.Chunk.Concept.NamedCombinators (andThe, the)
import Drasil.DocumentLanguage.Core (IntroSub(..))
import qualified Language.Drasil.Development as D
import qualified Language.Drasil.Sentence.Combinators as S
@@ -15,17 +17,16 @@ import Drasil.Sections.ReferenceMaterial(emptySectSentPlu, emptySectSentSing)
import Drasil.Sentence.Combinators (refineChain)
import Drasil.Document.Contents (foldlSP, foldlSP_)
-import Drasil.Metadata (inModel, thModel, requirement, srs)
+import Drasil.Metadata (requirement, srs, inModel, thModel)
import Data.Drasil.Concepts.Computation (algorithm)
-import Data.Drasil.Concepts.Documentation as Doc (assumption, characteristic,
- decision, definition, desSpec, design, designDoc, document, documentation,
- environment, goal, goalStmt, implementation, intReader, model,
- organization, purpose, scope, section_, softwareDoc,
- softwareVAV, theory, user, vavPlan, problem, problemIntro,
- information, systemConstraint, template)
+import Data.Drasil.Concepts.Documentation (assumption, characteristic, decision,
+ definition, desSpec, design, designDoc, document, documentation, environment,
+ goal, goalStmt, implementation, information, intReader, model, organization,
+ problem, problemIntro, purpose, scope, section_, softwareDoc, softwareVAV,
+ systemConstraint, template, theory, user, vavPlan)
import Data.Drasil.Citations (parnasClements1986, smithEtAl2007,
smithKoothoor2016, smithLai2005, koothoor2013)
-import Data.Drasil.Software.Products
+import Data.Drasil.Software.Products (sciCompS)
-----------------------
-- Constants --
@@ -51,8 +52,8 @@ developmentProcessParagraph = foldlSent [S "This", phrase document,
S "is still to", Quote (S "fake"), S "a rational", phrase design,
S "process"]
--- | 'Sentence' containing the subsections of the Introduction.
--- Takes a list of IntroSub and generates a sentence listing only the subsections that exist.
+-- | 'Sentence' containing the subsections of the Introduction. Takes a list of
+-- IntroSub and generates a sentence listing only the subsections that exist.
introductionSubsections :: [IntroSub] -> Sentence
introductionSubsections subs =
let subDescriptions = concatMap introSubToSentence subs
@@ -65,7 +66,7 @@ introSubToSentence :: IntroSub -> [Sentence]
introSubToSentence (IPurpose _) = [] -- Purpose is already mentioned as "purpose of this document"
introSubToSentence (IScope _) = [S.the_ofThe (phrase scope) (plural requirement)]
introSubToSentence IChar {} = [S.the_ofThe (plural characteristic) (phrase intReader)]
-introSubToSentence IOrgSec {} = [S.the_ofThe (phrase Doc.organization) (phrase document)]
+introSubToSentence IOrgSec {} = [S.the_ofThe (phrase organization) (phrase document)]
-------------------------
-- --
@@ -170,29 +171,33 @@ intReaderIntro progName assumed topic asset sectionRef =
-- | Constructor for the Organization of the Document section. Parameters should be
-- an introduction ('Sentence'), a resource for a bottom up approach ('NamedIdea'), reference to that resource ('Section'),
-- and any other relevant information ('Sentence').
-orgSec :: NamedIdea c => c -> Section -> Sentence -> Section
+orgSec :: NamedIdea c => c -> Section -> Maybe Sentence -> Section
orgSec b s t = SRS.orgOfDoc (orgIntro b s t) []
--- | Helper function that creates the introduction for the Organization of the Document section. Parameters should be
--- an introduction ('Sentence'), a resource for a bottom up approach ('NamedIdea'), reference to that resource ('Section'),
--- and any other relevant information ('Sentence').
-orgIntro :: NamedIdea c => c -> Section -> Sentence -> [Contents]
-orgIntro bottom bottomSec trailingSentence = [foldlSP [
- orgOfDocIntro, S "The presentation follows the standard pattern of presenting" +:+.
- foldlList Comma List (map plural [nw Doc.goal, nw theory, nw definition, nw assumption]),
- S "For readers that would like a more bottom up approach" `sC`
- S "they can start reading the", namedRef bottomSec (plural bottom)`S.and_`
- S "trace back to find any additional information they require"],
- folder [refineChain (zip [goalStmt, thModel, inModel]
- [SRS.goalStmt [] [], SRS.thModel [] [], SRS.inModel [] []]), trailingSentence]]
+-- | Helper function that creates the introduction for the Organization of the
+-- Document section. Parameters should be an introduction ('Sentence'), a
+-- resource for a bottom up approach ('NamedIdea'), reference to that resource
+-- ('Section'), and any other relevant information ('Sentence').
+orgIntro :: NamedIdea c => c -> Section -> Maybe Sentence -> [Contents]
+orgIntro bottom bottomSec trailingSentence =
+ [ foldlSP [
+ orgOfDocIntro, S "The presentation follows the standard pattern of presenting" +:+.
+ foldlList Comma List (map plural [nw goal, nw theory, nw definition, nw assumption]),
+ S "For readers that would like a more bottom up approach" `sC`
+ S "they can start reading the", namedRef bottomSec (plural bottom)`S.and_`
+ S "trace back to find any additional information they require"
+ ]
+ , foldlSP_ (introS : maybeToList trailingSentence)
+ ]
where
- folder = case trailingSentence of
- EmptyS -> foldlSP_
- _ -> foldlSP
+ -- FIXME: The below abuses `SRS.goalStmt`, `SRS.thModel`, etc.
+ introS = refineChain (zip
+ [goalStmt, thModel, inModel]
+ [SRS.goalStmt [] [], SRS.thModel [] [], SRS.inModel [] []])
orgOfDocIntro :: Sentence
orgOfDocIntro = foldlSent
- [D.toSent $ atStartNP (the Doc.organization), S "of this", phrase document,
+ [D.toSent $ atStartNP (the organization), S "of this", phrase document,
S "follows the", phrase template, S "for an", short srs, S "for",
phrase sciCompS, S "proposed by", foldlList Comma List $
map refS [koothoor2013, smithLai2005, smithEtAl2007 , smithKoothoor2016]]
diff --git a/code/drasil-docLang/lib/Drasil/Sections/Requirements.hs b/code/drasil-docLang/lib/Drasil/Sections/Requirements.hs
index 9a56d560468..2dc76c5678c 100644
--- a/code/drasil-docLang/lib/Drasil/Sections/Requirements.hs
+++ b/code/drasil-docLang/lib/Drasil/Sections/Requirements.hs
@@ -28,7 +28,7 @@ import Theory.Drasil (HasOutput(output))
import Drasil.Metadata (software)
import Data.Drasil.Concepts.Documentation (description, funcReqDom, nonFuncReqDom,
functionalRequirement, input_, nonfunctionalRequirement, output_, section_,
- symbol_, value, reqInput, code, propOfCorSol, vavPlan, mg, mis)
+ symbol_, value, reqInput, code, propOfCorSol, vavPlan, mg, mis, likelyChg)
import Data.Drasil.Concepts.Math (unit_)
import qualified Drasil.DocLang.SRS as SRS
@@ -96,7 +96,7 @@ nfReqIntro _ = mkParagraph $ reqIntroStart +:+. nfrReqIntroBody
-- and a label ('String').
mkMaintainableNFR :: String -> Integer -> String -> ConceptInstance
mkMaintainableNFR refAddress percent lbl = cic refAddress (foldlSent [
- S "If a likely change is made" `S.toThe`
+ S "If a", phrase likelyChg, S "is made" `S.toThe`
S "finished software, it will take at most", addPercent percent `S.ofThe`
S "original development time,",
S "assuming the same development resources are available"
diff --git a/code/drasil-docLang/lib/Drasil/Sections/SpecificSystemDescription.hs b/code/drasil-docLang/lib/Drasil/Sections/SpecificSystemDescription.hs
index 6fadec6ab3a..88fd7b95ba8 100644
--- a/code/drasil-docLang/lib/Drasil/Sections/SpecificSystemDescription.hs
+++ b/code/drasil-docLang/lib/Drasil/Sections/SpecificSystemDescription.hs
@@ -31,11 +31,12 @@ import Data.Drasil.Concepts.Documentation (assumption, column, constraint,
datum, datumConstraint, inDatumConstraint, outDatumConstraint, definition,
element, general, goalStmt, information, input_, limitation, model, output_,
physical, physicalConstraint, physicalSystem, physSyst, problem,
- problemDescription, propOfCorSol, purpose, quantity, scope,
+ problemDescription, propOfCorSol, purpose, quantity, refBy, scope,
section_, softwareConstraint, solutionCharacteristic, symbol_,
system, table_, term_, theory, typUnc, uncertainty, user, value, variable)
import qualified Data.Drasil.Concepts.Documentation as DCD (sec)
import Data.Drasil.Concepts.Math (equation, parameter)
+import Drasil.Document.Contents (enumBulletU, enumSimpleU, foldlSP, foldlSP_)
import Drasil.Metadata (inModel, thModel, dataDefn, genDefn, requirement, specification)
import Drasil.System (System)
import Language.Drasil hiding (variable)
@@ -44,8 +45,6 @@ import qualified Language.Drasil.NounPhrase.Combinators as NP
import qualified Language.Drasil.Sentence.Combinators as S
import qualified Language.Drasil.Development as D
--- local
-import Drasil.Document.Contents (enumBulletU, enumSimpleU, foldlSP, foldlSP_)
import Drasil.DocumentLanguage.Definitions (helperRefs)
import qualified Drasil.DocLang.SRS as SRS
import Drasil.Sections.ReferenceMaterial(emptySectSentPlu)
@@ -246,6 +245,7 @@ auxSpecSent :: Sentence
auxSpecSent = foldlSent [S "The", namedRef (SRS.valsOfAuxCons [] []) $ S "auxiliary constants", S "give",
plural value `S.the_ofThe` phrase specification, plural parameter, S "used in the",
namedRef (inDataConstTbl ([] :: [UncertQ])) $ titleize' inDatumConstraint +:+ titleize table_]
+ -- FIXME: inDataConstTbl is abused to get a table reference label.
-- | Creates a Data Constraints table. Takes in Columns, reference, and a label.
mkDataConstraintTable :: [(Sentence, [Sentence])] -> UID -> Sentence -> LabelledContent
@@ -306,7 +306,7 @@ helperCI :: ConceptInstance -> System -> ConceptInstance
helperCI a c = over defn (\x -> foldlSent_ [x, refby $ helperRefs a c]) a
where
refby EmptyS = EmptyS
- refby sent = sParen $ S "RefBy:" +:+. sent
+ refby sent = sParen $ short refBy :+: S ":" +:+. sent
-- | Section stubs for implicit referencing of different models and definitions.
tmStub, ddStub, gdStub, imStub, pdStub :: Section
diff --git a/code/drasil-docLang/lib/Drasil/Sections/TableOfAbbAndAcronyms.hs b/code/drasil-docLang/lib/Drasil/Sections/TableOfAbbAndAcronyms.hs
index ce22eef9a20..ccf07410616 100644
--- a/code/drasil-docLang/lib/Drasil/Sections/TableOfAbbAndAcronyms.hs
+++ b/code/drasil-docLang/lib/Drasil/Sections/TableOfAbbAndAcronyms.hs
@@ -6,28 +6,25 @@ import Control.Lens ((^.))
import Data.Function (on)
import Data.List (sortBy)
-import Data.Drasil.Concepts.Documentation (abbreviation, fullForm, abbAcc)
-import Drasil.Database (HasUID(..))
import Language.Drasil
-import Utils.Drasil (mkTable)
-
+import Language.Drasil.Development (toSent)
+import Drasil.Database (HasUID(..))
+import Drasil.Database.SearchTools (TermAbbr (shortForm), longForm)
+import Data.Drasil.Concepts.Documentation (abbreviation, fullForm, abbAcc)
import Drasil.Sections.ReferenceMaterial (emptySectSentPlu)
+import Utils.Drasil (mkTable)
--- | Helper function that gets the acronym out of an 'Idea'.
-select :: (Idea s) => [s] -> [(String, s)]
-select [] = []
-select (x:xs) = case getA x of
- Nothing -> select xs
- Just y -> (y, x) : select xs
-
--- | The actual table creation function.
-tableAbbAccGen :: (Idea s) => [s] -> LabelledContent
+-- | Create a table of abbreviations from the given 'TermAbbr's. If the list is
+-- empty, it will return a paragraph saying there are no abbreviations or
+-- acronyms. It is assumed that the provided 'TermAbbr's are unique and all have
+-- a short form.
+tableAbbAccGen :: [TermAbbr] -> LabelledContent
tableAbbAccGen [] = mkRawLC (Paragraph $ emptySectSentPlu [abbAcc]) tableAbbAccRef
-tableAbbAccGen ls = let chunks = sortBy (compare `on` fst) $ select ls in
+tableAbbAccGen ls = let chunks = sortBy (compare `on` shortForm) ls in
mkRawLC (Table
(map titleize [abbreviation, fullForm]) (mkTable
- [\(a,_) -> S a,
- \(_,b) -> titleize b]
+ [maybe EmptyS S . shortForm,
+ toSent . titleizeNP . longForm]
chunks)
(titleize' abbAcc) True) tableAbbAccRef
diff --git a/code/drasil-docLang/lib/Drasil/Sections/TableOfContents.hs b/code/drasil-docLang/lib/Drasil/Sections/TableOfContents.hs
index 9aefd9585fd..940805eecd8 100644
--- a/code/drasil-docLang/lib/Drasil/Sections/TableOfContents.hs
+++ b/code/drasil-docLang/lib/Drasil/Sections/TableOfContents.hs
@@ -95,7 +95,7 @@ mktRefSec (RefProg _ l) =
mktSubRef (TUnits' _ _) = namedRef SRS.tOfUnitLabel $ titleize' Doc.tOfUnit
mktSubRef (TSymb _) = namedRef SRS.tOfSymbLabel $ titleize' Doc.tOfSymb
mktSubRef (TSymb' _ _) = namedRef SRS.tOfSymbLabel $ titleize' Doc.tOfSymb
- mktSubRef (TAandA _) = namedRef SRS.tOfAbbAccLabel $ titleize' Doc.abbAcc
+ mktSubRef TAandA = namedRef SRS.tOfAbbAccLabel $ titleize' Doc.abbAcc
-- | Helper for creating the 'Introduction' section ToC entry
mktIntroSec :: IntroSec -> ItemType
diff --git a/code/drasil-example/dblpend/lib/Drasil/DblPend/Body.hs b/code/drasil-example/dblpend/lib/Drasil/DblPend/Body.hs
index ff13f496020..ad5f4385417 100644
--- a/code/drasil-example/dblpend/lib/Drasil/DblPend/Body.hs
+++ b/code/drasil-example/dblpend/lib/Drasil/DblPend/Body.hs
@@ -40,7 +40,7 @@ import Drasil.DblPend.GenDefs (genDefns)
import Drasil.DblPend.LabelledContent (figMotion, sysCtxFig1, labelledContent)
import Drasil.DblPend.MetaConcepts (progName)
import Drasil.DblPend.Unitals (lenRod_1, lenRod_2, symbols, inputs, outputs,
- inConstraints, outConstraints, acronyms, constants)
+ inConstraints, outConstraints, constants)
import Drasil.DblPend.Requirements (funcReqs, nonFuncReqs, funcReqsTables)
import Drasil.DblPend.References (citations)
@@ -51,14 +51,14 @@ mkSRS = [TableOfContents, -- This creates the Table of Contents
[ TUnits -- Adds table of unit section with a table frame
, tsymb [TSPurpose, TypogConvention [Vector Bold], SymbOrder, VectorUnits] -- Adds table of symbol section with a table frame
-- introductory blob (TSPurpose), TypogConvention, bolds vector parameters (Vector Bold), orders the symbol, and adds units to symbols
- , TAandA abbreviationsList -- Add table of abbreviation and acronym section
+ , TAandA -- Add table of abbreviation and acronym section
],
IntroSec $
IntroProg (justification progName) (phrase progName)
[IPurpose $ purpDoc progName Verbose,
IScope scope,
IChar [] charsOfReader [],
- IOrgSec inModel (SRS.inModel [] []) EmptyS],
+ IOrgSec inModel (SRS.inModel [] []) Nothing],
GSDSec $
GSDProg [
SysCntxt [sysCtxIntro progName, LlC sysCtxFig1, sysCtxDesc, sysCtxList progName],
@@ -118,13 +118,6 @@ ideaDicts =
-- CIs
nw progName : map nw mathcon' ++ map nw physicCon'
-abbreviationsList :: [IdeaDict]
-abbreviationsList =
- -- DefinedQuantityDict abbreviations
- map nw symbols ++
- -- Other acronyms/abbreviations
- nw progName : map nw acronyms
-
conceptChunks :: [ConceptChunk]
conceptChunks =
-- ConceptChunks
diff --git a/code/drasil-example/gamephysics/lib/Drasil/GamePhysics/Body.hs b/code/drasil-example/gamephysics/lib/Drasil/GamePhysics/Body.hs
index 47fcf04a0c6..7570c24d94d 100644
--- a/code/drasil-example/gamephysics/lib/Drasil/GamePhysics/Body.hs
+++ b/code/drasil-example/gamephysics/lib/Drasil/GamePhysics/Body.hs
@@ -34,7 +34,7 @@ import qualified Data.Drasil.Quantities.Physics as QP (force, time)
import Drasil.GamePhysics.Assumptions (assumptions)
import Drasil.GamePhysics.Changes (likelyChgs, unlikelyChgs)
-import Drasil.GamePhysics.Concepts (acronyms, threeD, twoD, centreMass)
+import Drasil.GamePhysics.Concepts (threeD, twoD, centreMass)
import Drasil.GamePhysics.DataDefs (dataDefs)
import Drasil.GamePhysics.Goals (goals)
import Drasil.GamePhysics.LabelledContent (labelledContent, sysCtxFig1)
@@ -49,12 +49,12 @@ import Drasil.GamePhysics.GenDefs (generalDefns)
mkSRS :: SRSDecl
mkSRS = [TableOfContents,
- RefSec $ RefProg intro [TUnits, tsymb tableOfSymbols, TAandA abbreviationsList],
+ RefSec $ RefProg intro [TUnits, tsymb tableOfSymbols, TAandA ],
IntroSec $ IntroProg para1_introduction_intro (short progName)
[IPurpose $ purpDoc progName Verbose,
IScope scope,
IChar [] [S "rigid body dynamics", phrase highSchoolCalculus] [],
- IOrgSec inModel (SRS.inModel [] []) EmptyS],
+ IOrgSec inModel (SRS.inModel [] []) Nothing],
GSDSec $ GSDProg [
SysCntxt [sysCtxIntro, LlC sysCtxFig1, sysCtxDesc, sysCtxList],
UsrChars [userCharacteristicsIntro], SystCons [] []],
@@ -128,13 +128,6 @@ symbMap :: ChunkDB
symbMap = cdb symbols ideaDicts conceptChunks [] dataDefs iMods generalDefns
tMods concIns citations labelledContent
-abbreviationsList :: [IdeaDict]
-abbreviationsList =
- -- QuantityDicts
- map nw symbols ++
- -- CIs
- map nw acronyms
-
-- | Holds all references and links used in the document.
allRefs :: [Reference]
allRefs = [externalLinkRef, pymunk] ++ uriReferences ++ offShelfSolRefs
diff --git a/code/drasil-example/glassbr/lib/Drasil/GlassBR/Assumptions.hs b/code/drasil-example/glassbr/lib/Drasil/GlassBR/Assumptions.hs
index 1708e83df86..552e24220f8 100644
--- a/code/drasil-example/glassbr/lib/Drasil/GlassBR/Assumptions.hs
+++ b/code/drasil-example/glassbr/lib/Drasil/GlassBR/Assumptions.hs
@@ -38,7 +38,7 @@ assumpSV = cic "assumpSV" (standardValuesDesc loadDur) "standar
assumpGL = cic "assumpGL" glassLiteDesc "glassLite" Doc.assumpDom
assumpBC = cic "assumpBC" boundaryConditionsDesc "boundaryConditions" Doc.assumpDom
assumpRT = cic "assumpRT" responseTypeDesc "responseType" Doc.assumpDom
-assumpLDFC = cic "assumpLDFC" (ldfConstantDesc loadDF) "ldfConstant" Doc.assumpDom
+assumpLDFC = cic "assumpLDFC" ldfConstantDesc "ldfConstant" Doc.assumpDom
glassTypeDesc :: Sentence
glassTypeDesc = foldlSent [S "The standard E1300-09a for",
@@ -84,8 +84,8 @@ responseTypeDesc :: Sentence
responseTypeDesc = foldlSent [D.toSent $ atStartNP (the responseTy), S "considered in",
short progName, S "is flexural"]
-ldfConstantDesc :: (HasSymbol c, NamedIdea c) => c -> Sentence
-ldfConstantDesc mainConcept = foldlSent [S "With", phrase reference, S "to",
+ldfConstantDesc :: Sentence
+ldfConstantDesc = foldlSent [S "With", phrase reference, S "to",
refS assumpSV `sC` D.toSent (phraseNP (NP.the (value `of_`
- mainConcept))), sParen (ch mainConcept) `S.is` D.toSent (phraseNP (a_ constant))
+ loadDF))), sParen (short loadDF) `S.is` D.toSent (phraseNP (a_ constant))
`S.in_` short progName]
diff --git a/code/drasil-example/glassbr/lib/Drasil/GlassBR/Body.hs b/code/drasil-example/glassbr/lib/Drasil/GlassBR/Body.hs
index 595b9bf75b0..c4eb691fc17 100644
--- a/code/drasil-example/glassbr/lib/Drasil/GlassBR/Body.hs
+++ b/code/drasil-example/glassbr/lib/Drasil/GlassBR/Body.hs
@@ -38,7 +38,7 @@ import Data.Drasil.People (mCampidelli, nikitha, spencerSmith)
import Drasil.GlassBR.Assumptions (assumptionConstants, assumptions)
import Drasil.GlassBR.Changes (likelyChgs, unlikelyChgs)
-import Drasil.GlassBR.Concepts (acronyms, blastRisk, glaPlane, glaSlab,
+import Drasil.GlassBR.Concepts (blastRisk, glaPlane, glaSlab,
ptOfExplsn, con', glass, iGlass, lGlass)
import qualified Drasil.GlassBR.DataDefs as GB (dataDefs)
import Drasil.GlassBR.LabelledContent
@@ -64,14 +64,14 @@ si = mkSystem progName Specification
mkSRS :: SRSDecl
mkSRS = [TableOfContents,
- RefSec $ RefProg intro [TUnits, tsymb [TSPurpose, SymbOrder], TAandA abbreviationsList],
+ RefSec $ RefProg intro [TUnits, tsymb [TSPurpose, SymbOrder], TAandA ],
IntroSec $
IntroProg (startIntro M.software blstRskInvWGlassSlab progName)
(short progName)
[IPurpose $ purpDoc progName Verbose,
IScope scope,
IChar [] (undIR ++ appStanddIR) [],
- IOrgSec M.dataDefn (SRS.inModel [] []) orgOfDocIntroEnd],
+ IOrgSec M.dataDefn (SRS.inModel [] []) (Just orgOfDocIntroEnd)],
StkhldrSec $
StkhldrProg
[Client progName $ D.toSent (phraseNP (a_ company))
@@ -130,11 +130,6 @@ conceptChunks =
-- DefinedQuantityDicts
map cw mathquants
-abbreviationsList :: [IdeaDict]
-abbreviationsList =
- -- CIs
- map nw acronyms
-
symbMap :: ChunkDB
symbMap = cdb symbolsWCodeSymbols ideaDicts conceptChunks ([] :: [UnitDefn])
GB.dataDefs iMods [] tMods concIns citations labCon
@@ -234,7 +229,7 @@ scope = foldlSent_ [S "determining the safety" `S.ofA` phrase glaSlab,
{--Organization of Document--}
orgOfDocIntroEnd :: Sentence
-orgOfDocIntroEnd = foldlSent_ [D.toSent (atStartNP' (the dataDefn)) `S.are`
+orgOfDocIntroEnd = foldlSent [D.toSent (atStartNP' (the dataDefn)) `S.are`
S "used to support", plural definition `S.the_ofThe` S "different", plural model]
{--STAKEHOLDERS--}
diff --git a/code/drasil-example/pdcontroller/lib/Drasil/PDController/Body.hs b/code/drasil-example/pdcontroller/lib/Drasil/PDController/Body.hs
index ec1d948ed59..6f7b1d43329 100644
--- a/code/drasil-example/pdcontroller/lib/Drasil/PDController/Body.hs
+++ b/code/drasil-example/pdcontroller/lib/Drasil/PDController/Body.hs
@@ -17,7 +17,7 @@ import Data.Drasil.Quantities.Math (posInf, negInf)
import Drasil.PDController.Assumptions (assumptions)
import Drasil.PDController.Changes (likelyChgs)
-import Drasil.PDController.Concepts (acronyms, pidC, concepts, defs)
+import Drasil.PDController.Concepts (pidC, concepts, defs, pidCI, proportionalCI, acronyms, pdControllerCI)
import Drasil.PDController.DataDefs (dataDefinitions)
import Drasil.PDController.GenDefs (genDefns)
import Drasil.PDController.LabelledContent (labelledContent, gsdSysContextFig, sysFigure)
@@ -41,17 +41,12 @@ naveen = person "Naveen Ganesh" "Muralidharan"
mkSRS :: SRSDecl
mkSRS
= [TableOfContents,
- RefSec $ RefProg intro [TUnits, tsymb [TSPurpose, SymbOrder], TAandA abbreviationsList],
+ RefSec $ RefProg intro [TUnits, tsymb [TSPurpose, SymbOrder], TAandA ],
IntroSec $
IntroProg introPara (phrase progName)
[IPurpose [introPurposeOfDoc], IScope introscopeOfReq,
IChar introUserChar1 introUserChar2 [],
- IOrgSec dataDefn (SRS.inModel [] [])
- (S "The instance model referred as" +:+ refS imPD +:+
- S "provides an"
- +:+ titleize ode +:+ sParen (short ode)
- +:+ S "that models the"
- +:+ phrase pidC)],
+ IOrgSec dataDefn (SRS.inModel [] []) (Just orgSecEnd)],
GSDSec $
GSDProg
[SysCntxt
@@ -97,16 +92,24 @@ motivation = foldlSent_ [S "The gains of a controller in an application" +:+
S "must be tuned before the controller is ready for production"]
background :: Sentence
-background = foldlSent_ [S "Automatic process control with a controller (P/PI/PD/PID) is used",
- S "in a variety of applications such as thermostats, automobile",
- S "cruise-control, etc"]
+background = foldlSent_ [
+ S "Automatic process control with a controller ("
+ :+: short proportionalCI :+: S "/PI/" :+: short pdControllerCI :+: S "/" :+: short pidCI :+: S ") is used",
+ S "in a variety of applications such as thermostats, automobile",
+ S "cruise-control, etc"]
+
+orgSecEnd :: Sentence
+orgSecEnd = foldlSent [
+ S "The instance model referred as", refS imPD, S "provides an",
+ titleize ode, sParen (short ode), S "that models the", phrase pidC
+ ]
ideaDicts :: [IdeaDict]
ideaDicts =
-- Actual IdeaDicts
concepts ++
-- CIs
- nw progName : map nw mathcon'
+ nw progName : map nw mathcon' ++ map nw acronyms
conceptChunks :: [ConceptChunk]
conceptChunks =
@@ -133,13 +136,6 @@ symbMap = cdb
allRefs :: [Reference]
allRefs = [externalLinkRef]
-abbreviationsList :: [IdeaDict]
-abbreviationsList =
- -- CIs
- map nw acronyms ++
- -- QuantityDicts
- map nw symbols
-
conceptInstances :: [ConceptInstance]
conceptInstances = assumptions ++ goals ++ funcReqs ++ nonfuncReqs ++ likelyChgs
diff --git a/code/drasil-example/pdcontroller/lib/Drasil/PDController/Concepts.hs b/code/drasil-example/pdcontroller/lib/Drasil/PDController/Concepts.hs
index f806256bd56..a5729b2e965 100644
--- a/code/drasil-example/pdcontroller/lib/Drasil/PDController/Concepts.hs
+++ b/code/drasil-example/pdcontroller/lib/Drasil/PDController/Concepts.hs
@@ -1,17 +1,11 @@
module Drasil.PDController.Concepts where
-import Drasil.Metadata
import Language.Drasil
-import Data.Drasil.Concepts.Documentation
- (assumption, goalStmt, physSyst, refBy, refName, typUnc)
-
acronyms :: [CI]
-acronyms
- = [assumption, dataDefn, genDefn, goalStmt, inModel, physSyst, requirement, refBy,
- refName, srs, thModel, typUnc, pdControllerCI, proportionalCI, pidCI]
-pdControllerCI, proportionalCI, pidCI :: CI
+acronyms = [pdControllerCI, proportionalCI, pidCI]
+pdControllerCI, proportionalCI, pidCI :: CI
pdControllerCI = commonIdeaWithDict "pdControllerCI" (pn "proportional derivative") "PD" []
proportionalCI = commonIdeaWithDict "proportionalCI" (pn "proportional") "P" []
pidCI = commonIdeaWithDict "pidCI" (pn "proportional integral derivative") "PID" []
diff --git a/code/drasil-example/pdcontroller/lib/Drasil/PDController/IntroSection.hs b/code/drasil-example/pdcontroller/lib/Drasil/PDController/IntroSection.hs
index 0f008439b12..9cddacad048 100644
--- a/code/drasil-example/pdcontroller/lib/Drasil/PDController/IntroSection.hs
+++ b/code/drasil-example/pdcontroller/lib/Drasil/PDController/IntroSection.hs
@@ -10,7 +10,8 @@ import Drasil.PDController.Concepts
introPara, introPurposeOfDoc, introscopeOfReq :: Sentence
introPara
= foldlSent
- [S "Automatic process control with a controller (P/PI/PD/PID) is used",
+ [S "Automatic process control with a controller (" :+:
+ short proportionalCI :+: S "/PI/" :+: short pdControllerCI :+: S "/" :+: short pidCI :+: S ") is used",
S "in a variety of applications such as thermostats, automobile",
S "cruise-control, etc. The gains" `S.ofA` S "controller in an application" +:+.
S "must be tuned before the controller is ready for production",
diff --git a/code/drasil-example/projectile/lib/Drasil/Projectile/Body.hs b/code/drasil-example/projectile/lib/Drasil/Projectile/Body.hs
index 7b4c0d73bf4..c7f4832d831 100644
--- a/code/drasil-example/projectile/lib/Drasil/Projectile/Body.hs
+++ b/code/drasil-example/projectile/lib/Drasil/Projectile/Body.hs
@@ -12,18 +12,17 @@ import Drasil.Document.Contents (foldlSP, foldlSPCol)
import Drasil.Sentence.Combinators (bulletNested, bulletFlat)
import Drasil.System (SystemKind(Specification), mkSystem)
-import Drasil.Metadata (dataDefn, genDefn, inModel, thModel, software, requirement, srs)
+import Drasil.Metadata (inModel, software)
import Data.Drasil.Concepts.Computation (inDatum)
-import Data.Drasil.Concepts.Documentation (analysis, physics,
- problem, assumption, goalStmt, physSyst, sysCont, user,
- refBy, refName, typUnc, example, softwareSys, system, environment,
+import Data.Drasil.Concepts.Documentation (analysis, physics, problem,
+ assumption, sysCont, user, example, softwareSys, system, environment,
product_, interface, condition, physical, datum, input_, softwareConstraint,
output_, endUser)
import qualified Data.Drasil.Concepts.Documentation as Doc (physics, variable)
import Data.Drasil.Concepts.Math (cartesian)
import Data.Drasil.Concepts.PhysicalProperties (mass)
import Data.Drasil.Concepts.Physics (gravity, physicCon',
- rectilinear, oneD, twoD, motion, distance, collision, positionVec)
+ rectilinear, twoD, motion, distance, collision, positionVec)
import Data.Drasil.Concepts.Software (program)
import Data.Drasil.Quantities.Math (pi_, piConst)
@@ -58,14 +57,14 @@ mkSRS = [TableOfContents,
RefProg intro
[ TUnits
, tsymb [TSPurpose, TypogConvention [Vector Bold], SymbOrder, VectorUnits]
- , TAandA abbreviationsList
+ , TAandA
],
IntroSec $
IntroProg justification (phrase progName)
[ IPurpose $ purpDoc progName Verbose
, IScope scope
, IChar [] charsOfReader []
- , IOrgSec inModel (SRS.inModel [] []) EmptyS],
+ , IOrgSec inModel (SRS.inModel [] []) Nothing],
GSDSec $
GSDProg
[ SysCntxt [sysCtxIntro, LlC sysCtxFig1, sysCtxDesc, sysCtxList]
@@ -165,13 +164,6 @@ symbMap = cdb (pi_ : symbols) ideaDicts conceptChunks ([] :: [UnitDefn])
dataDefs iMods genDefns tMods concIns citations
(labelledContent ++ funcReqsTables)
-abbreviationsList :: [IdeaDict]
-abbreviationsList =
- -- CIs
- map nw acronyms ++
- -- DefinedQuantityDicts
- map nw symbols
-
-- | Holds all references and links used in the document.
allRefs :: [Reference]
allRefs = [externalLinkRef]
@@ -292,7 +284,3 @@ outConstraints = [landPosUnc, offsetUnc, flightDurUnc]
constrained :: [ConstrConcept]
constrained = [flightDur, landPos, launAngle, launSpeed, offset, targPos]
-
-acronyms :: [CI]
-acronyms = [oneD, twoD, assumption, dataDefn, genDefn, goalStmt, inModel,
- physSyst, requirement, srs, refBy, refName, thModel, typUnc]
diff --git a/code/drasil-example/sglpend/lib/Drasil/SglPend/Body.hs b/code/drasil-example/sglpend/lib/Drasil/SglPend/Body.hs
index f180fe65e99..a1e13fde0ed 100644
--- a/code/drasil-example/sglpend/lib/Drasil/SglPend/Body.hs
+++ b/code/drasil-example/sglpend/lib/Drasil/SglPend/Body.hs
@@ -27,7 +27,6 @@ import Drasil.DblPend.Body (justification, externalLinkRef, charsOfReader,
import qualified Drasil.DblPend.Body as DPD (tMods)
import Drasil.DblPend.Concepts (concepts, rod)
import Drasil.DblPend.Requirements (nonFuncReqs)
-import Drasil.DblPend.Unitals (acronyms)
import Drasil.DblPend.References (citations)
import Drasil.SglPend.Assumptions (assumpSingle)
@@ -47,14 +46,14 @@ mkSRS = [TableOfContents, -- This creates the Table of Contents
[ TUnits -- Adds table of unit section with a table frame
, tsymb [TSPurpose, TypogConvention [Vector Bold], SymbOrder, VectorUnits] -- Adds table of symbol section with a table frame
--introductory blob (TSPurpose), TypogConvention, bolds vector parameters (Vector Bold), orders the symbol, and adds units to symbols
- , TAandA abbreviationsList -- Add table of abbreviation and acronym section
+ , TAandA -- Add table of abbreviation and acronym section
],
IntroSec $
IntroProg (justification progName) (phrase progName)
[IPurpose $ purpDoc progName Verbose,
IScope scope,
IChar [] charsOfReader [],
- IOrgSec inModel (SRS.inModel [] []) EmptyS],
+ IOrgSec inModel (SRS.inModel [] []) Nothing],
GSDSec $
GSDProg [
SysCntxt [sysCtxIntro progName, LlC sysCtxFig1, sysCtxDesc, sysCtxList progName],
@@ -112,13 +111,6 @@ conceptChunks =
-- Unital Chunks
[cw len]
-abbreviationsList :: [IdeaDict]
-abbreviationsList =
- -- CIs
- nw progName : map nw acronyms ++
- -- QuantityDicts
- map nw symbols
-
symbMap :: ChunkDB
symbMap = cdb (map (^. output) iMods ++ symbols) ideaDicts conceptChunks []
dataDefs iMods genDefns tMods concIns citations
diff --git a/code/drasil-example/ssp/lib/Drasil/SSP/Body.hs b/code/drasil-example/ssp/lib/Drasil/SSP/Body.hs
index 1bb61e090d3..bdf5f8a7a7f 100644
--- a/code/drasil-example/ssp/lib/Drasil/SSP/Body.hs
+++ b/code/drasil-example/ssp/lib/Drasil/SSP/Body.hs
@@ -40,7 +40,7 @@ import Data.Drasil.SI_Units (degree)
import Drasil.SSP.Assumptions (assumptions)
import Drasil.SSP.Changes (likelyChgs, unlikelyChgs)
import Drasil.SSP.DataDefs (dataDefs)
-import Drasil.SSP.Defs (acronyms, crtSlpSrf, defs, defs', effFandS, factor, fsConcept,
+import Drasil.SSP.Defs (crtSlpSrf, defs, defs', effFandS, factor, fsConcept,
intrslce, layer, morPrice, mtrlPrpty, plnStrn, slice, slip, slope, slpSrf, soil,
soilLyr, soilMechanics, soilPrpty, ssa, stabAnalysis, waterTable)
import Drasil.SSP.GenDefs (generalDefinitions)
@@ -67,7 +67,7 @@ si = mkSystem
mkSRS :: SRSDecl
mkSRS = [TableOfContents,
RefSec $ RefProg intro
- [TUnits, tsymb'' tableOfSymbIntro TAD, TAandA abbreviationsList],
+ [TUnits, tsymb'' tableOfSymbIntro TAD, TAandA ],
IntroSec $ IntroProg startIntro kSent
[ IPurpose $ purpDoc progName Verbose
, IScope scope
@@ -75,7 +75,7 @@ mkSRS = [TableOfContents,
[phrase undergraduate +:+ S "level 4" +:+ phrase Doc.physics,
phrase undergraduate +:+ S "level 2 or higher" +:+ phrase solidMechanics]
[phrase soilMechanics]
- , IOrgSec inModel (SRS.inModel [] []) orgSecEnd
+ , IOrgSec inModel (SRS.inModel [] []) (Just orgSecEnd)
],
--FIXME: issue #235
GSDSec $ GSDProg
@@ -144,15 +144,6 @@ symbMap :: ChunkDB
symbMap = cdb symbols ideaDicts conceptChunks
[degree] dataDefs iMods generalDefinitions tMods concIns citations labCon
-abbreviationsList :: [IdeaDict]
-abbreviationsList =
- -- CIs
- map nw acronyms ++
- -- ConceptChunks
- nw progName :
- -- DefinedQuantityDicts
- map nw symbols
-
-- | Holds all references and links used in the document.
allRefs :: [Reference]
allRefs = [externalLinkRef, weightSrc, hsPressureSrc]
@@ -226,7 +217,7 @@ scope = foldlSent_ [D.toSent (phraseNP (stabAnalysis `ofA` twoD)), sParen (short
-- SECTION 2.4 --
-- Organization automatically generated in IOrgSec
orgSecEnd :: Sentence
-orgSecEnd = foldlSent_ [D.toSent (atStartNP' (the inModel)), S "provide the set of",
+orgSecEnd = foldlSent [D.toSent (atStartNP' (the inModel)), S "provide the set of",
S "algebraic", plural equation, S "that must be solved"]
-- SECTION 3 --
diff --git a/code/drasil-example/swhs/lib/Drasil/SWHS/Body.hs b/code/drasil-example/swhs/lib/Drasil/SWHS/Body.hs
index 2e20835b731..d639bd538a2 100755
--- a/code/drasil-example/swhs/lib/Drasil/SWHS/Body.hs
+++ b/code/drasil-example/swhs/lib/Drasil/SWHS/Body.hs
@@ -38,7 +38,7 @@ import Data.Drasil.People (brooks, spencerSmith, thulasi)
import Drasil.SWHS.Assumptions (assumpPIS, assumptions)
import Drasil.SWHS.Changes (likelyChgs, unlikelyChgs)
-import Drasil.SWHS.Concepts (acronymsFull, coil, con, phaseChangeMaterial,
+import Drasil.SWHS.Concepts (coil, con, phaseChangeMaterial,
phsChgMtrl, sWHT, tank, tankPCM, transient, water)
import qualified Drasil.SWHS.DataDefs as SWHS (dataDefs)
import Drasil.SWHS.GenDefs (genDefs, htFluxWaterFromCoil, htFluxPCMFromWater)
@@ -92,13 +92,6 @@ symbMap :: ChunkDB
symbMap = cdb symbols ideaDicts conceptChunks [] SWHS.dataDefs insModel
genDefs tMods concIns citations (labelledContent ++ funcReqsTables)
-abbreviationsList :: [IdeaDict]
-abbreviationsList =
- -- CIs
- nw progName : map nw acronymsFull ++
- -- DefinedQuantityDicts
- map nw symbols
-
-- | Holds all references and links used in the document.
allRefs :: [Reference]
allRefs = externalLinkRef : uriReferences
@@ -108,13 +101,13 @@ mkSRS = [TableOfContents,
RefSec $ RefProg intro [
TUnits,
tsymb'' tSymbIntro $ TermExcept [uNormalVect],
- TAandA abbreviationsList],
+ TAandA ],
IntroSec $
IntroProg (introStart +:+ introStartSWHS) (introEnd (plural progName') progName)
[IPurpose $ purpDoc progName Verbose,
IScope scope,
IChar [] charsOfReader [],
- IOrgSec inModel (SRS.inModel [] []) orgDocEnd
+ IOrgSec inModel (SRS.inModel [] []) (Just orgDocEnd)
],
GSDSec $ GSDProg
[ SysCntxt [sysCntxtDesc progName, LlC sysCntxtFig, sysCntxtRespIntro progName, systContRespBullets progName]
@@ -241,7 +234,7 @@ charReaderDE = plural de +:+ S "from level 1 and 2" +:+ phrase calculus
-- 2.4 : Organization of Document --
------------------------------------
orgDocEnd :: Sentence
-orgDocEnd = foldlSent_ [D.toSent (atStartNP' (the inModel)),
+orgDocEnd = foldlSent [D.toSent (atStartNP' (the inModel)),
S "to be solved" `S.are` S "referred to as" +:+.
foldlList Comma List (map refS iMods), S "The", plural inModel,
S "provide the", plural ode, sParen (short ode :+: S "s") `S.and_`
diff --git a/code/drasil-example/swhsnopcm/lib/Drasil/SWHSNoPCM/Body.hs b/code/drasil-example/swhsnopcm/lib/Drasil/SWHSNoPCM/Body.hs
index c624f0eaee6..fa03466cfe1 100644
--- a/code/drasil-example/swhsnopcm/lib/Drasil/SWHSNoPCM/Body.hs
+++ b/code/drasil-example/swhsnopcm/lib/Drasil/SWHSNoPCM/Body.hs
@@ -36,7 +36,7 @@ import Drasil.SWHS.Body (charsOfReader, dataContMid, motivation,
introStart, externalLinkRef, physSyst1, physSyst2, sysCntxtDesc,
systContRespBullets, sysCntxtRespIntro, userChars)
import Drasil.SWHS.Changes (likeChgTCVOD, likeChgTCVOL, likeChgTLH)
-import Drasil.SWHS.Concepts (acronyms, coil, sWHT, tank, transient, water, con, phsChgMtrl)
+import Drasil.SWHS.Concepts (coil, sWHT, tank, transient, water, con, phsChgMtrl)
import Drasil.SWHS.Requirements (nfRequirements)
import Drasil.SWHS.TMods (PhaseChange(Liquid), consThermE, nwtnCooling, sensHtETemplate)
import Drasil.SWHS.Unitals (deltaT, htFluxC, htFluxIn,
@@ -87,13 +87,13 @@ mkSRS = [TableOfContents,
RefSec $ RefProg intro
[TUnits,
tsymb [TSPurpose, SymbConvention [Lit $ nw htTrans, Doc' $ nw progName], SymbOrder, VectorUnits],
- TAandA abbreviationsList],
+ TAandA ],
IntroSec $
IntroProg (introStart +:+ introStartNoPCM) (introEnd (plural progName) progName)
[ IPurpose $ purpDoc progName Verbose
, IScope scope
, IChar [] charsOfReader []
- , IOrgSec inModel (SRS.inModel [] []) orgDocEnd
+ , IOrgSec inModel (SRS.inModel [] []) (Just orgDocEnd)
],
GSDSec $
GSDProg
@@ -167,13 +167,6 @@ symbMap = cdb symbols ideaDicts conceptChunks ([] :: [UnitDefn]) NoPCM.dataDefs
NoPCM.iMods genDefs tMods concIns citations
(labelledContent ++ funcReqsTables)
-abbreviationsList :: [IdeaDict]
-abbreviationsList =
- -- CIs
- nw progName : map nw acronyms ++
- -- DefinedQuantityDicts
- map nw symbols
-
-- | Holds all references and links used in the document.
allRefs :: [Reference]
allRefs = [externalLinkRef, externalLinkRef'] ++ uriReferences
@@ -217,7 +210,7 @@ scope = phrase thermalAnalysis `S.of_` S "a single" +:+ phrase sWHT
---------------------------------------
orgDocEnd :: Sentence
-orgDocEnd = foldlSent_ [D.toSent (atStartNP (the inModel)),
+orgDocEnd = foldlSent [D.toSent (atStartNP (the inModel)),
S "to be solved" `S.is` S "referred to as" +:+. refS eBalanceOnWtr,
D.toSent (atStartNP (the inModel)), S "provides the", titleize ode,
sParen (short ode), S "that models the" +:+. phrase progName,
diff --git a/code/drasil-example/template/lib/Drasil/Template/Body.hs b/code/drasil-example/template/lib/Drasil/Template/Body.hs
index cee771a395e..985f6d56cbb 100644
--- a/code/drasil-example/template/lib/Drasil/Template/Body.hs
+++ b/code/drasil-example/template/lib/Drasil/Template/Body.hs
@@ -30,7 +30,7 @@ mkSRS = [TableOfContents,
[ IPurpose $ purpDoc progName Verbose,
IScope EmptyS,
IChar [] [] [],
- IOrgSec inModel (SRS.inModel [] []) EmptyS
+ IOrgSec inModel (SRS.inModel [] []) Nothing
],
GSDSec $
GSDProg
diff --git a/code/drasil-lang/lib/Language/Drasil.hs b/code/drasil-lang/lib/Language/Drasil.hs
index 2c2336431f0..cdf1bcec4c3 100644
--- a/code/drasil-lang/lib/Language/Drasil.hs
+++ b/code/drasil-lang/lib/Language/Drasil.hs
@@ -181,7 +181,7 @@ module Language.Drasil (
, compoundPhrase, compoundPhrase', compoundPhrase'', compoundPhrase''', compoundPhraseP1
, titleizeNP, titleizeNP', nounPhrase'', nounPhraseSP, nounPhraseSent
-- Language.Drasil.Development.Sentence
- , introduceAbb, phrase, plural, phrasePoss, pluralPoss, atStart, atStart'
+ , introduceAbb, introduceAbbPlrl, phrase, plural, phrasePoss, pluralPoss, atStart, atStart'
, titleize, titleize', short
-- Language.Drasil.ShortName
, ShortName, shortname', getSentSN, HasShortName(..)
diff --git a/code/drasil-lang/lib/Language/Drasil/Development/Sentence.hs b/code/drasil-lang/lib/Language/Drasil/Development/Sentence.hs
index 99edf22542d..14d0f060e33 100644
--- a/code/drasil-lang/lib/Language/Drasil/Development/Sentence.hs
+++ b/code/drasil-lang/lib/Language/Drasil/Development/Sentence.hs
@@ -11,7 +11,9 @@ module Language.Drasil.Development.Sentence (
-- * from NPStruct to Sentence
toSent,
-- * Short Form (lowercase)
- short, introduceAbb
+ short,
+ -- * Introduce with Abbreviation
+ introduceAbb, introduceAbbPlrl
) where
import Control.Lens ((^.))
@@ -23,7 +25,7 @@ import Language.Drasil.Sentence ((+:+), sParen, sentenceTerm,
sentencePlural, sentenceShort)
import qualified Language.Drasil.Sentence as S
import qualified Language.Drasil.NounPhrase as NP
-import Language.Drasil.NounPhrase.Core (NPStruct(..))
+import Language.Drasil.NounPhrase.Types (NPStruct(..))
-- | Translate from NPStruct to Sentence
toSent :: NPStruct -> S.Sentence
@@ -40,11 +42,13 @@ toSent (P p) = S.P p
short :: Idea c => c -> S.Sentence
short c = sentenceShort (c ^. uid)
--- | Helper for common pattern of introducing the title-case version of a
--- noun phrase (from an Idea)
--- followed by its abbreviation in parentheses.
+-- | Introduce a noun phrase and its (parenthesized) abbreviation.
introduceAbb :: Idea n => n -> S.Sentence
-introduceAbb n = toSent (NP.titleizeNP (n ^. term)) +:+ sParen (short n)
+introduceAbb n = phrase n +:+ sParen (short n)
+
+-- | Introduce a plural noun phrase and its (parenthesized) abbreviation.
+introduceAbbPlrl :: Idea n => n -> S.Sentence
+introduceAbbPlrl n = plural n +:+ sParen (short n)
-- | Helper function for getting the sentence case of a noun phrase from a
-- 'NamedIdea'.
diff --git a/code/drasil-lang/lib/Language/Drasil/Sentence.hs b/code/drasil-lang/lib/Language/Drasil/Sentence.hs
index 54fe3d4d6f0..d1012b1de13 100644
--- a/code/drasil-lang/lib/Language/Drasil/Sentence.hs
+++ b/code/drasil-lang/lib/Language/Drasil/Sentence.hs
@@ -33,7 +33,7 @@ import qualified Data.Set as Set
-- (can record whether something is in plural form, a singular term, or in short form).
data SentenceStyle = PluralTerm
| TermStyle
- | ShortStyle
+ | ShortStyle -- TODO: Short plural?
-- | Used in 'Ch' constructor to determine the capitalization of a term.
-- CapF is for capitalizing the first word from the 'UID' of the given term.
diff --git a/code/drasil-utils/lib/Utils/Drasil.hs b/code/drasil-utils/lib/Utils/Drasil.hs
index 6d290a8c200..84c5129b1be 100644
--- a/code/drasil-utils/lib/Utils/Drasil.hs
+++ b/code/drasil-utils/lib/Utils/Drasil.hs
@@ -19,7 +19,10 @@ module Utils.Drasil (
-- * Lists
-- | From "Utils.Drasil.Lists". General functions involving lists.
- replaceAll, subsetOf, nubSort, weave, foldle, foldle1, toColumn, mkTable,
+ splitAtAll, mergeAll,
+ replaceAll, subsetOf, nubSort, weave,
+ foldle, foldle1,
+ toColumn, mkTable,
-- ** Strings
toPlainName, repUnd,
diff --git a/code/drasil-utils/lib/Utils/Drasil/Lists.hs b/code/drasil-utils/lib/Utils/Drasil/Lists.hs
index 54ad4d3ac76..a23acaaa48a 100644
--- a/code/drasil-utils/lib/Utils/Drasil/Lists.hs
+++ b/code/drasil-utils/lib/Utils/Drasil/Lists.hs
@@ -5,6 +5,32 @@ import Data.List (sort, transpose)
import Data.Containers.ListUtils (nubOrd)
+-- | Split a list of elements by a delimiter, returning all delimited segments
+-- and delimiters.
+splitAtAll :: (a -> Bool) -> [a] -> ([[a]], [a])
+splitAtAll = go [] [] []
+ where
+ go :: [a] -> [[a]] -> [a] -> (a -> Bool) -> [a] -> ([[a]], [a])
+ -- List ended with delimiter (nothing accumulated)
+ go [] gacc as _ [] = ([] : reverse gacc, reverse as)
+ -- List ends with non-delimiter (elements accumulated)
+ go lacc gacc as _ [] = (reverse (reverse lacc : gacc), reverse as)
+ go lacc gacc as p (x:xs)
+ -- Next element is a delimiter (fix ordering of accumulated elements and
+ -- continue)
+ | p x = go [] (reverse lacc : gacc) (x:as) p xs
+ -- Next element is not a delimiter (put element in local segment
+ -- cache/accumulator [reverse order])
+ | otherwise = go (x:lacc) gacc as p xs
+
+-- | Concatenate a list of list segments given a list of delimiters.
+--
+-- e.g., mergeAll [[1,2], [4,5]] [3,6] == [1,2,3,4,5,6]
+mergeAll :: [[a]] -> [a] -> [a]
+mergeAll [] rs = rs
+mergeAll (l:ls) (r:rs) = l ++ r : mergeAll ls rs
+mergeAll ls _ = concat ls
+
-- | Replaces all elements of a target list that belong to a provided "bad"
-- input list.
replaceAll :: Eq a => [a] -> a -> [a] -> [a]
diff --git a/code/stable/dblpend/SRS/HTML/DblPend_SRS.html b/code/stable/dblpend/SRS/HTML/DblPend_SRS.html
index c24ee9b2d22..31c55f6c1ff 100644
--- a/code/stable/dblpend/SRS/HTML/DblPend_SRS.html
+++ b/code/stable/dblpend/SRS/HTML/DblPend_SRS.html
@@ -374,6 +374,10 @@
Abbreviations and Acronyms
IM |
Instance Model |
+
+ | ODE |
+ Ordinary Differential Equation |
+
| PS |
Physical System Description |
@@ -416,7 +420,7 @@ Introduction
A pendulum consists of mass attached to the end of a rod and its moving curve is highly sensitive to initial conditions. Therefore, it is useful to have a program to simulate the motion of the pendulum to exhibit its chaotic characteristics. The document describes the program called Double Pendulum , which is based on the original, manually created version of Double Pendulum.
- The following section provides an overview of the Software Requirements Specification (SRS) for Double Pendulum. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.
+ The following section provides an overview of the software requirements specification (SRS) for Double Pendulum. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.
diff --git a/code/stable/dblpend/SRS/Jupyter/DblPend_SRS.ipynb b/code/stable/dblpend/SRS/Jupyter/DblPend_SRS.ipynb
index bbc4a8dcee2..0296a241bc4 100644
--- a/code/stable/dblpend/SRS/Jupyter/DblPend_SRS.ipynb
+++ b/code/stable/dblpend/SRS/Jupyter/DblPend_SRS.ipynb
@@ -134,6 +134,7 @@
"|GD|General Definition|\n",
"|GS|Goal Statement|\n",
"|IM|Instance Model|\n",
+ "|ODE|Ordinary Differential Equation|\n",
"|PS|Physical System Description|\n",
"|R|Requirement|\n",
"|RefBy|Referenced by|\n",
@@ -148,7 +149,7 @@
"\n",
"A pendulum consists of mass attached to the end of a rod and its moving curve is highly sensitive to initial conditions. Therefore, it is useful to have a program to simulate the motion of the pendulum to exhibit its chaotic characteristics. The document describes the program called Double Pendulum , which is based on the original, manually created version of
Double Pendulum.\n",
"\n",
- "The following section provides an overview of the Software Requirements Specification (SRS) for Double Pendulum. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.\n",
+ "The following section provides an overview of the software requirements specification (SRS) for Double Pendulum. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.\n",
"\n",
"## Purpose of Document\n",
"
\n",
diff --git a/code/stable/dblpend/SRS/PDF/DblPend_SRS.tex b/code/stable/dblpend/SRS/PDF/DblPend_SRS.tex
index 4ce0b60b161..fdc5e0c9202 100644
--- a/code/stable/dblpend/SRS/PDF/DblPend_SRS.tex
+++ b/code/stable/dblpend/SRS/PDF/DblPend_SRS.tex
@@ -155,6 +155,8 @@ \subsection{Abbreviations and Acronyms}
\\
IM & Instance Model
\\
+ODE & Ordinary Differential Equation
+\\
PS & Physical System Description
\\
R & Requirement
@@ -174,7 +176,7 @@ \section{Introduction}
\label{Sec:Intro}
A pendulum consists of mass attached to the end of a rod and its moving curve is highly sensitive to initial conditions. Therefore, it is useful to have a program to simulate the motion of the pendulum to exhibit its chaotic characteristics. The document describes the program called Double Pendulum , which is based on the original, manually created version of \hyperref{https://github.com/Zhang-Zhi-ZZ/CAS741Project/tree/master/Double%20Pendulum}{}{}{Double Pendulum}.
-The following section provides an overview of the Software Requirements Specification (SRS) for Double Pendulum. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.
+The following section provides an overview of the software requirements specification (SRS) for Double Pendulum. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.
\subsection{Purpose of Document}
\label{Sec:DocPurpose}
diff --git a/code/stable/dblpend/SRS/mdBook/src/SecIntro.md b/code/stable/dblpend/SRS/mdBook/src/SecIntro.md
index 43904996d64..85ce1e7312d 100644
--- a/code/stable/dblpend/SRS/mdBook/src/SecIntro.md
+++ b/code/stable/dblpend/SRS/mdBook/src/SecIntro.md
@@ -2,4 +2,4 @@
A pendulum consists of mass attached to the end of a rod and its moving curve is highly sensitive to initial conditions. Therefore, it is useful to have a program to simulate the motion of the pendulum to exhibit its chaotic characteristics. The document describes the program called Double Pendulum , which is based on the original, manually created version of [Double Pendulum](https://github.com/Zhang-Zhi-ZZ/CAS741Project/tree/master/Double%20Pendulum).
-The following section provides an overview of the Software Requirements Specification (SRS) for Double Pendulum. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.
+The following section provides an overview of the software requirements specification (SRS) for Double Pendulum. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.
diff --git a/code/stable/dblpend/SRS/mdBook/src/SecTAbbAcc.md b/code/stable/dblpend/SRS/mdBook/src/SecTAbbAcc.md
index c08d6e3dcae..b45da395776 100644
--- a/code/stable/dblpend/SRS/mdBook/src/SecTAbbAcc.md
+++ b/code/stable/dblpend/SRS/mdBook/src/SecTAbbAcc.md
@@ -11,6 +11,7 @@
|GD |General Definition |
|GS |Goal Statement |
|IM |Instance Model |
+|ODE |Ordinary Differential Equation |
|PS |Physical System Description |
|R |Requirement |
|RefBy |Referenced by |
diff --git a/code/stable/gamephysics/SRS/HTML/GamePhysics_SRS.html b/code/stable/gamephysics/SRS/HTML/GamePhysics_SRS.html
index 9d3ca511a3f..da1398ff6d0 100644
--- a/code/stable/gamephysics/SRS/HTML/GamePhysics_SRS.html
+++ b/code/stable/gamephysics/SRS/HTML/GamePhysics_SRS.html
@@ -545,10 +545,6 @@
Abbreviations and Acronyms
A |
Assumption |
-
- | CM |
- Centre of Mass |
-
| DD |
Data Definition |
@@ -561,6 +557,10 @@ Abbreviations and Acronyms
GS |
Goal Statement |
+
+ | GamePhysics |
+ GamePhysics |
+
| IM |
Instance Model |
@@ -615,7 +615,7 @@ Introduction
Due to the rising cost of developing video games, developers are looking for ways to save time and money for their projects. Using an open source physics library that is reliable and free will cut down development costs and lead to better quality products. The document describes the program based on the original, manually created version of GamePhysics.
- The following section provides an overview of the Software Requirements Specification (SRS) for GamePhysics. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.
+ The following section provides an overview of the software requirements specification (SRS) for GamePhysics. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.
@@ -809,12 +809,12 @@
Assumptions
- objectTy: All objects are rigid bodies. (RefBy:
GD:impulse,
IM:col2D,
IM:rotMot,
IM:transMot,
DD:chaslesThm,
DD:reVeInColl,
DD:potEnergy,
DD:ctrOfMass,
DD:momentOfInertia,
DD:linVel,
DD:linDisp,
DD:linAcc,
DD:kEnergy,
DD:impulseV,
DD:angVel,
DD:angDisp, and
DD:angAccel.)
+ objectTy: All objects are rigid bodies. (
RefBy:
GD:impulse,
IM:col2D,
IM:rotMot,
IM:transMot,
DD:chaslesThm,
DD:reVeInColl,
DD:potEnergy,
DD:ctrOfMass,
DD:momentOfInertia,
DD:linVel,
DD:linDisp,
DD:linAcc,
DD:kEnergy,
DD:impulseV,
DD:angVel,
DD:angDisp, and
DD:angAccel.)
- objectDimension: All objects are
2D. (RefBy:
TM:NewtonSecLawRotMot,
GD:impulse,
IM:col2D,
IM:rotMot,
IM:transMot,
DD:potEnergy,
DD:kEnergy,
DD:angVel,
DD:angDisp, and
DD:angAccel.)
+ objectDimension: All objects are
2D. (
RefBy:
TM:NewtonSecLawRotMot,
GD:impulse,
IM:col2D,
IM:rotMot,
IM:transMot,
DD:potEnergy,
DD:kEnergy,
DD:angVel,
DD:angDisp, and
DD:angAccel.)
@@ -824,22 +824,22 @@
Assumptions
@@ -2668,7 +2668,7 @@
Non-Functional Requirements
Likely Changes
- This section lists the likely changes to be made to the software.
+ This section lists the likely changes (LC) to be made to the software.
@@ -2698,7 +2698,7 @@
Likely Changes
Unlikely Changes
- This section lists the unlikely changes to be made to the software.
+ This section lists the unlikely changes (UC) to be made to the software.
diff --git a/code/stable/gamephysics/SRS/Jupyter/GamePhysics_SRS.ipynb b/code/stable/gamephysics/SRS/Jupyter/GamePhysics_SRS.ipynb
index ac938c70e9c..3df19a08661 100644
--- a/code/stable/gamephysics/SRS/Jupyter/GamePhysics_SRS.ipynb
+++ b/code/stable/gamephysics/SRS/Jupyter/GamePhysics_SRS.ipynb
@@ -167,10 +167,10 @@
"|2D|Two-Dimensional|\n",
"|3D|Three-Dimensional|\n",
"|A|Assumption|\n",
- "|CM|Centre of Mass|\n",
"|DD|Data Definition|\n",
"|GD|General Definition|\n",
"|GS|Goal Statement|\n",
+ "|GamePhysics|GamePhysics|\n",
"|IM|Instance Model|\n",
"|LC|Likely Change|\n",
"|ODE|Ordinary Differential Equation|\n",
@@ -188,7 +188,7 @@
"\n",
"Due to the rising cost of developing video games, developers are looking for ways to save time and money for their projects. Using an open source physics library that is reliable and free will cut down development costs and lead to better quality products. The document describes the program based on the original, manually created version of GamePhysics.\n",
"\n",
- "The following section provides an overview of the Software Requirements Specification (SRS) for GamePhysics. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.\n",
+ "The following section provides an overview of the software requirements specification (SRS) for GamePhysics. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.\n",
"\n",
"## Purpose of Document\n",
"\n",
@@ -2153,7 +2153,7 @@
"# Likely Changes\n",
"\n",
"\n",
- "This section lists the likely changes to be made to the software.\n",
+ "This section lists the likely changes (LC) to be made to the software.\n",
"\n",
"
\n",
"Variable-ODE-Solver: The internal ODE-solving algorithm used by the library may be changed in the future.\n",
@@ -2175,7 +2175,7 @@
"# Unlikely Changes\n",
"
\n",
"\n",
- "This section lists the unlikely changes to be made to the software.\n",
+ "This section lists the unlikely changes (UC) to be made to the software.\n",
"\n",
"
\n",
"Simulate-Rigid-Bodies: The goal of the system is to simulate the interactions of rigid bodies.\n",
diff --git a/code/stable/gamephysics/SRS/PDF/GamePhysics_SRS.tex b/code/stable/gamephysics/SRS/PDF/GamePhysics_SRS.tex
index fa562c78576..aaf010177a7 100644
--- a/code/stable/gamephysics/SRS/PDF/GamePhysics_SRS.tex
+++ b/code/stable/gamephysics/SRS/PDF/GamePhysics_SRS.tex
@@ -217,14 +217,14 @@ \subsection{Abbreviations and Acronyms}
\\
A & Assumption
\\
-CM & Centre of Mass
-\\
DD & Data Definition
\\
GD & General Definition
\\
GS & Goal Statement
\\
+GamePhysics & GamePhysics
+\\
IM & Instance Model
\\
LC & Likely Change
@@ -250,7 +250,7 @@ \section{Introduction}
\label{Sec:Intro}
Due to the rising cost of developing video games, developers are looking for ways to save time and money for their projects. Using an open source physics library that is reliable and free will cut down development costs and lead to better quality products. The document describes the program based on the original, manually created version of \hyperref{https://github.com/smiths/caseStudies/blob/master/CaseStudies/gamephys}{}{}{GamePhysics}.
-The following section provides an overview of the Software Requirements Specification (SRS) for GamePhysics. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.
+The following section provides an overview of the software requirements specification (SRS) for GamePhysics. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.
\subsection{Purpose of Document}
\label{Sec:DocPurpose}
@@ -1536,7 +1536,7 @@ \subsection{Non-Functional Requirements}
\end{description}
\section{Likely Changes}
\label{Sec:LCs}
-This section lists the likely changes to be made to the software.
+This section lists the likely changes (LC) to be made to the software.
\begin{description}[font=\normalfont]
\item[Variable-ODE-Solver:\phantomsection\label{lcVODES}]{The internal ODE-solving algorithm used by the library may be changed in the future.}
@@ -1546,7 +1546,7 @@ \section{Likely Changes}
\end{description}
\section{Unlikely Changes}
\label{Sec:UCs}
-This section lists the unlikely changes to be made to the software.
+This section lists the unlikely changes (UC) to be made to the software.
\begin{description}[font=\normalfont]
\item[Simulate-Rigid-Bodies:\phantomsection\label{ucSRB}]{The goal of the system is to simulate the interactions of rigid bodies.}
diff --git a/code/stable/gamephysics/SRS/mdBook/src/SecIntro.md b/code/stable/gamephysics/SRS/mdBook/src/SecIntro.md
index b8d08e99d03..60d856c5fe8 100644
--- a/code/stable/gamephysics/SRS/mdBook/src/SecIntro.md
+++ b/code/stable/gamephysics/SRS/mdBook/src/SecIntro.md
@@ -2,4 +2,4 @@
Due to the rising cost of developing video games, developers are looking for ways to save time and money for their projects. Using an open source physics library that is reliable and free will cut down development costs and lead to better quality products. The document describes the program based on the original, manually created version of [GamePhysics](https://github.com/smiths/caseStudies/blob/master/CaseStudies/gamephys).
-The following section provides an overview of the Software Requirements Specification (SRS) for GamePhysics. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.
+The following section provides an overview of the software requirements specification (SRS) for GamePhysics. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.
diff --git a/code/stable/gamephysics/SRS/mdBook/src/SecLCs.md b/code/stable/gamephysics/SRS/mdBook/src/SecLCs.md
index 693f74fa9cf..b50888c41c8 100644
--- a/code/stable/gamephysics/SRS/mdBook/src/SecLCs.md
+++ b/code/stable/gamephysics/SRS/mdBook/src/SecLCs.md
@@ -1,6 +1,6 @@
# Likely Changes {#Sec:LCs}
-This section lists the likely changes to be made to the software.
+This section lists the likely changes (LC) to be made to the software.
diff --git a/code/stable/gamephysics/SRS/mdBook/src/SecTAbbAcc.md b/code/stable/gamephysics/SRS/mdBook/src/SecTAbbAcc.md
index 94eab7ecb81..649d5fd1f69 100644
--- a/code/stable/gamephysics/SRS/mdBook/src/SecTAbbAcc.md
+++ b/code/stable/gamephysics/SRS/mdBook/src/SecTAbbAcc.md
@@ -7,10 +7,10 @@
|2D |Two-Dimensional |
|3D |Three-Dimensional |
|A |Assumption |
-|CM |Centre of Mass |
|DD |Data Definition |
|GD |General Definition |
|GS |Goal Statement |
+|GamePhysics |GamePhysics |
|IM |Instance Model |
|LC |Likely Change |
|ODE |Ordinary Differential Equation |
diff --git a/code/stable/gamephysics/SRS/mdBook/src/SecUCs.md b/code/stable/gamephysics/SRS/mdBook/src/SecUCs.md
index 04512ec5c2f..4d7fbce3a1f 100644
--- a/code/stable/gamephysics/SRS/mdBook/src/SecUCs.md
+++ b/code/stable/gamephysics/SRS/mdBook/src/SecUCs.md
@@ -1,6 +1,6 @@
# Unlikely Changes {#Sec:UCs}
-This section lists the unlikely changes to be made to the software.
+This section lists the unlikely changes (UC) to be made to the software.
diff --git a/code/stable/glassbr/SRS/HTML/GlassBR_SRS.html b/code/stable/glassbr/SRS/HTML/GlassBR_SRS.html
index 033a1e73cf4..87a730bd2d9 100644
--- a/code/stable/glassbr/SRS/HTML/GlassBR_SRS.html
+++ b/code/stable/glassbr/SRS/HTML/GlassBR_SRS.html
@@ -455,6 +455,10 @@
Abbreviations and Acronyms
FT |
Fully Tempered |
+
+ | GD |
+ General Definition |
+
| GS |
Goal Statement |
@@ -463,6 +467,10 @@ Abbreviations and Acronyms
GTF |
Glass Type Factor |
+
+ | GlassBR |
+ GlassBR |
+
| HS |
Heat Strengthened |
@@ -549,7 +557,7 @@ Introduction
Explosions in downtown areas are dangerous from the blast itself and also potentially from the secondary effect of falling glass. Therefore, software is needed to predict whether a glass slab can withstand a blast under given conditions. For example, we might wish to know whether a pane of glass fails from a gas main explosion or from a small fertilizer truck bomb. The document describes the program called GlassBR , which is based on the original, manually created version of GlassBR.
- The following section provides an overview of the Software Requirements Specification (SRS) for GlassBR. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.
+ The following section provides an overview of the software requirements specification (SRS) for GlassBR. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.
@@ -835,37 +843,37 @@
Assumptions
- glassCondition: Following
astm2009 (pg. 1), this practice does not apply to any form of wired, patterned, etched, sandblasted, drilled, notched, or grooved glass with surface and edge treatments that alter the glass strength. (RefBy:
UC:Accommodate-Altered-Glass.)
+ glassCondition: Following
astm2009 (pg. 1), this practice does not apply to any form of wired, patterned, etched, sandblasted, drilled, notched, or grooved glass with surface and edge treatments that alter the glass strength. (
RefBy:
UC:Accommodate-Altered-Glass.)
- standardValues: The values provided in
Sec:Values of Auxiliary Constants are assumed for the duration of load (
td), and the material properties of
m,
k, and
E. (RefBy:
IM:sdfTol,
IM:nFL,
IM:dimlessLoad,
LC:Variable-Values-of-m,k,E,
A:ldfConstant, and
DD:loadDurFactor.)
+ standardValues: The values provided in
Sec:Values of Auxiliary Constants are assumed for the duration of load (
td), and the material properties of
m,
k, and
E. (
RefBy:
IM:sdfTol,
IM:nFL,
IM:dimlessLoad,
LC:Variable-Values-of-m,k,E,
A:ldfConstant, and
DD:loadDurFactor.)
- glassLite: Glass under consideration is assumed to be a single lite; hence, the value of
LSF is equal to 1 for all calculations in
GlassBR. (RefBy:
LC:Accomodate-More-than-Single-Lite.)
+ glassLite: Glass under consideration is assumed to be a single lite; hence, the value of
LSF is equal to 1 for all calculations in
GlassBR. (
RefBy:
LC:Accomodate-More-than-Single-Lite.)
@@ -2669,7 +2677,7 @@
Non-Functional Requirements
Likely Changes
- This section lists the likely changes to be made to the software.
+ This section lists the likely changes (LC) to be made to the software.
@@ -2704,7 +2712,7 @@
Likely Changes
Unlikely Changes
- This section lists the unlikely changes to be made to the software.
+ This section lists the unlikely changes (UC) to be made to the software.
diff --git a/code/stable/glassbr/SRS/Jupyter/GlassBR_SRS.ipynb b/code/stable/glassbr/SRS/Jupyter/GlassBR_SRS.ipynb
index 887e53b7f21..8425a3b83c5 100644
--- a/code/stable/glassbr/SRS/Jupyter/GlassBR_SRS.ipynb
+++ b/code/stable/glassbr/SRS/Jupyter/GlassBR_SRS.ipynb
@@ -153,8 +153,10 @@
"|AR|Aspect Ratio|\n",
"|DD|Data Definition|\n",
"|FT|Fully Tempered|\n",
+ "|GD|General Definition|\n",
"|GS|Goal Statement|\n",
"|GTF|Glass Type Factor|\n",
+ "|GlassBR|GlassBR|\n",
"|HS|Heat Strengthened|\n",
"|IG|Insulating Glass|\n",
"|IM|Instance Model|\n",
@@ -180,7 +182,7 @@
"\n",
"Explosions in downtown areas are dangerous from the blast itself and also potentially from the secondary effect of falling glass. Therefore, software is needed to predict whether a glass slab can withstand a blast under given conditions. For example, we might wish to know whether a pane of glass fails from a gas main explosion or from a small fertilizer truck bomb. The document describes the program called GlassBR , which is based on the original, manually created version of GlassBR.\n",
"\n",
- "The following section provides an overview of the Software Requirements Specification (SRS) for GlassBR. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.\n",
+ "The following section provides an overview of the software requirements specification (SRS) for GlassBR. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.\n",
"\n",
"## Purpose of Document\n",
"\n",
@@ -359,7 +361,7 @@
"\n",
"
\n",
"
\n",
- "ldfConstant: With reference to [A:standardValues](#assumpSV), the value of load duration factor ($LDF$) is a constant in GlassBR. (RefBy: [LC:Variable-Values-of-m,k,E](#varValsOfmkE) and [DD:loadDurFactor](#DD:loadDurFactor).)\n",
+ "ldfConstant: With reference to [A:standardValues](#assumpSV), the value of load duration factor (LDF) is a constant in GlassBR. (RefBy: [LC:Variable-Values-of-m,k,E](#varValsOfmkE) and [DD:loadDurFactor](#DD:loadDurFactor).)\n",
"\n",
"
\n",
"\n",
@@ -1960,7 +1962,7 @@
"# Likely Changes\n",
"
\n",
"\n",
- "This section lists the likely changes to be made to the software.\n",
+ "This section lists the likely changes (LC) to be made to the software.\n",
"\n",
"
\n",
"Calculate-Internal-Blast-Risk: [A:explainScenario](#assumpES) - The system currently only calculates for external blast risk. In the future, calculations can be added for the internal blast risk.\n",
@@ -1986,7 +1988,7 @@
"# Unlikely Changes\n",
"
\n",
"\n",
- "This section lists the unlikely changes to be made to the software.\n",
+ "This section lists the unlikely changes (UC) to be made to the software.\n",
"\n",
"
\n",
"Predict-Withstanding-of-Certain-Degree: The goal of the system is to predict whether the glass slab under consideration can withstand an explosion of a certain degree.\n",
diff --git a/code/stable/glassbr/SRS/PDF/GlassBR_SRS.tex b/code/stable/glassbr/SRS/PDF/GlassBR_SRS.tex
index 27894d93a32..8c9385c69b9 100644
--- a/code/stable/glassbr/SRS/PDF/GlassBR_SRS.tex
+++ b/code/stable/glassbr/SRS/PDF/GlassBR_SRS.tex
@@ -183,10 +183,14 @@ \subsection{Abbreviations and Acronyms}
\\
FT & Fully Tempered
\\
+GD & General Definition
+\\
GS & Goal Statement
\\
GTF & Glass Type Factor
\\
+GlassBR & GlassBR
+\\
HS & Heat Strengthened
\\
IG & Insulating Glass
@@ -228,7 +232,7 @@ \section{Introduction}
\label{Sec:Intro}
Explosions in downtown areas are dangerous from the blast itself and also potentially from the secondary effect of falling glass. Therefore, software is needed to predict whether a glass slab can withstand a blast under given conditions. For example, we might wish to know whether a pane of glass fails from a gas main explosion or from a small fertilizer truck bomb. The document describes the program called GlassBR , which is based on the original, manually created version of \hyperref{https://github.com/smiths/caseStudies/tree/master/CaseStudies/glass}{}{}{GlassBR}.
-The following section provides an overview of the Software Requirements Specification (SRS) for GlassBR. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.
+The following section provides an overview of the software requirements specification (SRS) for GlassBR. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.
\subsection{Purpose of Document}
\label{Sec:DocPurpose}
@@ -382,7 +386,7 @@ \subsubsection{Assumptions}
\item[glassLite:\phantomsection\label{assumpGL}]{Glass under consideration is assumed to be a single lite; hence, the value of LSF is equal to 1 for all calculations in GlassBR. (RefBy: \hyperref[accMoreThanSingleLite]{LC:Accomodate-More-than-Single-Lite}.)}
\item[boundaryConditions:\phantomsection\label{assumpBC}]{Boundary conditions for the glass slab are assumed to be 4-sided support for calculations. (RefBy: \hyperref[accMoreBoundaryConditions]{LC:Accomodate-More-Boundary-Conditions}.)}
\item[responseType:\phantomsection\label{assumpRT}]{The response type considered in GlassBR is flexural. (RefBy: \hyperref[considerMoreThanFlexGlass]{LC:Consider-More-than-Flexure-Glass}.)}
-\item[ldfConstant:\phantomsection\label{assumpLDFC}]{With reference to \hyperref[assumpSV]{A:standardValues}, the value of load duration factor ($\mathit{LDF}$) is a constant in GlassBR. (RefBy: \hyperref[varValsOfmkE]{LC:Variable-Values-of-m,k,E} and \hyperref[DD:loadDurFactor]{DD:loadDurFactor}.)}
+\item[ldfConstant:\phantomsection\label{assumpLDFC}]{With reference to \hyperref[assumpSV]{A:standardValues}, the value of load duration factor (LDF) is a constant in GlassBR. (RefBy: \hyperref[varValsOfmkE]{LC:Variable-Values-of-m,k,E} and \hyperref[DD:loadDurFactor]{DD:loadDurFactor}.)}
\end{description}
\subsubsection{Theoretical Models}
\label{Sec:TMs}
@@ -1450,7 +1454,7 @@ \subsection{Non-Functional Requirements}
\end{description}
\section{Likely Changes}
\label{Sec:LCs}
-This section lists the likely changes to be made to the software.
+This section lists the likely changes (LC) to be made to the software.
\begin{description}[font=\normalfont]
\item[Calculate-Internal-Blast-Risk:\phantomsection\label{calcInternalBlastRisk}]{\hyperref[assumpES]{A:explainScenario} - The system currently only calculates for external blast risk. In the future, calculations can be added for the internal blast risk.}
@@ -1461,7 +1465,7 @@ \section{Likely Changes}
\end{description}
\section{Unlikely Changes}
\label{Sec:UCs}
-This section lists the unlikely changes to be made to the software.
+This section lists the unlikely changes (UC) to be made to the software.
\begin{description}[font=\normalfont]
\item[Predict-Withstanding-of-Certain-Degree:\phantomsection\label{predictWithstandOfCertDeg}]{The goal of the system is to predict whether the glass slab under consideration can withstand an explosion of a certain degree.}
diff --git a/code/stable/glassbr/SRS/mdBook/src/SecAssumps.md b/code/stable/glassbr/SRS/mdBook/src/SecAssumps.md
index ece52366fe9..3fd14b11628 100644
--- a/code/stable/glassbr/SRS/mdBook/src/SecAssumps.md
+++ b/code/stable/glassbr/SRS/mdBook/src/SecAssumps.md
@@ -32,4 +32,4 @@ responseType: The response type considered in GlassBR is flexural. (RefBy: [LC:C
-ldfConstant: With reference to [A:standardValues](./SecAssumps.md#assumpSV), the value of load duration factor (\\(\mathit{LDF}\\)) is a constant in GlassBR. (RefBy: [LC:Variable-Values-of-m,k,E](./SecLCs.md#varValsOfmkE) and [DD:loadDurFactor](./SecDDs.md#DD:loadDurFactor).)
+ldfConstant: With reference to [A:standardValues](./SecAssumps.md#assumpSV), the value of load duration factor (LDF) is a constant in GlassBR. (RefBy: [LC:Variable-Values-of-m,k,E](./SecLCs.md#varValsOfmkE) and [DD:loadDurFactor](./SecDDs.md#DD:loadDurFactor).)
diff --git a/code/stable/glassbr/SRS/mdBook/src/SecIntro.md b/code/stable/glassbr/SRS/mdBook/src/SecIntro.md
index 9f32fc96bf5..3533ade3d5e 100644
--- a/code/stable/glassbr/SRS/mdBook/src/SecIntro.md
+++ b/code/stable/glassbr/SRS/mdBook/src/SecIntro.md
@@ -2,4 +2,4 @@
Explosions in downtown areas are dangerous from the blast itself and also potentially from the secondary effect of falling glass. Therefore, software is needed to predict whether a glass slab can withstand a blast under given conditions. For example, we might wish to know whether a pane of glass fails from a gas main explosion or from a small fertilizer truck bomb. The document describes the program called GlassBR , which is based on the original, manually created version of [GlassBR](https://github.com/smiths/caseStudies/tree/master/CaseStudies/glass).
-The following section provides an overview of the Software Requirements Specification (SRS) for GlassBR. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.
+The following section provides an overview of the software requirements specification (SRS) for GlassBR. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.
diff --git a/code/stable/glassbr/SRS/mdBook/src/SecLCs.md b/code/stable/glassbr/SRS/mdBook/src/SecLCs.md
index fa12d2cbe31..0ec2f5e7b73 100644
--- a/code/stable/glassbr/SRS/mdBook/src/SecLCs.md
+++ b/code/stable/glassbr/SRS/mdBook/src/SecLCs.md
@@ -1,6 +1,6 @@
# Likely Changes {#Sec:LCs}
-This section lists the likely changes to be made to the software.
+This section lists the likely changes (LC) to be made to the software.
diff --git a/code/stable/glassbr/SRS/mdBook/src/SecTAbbAcc.md b/code/stable/glassbr/SRS/mdBook/src/SecTAbbAcc.md
index bd2d01b305b..58e4afdd790 100644
--- a/code/stable/glassbr/SRS/mdBook/src/SecTAbbAcc.md
+++ b/code/stable/glassbr/SRS/mdBook/src/SecTAbbAcc.md
@@ -9,8 +9,10 @@
|AR |Aspect Ratio |
|DD |Data Definition |
|FT |Fully Tempered |
+|GD |General Definition |
|GS |Goal Statement |
|GTF |Glass Type Factor |
+|GlassBR |GlassBR |
|HS |Heat Strengthened |
|IG |Insulating Glass |
|IM |Instance Model |
diff --git a/code/stable/glassbr/SRS/mdBook/src/SecUCs.md b/code/stable/glassbr/SRS/mdBook/src/SecUCs.md
index 2353f9781e9..ff06724ab6c 100644
--- a/code/stable/glassbr/SRS/mdBook/src/SecUCs.md
+++ b/code/stable/glassbr/SRS/mdBook/src/SecUCs.md
@@ -1,6 +1,6 @@
# Unlikely Changes {#Sec:UCs}
-This section lists the unlikely changes to be made to the software.
+This section lists the unlikely changes (UC) to be made to the software.
diff --git a/code/stable/hghc/SRS/HTML/HGHC_SRS.html b/code/stable/hghc/SRS/HTML/HGHC_SRS.html
index 16c02a49f42..41a746629f1 100644
--- a/code/stable/hghc/SRS/HTML/HGHC_SRS.html
+++ b/code/stable/hghc/SRS/HTML/HGHC_SRS.html
@@ -164,7 +164,7 @@
Introduction
Heat transfer through the cladding of a nuclear fuel element influences performance and safety. Engineers therefore rely on dependable calculations of the heat transfer coefficients used for simulating the temperature. This document describes the requirements of a program called HGHC.
- The following section provides an overview of the Software Requirements Specification (SRS) for HGHC. This section explains the purpose of this document.
+ The following section provides an overview of the software requirements specification (SRS) for HGHC. This section explains the purpose of this document.
diff --git a/code/stable/hghc/SRS/Jupyter/HGHC_SRS.ipynb b/code/stable/hghc/SRS/Jupyter/HGHC_SRS.ipynb
index 77063e6ac26..2c0591ade02 100644
--- a/code/stable/hghc/SRS/Jupyter/HGHC_SRS.ipynb
+++ b/code/stable/hghc/SRS/Jupyter/HGHC_SRS.ipynb
@@ -74,7 +74,7 @@
"\n",
"Heat transfer through the cladding of a nuclear fuel element influences performance and safety. Engineers therefore rely on dependable calculations of the heat transfer coefficients used for simulating the temperature. This document describes the requirements of a program called HGHC.\n",
"\n",
- "The following section provides an overview of the Software Requirements Specification (SRS) for HGHC. This section explains the purpose of this document.\n",
+ "The following section provides an overview of the software requirements specification (SRS) for HGHC. This section explains the purpose of this document.\n",
"\n",
"# Specific System Description\n",
"
\n",
diff --git a/code/stable/hghc/SRS/PDF/HGHC_SRS.tex b/code/stable/hghc/SRS/PDF/HGHC_SRS.tex
index f2e37d43929..7c87cfc5a32 100644
--- a/code/stable/hghc/SRS/PDF/HGHC_SRS.tex
+++ b/code/stable/hghc/SRS/PDF/HGHC_SRS.tex
@@ -73,7 +73,7 @@ \section{Introduction}
\label{Sec:Intro}
Heat transfer through the cladding of a nuclear fuel element influences performance and safety. Engineers therefore rely on dependable calculations of the heat transfer coefficients used for simulating the temperature. This document describes the requirements of a program called HGHC.
-The following section provides an overview of the Software Requirements Specification (SRS) for HGHC. This section explains the purpose of this document.
+The following section provides an overview of the software requirements specification (SRS) for HGHC. This section explains the purpose of this document.
\section{Specific System Description}
\label{Sec:SpecSystDesc}
diff --git a/code/stable/hghc/SRS/mdBook/src/SecIntro.md b/code/stable/hghc/SRS/mdBook/src/SecIntro.md
index 5281f1d3f70..0e351ef0612 100644
--- a/code/stable/hghc/SRS/mdBook/src/SecIntro.md
+++ b/code/stable/hghc/SRS/mdBook/src/SecIntro.md
@@ -2,4 +2,4 @@
Heat transfer through the cladding of a nuclear fuel element influences performance and safety. Engineers therefore rely on dependable calculations of the heat transfer coefficients used for simulating the temperature. This document describes the requirements of a program called HGHC.
-The following section provides an overview of the Software Requirements Specification (SRS) for HGHC. This section explains the purpose of this document.
+The following section provides an overview of the software requirements specification (SRS) for HGHC. This section explains the purpose of this document.
diff --git a/code/stable/pdcontroller/SRS/HTML/PDController_SRS.html b/code/stable/pdcontroller/SRS/HTML/PDController_SRS.html
index 444ba6162e2..1dcb13c1ffb 100644
--- a/code/stable/pdcontroller/SRS/HTML/PDController_SRS.html
+++ b/code/stable/pdcontroller/SRS/HTML/PDController_SRS.html
@@ -281,6 +281,14 @@
Abbreviations and Acronyms
IM |
Instance Model |
+
+ | LC |
+ Likely Change |
+
+
+ | ODE |
+ Ordinary Differential Equation |
+
| P |
proportional |
@@ -289,6 +297,10 @@ Abbreviations and Acronyms
PD |
proportional derivative |
+
+ | PD Controller |
+ PD Controller |
+
| PID |
proportional integral derivative |
@@ -332,10 +344,10 @@ Abbreviations and Acronyms
Introduction
- Automatic process control with a controller (P/PI/PD/PID) is used in a variety of applications such as thermostats, automobile cruise-control, etc. The gains of a controller in an application must be tuned before the controller is ready for production. Therefore, a simulation of the PD Controller with a Second Order System is created in this project based on the original, manually created version of PD Controller that can be used to tune the gain constants.
+ Automatic process control with a controller (P/PI/PD/PID) is used in a variety of applications such as thermostats, automobile cruise-control, etc. The gains of a controller in an application must be tuned before the controller is ready for production. Therefore, a simulation of the PD Controller with a Second Order System is created in this project based on the original, manually created version of PD Controller that can be used to tune the gain constants.
- The following section provides an overview of the Software Requirements Specification (SRS) for PD Controller. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.
+ The following section provides an overview of the software requirements specification (SRS) for PD Controller. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.
@@ -566,57 +578,57 @@
Assumptions
- Decoupled equation: The decoupled form of the PD Controller equation used in this simulation. (RefBy:
DD:ddCtrlVar.)
+ Decoupled equation: The decoupled form of the PD Controller equation used in this simulation. (
RefBy:
DD:ddCtrlVar.)
- External disturbance: There are no external disturbances to the Power Plant during the simulation. (RefBy:
GD:gdPowerPlant.)
+ External disturbance: There are no external disturbances to the Power Plant during the simulation. (
RefBy:
GD:gdPowerPlant.)
- Initial Value: The initial value of the Process Variable is assumed to be zero. (RefBy:
DD:ddProcessError.)
+ Initial Value: The initial value of the Process Variable is assumed to be zero. (
RefBy:
DD:ddProcessError.)
- Parallel Equation: The Parallel form of the equation is used for the PD Controller. (RefBy:
DD:ddCtrlVar.)
+ Parallel Equation: The Parallel form of the equation is used for the PD Controller. (
RefBy:
DD:ddCtrlVar.)
- Unfiltered Derivative: A pure derivative function is used for this simulation; there are no filters applied. (RefBy:
DD:ddDerivCtrl.)
+ Unfiltered Derivative: A pure derivative function is used for this simulation; there are no filters applied. (
RefBy:
DD:ddDerivCtrl.)
- Transfer Function: The combined Power Plant and Sensor (
A:Power plant) are characterized by a Second Order mass-spring-damper System. (RefBy:
TM:tmSOSystem.)
+ Transfer Function: The combined Power Plant and Sensor (
A:Power plant) are characterized by a Second Order mass-spring-damper System. (
RefBy:
TM:tmSOSystem.)
@@ -1385,7 +1397,7 @@
Non-Functional Requirements
Likely Changes
- This section lists the likely changes to be made to the software.
+ This section lists the likely changes (LC) to be made to the software.
diff --git a/code/stable/pdcontroller/SRS/Jupyter/PDController_SRS.ipynb b/code/stable/pdcontroller/SRS/Jupyter/PDController_SRS.ipynb
index c3b42429ff7..1bba4237fc7 100644
--- a/code/stable/pdcontroller/SRS/Jupyter/PDController_SRS.ipynb
+++ b/code/stable/pdcontroller/SRS/Jupyter/PDController_SRS.ipynb
@@ -115,8 +115,11 @@
"|GD|General Definition|\n",
"|GS|Goal Statement|\n",
"|IM|Instance Model|\n",
+ "|LC|Likely Change|\n",
+ "|ODE|Ordinary Differential Equation|\n",
"|P|proportional|\n",
"|PD|proportional derivative|\n",
+ "|PD Controller|PD Controller|\n",
"|PID|proportional integral derivative|\n",
"|PS|Physical System Description|\n",
"|R|Requirement|\n",
@@ -132,7 +135,7 @@
"\n",
"Automatic process control with a controller (P/PI/PD/PID) is used in a variety of applications such as thermostats, automobile cruise-control, etc. The gains of a controller in an application must be tuned before the controller is ready for production. Therefore, a simulation of the PD Controller with a Second Order System is created in this project based on the original, manually created version of PD Controller that can be used to tune the gain constants.\n",
"\n",
- "The following section provides an overview of the Software Requirements Specification (SRS) for PD Controller. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.\n",
+ "The following section provides an overview of the software requirements specification (SRS) for PD Controller. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.\n",
"\n",
"## Purpose of Document\n",
"\n",
@@ -982,7 +985,7 @@
"# Likely Changes\n",
"\n",
"\n",
- "This section lists the likely changes to be made to the software.\n",
+ "This section lists the likely changes (LC) to be made to the software.\n",
"\n",
"
\n",
"DC Gain and Time Constant: The mass, Damping Coefficient and the Stiffness coefficient may be changed to be supplied by the user (from [A:Spring Mass](#massSpring), [A:Spring Damping Coefficient](#dampingCoeffSpring), and [A:Spring Stiffness Coefficient](#stiffnessCoeffSpring)).\n",
diff --git a/code/stable/pdcontroller/SRS/PDF/PDController_SRS.tex b/code/stable/pdcontroller/SRS/PDF/PDController_SRS.tex
index adf2e42c3b5..2de8abe0336 100644
--- a/code/stable/pdcontroller/SRS/PDF/PDController_SRS.tex
+++ b/code/stable/pdcontroller/SRS/PDF/PDController_SRS.tex
@@ -119,10 +119,16 @@ \subsection{Abbreviations and Acronyms}
\\
IM & Instance Model
\\
+LC & Likely Change
+\\
+ODE & Ordinary Differential Equation
+\\
P & proportional
\\
PD & proportional derivative
\\
+PD Controller & PD Controller
+\\
PID & proportional integral derivative
\\
PS & Physical System Description
@@ -144,7 +150,7 @@ \section{Introduction}
\label{Sec:Intro}
Automatic process control with a controller (P/PI/PD/PID) is used in a variety of applications such as thermostats, automobile cruise-control, etc. The gains of a controller in an application must be tuned before the controller is ready for production. Therefore, a simulation of the PD Controller with a Second Order System is created in this project based on the original, manually created version of \hyperref{https://github.com/muralidn/CAS741-Fall20/tree/master}{}{}{PD Controller} that can be used to tune the gain constants.
-The following section provides an overview of the Software Requirements Specification (SRS) for PD Controller. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.
+The following section provides an overview of the software requirements specification (SRS) for PD Controller. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.
\subsection{Purpose of Document}
\label{Sec:DocPurpose}
@@ -725,7 +731,7 @@ \subsection{Non-Functional Requirements}
\end{description}
\section{Likely Changes}
\label{Sec:LCs}
-This section lists the likely changes to be made to the software.
+This section lists the likely changes (LC) to be made to the software.
\begin{description}[font=\normalfont]
\item[DC Gain and Time Constant:\phantomsection\label{likeChgPP}]{The mass, Damping Coefficient and the Stiffness coefficient may be changed to be supplied by the user (from \hyperref[massSpring]{A:Spring Mass}, \hyperref[dampingCoeffSpring]{A:Spring Damping Coefficient}, and \hyperref[stiffnessCoeffSpring]{A:Spring Stiffness Coefficient}).}
diff --git a/code/stable/pdcontroller/SRS/mdBook/src/SecIntro.md b/code/stable/pdcontroller/SRS/mdBook/src/SecIntro.md
index 7cf40606dbb..a52d08b5051 100644
--- a/code/stable/pdcontroller/SRS/mdBook/src/SecIntro.md
+++ b/code/stable/pdcontroller/SRS/mdBook/src/SecIntro.md
@@ -2,4 +2,4 @@
Automatic process control with a controller (P/PI/PD/PID) is used in a variety of applications such as thermostats, automobile cruise-control, etc. The gains of a controller in an application must be tuned before the controller is ready for production. Therefore, a simulation of the PD Controller with a Second Order System is created in this project based on the original, manually created version of [PD Controller](https://github.com/muralidn/CAS741-Fall20/tree/master) that can be used to tune the gain constants.
-The following section provides an overview of the Software Requirements Specification (SRS) for PD Controller. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.
+The following section provides an overview of the software requirements specification (SRS) for PD Controller. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.
diff --git a/code/stable/pdcontroller/SRS/mdBook/src/SecLCs.md b/code/stable/pdcontroller/SRS/mdBook/src/SecLCs.md
index 611c8af3257..51bb662d3cb 100644
--- a/code/stable/pdcontroller/SRS/mdBook/src/SecLCs.md
+++ b/code/stable/pdcontroller/SRS/mdBook/src/SecLCs.md
@@ -1,6 +1,6 @@
# Likely Changes {#Sec:LCs}
-This section lists the likely changes to be made to the software.
+This section lists the likely changes (LC) to be made to the software.
diff --git a/code/stable/pdcontroller/SRS/mdBook/src/SecTAbbAcc.md b/code/stable/pdcontroller/SRS/mdBook/src/SecTAbbAcc.md
index 40efa73e6a8..f93e59a1040 100644
--- a/code/stable/pdcontroller/SRS/mdBook/src/SecTAbbAcc.md
+++ b/code/stable/pdcontroller/SRS/mdBook/src/SecTAbbAcc.md
@@ -2,22 +2,25 @@
-|Abbreviation|Full Form |
-|:-----------|:----------------------------------|
-|A |Assumption |
-|DD |Data Definition |
-|GD |General Definition |
-|GS |Goal Statement |
-|IM |Instance Model |
-|P |proportional |
-|PD |proportional derivative |
-|PID |proportional integral derivative |
-|PS |Physical System Description |
-|R |Requirement |
-|RefBy |Referenced by |
-|Refname |Reference Name |
-|SRS |Software Requirements Specification|
-|TM |Theoretical Model |
-|Uncert. |Typical Uncertainty |
+|Abbreviation |Full Form |
+|:------------|:----------------------------------|
+|A |Assumption |
+|DD |Data Definition |
+|GD |General Definition |
+|GS |Goal Statement |
+|IM |Instance Model |
+|LC |Likely Change |
+|ODE |Ordinary Differential Equation |
+|P |proportional |
+|PD |proportional derivative |
+|PD Controller|PD Controller |
+|PID |proportional integral derivative |
+|PS |Physical System Description |
+|R |Requirement |
+|RefBy |Referenced by |
+|Refname |Reference Name |
+|SRS |Software Requirements Specification|
+|TM |Theoretical Model |
+|Uncert. |Typical Uncertainty |
**
Abbreviations and Acronyms
**
diff --git a/code/stable/projectile/SRS/HTML/Projectile_SRS.html b/code/stable/projectile/SRS/HTML/Projectile_SRS.html
index 6345f0b3227..bcf172e2b3f 100644
--- a/code/stable/projectile/SRS/HTML/Projectile_SRS.html
+++ b/code/stable/projectile/SRS/HTML/Projectile_SRS.html
@@ -379,10 +379,18 @@
Abbreviations and Acronyms
IM |
Instance Model |
+
+ | LC |
+ Likely Change |
+
| PS |
Physical System Description |
+
+ | Projectile |
+ Projectile |
+
| R |
Requirement |
@@ -421,7 +429,7 @@ Introduction
Projectile motion is a common problem in physics. Therefore, it is useful to have a program to solve and model these types of problems. Common examples of projectile motion include ballistics problems (missiles, bullets, etc.) and the flight of balls in various sports (baseball, golf, football, etc.). The document describes the program called Projectile , which is based on the original, manually created version of Projectile.
- The following section provides an overview of the Software Requirements Specification (SRS) for Projectile. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.
+ The following section provides an overview of the software requirements specification (SRS) for Projectile. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.
@@ -619,77 +627,77 @@
Assumptions
- twoDMotion: The projectile motion is two-dimensional (
2D). (RefBy:
GD:velVec and
GD:posVec.)
+ twoDMotion: The projectile motion is two-dimensional (
2D). (
RefBy:
GD:velVec and
GD:posVec.)
- pointMass: The size and shape of the projectile are negligible, so that it can be modelled as a point mass. (RefBy:
GD:rectVel and
GD:rectPos.)
+ pointMass: The size and shape of the projectile are negligible, so that it can be modelled as a point mass. (
RefBy:
GD:rectVel and
GD:rectPos.)
- freeFlight: The flight is free; there are no collisions during the trajectory of the projectile. (RefBy:
A:constAccel.)
+ freeFlight: The flight is free; there are no collisions during the trajectory of the projectile. (
RefBy:
A:constAccel.)
- neglectCurv: The distance is small enough that the curvature of the celestial body can be neglected. (RefBy:
A:targetXAxis and
A:cartSyst.)
+ neglectCurv: The distance is small enough that the curvature of the celestial body can be neglected. (
RefBy:
A:targetXAxis and
A:cartSyst.)
@@ -1811,7 +1819,7 @@
Non-Functional Requirements
Likely Changes
- This section lists the likely changes to be made to the software.
+ This section lists the likely changes (LC) to be made to the software.
diff --git a/code/stable/projectile/SRS/Jupyter/Projectile_SRS.ipynb b/code/stable/projectile/SRS/Jupyter/Projectile_SRS.ipynb
index c162d710dbe..c4f106889eb 100644
--- a/code/stable/projectile/SRS/Jupyter/Projectile_SRS.ipynb
+++ b/code/stable/projectile/SRS/Jupyter/Projectile_SRS.ipynb
@@ -135,7 +135,9 @@
"|GD|General Definition|\n",
"|GS|Goal Statement|\n",
"|IM|Instance Model|\n",
+ "|LC|Likely Change|\n",
"|PS|Physical System Description|\n",
+ "|Projectile|Projectile|\n",
"|R|Requirement|\n",
"|RefBy|Referenced by|\n",
"|Refname|Reference Name|\n",
@@ -149,7 +151,7 @@
"\n",
"Projectile motion is a common problem in physics. Therefore, it is useful to have a program to solve and model these types of problems. Common examples of projectile motion include ballistics problems (missiles, bullets, etc.) and the flight of balls in various sports (baseball, golf, football, etc.). The document describes the program called Projectile , which is based on the original, manually created version of Projectile.\n",
"\n",
- "The following section provides an overview of the Software Requirements Specification (SRS) for Projectile. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.\n",
+ "The following section provides an overview of the software requirements specification (SRS) for Projectile. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.\n",
"\n",
"## Purpose of Document\n",
"\n",
@@ -1288,7 +1290,7 @@
"# Likely Changes\n",
"\n",
"\n",
- "This section lists the likely changes to be made to the software.\n",
+ "This section lists the likely changes (LC) to be made to the software.\n",
"\n",
"
\n",
"Consider-Air-Drag: [A:neglectDrag](#neglectDrag) - The software may be changed to consider the effect of air drag on the projectile during its flight.\n",
diff --git a/code/stable/projectile/SRS/PDF/Projectile_SRS.tex b/code/stable/projectile/SRS/PDF/Projectile_SRS.tex
index db5f59e44b0..19049e0522a 100644
--- a/code/stable/projectile/SRS/PDF/Projectile_SRS.tex
+++ b/code/stable/projectile/SRS/PDF/Projectile_SRS.tex
@@ -155,8 +155,12 @@ \subsection{Abbreviations and Acronyms}
\\
IM & Instance Model
\\
+LC & Likely Change
+\\
PS & Physical System Description
\\
+Projectile & Projectile
+\\
R & Requirement
\\
RefBy & Referenced by
@@ -174,7 +178,7 @@ \section{Introduction}
\label{Sec:Intro}
Projectile motion is a common problem in physics. Therefore, it is useful to have a program to solve and model these types of problems. Common examples of projectile motion include ballistics problems (missiles, bullets, etc.) and the flight of balls in various sports (baseball, golf, football, etc.). The document describes the program called Projectile , which is based on the original, manually created version of \hyperref{https://github.com/smiths/caseStudies/tree/master/CaseStudies/projectile}{}{}{Projectile}.
-The following section provides an overview of the Software Requirements Specification (SRS) for Projectile. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.
+The following section provides an overview of the software requirements specification (SRS) for Projectile. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.
\subsection{Purpose of Document}
\label{Sec:DocPurpose}
@@ -1014,7 +1018,7 @@ \subsection{Non-Functional Requirements}
\end{description}
\section{Likely Changes}
\label{Sec:LCs}
-This section lists the likely changes to be made to the software.
+This section lists the likely changes (LC) to be made to the software.
\begin{description}[font=\normalfont]
\item[Consider-Air-Drag:\phantomsection\label{considerAirDrag}]{\hyperref[neglectDrag]{A:neglectDrag} - The software may be changed to consider the effect of air drag on the projectile during its flight.}
diff --git a/code/stable/projectile/SRS/mdBook/src/SecIntro.md b/code/stable/projectile/SRS/mdBook/src/SecIntro.md
index 67f0e772a42..94e2433f6e9 100644
--- a/code/stable/projectile/SRS/mdBook/src/SecIntro.md
+++ b/code/stable/projectile/SRS/mdBook/src/SecIntro.md
@@ -2,4 +2,4 @@
Projectile motion is a common problem in physics. Therefore, it is useful to have a program to solve and model these types of problems. Common examples of projectile motion include ballistics problems (missiles, bullets, etc.) and the flight of balls in various sports (baseball, golf, football, etc.). The document describes the program called Projectile , which is based on the original, manually created version of [Projectile](https://github.com/smiths/caseStudies/tree/master/CaseStudies/projectile).
-The following section provides an overview of the Software Requirements Specification (SRS) for Projectile. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.
+The following section provides an overview of the software requirements specification (SRS) for Projectile. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.
diff --git a/code/stable/projectile/SRS/mdBook/src/SecLCs.md b/code/stable/projectile/SRS/mdBook/src/SecLCs.md
index 87eb6a90cf1..e062620c487 100644
--- a/code/stable/projectile/SRS/mdBook/src/SecLCs.md
+++ b/code/stable/projectile/SRS/mdBook/src/SecLCs.md
@@ -1,6 +1,6 @@
# Likely Changes {#Sec:LCs}
-This section lists the likely changes to be made to the software.
+This section lists the likely changes (LC) to be made to the software.
diff --git a/code/stable/projectile/SRS/mdBook/src/SecTAbbAcc.md b/code/stable/projectile/SRS/mdBook/src/SecTAbbAcc.md
index 227d23f5384..9123a4888d9 100644
--- a/code/stable/projectile/SRS/mdBook/src/SecTAbbAcc.md
+++ b/code/stable/projectile/SRS/mdBook/src/SecTAbbAcc.md
@@ -11,7 +11,9 @@
|GD |General Definition |
|GS |Goal Statement |
|IM |Instance Model |
+|LC |Likely Change |
|PS |Physical System Description |
+|Projectile |Projectile |
|R |Requirement |
|RefBy |Referenced by |
|Refname |Reference Name |
diff --git a/code/stable/sglpend/SRS/HTML/SglPend_SRS.html b/code/stable/sglpend/SRS/HTML/SglPend_SRS.html
index 9b2416eadcc..248350e1954 100644
--- a/code/stable/sglpend/SRS/HTML/SglPend_SRS.html
+++ b/code/stable/sglpend/SRS/HTML/SglPend_SRS.html
@@ -396,7 +396,7 @@
Introduction
A pendulum consists of mass attached to the end of a rod and its moving curve is highly sensitive to initial conditions. Therefore, it is useful to have a program to simulate the motion of the pendulum to exhibit its chaotic characteristics. The document describes the program called Single Pendulum , which is based on the original, manually created version of
Double Pendulum.
- The following section provides an overview of the Software Requirements Specification (SRS) for Single Pendulum. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.
+ The following section provides an overview of the software requirements specification (SRS) for Single Pendulum. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.
diff --git a/code/stable/sglpend/SRS/Jupyter/SglPend_SRS.ipynb b/code/stable/sglpend/SRS/Jupyter/SglPend_SRS.ipynb
index 6c729cd6d46..f1fc99aa55b 100644
--- a/code/stable/sglpend/SRS/Jupyter/SglPend_SRS.ipynb
+++ b/code/stable/sglpend/SRS/Jupyter/SglPend_SRS.ipynb
@@ -144,7 +144,7 @@
"\n",
"A pendulum consists of mass attached to the end of a rod and its moving curve is highly sensitive to initial conditions. Therefore, it is useful to have a program to simulate the motion of the pendulum to exhibit its chaotic characteristics. The document describes the program called Single Pendulum , which is based on the original, manually created version of
Double Pendulum.\n",
"\n",
- "The following section provides an overview of the Software Requirements Specification (SRS) for Single Pendulum. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.\n",
+ "The following section provides an overview of the software requirements specification (SRS) for Single Pendulum. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.\n",
"\n",
"## Purpose of Document\n",
"
\n",
diff --git a/code/stable/sglpend/SRS/PDF/SglPend_SRS.tex b/code/stable/sglpend/SRS/PDF/SglPend_SRS.tex
index 1e40b82f9cd..64414a60749 100644
--- a/code/stable/sglpend/SRS/PDF/SglPend_SRS.tex
+++ b/code/stable/sglpend/SRS/PDF/SglPend_SRS.tex
@@ -166,7 +166,7 @@ \section{Introduction}
\label{Sec:Intro}
A pendulum consists of mass attached to the end of a rod and its moving curve is highly sensitive to initial conditions. Therefore, it is useful to have a program to simulate the motion of the pendulum to exhibit its chaotic characteristics. The document describes the program called Single Pendulum , which is based on the original, manually created version of \hyperref{https://github.com/Zhang-Zhi-ZZ/CAS741Project/tree/master/Double%20Pendulum}{}{}{Double Pendulum}.
-The following section provides an overview of the Software Requirements Specification (SRS) for Single Pendulum. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.
+The following section provides an overview of the software requirements specification (SRS) for Single Pendulum. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.
\subsection{Purpose of Document}
\label{Sec:DocPurpose}
diff --git a/code/stable/sglpend/SRS/mdBook/src/SecIntro.md b/code/stable/sglpend/SRS/mdBook/src/SecIntro.md
index e02bd6a5eda..f15f29b16e0 100644
--- a/code/stable/sglpend/SRS/mdBook/src/SecIntro.md
+++ b/code/stable/sglpend/SRS/mdBook/src/SecIntro.md
@@ -2,4 +2,4 @@
A pendulum consists of mass attached to the end of a rod and its moving curve is highly sensitive to initial conditions. Therefore, it is useful to have a program to simulate the motion of the pendulum to exhibit its chaotic characteristics. The document describes the program called Single Pendulum , which is based on the original, manually created version of [Double Pendulum](https://github.com/Zhang-Zhi-ZZ/CAS741Project/tree/master/Double%20Pendulum).
-The following section provides an overview of the Software Requirements Specification (SRS) for Single Pendulum. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.
+The following section provides an overview of the software requirements specification (SRS) for Single Pendulum. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.
diff --git a/code/stable/ssp/SRS/HTML/SSP_SRS.html b/code/stable/ssp/SRS/HTML/SSP_SRS.html
index e001b02e73b..ee07eb6fe13 100644
--- a/code/stable/ssp/SRS/HTML/SSP_SRS.html
+++ b/code/stable/ssp/SRS/HTML/SSP_SRS.html
@@ -899,7 +899,7 @@
Introduction
A slope of geological mass, composed of soil and rock and sometimes water, is subject to the influence of gravity on the mass. This can cause instability in the form of soil or rock movement. The effects of soil or rock movement can range from inconvenient to seriously hazardous, resulting in significant life and economic losses. Slope stability is of interest both when analysing natural slopes, and when designing an excavated slope. Slope stability analysis is the assessment of the safety of a slope, identifying the surface most likely to experience slip and an index of its relative stability known as the factor of safety..
- The following section provides an overview of the Software Requirements Specification (SRS) for a slope stability analysis problem. The developed program will be referred to as the Slope Stability analysis Program (SSP) based on the original, manually created version of SSP. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.
+ The following section provides an overview of the software requirements specification (SRS) for a slope stability analysis problem. The developed program will be referred to as the Slope Stability analysis Program (SSP) based on the original, manually created version of SSP. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.
@@ -1166,82 +1166,82 @@
Assumptions
- Slip-Surface-Concave: The slip surface is concave with respect to the slope surface. The (
xslip,
yslip) coordinates of a slip surface follow a concave up function. (RefBy:
IM:crtSlpId.)
+ Slip-Surface-Concave: The slip surface is concave with respect to the slope surface. The (
xslip,
yslip) coordinates of a slip surface follow a concave up function. (
RefBy:
IM:crtSlpId.)
- Factor-of-Safety: The factor of safety is assumed to be constant across the entire slip surface. (RefBy:
GD:mobShr.)
+ Factor-of-Safety: The factor of safety is assumed to be constant across the entire slip surface. (
RefBy:
GD:mobShr.)
- Soil-Properties: The soil properties are independent of dry or saturated conditions, with the exception of unit weight. (RefBy:
GD:resShr.)
+ Soil-Properties: The soil properties are independent of dry or saturated conditions, with the exception of unit weight. (
RefBy:
GD:resShr.)
- Soil-Layers-Isotropic: The soil mass is treated as if the effective cohesion and effective angle of friction are isotropic properties. (RefBy:
GD:resShr.)
+ Soil-Layers-Isotropic: The soil mass is treated as if the effective cohesion and effective angle of friction are isotropic properties. (
RefBy:
GD:resShr.)
- Interslice-Norm-Shear-Forces-Linear: Following the assumption of Morgenstern and Price (
morgenstern1965), interslice normal forces and interslice shear forces have a proportional relationship, depending on a proportionality constant (
λ) and a function (
f) describing variation depending on
x position. (RefBy:
IM:nrmShrFor,
GD:normShrR,
IM:fctSfty, and
UC:Normal-And-Shear-Linear-Only.)
+ Interslice-Norm-Shear-Forces-Linear: Following the assumption of Morgenstern and Price (
morgenstern1965), interslice normal forces and interslice shear forces have a proportional relationship, depending on a proportionality constant (
λ) and a function (
f) describing variation depending on
x position. (
RefBy:
IM:nrmShrFor,
GD:normShrR,
IM:fctSfty, and
UC:Normal-And-Shear-Linear-Only.)
- Plane-Strain-Conditions: The slope and slip surface extends far into and out of the geometry (
z coordinate). This implies plane strain conditions, making
2D analysis appropriate. (RefBy:
GD:srfWtrF,
GD:sliceWght,
GD:resShr,
GD:effNormF, and
GD:baseWtrF.)
+ Plane-Strain-Conditions: The slope and slip surface extends far into and out of the geometry (
z coordinate). This implies plane strain conditions, making
2D analysis appropriate. (
RefBy:
GD:srfWtrF,
GD:sliceWght,
GD:resShr,
GD:effNormF, and
GD:baseWtrF.)
- Effective-Norm-Stress-Large: The effective normal stress is large enough that the shear strength to effective normal stress relationship can be approximated as a linear relationship. (RefBy:
TM:equilibrium and
UC:2D-Analysis-Only.)
+ Effective-Norm-Stress-Large: The effective normal stress is large enough that the shear strength to effective normal stress relationship can be approximated as a linear relationship. (
RefBy:
TM:equilibrium and
UC:2D-Analysis-Only.)
- Surface-Base-Slice-between-Interslice-Straight-Lines: The surface and base of a slice are approximated as straight lines. (RefBy:
GD:srfWtrF,
GD:sliceWght,
TM:mcShrStrgth,
GD:baseWtrF,
DD:slcHeight,
DD:angleB, and
DD:angleA.)
+ Surface-Base-Slice-between-Interslice-Straight-Lines: The surface and base of a slice are approximated as straight lines. (
RefBy:
GD:srfWtrF,
GD:sliceWght,
TM:mcShrStrgth,
GD:baseWtrF,
DD:slcHeight,
DD:angleB, and
DD:angleA.)
- Water-Intersects-Base-Edge: The water table only intersects the base of a slice at an edge of the slice. (RefBy:
GD:sliceWght and
GD:baseWtrF.)
+ Water-Intersects-Base-Edge: The water table only intersects the base of a slice at an edge of the slice. (
RefBy:
GD:sliceWght and
GD:baseWtrF.)
- Water-Intersects-Surface-Edge: The water table only intersects the slope surface at the edge of a slice. (RefBy:
GD:srfWtrF and
GD:sliceWght.)
+ Water-Intersects-Surface-Edge: The water table only intersects the slope surface at the edge of a slice. (
RefBy:
GD:srfWtrF and
GD:sliceWght.)
- Negligible-Effect-Surface-Slope-Seismic: The effect of the slope of the surface of the soil on the seismic force is assumed to be negligible. (RefBy:
GD:momentEql.)
+ Negligible-Effect-Surface-Slope-Seismic: The effect of the slope of the surface of the soil on the seismic force is assumed to be negligible. (
RefBy:
GD:momentEql.)
- Hydrostatic-Force-Slice-Midpoint: The resultant surface hydrostatic forces act into the midpoint of each slice surface and the resultant base hydrostatic forces act into the midpoint of each slice base. (RefBy:
GD:srfWtrF,
GD:momentEql, and
GD:baseWtrF.)
+ Hydrostatic-Force-Slice-Midpoint: The resultant surface hydrostatic forces act into the midpoint of each slice surface and the resultant base hydrostatic forces act into the midpoint of each slice base. (
RefBy:
GD:srfWtrF,
GD:momentEql, and
GD:baseWtrF.)
@@ -4728,7 +4728,7 @@
Non-Functional Requirements
Likely Changes
- This section lists the likely changes to be made to the software.
+ This section lists the likely changes (LC) to be made to the software.
@@ -4753,7 +4753,7 @@
Likely Changes
Unlikely Changes
- This section lists the unlikely changes to be made to the software.
+ This section lists the unlikely changes (UC) to be made to the software.
diff --git a/code/stable/ssp/SRS/Jupyter/SSP_SRS.ipynb b/code/stable/ssp/SRS/Jupyter/SSP_SRS.ipynb
index 38f7c7dd5d6..266611b941e 100644
--- a/code/stable/ssp/SRS/Jupyter/SSP_SRS.ipynb
+++ b/code/stable/ssp/SRS/Jupyter/SSP_SRS.ipynb
@@ -213,7 +213,7 @@
"\n",
"A slope of geological mass, composed of soil and rock and sometimes water, is subject to the influence of gravity on the mass. This can cause instability in the form of soil or rock movement. The effects of soil or rock movement can range from inconvenient to seriously hazardous, resulting in significant life and economic losses. Slope stability is of interest both when analysing natural slopes, and when designing an excavated slope. Slope stability analysis is the assessment of the safety of a slope, identifying the surface most likely to experience slip and an index of its relative stability known as the factor of safety..\n",
"\n",
- "The following section provides an overview of the Software Requirements Specification (SRS) for a slope stability analysis problem. The developed program will be referred to as the Slope Stability analysis Program (SSP) based on the original, manually created version of SSP. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.\n",
+ "The following section provides an overview of the software requirements specification (SRS) for a slope stability analysis problem. The developed program will be referred to as the Slope Stability analysis Program (SSP) based on the original, manually created version of SSP. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.\n",
"\n",
"## Purpose of Document\n",
"\n",
@@ -3582,7 +3582,7 @@
"# Likely Changes\n",
"\n",
"\n",
- "This section lists the likely changes to be made to the software.\n",
+ "This section lists the likely changes (LC) to be made to the software.\n",
"\n",
"
\n",
"Calculate-Inhomogeneous-Soil-Layers: [A:Soil-Layer-Homogeneous](#assumpSLH) - The system currently assumes the soil mass is homogeneous. In the future, calculations can be added for inconsistent soil properties throughout.\n",
@@ -3600,7 +3600,7 @@
"# Unlikely Changes\n",
"
\n",
"\n",
- "This section lists the unlikely changes to be made to the software.\n",
+ "This section lists the unlikely changes (UC) to be made to the software.\n",
"\n",
"
\n",
"Normal-And-Shear-Linear-Only: Changes related to [A:Interslice-Norm-Shear-Forces-Linear](#assumpINSFL) are not possible due to the dependency of the calculations on the linear relationship between interslice normal forces and interslice shear forces.\n",
diff --git a/code/stable/ssp/SRS/PDF/SSP_SRS.tex b/code/stable/ssp/SRS/PDF/SSP_SRS.tex
index 88366584046..dfec3cad7a3 100644
--- a/code/stable/ssp/SRS/PDF/SSP_SRS.tex
+++ b/code/stable/ssp/SRS/PDF/SSP_SRS.tex
@@ -300,7 +300,7 @@ \section{Introduction}
\label{Sec:Intro}
A slope of geological mass, composed of soil and rock and sometimes water, is subject to the influence of gravity on the mass. This can cause instability in the form of soil or rock movement. The effects of soil or rock movement can range from inconvenient to seriously hazardous, resulting in significant life and economic losses. Slope stability is of interest both when analysing natural slopes, and when designing an excavated slope. Slope stability analysis is the assessment of the safety of a slope, identifying the surface most likely to experience slip and an index of its relative stability known as the factor of safety..
-The following section provides an overview of the Software Requirements Specification (SRS) for a slope stability analysis problem. The developed program will be referred to as the Slope Stability analysis Program (SSP) based on the original, manually created version of \hyperref{https://github.com/smiths/caseStudies/blob/master/CaseStudies/ssp}{}{}{SSP}. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.
+The following section provides an overview of the software requirements specification (SRS) for a slope stability analysis problem. The developed program will be referred to as the Slope Stability analysis Program (SSP) based on the original, manually created version of \hyperref{https://github.com/smiths/caseStudies/blob/master/CaseStudies/ssp}{}{}{SSP}. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.
\subsection{Purpose of Document}
\label{Sec:DocPurpose}
@@ -2674,7 +2674,7 @@ \subsection{Non-Functional Requirements}
\end{description}
\section{Likely Changes}
\label{Sec:LCs}
-This section lists the likely changes to be made to the software.
+This section lists the likely changes (LC) to be made to the software.
\begin{description}[font=\normalfont]
\item[Calculate-Inhomogeneous-Soil-Layers:\phantomsection\label{LC_inhomogeneous}]{\hyperref[assumpSLH]{A:Soil-Layer-Homogeneous} - The system currently assumes the soil mass is homogeneous. In the future, calculations can be added for inconsistent soil properties throughout.}
@@ -2683,7 +2683,7 @@ \section{Likely Changes}
\end{description}
\section{Unlikely Changes}
\label{Sec:UCs}
-This section lists the unlikely changes to be made to the software.
+This section lists the unlikely changes (UC) to be made to the software.
\begin{description}[font=\normalfont]
\item[Normal-And-Shear-Linear-Only:\phantomsection\label{UC_normshearlinear}]{Changes related to \hyperref[assumpINSFL]{A:Interslice-Norm-Shear-Forces-Linear} are not possible due to the dependency of the calculations on the linear relationship between interslice normal forces and interslice shear forces.}
diff --git a/code/stable/ssp/SRS/mdBook/src/SecIntro.md b/code/stable/ssp/SRS/mdBook/src/SecIntro.md
index cd92c9b275f..bfe7f9262da 100644
--- a/code/stable/ssp/SRS/mdBook/src/SecIntro.md
+++ b/code/stable/ssp/SRS/mdBook/src/SecIntro.md
@@ -2,4 +2,4 @@
A slope of geological mass, composed of soil and rock and sometimes water, is subject to the influence of gravity on the mass. This can cause instability in the form of soil or rock movement. The effects of soil or rock movement can range from inconvenient to seriously hazardous, resulting in significant life and economic losses. Slope stability is of interest both when analysing natural slopes, and when designing an excavated slope. Slope stability analysis is the assessment of the safety of a slope, identifying the surface most likely to experience slip and an index of its relative stability known as the factor of safety..
-The following section provides an overview of the Software Requirements Specification (SRS) for a slope stability analysis problem. The developed program will be referred to as the Slope Stability analysis Program (SSP) based on the original, manually created version of [SSP](https://github.com/smiths/caseStudies/blob/master/CaseStudies/ssp). This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.
+The following section provides an overview of the software requirements specification (SRS) for a slope stability analysis problem. The developed program will be referred to as the Slope Stability analysis Program (SSP) based on the original, manually created version of [SSP](https://github.com/smiths/caseStudies/blob/master/CaseStudies/ssp). This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.
diff --git a/code/stable/ssp/SRS/mdBook/src/SecLCs.md b/code/stable/ssp/SRS/mdBook/src/SecLCs.md
index 7c98fd46049..8e5c92a3ada 100644
--- a/code/stable/ssp/SRS/mdBook/src/SecLCs.md
+++ b/code/stable/ssp/SRS/mdBook/src/SecLCs.md
@@ -1,6 +1,6 @@
# Likely Changes {#Sec:LCs}
-This section lists the likely changes to be made to the software.
+This section lists the likely changes (LC) to be made to the software.
diff --git a/code/stable/ssp/SRS/mdBook/src/SecUCs.md b/code/stable/ssp/SRS/mdBook/src/SecUCs.md
index 25012f62454..184411f9542 100644
--- a/code/stable/ssp/SRS/mdBook/src/SecUCs.md
+++ b/code/stable/ssp/SRS/mdBook/src/SecUCs.md
@@ -1,6 +1,6 @@
# Unlikely Changes {#Sec:UCs}
-This section lists the unlikely changes to be made to the software.
+This section lists the unlikely changes (UC) to be made to the software.
diff --git a/code/stable/swhs/SRS/HTML/SWHS_SRS.html b/code/stable/swhs/SRS/HTML/SWHS_SRS.html
index 97b80a78010..9d0cb086141 100644
--- a/code/stable/swhs/SRS/HTML/SWHS_SRS.html
+++ b/code/stable/swhs/SRS/HTML/SWHS_SRS.html
@@ -745,6 +745,10 @@
Abbreviations and Acronyms
SWHS |
Solar Water Heating System |
+
+ | SWHS |
+ Solar Water Heating Systems Incorporating PCM |
+
| TM |
Theoretical Model |
@@ -771,7 +775,7 @@ Introduction
Due to increasing costs, diminishing availability, and negative environmental impact of fossil fuels, the demand is high for renewable energy sources and energy storage technology. Solar water heating systems incorporating phase change material (PCM) use a renewable energy source and provide a novel way of storing energy. Solar water heating systems incorporating PCM improve over the traditional solar water heating systems because of their smaller size. The smaller size is possible because of the ability of PCM to store thermal energy as latent heat, which allows higher thermal energy storage capacity per unit weight.
- The following section provides an overview of the Software Requirements Specification (SRS) for solar water heating systems incorporating PCM. The developed program will be referred to as Solar Water Heating System (SWHS) based on the original, manually created version of SWHS. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.
+ The following section provides an overview of the software requirements specification (SRS) for solar water heating systems incorporating PCM. The developed program will be referred to as Solar Water Heating System (SWHS) based on the original, manually created version of SWHS. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.
@@ -986,102 +990,102 @@
Assumptions
- Thermal-Energy-Only: The only form of energy that is relevant for this problem is thermal energy. All other forms of energy, such as mechanical energy, are assumed to be negligible. (RefBy:
TM:consThermE.)
+ Thermal-Energy-Only: The only form of energy that is relevant for this problem is thermal energy. All other forms of energy, such as mechanical energy, are assumed to be negligible. (
RefBy:
TM:consThermE.)
- Heat-Transfer-Coeffs-Constant: All heat transfer coefficients are constant over time. (RefBy:
TM:nwtnCooling.)
+ Heat-Transfer-Coeffs-Constant: All heat transfer coefficients are constant over time. (
RefBy:
TM:nwtnCooling.)
- Density-Water-PCM-Constant-over-Volume: The density of water and density of PCM have no spatial variation; that is, they are each constant over their entire volume. (RefBy:
GD:rocTempSimp.)
+ Density-Water-PCM-Constant-over-Volume: The density of water and density of PCM have no spatial variation; that is, they are each constant over their entire volume. (
RefBy:
GD:rocTempSimp.)
- Specific-Heat-Energy-Constant-over-Volume: The specific heat capacity of water, specific heat capacity of PCM as a solid, and specific heat capacity of PCM as a liquid have no spatial variation; that is, they are each constant over their entire volume. (RefBy:
GD:rocTempSimp.)
+ Specific-Heat-Energy-Constant-over-Volume: The specific heat capacity of water, specific heat capacity of PCM as a solid, and specific heat capacity of PCM as a liquid have no spatial variation; that is, they are each constant over their entire volume. (
RefBy:
GD:rocTempSimp.)
- Newton-Law-Convective-Cooling-Coil-Water: Newton's law of convective cooling applies between the heating coil and the water. (RefBy:
GD:htFluxWaterFromCoil.)
+ Newton-Law-Convective-Cooling-Coil-Water: Newton's law of convective cooling applies between the heating coil and the water. (
RefBy:
GD:htFluxWaterFromCoil.)
- Law-Convective-Cooling-Water-PCM: Newton's law of convective cooling applies between the water and the
PCM. (RefBy:
GD:htFluxPCMFromWater.)
+ Law-Convective-Cooling-Water-PCM: Newton's law of convective cooling applies between the water and the
PCM. (
RefBy:
GD:htFluxPCMFromWater.)
- Charging-Tank-No-Temp-Discharge: The model only accounts for charging of the tank, not discharging. The temperature of the water and temperature of the phase change material can only increase, or remain constant; they do not decrease. This implies that the initial temperature
A:Same-Initial-Temp-Water-PCM is less than (or equal) to the temperature of the heating coil. (RefBy:
IM:eBalanceOnWtr and
LC:Discharging-Tank.)
+ Charging-Tank-No-Temp-Discharge: The model only accounts for charging of the tank, not discharging. The temperature of the water and temperature of the phase change material can only increase, or remain constant; they do not decrease. This implies that the initial temperature
A:Same-Initial-Temp-Water-PCM is less than (or equal) to the temperature of the heating coil. (
RefBy:
IM:eBalanceOnWtr and
LC:Discharging-Tank.)
- Water-Always-Liquid: The operating temperature range of the system is such that the water is always in liquid state. That is, the temperature will not drop below the melting point temperature of water, or rise above its boiling point temperature. (RefBy:
IM:heatEInWtr,
IM:eBalanceOnWtr, and
UC:Water-PCM-Fixed-States.)
+ Water-Always-Liquid: The operating temperature range of the system is such that the water is always in liquid state. That is, the temperature will not drop below the melting point temperature of water, or rise above its boiling point temperature. (
RefBy:
IM:heatEInWtr,
IM:eBalanceOnWtr, and
UC:Water-PCM-Fixed-States.)
- Volume-Change-Melting-PCM-Negligible: The volume change of the
PCM due to melting is negligible. (RefBy:
IM:eBalanceOnPCM.)
+ Volume-Change-Melting-PCM-Negligible: The volume change of the
PCM due to melting is negligible. (
RefBy:
IM:eBalanceOnPCM.)
- Atmospheric-Pressure-Tank: The pressure in the tank is atmospheric, so the melting point temperature and boiling point temperature are 0
°C and 100
°C, respectively. (RefBy:
IM:heatEInWtr and
IM:eBalanceOnWtr.)
+ Atmospheric-Pressure-Tank: The pressure in the tank is atmospheric, so the melting point temperature and boiling point temperature are 0
°C and 100
°C, respectively. (
RefBy:
IM:heatEInWtr and
IM:eBalanceOnWtr.)
- Volume-Coil-Negligible: When considering the volume of water in the tank, the volume of the heating coil is assumed to be negligible. (RefBy:
DD:waterVolume_pcm.)
+ Volume-Coil-Negligible: When considering the volume of water in the tank, the volume of the heating coil is assumed to be negligible. (
RefBy:
DD:waterVolume_pcm.)
@@ -3136,7 +3140,7 @@
Non-Functional Requirements
Likely Changes
- This section lists the likely changes to be made to the software.
+ This section lists the likely changes (LC) to be made to the software.
@@ -3176,7 +3180,7 @@
Likely Changes
Unlikely Changes
- This section lists the unlikely changes to be made to the software.
+ This section lists the unlikely changes (UC) to be made to the software.
diff --git a/code/stable/swhs/SRS/Jupyter/SWHS_SRS.ipynb b/code/stable/swhs/SRS/Jupyter/SWHS_SRS.ipynb
index 429c1336831..b9e29d4e25f 100644
--- a/code/stable/swhs/SRS/Jupyter/SWHS_SRS.ipynb
+++ b/code/stable/swhs/SRS/Jupyter/SWHS_SRS.ipynb
@@ -205,6 +205,7 @@
"|Refname|Reference Name|\n",
"|SRS|Software Requirements Specification|\n",
"|SWHS|Solar Water Heating System|\n",
+ "|SWHS|Solar Water Heating Systems Incorporating PCM|\n",
"|TM|Theoretical Model|\n",
"|UC|Unlikely Change|\n",
"|Uncert.|Typical Uncertainty|\n",
@@ -215,7 +216,7 @@
"\n",
"Due to increasing costs, diminishing availability, and negative environmental impact of fossil fuels, the demand is high for renewable energy sources and energy storage technology. Solar water heating systems incorporating phase change material (PCM) use a renewable energy source and provide a novel way of storing energy. Solar water heating systems incorporating PCM improve over the traditional solar water heating systems because of their smaller size. The smaller size is possible because of the ability of PCM to store thermal energy as latent heat, which allows higher thermal energy storage capacity per unit weight.\n",
"\n",
- "The following section provides an overview of the Software Requirements Specification (SRS) for solar water heating systems incorporating PCM. The developed program will be referred to as Solar Water Heating System (SWHS) based on the original, manually created version of SWHS. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.\n",
+ "The following section provides an overview of the software requirements specification (SRS) for solar water heating systems incorporating PCM. The developed program will be referred to as Solar Water Heating System (SWHS) based on the original, manually created version of SWHS. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.\n",
"\n",
"## Purpose of Document\n",
"\n",
@@ -2079,7 +2080,7 @@
"# Likely Changes\n",
"\n",
"\n",
- "This section lists the likely changes to be made to the software.\n",
+ "This section lists the likely changes (LC) to be made to the software.\n",
"\n",
"
\n",
"Uniform-Temperature-PCM: [A:Temp-PCM-Constant-Across-Volume](#assumpTPCAV) - PCM is actually a poor thermal conductor, so the assumption of uniform temperature of the phase change material is not likely.\n",
@@ -2109,7 +2110,7 @@
"# Unlikely Changes\n",
"
\n",
"\n",
- "This section lists the unlikely changes to be made to the software.\n",
+ "This section lists the unlikely changes (UC) to be made to the software.\n",
"\n",
"
\n",
"Water-PCM-Fixed-States: [A:Water-Always-Liquid](#assumpWAL), [A:No-Gaseous-State-PCM](#assumpNGSP) - It is unlikely for the change of water from liquid to a solid or the state change of the phase change material from a liquid to a gas to be considered.\n",
diff --git a/code/stable/swhs/SRS/PDF/SWHS_SRS.tex b/code/stable/swhs/SRS/PDF/SWHS_SRS.tex
index 380fe65161f..ba6f782f8b4 100644
--- a/code/stable/swhs/SRS/PDF/SWHS_SRS.tex
+++ b/code/stable/swhs/SRS/PDF/SWHS_SRS.tex
@@ -293,6 +293,8 @@ \subsection{Abbreviations and Acronyms}
\\
SWHS & Solar Water Heating System
\\
+SWHS & Solar Water Heating Systems Incorporating PCM
+\\
TM & Theoretical Model
\\
UC & Unlikely Change
@@ -304,7 +306,7 @@ \section{Introduction}
\label{Sec:Intro}
Due to increasing costs, diminishing availability, and negative environmental impact of fossil fuels, the demand is high for renewable energy sources and energy storage technology. Solar water heating systems incorporating phase change material (PCM) use a renewable energy source and provide a novel way of storing energy. Solar water heating systems incorporating PCM improve over the traditional solar water heating systems because of their smaller size. The smaller size is possible because of the ability of PCM to store thermal energy as latent heat, which allows higher thermal energy storage capacity per unit weight.
-The following section provides an overview of the Software Requirements Specification (SRS) for solar water heating systems incorporating PCM. The developed program will be referred to as Solar Water Heating System (SWHS) based on the original, manually created version of \hyperref{https://github.com/smiths/swhs/tree/master}{}{}{SWHS}. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.
+The following section provides an overview of the software requirements specification (SRS) for solar water heating systems incorporating PCM. The developed program will be referred to as Solar Water Heating System (SWHS) based on the original, manually created version of \hyperref{https://github.com/smiths/swhs/tree/master}{}{}{SWHS}. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.
\subsection{Purpose of Document}
\label{Sec:DocPurpose}
@@ -1600,7 +1602,7 @@ \subsection{Non-Functional Requirements}
\end{description}
\section{Likely Changes}
\label{Sec:LCs}
-This section lists the likely changes to be made to the software.
+This section lists the likely changes (LC) to be made to the software.
\begin{description}[font=\normalfont]
\item[Uniform-Temperature-PCM:\phantomsection\label{likeChgUTP}]{\hyperref[assumpTPCAV]{A:Temp-PCM-Constant-Across-Volume} - PCM is actually a poor thermal conductor, so the assumption of uniform temperature of the phase change material is not likely.}
@@ -1612,7 +1614,7 @@ \section{Likely Changes}
\end{description}
\section{Unlikely Changes}
\label{Sec:UCs}
-This section lists the unlikely changes to be made to the software.
+This section lists the unlikely changes (UC) to be made to the software.
\begin{description}[font=\normalfont]
\item[Water-PCM-Fixed-States:\phantomsection\label{unlikeChgWPFS}]{\hyperref[assumpWAL]{A:Water-Always-Liquid}, \hyperref[assumpNGSP]{A:No-Gaseous-State-PCM} - It is unlikely for the change of water from liquid to a solid or the state change of the phase change material from a liquid to a gas to be considered.}
diff --git a/code/stable/swhs/SRS/mdBook/src/SecIntro.md b/code/stable/swhs/SRS/mdBook/src/SecIntro.md
index fbd6ce600b3..8800c03fbe6 100644
--- a/code/stable/swhs/SRS/mdBook/src/SecIntro.md
+++ b/code/stable/swhs/SRS/mdBook/src/SecIntro.md
@@ -2,4 +2,4 @@
Due to increasing costs, diminishing availability, and negative environmental impact of fossil fuels, the demand is high for renewable energy sources and energy storage technology. Solar water heating systems incorporating phase change material (PCM) use a renewable energy source and provide a novel way of storing energy. Solar water heating systems incorporating PCM improve over the traditional solar water heating systems because of their smaller size. The smaller size is possible because of the ability of PCM to store thermal energy as latent heat, which allows higher thermal energy storage capacity per unit weight.
-The following section provides an overview of the Software Requirements Specification (SRS) for solar water heating systems incorporating PCM. The developed program will be referred to as Solar Water Heating System (SWHS) based on the original, manually created version of [SWHS](https://github.com/smiths/swhs/tree/master). This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.
+The following section provides an overview of the software requirements specification (SRS) for solar water heating systems incorporating PCM. The developed program will be referred to as Solar Water Heating System (SWHS) based on the original, manually created version of [SWHS](https://github.com/smiths/swhs/tree/master). This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.
diff --git a/code/stable/swhs/SRS/mdBook/src/SecLCs.md b/code/stable/swhs/SRS/mdBook/src/SecLCs.md
index bf47088d1fc..f241869db98 100644
--- a/code/stable/swhs/SRS/mdBook/src/SecLCs.md
+++ b/code/stable/swhs/SRS/mdBook/src/SecLCs.md
@@ -1,6 +1,6 @@
# Likely Changes {#Sec:LCs}
-This section lists the likely changes to be made to the software.
+This section lists the likely changes (LC) to be made to the software.
diff --git a/code/stable/swhs/SRS/mdBook/src/SecTAbbAcc.md b/code/stable/swhs/SRS/mdBook/src/SecTAbbAcc.md
index 508daaf0d42..d869b25b439 100644
--- a/code/stable/swhs/SRS/mdBook/src/SecTAbbAcc.md
+++ b/code/stable/swhs/SRS/mdBook/src/SecTAbbAcc.md
@@ -2,25 +2,26 @@
-|Abbreviation|Full Form |
-|:-----------|:----------------------------------|
-|A |Assumption |
-|DD |Data Definition |
-|GD |General Definition |
-|GS |Goal Statement |
-|IM |Instance Model |
-|LC |Likely Change |
-|ODE |Ordinary Differential Equation |
-|PCM |Phase Change Material |
-|PS |Physical System Description |
-|R |Requirement |
-|RHS |Right-Hand Side |
-|RefBy |Referenced by |
-|Refname |Reference Name |
-|SRS |Software Requirements Specification|
-|SWHS |Solar Water Heating System |
-|TM |Theoretical Model |
-|UC |Unlikely Change |
-|Uncert. |Typical Uncertainty |
+|Abbreviation|Full Form |
+|:-----------|:--------------------------------------------|
+|A |Assumption |
+|DD |Data Definition |
+|GD |General Definition |
+|GS |Goal Statement |
+|IM |Instance Model |
+|LC |Likely Change |
+|ODE |Ordinary Differential Equation |
+|PCM |Phase Change Material |
+|PS |Physical System Description |
+|R |Requirement |
+|RHS |Right-Hand Side |
+|RefBy |Referenced by |
+|Refname |Reference Name |
+|SRS |Software Requirements Specification |
+|SWHS |Solar Water Heating System |
+|SWHS |Solar Water Heating Systems Incorporating PCM|
+|TM |Theoretical Model |
+|UC |Unlikely Change |
+|Uncert. |Typical Uncertainty |
**
Abbreviations and Acronyms
**
diff --git a/code/stable/swhs/SRS/mdBook/src/SecUCs.md b/code/stable/swhs/SRS/mdBook/src/SecUCs.md
index 6e8fb21e6bc..976ff4a0cb1 100644
--- a/code/stable/swhs/SRS/mdBook/src/SecUCs.md
+++ b/code/stable/swhs/SRS/mdBook/src/SecUCs.md
@@ -1,6 +1,6 @@
# Unlikely Changes {#Sec:UCs}
-This section lists the unlikely changes to be made to the software.
+This section lists the unlikely changes (UC) to be made to the software.
diff --git a/code/stable/swhsnopcm/SRS/HTML/SWHSNoPCM_SRS.html b/code/stable/swhsnopcm/SRS/HTML/SWHSNoPCM_SRS.html
index ad17f6ab00f..e07c6afe3fd 100644
--- a/code/stable/swhsnopcm/SRS/HTML/SWHSNoPCM_SRS.html
+++ b/code/stable/swhsnopcm/SRS/HTML/SWHSNoPCM_SRS.html
@@ -547,7 +547,7 @@
Introduction
Due to increasing costs, diminishing availability, and negative environmental impact of fossil fuels, the demand is high for renewable energy sources and energy storage technology. Solar Water Heating System with no Phase Change Material provide a novel way of storing energy.
- The following section provides an overview of the Software Requirements Specification (SRS) for solar water heating systems with no phase change material The developed program will be referred to as Solar Water Heating System With No Phase Change Material (SWHSNoPCM) based on the original, manually created version of SWHSNoPCM. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.
+ The following section provides an overview of the software requirements specification (SRS) for solar water heating systems with no phase change material The developed program will be referred to as Solar Water Heating System With No Phase Change Material (SWHSNoPCM) based on the original, manually created version of SWHSNoPCM. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.
@@ -746,72 +746,72 @@
Assumptions
- Thermal-Energy-Only: The only form of energy that is relevant for this problem is thermal energy. All other forms of energy, such as mechanical energy, are assumed to be negligible. (RefBy:
TM:consThermE.)
+ Thermal-Energy-Only: The only form of energy that is relevant for this problem is thermal energy. All other forms of energy, such as mechanical energy, are assumed to be negligible. (
RefBy:
TM:consThermE.)
- Heat-Transfer-Coeffs-Constant: All heat transfer coefficients are constant over time. (RefBy:
TM:nwtnCooling.)
+ Heat-Transfer-Coeffs-Constant: All heat transfer coefficients are constant over time. (
RefBy:
TM:nwtnCooling.)
- Constant-Water-Temp-Across-Tank: The water in the tank is fully mixed, so the temperature of the water is the same throughout the entire tank. (RefBy:
GD:rocTempSimp.)
+ Constant-Water-Temp-Across-Tank: The water in the tank is fully mixed, so the temperature of the water is the same throughout the entire tank. (
RefBy:
GD:rocTempSimp.)
- Density-Water-Constant-over-Volume: The density of water has no spatial variation; that is, it is constant over their entire volume. (RefBy:
GD:rocTempSimp.)
+ Density-Water-Constant-over-Volume: The density of water has no spatial variation; that is, it is constant over their entire volume. (
RefBy:
GD:rocTempSimp.)
- Specific-Heat-Energy-Constant-over-Volume: The specific heat capacity of water has no spatial variation; that is, it is constant over its entire volume. (RefBy:
GD:rocTempSimp.)
+ Specific-Heat-Energy-Constant-over-Volume: The specific heat capacity of water has no spatial variation; that is, it is constant over its entire volume. (
RefBy:
GD:rocTempSimp.)
- Newton-Law-Convective-Cooling-Coil-Water: Newton's law of convective cooling applies between the heating coil and the water. (RefBy:
GD:htFluxWaterFromCoil.)
+ Newton-Law-Convective-Cooling-Coil-Water: Newton's law of convective cooling applies between the heating coil and the water. (
RefBy:
GD:htFluxWaterFromCoil.)
- Charging-Tank-No-Temp-Discharge: The model only accounts for charging the tank, not discharging. The temperature of the water can only increase, or remain constant; it cannot decrease. This implies that the initial temperature is less than (or equal to) the temperature of the heating coil. (RefBy:
LC:Discharging-Tank.)
+ Charging-Tank-No-Temp-Discharge: The model only accounts for charging the tank, not discharging. The temperature of the water can only increase, or remain constant; it cannot decrease. This implies that the initial temperature is less than (or equal to) the temperature of the heating coil. (
RefBy:
LC:Discharging-Tank.)
- Water-Always-Liquid: The operating temperature range of the system is such that the material (water in this case) is always in liquid state. That is, the temperature will not drop below the melting point temperature of water, or rise above its boiling point temperature. (RefBy:
TM:sensHtE,
IM:heatEInWtr,
IM:eBalanceOnWtr, and
UC:Water-Fixed-States.)
+ Water-Always-Liquid: The operating temperature range of the system is such that the material (water in this case) is always in liquid state. That is, the temperature will not drop below the melting point temperature of water, or rise above its boiling point temperature. (
RefBy:
TM:sensHtE,
IM:heatEInWtr,
IM:eBalanceOnWtr, and
UC:Water-Fixed-States.)
- Atmospheric-Pressure-Tank: The pressure in the tank is atmospheric, so the melting point temperature and boiling point temperature of water are 0
°C and 100
°C, respectively. (RefBy:
IM:heatEInWtr.)
+ Atmospheric-Pressure-Tank: The pressure in the tank is atmospheric, so the melting point temperature and boiling point temperature of water are 0
°C and 100
°C, respectively. (
RefBy:
IM:heatEInWtr.)
- Volume-Coil-Negligible: When considering the volume of water in the tank, the volume of the heating coil is assumed to be negligible. (RefBy:
DD:waterVolume_nopcm.)
+ Volume-Coil-Negligible: When considering the volume of water in the tank, the volume of the heating coil is assumed to be negligible. (
RefBy:
DD:waterVolume_nopcm.)
@@ -1911,7 +1911,7 @@
Non-Functional Requirements
Likely Changes
- This section lists the likely changes to be made to the software.
+ This section lists the likely changes (LC) to be made to the software.
@@ -1941,7 +1941,7 @@
Likely Changes
Unlikely Changes
- This section lists the unlikely changes to be made to the software.
+ This section lists the unlikely changes (UC) to be made to the software.
diff --git a/code/stable/swhsnopcm/SRS/Jupyter/SWHSNoPCM_SRS.ipynb b/code/stable/swhsnopcm/SRS/Jupyter/SWHSNoPCM_SRS.ipynb
index 1d9e68a6c74..7b4149db2e3 100644
--- a/code/stable/swhsnopcm/SRS/Jupyter/SWHSNoPCM_SRS.ipynb
+++ b/code/stable/swhsnopcm/SRS/Jupyter/SWHSNoPCM_SRS.ipynb
@@ -173,7 +173,7 @@
"\n",
"Due to increasing costs, diminishing availability, and negative environmental impact of fossil fuels, the demand is high for renewable energy sources and energy storage technology. Solar Water Heating System with no Phase Change Material provide a novel way of storing energy.\n",
"\n",
- "The following section provides an overview of the Software Requirements Specification (SRS) for solar water heating systems with no phase change material The developed program will be referred to as Solar Water Heating System With No Phase Change Material (SWHSNoPCM) based on the original, manually created version of SWHSNoPCM. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.\n",
+ "The following section provides an overview of the software requirements specification (SRS) for solar water heating systems with no phase change material The developed program will be referred to as Solar Water Heating System With No Phase Change Material (SWHSNoPCM) based on the original, manually created version of SWHSNoPCM. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.\n",
"\n",
"## Purpose of Document\n",
"\n",
@@ -1222,7 +1222,7 @@
"# Likely Changes\n",
"\n",
"\n",
- "This section lists the likely changes to be made to the software.\n",
+ "This section lists the likely changes (LC) to be made to the software.\n",
"\n",
"
\n",
"Temperature-Coil-Variable-Over-Day: [A:Temp-Heating-Coil-Constant-over-Time](#assumpTHCCoT) - The temperature of the heating coil will change over the course of the day, depending on the energy received from the sun.\n",
@@ -1244,7 +1244,7 @@
"# Unlikely Changes\n",
"
\n",
"\n",
- "This section lists the unlikely changes to be made to the software.\n",
+ "This section lists the unlikely changes (UC) to be made to the software.\n",
"\n",
"
\n",
"Water-Fixed-States: [A:Water-Always-Liquid](#assumpWAL) - It is unlikely for the change of water from liquid to a solid, or from liquid to gas to be considered.\n",
diff --git a/code/stable/swhsnopcm/SRS/PDF/SWHSNoPCM_SRS.tex b/code/stable/swhsnopcm/SRS/PDF/SWHSNoPCM_SRS.tex
index 3c49ab2ded5..e47ee750f5c 100644
--- a/code/stable/swhsnopcm/SRS/PDF/SWHSNoPCM_SRS.tex
+++ b/code/stable/swhsnopcm/SRS/PDF/SWHSNoPCM_SRS.tex
@@ -220,7 +220,7 @@ \section{Introduction}
\label{Sec:Intro}
Due to increasing costs, diminishing availability, and negative environmental impact of fossil fuels, the demand is high for renewable energy sources and energy storage technology. Solar Water Heating System with no Phase Change Material provide a novel way of storing energy.
-The following section provides an overview of the Software Requirements Specification (SRS) for solar water heating systems with no phase change material The developed program will be referred to as Solar Water Heating System With No Phase Change Material (SWHSNoPCM) based on the original, manually created version of \hyperref{https://github.com/smiths/caseStudies/blob/master/CaseStudies/noPCM}{}{}{SWHSNoPCM}. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.
+The following section provides an overview of the software requirements specification (SRS) for solar water heating systems with no phase change material The developed program will be referred to as Solar Water Heating System With No Phase Change Material (SWHSNoPCM) based on the original, manually created version of \hyperref{https://github.com/smiths/caseStudies/blob/master/CaseStudies/noPCM}{}{}{SWHSNoPCM}. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.
\subsection{Purpose of Document}
\label{Sec:DocPurpose}
@@ -952,7 +952,7 @@ \subsection{Non-Functional Requirements}
\end{description}
\section{Likely Changes}
\label{Sec:LCs}
-This section lists the likely changes to be made to the software.
+This section lists the likely changes (LC) to be made to the software.
\begin{description}[font=\normalfont]
\item[Temperature-Coil-Variable-Over-Day:\phantomsection\label{likeChgTCVOD}]{\hyperref[assumpTHCCoT]{A:Temp-Heating-Coil-Constant-over-Time} - The temperature of the heating coil will change over the course of the day, depending on the energy received from the sun.}
@@ -962,7 +962,7 @@ \section{Likely Changes}
\end{description}
\section{Unlikely Changes}
\label{Sec:UCs}
-This section lists the unlikely changes to be made to the software.
+This section lists the unlikely changes (UC) to be made to the software.
\begin{description}[font=\normalfont]
\item[Water-Fixed-States:\phantomsection\label{unlikeChgWFS}]{\hyperref[assumpWAL]{A:Water-Always-Liquid} - It is unlikely for the change of water from liquid to a solid, or from liquid to gas to be considered.}
diff --git a/code/stable/swhsnopcm/SRS/mdBook/src/SecIntro.md b/code/stable/swhsnopcm/SRS/mdBook/src/SecIntro.md
index 2a3078811c8..0da751090b0 100644
--- a/code/stable/swhsnopcm/SRS/mdBook/src/SecIntro.md
+++ b/code/stable/swhsnopcm/SRS/mdBook/src/SecIntro.md
@@ -2,4 +2,4 @@
Due to increasing costs, diminishing availability, and negative environmental impact of fossil fuels, the demand is high for renewable energy sources and energy storage technology. Solar Water Heating System with no Phase Change Material provide a novel way of storing energy.
-The following section provides an overview of the Software Requirements Specification (SRS) for solar water heating systems with no phase change material The developed program will be referred to as Solar Water Heating System With No Phase Change Material (SWHSNoPCM) based on the original, manually created version of [SWHSNoPCM](https://github.com/smiths/caseStudies/blob/master/CaseStudies/noPCM). This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.
+The following section provides an overview of the software requirements specification (SRS) for solar water heating systems with no phase change material The developed program will be referred to as Solar Water Heating System With No Phase Change Material (SWHSNoPCM) based on the original, manually created version of [SWHSNoPCM](https://github.com/smiths/caseStudies/blob/master/CaseStudies/noPCM). This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.
diff --git a/code/stable/swhsnopcm/SRS/mdBook/src/SecLCs.md b/code/stable/swhsnopcm/SRS/mdBook/src/SecLCs.md
index 99dd31947ad..2ed6dbad359 100644
--- a/code/stable/swhsnopcm/SRS/mdBook/src/SecLCs.md
+++ b/code/stable/swhsnopcm/SRS/mdBook/src/SecLCs.md
@@ -1,6 +1,6 @@
# Likely Changes {#Sec:LCs}
-This section lists the likely changes to be made to the software.
+This section lists the likely changes (LC) to be made to the software.
diff --git a/code/stable/swhsnopcm/SRS/mdBook/src/SecUCs.md b/code/stable/swhsnopcm/SRS/mdBook/src/SecUCs.md
index 3e54a8cb30f..0b46605e68c 100644
--- a/code/stable/swhsnopcm/SRS/mdBook/src/SecUCs.md
+++ b/code/stable/swhsnopcm/SRS/mdBook/src/SecUCs.md
@@ -1,6 +1,6 @@
# Unlikely Changes {#Sec:UCs}
-This section lists the unlikely changes to be made to the software.
+This section lists the unlikely changes (UC) to be made to the software.
diff --git a/code/stable/template/SRS/HTML/Template_SRS.html b/code/stable/template/SRS/HTML/Template_SRS.html
index b6293c05908..e7dff2d2852 100644
--- a/code/stable/template/SRS/HTML/Template_SRS.html
+++ b/code/stable/template/SRS/HTML/Template_SRS.html
@@ -131,7 +131,7 @@
Table of Symbols
Introduction
There is no problem introduction.
- The following section provides an overview of the Software Requirements Specification (SRS) for ProgName. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.
+ The following section provides an overview of the software requirements specification (SRS) for ProgName. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.
diff --git a/code/stable/template/SRS/Jupyter/Template_SRS.ipynb b/code/stable/template/SRS/Jupyter/Template_SRS.ipynb
index 41b29425d17..7f2b8330c31 100644
--- a/code/stable/template/SRS/Jupyter/Template_SRS.ipynb
+++ b/code/stable/template/SRS/Jupyter/Template_SRS.ipynb
@@ -80,7 +80,7 @@
"\n",
"There is no problem introduction.\n",
"\n",
- "The following section provides an overview of the Software Requirements Specification (SRS) for ProgName. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.\n",
+ "The following section provides an overview of the software requirements specification (SRS) for ProgName. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.\n",
"\n",
"## Purpose of Document\n",
"
\n",
diff --git a/code/stable/template/SRS/PDF/Template_SRS.tex b/code/stable/template/SRS/PDF/Template_SRS.tex
index 3a2c48bdf65..ef58b9cf40d 100644
--- a/code/stable/template/SRS/PDF/Template_SRS.tex
+++ b/code/stable/template/SRS/PDF/Template_SRS.tex
@@ -38,7 +38,7 @@ \section{Introduction}
\label{Sec:Intro}
There is no problem introduction.
-The following section provides an overview of the Software Requirements Specification (SRS) for ProgName. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.
+The following section provides an overview of the software requirements specification (SRS) for ProgName. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.
\subsection{Purpose of Document}
\label{Sec:DocPurpose}
diff --git a/code/stable/template/SRS/mdBook/src/SecIntro.md b/code/stable/template/SRS/mdBook/src/SecIntro.md
index e736cd7ac21..93450d110f4 100644
--- a/code/stable/template/SRS/mdBook/src/SecIntro.md
+++ b/code/stable/template/SRS/mdBook/src/SecIntro.md
@@ -2,4 +2,4 @@
There is no problem introduction.
-The following section provides an overview of the Software Requirements Specification (SRS) for ProgName. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.
+The following section provides an overview of the software requirements specification (SRS) for ProgName. This section explains the purpose of this document, the scope of the requirements, the characteristics of the intended reader, and the organization of the document.