diff --git a/code/drasil-data/Data/Drasil/SentenceStructures.hs b/code/drasil-data/Data/Drasil/SentenceStructures.hs index 54f0b7f50c..46d85c434c 100644 --- a/code/drasil-data/Data/Drasil/SentenceStructures.hs +++ b/code/drasil-data/Data/Drasil/SentenceStructures.hs @@ -186,7 +186,7 @@ tAndDOnly :: Concept s => s -> ItemType tAndDOnly chunk = Flat $ ((at_start chunk) +:+ S "- ") :+: (chunk ^. defn) followA :: Sentence -> AssumpChunk -> Sentence -preceding `followA` assumpt = preceding +:+ S "following" +:+ (Ref $ makeRef assumpt) +preceding `followA` assumpt = preceding +:+ S "following" +:+ (Ref2 $ makeRef2 assumpt) -- | Used when you want to say a term followed by its symbol. ex. "...using the Force F in..." getTandS :: (Quantity a, NamedIdea a) => a -> Sentence diff --git a/code/drasil-example/Drasil/GlassBR/Assumptions.hs b/code/drasil-example/Drasil/GlassBR/Assumptions.hs index 4f4d773fe3..1226e8108f 100644 --- a/code/drasil-example/Drasil/GlassBR/Assumptions.hs +++ b/code/drasil-example/Drasil/GlassBR/Assumptions.hs @@ -94,6 +94,6 @@ responseTypeDesc = foldlSent [S "The", phrase responseTy, S "considered in", ldfConstantDesc :: QDefinition -> Sentence ldfConstantDesc mainConcept = foldlSent [S "With", phrase reference, S "to", - makeRefS standardValues `sC` S "the", phrase value `sOf` + makeRef2S standardValues `sC` S "the", phrase value `sOf` phrase mainConcept, sParen (ch mainConcept), S "is a", phrase constant, S "in", short gLassBR] diff --git a/code/drasil-example/Drasil/GlassBR/Changes.hs b/code/drasil-example/Drasil/GlassBR/Changes.hs index 64916816ab..4ee2ad1d7a 100644 --- a/code/drasil-example/Drasil/GlassBR/Changes.hs +++ b/code/drasil-example/Drasil/GlassBR/Changes.hs @@ -39,26 +39,26 @@ considerMoreThanFlexGlass = cic "considerMoreThanFlexGlass" considerMoreThanFlex calcInternalBlastRiskDesc :: NamedChunk -> Sentence varValsOfmkEDesc, accMoreThanSingleLiteDesc, accMoreBoundaryConditionsDesc, considerMoreThanFlexGlassDesc :: Sentence -calcInternalBlastRiskDesc mainConcept = foldlSent [(makeRefS explainScenario) +:+ S "- The", +calcInternalBlastRiskDesc mainConcept = foldlSent [(makeRef2S explainScenario) +:+ S "- The", phrase system, S "currently only calculates for external" +:+. phrase mainConcept, S "In the future,", plural calculation, S "can be added for the internal", phrase mainConcept] -varValsOfmkEDesc = foldlSent [(makeRefS standardValues) `sC` ((makeRefS ldfConstant) +:+ +varValsOfmkEDesc = foldlSent [(makeRef2S standardValues) `sC` ((makeRef2S ldfConstant) +:+ S "- Currently, the"), plural value, S "for", foldlList Comma List (map ch (take 3 assumptionConstants)), S "are assumed to be the same for all" +:+. phrase glass, S "In the future, these", plural value, S "can be changed to", phrase variable, plural input_] -accMoreThanSingleLiteDesc = foldlSent [(makeRefS glassLite) +:+ S "- The", phrase software, +accMoreThanSingleLiteDesc = foldlSent [(makeRef2S glassLite) +:+ S "- The", phrase software, S "may be changed to accommodate more than a single", phrase lite] -accMoreBoundaryConditionsDesc = foldlSent [(makeRefS boundaryConditions) :+: S "- The", phrase software, +accMoreBoundaryConditionsDesc = foldlSent [(makeRef2S boundaryConditions) :+: S "- The", phrase software, S "may be changed to accommodate more boundary", plural condition, S "than 4-sided support"] -considerMoreThanFlexGlassDesc = foldlSent [(makeRefS responseType) +:+ S "- The", phrase software, +considerMoreThanFlexGlassDesc = foldlSent [(makeRef2S responseType) +:+ S "- The", phrase software, S "may be changed to consider more than just", phrase flexure, S "of the glass"] @@ -81,6 +81,6 @@ predictWithstandOfCertDegDesc = foldlSent [phrase goal `ofThe'` phrase system, S "is to predict whether the", phrase glaSlab, S "under consideration can", S "withstand an", phrase explosion, S "of a certain degree"] -accAlteredGlassDesc = foldlSent [makeRefS glassCondition, S "requires that the", phrase glass +:+. +accAlteredGlassDesc = foldlSent [makeRef2S glassCondition, S "requires that the", phrase glass +:+. S "is not altered in any way", S "Therefore, this cannot be used on altered", phrase glass] diff --git a/code/drasil-example/Drasil/GlassBR/DataDefs.hs b/code/drasil-example/Drasil/GlassBR/DataDefs.hs index 1d286a3951..ee3adeb316 100644 --- a/code/drasil-example/Drasil/GlassBR/DataDefs.hs +++ b/code/drasil-example/Drasil/GlassBR/DataDefs.hs @@ -11,9 +11,9 @@ import Data.Drasil.Concepts.PhysicalProperties (dimension) import Data.Drasil.Citations (campidelli) import Data.Drasil.SentenceStructures (sAnd, sOf) -import Drasil.GlassBR.Assumptions (standardValues, ldfConstant) +import Drasil.GlassBR.Assumptions (standardValues, ldfConstant, glassLite) import Drasil.GlassBR.Concepts (annealed, fullyT, heatS) -import Drasil.GlassBR.Labels (calOfDemandL, glassLiteL) +import Drasil.GlassBR.Labels (calOfDemandL) import Drasil.GlassBR.References (astm2009, beasonEtAl1998) import Drasil.GlassBR.Unitals (actualThicknesses, aspect_ratio, demand, dimlessLoad, gTF, glassTypeAbbrsStr, glassTypeFactors, glass_type, @@ -77,8 +77,8 @@ loadDFQD :: QDefinition loadDFQD = mkQuantDef lDurFac loadDF_eq loadDF :: DataDefinition -loadDF = mkDD loadDFQD [makeRef astm2009] [{-derivation-}] "loadDurFactor" [makeRefS standardValues, - makeRefS ldfConstant] +loadDF = mkDD loadDFQD [makeRef astm2009] [{-derivation-}] "loadDurFactor" [makeRef2S standardValues, + makeRef2S ldfConstant] --DD4-- @@ -105,7 +105,7 @@ nonFLQD = mkQuantDef nonFactorL nonFL_eq nonFL :: DataDefinition nonFL = mkDD nonFLQD [makeRef astm2009] [{-derivation-}] "nFL" - (aGrtrThanB : hRef : qHtTlTolRef : [makeRefS standardValues]) + (aGrtrThanB : hRef : qHtTlTolRef : [makeRef2S standardValues]) --DD6-- @@ -133,7 +133,7 @@ dimLLQD = mkQuantDef dimlessLoad dimLL_eq dimLL :: DataDefinition dimLL = mkDD dimLLQD [makeRef astm2009, makeRef campidelli {- +:+ sParen (S "Eq. 7") -}] [{-derivation-}] "dimlessLoad" - (qRef : aGrtrThanB : hRef : gtfRef : glassLiteRef : [makeRefS standardValues]) + (qRef : aGrtrThanB : hRef : gtfRef : glassLiteRef : [makeRef2S standardValues]) --DD8-- @@ -161,7 +161,7 @@ tolStrDisFacQD = mkQuantDef sdf_tol tolStrDisFac_eq tolStrDisFac :: DataDefinition tolStrDisFac = mkDD tolStrDisFacQD [makeRef astm2009] [{-derivation-}] "sdf_tol" - (jtolRelToPbtol : aGrtrThanB : hRef : ldfRef : pbTolUsr : [makeRefS standardValues]) + (jtolRelToPbtol : aGrtrThanB : hRef : ldfRef : pbTolUsr : [makeRef2S standardValues]) --DD10-- @@ -197,20 +197,20 @@ anGlass = (getAcc annealed +:+ S "is" +:+ phrase annealed +:+ S "glass") arRef :: Sentence arRef = (ch aspect_ratio +:+ S "is the" +:+ phrase aspect_ratio +:+. - S "defined in" +:+ makeRefS aspRat) + S "defined in" +:+ makeRef2S aspRat) ftGlass :: Sentence ftGlass = (getAcc fullyT +:+ S "is" +:+ phrase fullyT +:+ S "glass") hRef :: Sentence hRef = (ch min_thick +:+ S "is the" +:+ phrase min_thick `sC` - S "which is based on the nominal thicknesses as shown in" +:+. makeRefS hFromt) + S "which is based on the nominal thicknesses as shown in" +:+. makeRef2S hFromt) hsGlass :: Sentence hsGlass = (getAcc heatS +:+ S "is" +:+ phrase heatS +:+ S "glass") ldfRef :: Sentence -ldfRef = (ch lDurFac +:+ S "is the" +:+ phrase lDurFac +:+ S "as defined by" +:+. makeRefS loadDF) +ldfRef = (ch lDurFac +:+ S "is the" +:+ phrase lDurFac +:+ S "as defined by" +:+. makeRef2S loadDF) pbTolUsr :: Sentence pbTolUsr = (ch pb_tol +:+ S "is the tolerable" +:+ phrase probability +:+ S "entered by the" +:+. @@ -218,7 +218,7 @@ pbTolUsr = (ch pb_tol +:+ S "is the tolerable" +:+ phrase probability +:+ S "ent jRef :: Sentence jRef = (ch stressDistFac +:+ S "is the" +:+ phrase stressDistFac `sC` S "as defined in" +:+. - makeRefS strDisFac) + makeRef2S strDisFac) hMin :: Sentence hMin = (ch nom_thick +:+ S "is a function that maps from the nominal thickness" @@ -228,19 +228,19 @@ qHtTlExtra :: Sentence qHtTlExtra = (ch tolLoad +:+ S "is the tolerable load which is obtained from Figure 7 using" +:+ ch sdf_tol `sAnd` phrase aspect_ratio +:+ S "as" +:+ plural parameter +:+. S "using interpolation" +:+ titleize' calculation `sOf` ch sdf_tol `sAnd` ch aspect_ratio +:+ - S "are defined in" +:+. makeRefS tolStrDisFac `sAnd` makeRefS aspRat `sC` S "respectively") + S "are defined in" +:+. makeRef2S tolStrDisFac `sAnd` makeRef2S aspRat `sC` S "respectively") qHtTlTolRef :: Sentence -qHtTlTolRef = (ch tolLoad +:+ S "is the tolerable load defined in" +:+. makeRefS tolPre) +qHtTlTolRef = (ch tolLoad +:+ S "is the tolerable load defined in" +:+. makeRef2S tolPre) qRef :: Sentence qRef = (ch demand +:+ S "is the 3 second equivalent pressure, as given in" +:+. makeRefS calOfDemandL) gtfRef :: Sentence -gtfRef = (ch gTF +:+ S "is the" +:+. (phrase gTF `sC` S "as given by" +:+ makeRefS glaTyFac)) +gtfRef = (ch gTF +:+ S "is the" +:+. (phrase gTF `sC` S "as given by" +:+ makeRef2S glaTyFac)) qHtRef :: Sentence -qHtRef = (ch dimlessLoad +:+ S "is the" +:+ phrase dimlessLoad +:+ S "defined in" +:+. makeRefS dimLL) +qHtRef = (ch dimlessLoad +:+ S "is the" +:+ phrase dimlessLoad +:+ S "defined in" +:+. makeRef2S dimLL) jRef2 :: Sentence jRef2 = (ch stressDistFac +:+ S "is the" +:+ phrase stressDistFac `sC` @@ -251,4 +251,4 @@ jtolRelToPbtol :: Sentence jtolRelToPbtol = (ch sdf_tol +:+ S " is calculated with reference to " +:+. ch pb_tol) glassLiteRef :: Sentence -glassLiteRef = (ch dimlessLoad +:+ S "is calculated with reference to" +:+. makeRefS glassLiteL) +glassLiteRef = (ch dimlessLoad +:+ S "is calculated with reference to" +:+. makeRef2S glassLite) diff --git a/code/drasil-example/Drasil/GlassBR/IMods.hs b/code/drasil-example/Drasil/GlassBR/IMods.hs index 939af60303..0700cbb816 100644 --- a/code/drasil-example/Drasil/GlassBR/IMods.hs +++ b/code/drasil-example/Drasil/GlassBR/IMods.hs @@ -29,8 +29,8 @@ glassBRsymb = map dqdWr [plate_len, plate_width, char_weight, standOffDist] ++ probOfBreak :: InstanceModel probOfBreak = im' probOfBreak_RC [qw risk] [sy risk $> 0] (qw prob_br) [sy prob_br $> 0] - (map makeRef [astm2009, beasonEtAl1998]) probOfBreakL [makeRefS standardValues, makeRefS boundaryConditions, - makeRefS responseType, makeRefS risk] + (map makeRef [astm2009, beasonEtAl1998]) probOfBreakL [makeRef2S standardValues, makeRef2S boundaryConditions, + makeRef2S responseType, makeRef2S risk] {--} @@ -56,7 +56,7 @@ calofCapacity_RC = makeRC "calofCapacity_RC" (nounPhraseSP "Calculation of Capac calofCapacityDesc :: Sentence calofCapacityDesc = - foldlSent [makeRefS glassLite, makeRefS glaTyFac, makeRefS nonFL] + foldlSent [makeRef2S glassLite, makeRef2S glaTyFac, makeRef2S nonFL] {--} @@ -80,4 +80,4 @@ calofDemandDesc = (ch eqTNTWeight), S "as" +:+. plural parameter, (ch eqTNTWeight), S "is defined as" +:+. E (wtntWithEqn^.equat), (ch standOffDist) `isThe` - (phrase standOffDist), S "as defined in", makeRefS standOffDis] + (phrase standOffDist), S "as defined in", makeRef2S standOffDis] diff --git a/code/drasil-example/Drasil/GlassBR/Requirements.hs b/code/drasil-example/Drasil/GlassBR/Requirements.hs index d8f8502891..257e0eba61 100644 --- a/code/drasil-example/Drasil/GlassBR/Requirements.hs +++ b/code/drasil-example/Drasil/GlassBR/Requirements.hs @@ -91,12 +91,12 @@ sysSetValsFollowingAssumpsDesc = foldlSent_ [S "The", phrase system, S "shall se sysSetValsFollowingAssumpsList :: [Sentence] sysSetValsFollowingAssumpsList = [foldlList Comma List (map ch (take 4 assumptionConstants)) `followA` standardValues, - ch loadDF +:+ S "from" +:+ makeRefS loadDF, + ch loadDF +:+ S "from" +:+ makeRef2S loadDF, short lShareFac `followA` glassLite, - ch hFromt +:+ S "from" +:+ makeRefS hFromt, - ch glaTyFac +:+ S "from" +:+ makeRefS glaTyFac, - ch standOffDis +:+ S "from" +:+ makeRefS standOffDis, - ch aspRat +:+ S "from" +:+ makeRefS aspRat] + ch hFromt +:+ S "from" +:+ makeRef2S hFromt, + ch glaTyFac +:+ S "from" +:+ makeRef2S glaTyFac, + ch standOffDis +:+ S "from" +:+ makeRef2S standOffDis, + ch aspRat +:+ S "from" +:+ makeRef2S aspRat] --FIXME:should constants, LDF, and LSF have some sort of field that holds -- the assumption(s) that're being followed? (Issue #349) @@ -112,8 +112,8 @@ outputValsAndKnownQuantsDesc = foldlSent [titleize output_, S "the", plural inQt S "from", makeRef2S sysSetValsFollowingAssumps] checkGlassSafetyDesc cmd = foldlSent_ [S "If", (ch is_safePb), S "∧", (ch is_safeLR), - sParen (S "from" +:+ (makeRefS pbIsSafe) - `sAnd` (makeRefS lrIsSafe)), S "are true" `sC` + sParen (S "from" +:+ (makeRef2S pbIsSafe) + `sAnd` (makeRef2S lrIsSafe)), S "are true" `sC` phrase cmd, S "the", phrase message, Quote (safeMessage ^. defn), S "If the", phrase condition, S "is false, then", phrase cmd, S "the", phrase message, Quote (notSafe ^. defn)] diff --git a/code/drasil-example/Drasil/GlassBR/TMods.hs b/code/drasil-example/Drasil/GlassBR/TMods.hs index 2a6d675e88..d6215fd462 100644 --- a/code/drasil-example/Drasil/GlassBR/TMods.hs +++ b/code/drasil-example/Drasil/GlassBR/TMods.hs @@ -42,12 +42,12 @@ lrIsSafe_RC = makeRC "safetyReqLR" (nounPhraseSP "Safety Req-LR") lrIsSafeDesc :: Sentence lrIsSafeDesc = tModDesc (is_safeLR) s ending where - s = ((ch is_safePb) +:+ sParen (S "from" +:+ (makeRefS pbIsSafe)) `sAnd` (ch is_safeLR)) + s = ((ch is_safePb) +:+ sParen (S "from" +:+ (makeRef2S pbIsSafe)) `sAnd` (ch is_safeLR)) ending = (short lResistance) `isThe` (phrase lResistance) +:+ sParen (S "also called capacity") `sC` S "as defined in" +:+. - (makeRefS calofCapacity) +:+ (ch demand) +:+ sParen (S "also referred as the" +:+ + (makeRef2S calofCapacity) +:+ (ch demand) +:+ sParen (S "also referred as the" +:+ (titleize demandq)) `isThe` (demandq ^. defn) `sC` S "as defined in" +:+ - makeRefS calofDemand + makeRef2S calofDemand pbIsSafe :: TheoryModel pbIsSafe = tm (cw pbIsSafe_RC) @@ -63,9 +63,9 @@ pbIsSafeDesc :: Sentence pbIsSafeDesc = tModDesc (is_safePb) s ending where s = (ch is_safePb) `sAnd` (ch is_safeLR) +:+ sParen (S "from" +:+ - (makeRefS lrIsSafe)) + (makeRef2S lrIsSafe)) ending = ((ch prob_br) `isThe` (phrase prob_br)) `sC` S "as calculated in" +:+. - (makeRefS probOfBreak) +:+ (ch pb_tol) `isThe` (phrase pb_tol) +:+ S "entered by the user" + (makeRef2S probOfBreak) +:+ (ch pb_tol) `isThe` (phrase pb_tol) +:+ S "entered by the user" tModDesc :: QuantityDict -> Sentence -> Sentence -> Sentence tModDesc main s ending = foldlSent [S "If", ch main `sC` S "the glass is" +:+. diff --git a/code/drasil-lang/Data/Drasil/IdeaDicts.hs b/code/drasil-lang/Data/Drasil/IdeaDicts.hs index ed6472be65..13a32b9ebf 100644 --- a/code/drasil-lang/Data/Drasil/IdeaDicts.hs +++ b/code/drasil-lang/Data/Drasil/IdeaDicts.hs @@ -4,7 +4,7 @@ import Language.Drasil.Chunk.NamedIdea (IdeaDict, mkIdea) import Language.Drasil.NounPhrase (cn') compScience, softEng, mathematics, progLanguage, idglass, physics, civilEng - , materialEng, documentc :: IdeaDict + , materialEng, documentc, knowledgemng :: IdeaDict ------------------------------------------------------------------------------- -- IdeaDict | | id | term | abbreviation ------------------------------------------------------------------------------- @@ -16,4 +16,5 @@ idglass = mkIdea "glass" (cn' "Glass") Nothing physics = mkIdea "physics" (cn' "Physics") Nothing civilEng = mkIdea "civilEng" (cn' "Civil Engineering") Nothing materialEng = mkIdea "materialEng" (cn' "Material Engineering") Nothing -documentc = mkIdea "documentc" (cn' "Document") (Just "Doc") \ No newline at end of file +documentc = mkIdea "documentc" (cn' "Document") (Just "Doc") +knowledgemng = mkIdea "knowledgemng" (cn' "Knowledge Management") Nothing \ No newline at end of file diff --git a/code/drasil-lang/Language/Drasil/Chunk/Citation.hs b/code/drasil-lang/Language/Drasil/Chunk/Citation.hs index 25aef1868e..8fcaf3c201 100644 --- a/code/drasil-lang/Language/Drasil/Chunk/Citation.hs +++ b/code/drasil-lang/Language/Drasil/Chunk/Citation.hs @@ -11,7 +11,7 @@ module Language.Drasil.Chunk.Citation , cProceedings, cTechReport, cUnpublished ) where -import Data.Drasil.IdeaDicts (softEng) +import Data.Drasil.IdeaDicts (knowledgemng) import Language.Drasil.People (People) import Language.Drasil.Sentence (Sentence) import Language.Drasil.UID (UID) @@ -52,7 +52,7 @@ instance CommonIdea Citation where abrv = abrv . view ci citation :: CI -citation = commonIdeaWithDict "citation" (cn' "citation") "Citation" [softEng] +citation = commonIdeaWithDict "citation" (cn' "citation") "Citation" [knowledgemng] -- | Smart constructor which implicitly uses EntryID as chunk i. cite :: EntryID -> CitationKind -> [CiteField] -> Label -> Citation diff --git a/code/drasil-lang/Language/Drasil/Chunk/DataDefinition.hs b/code/drasil-lang/Language/Drasil/Chunk/DataDefinition.hs index 166a6dd8d4..764078eedd 100644 --- a/code/drasil-lang/Language/Drasil/Chunk/DataDefinition.hs +++ b/code/drasil-lang/Language/Drasil/Chunk/DataDefinition.hs @@ -8,7 +8,7 @@ import Language.Drasil.Derivation (Derivation) import Language.Drasil.Classes (HasUID(uid), NamedIdea(term), Idea(getA), HasSymbol(symbol), DefiningExpr(defnExpr), Quantity, HasSpace(typ), HasDerivation(derivations), HasReference(getReferences), HasAdditionalNotes(getNotes), - HasShortName(shortname), HasLabel(getLabel), ConceptDomain(cdom)) + HasShortName(shortname), HasLabel(getLabel), ConceptDomain(cdom), CommonIdea(abrv)) import Language.Drasil.Development.Unit(MayHaveUnit(getUnit)) import Language.Drasil.Expr (Expr) import Language.Drasil.Label.Core (Label) @@ -50,6 +50,7 @@ instance MayHaveUnit DataDefinition where getUnit = getUnit . view qd instance HasLabel DataDefinition where getLabel = lbl instance HasShortName DataDefinition where shortname = lbl . shortname instance ConceptDomain DataDefinition where cdom = ci . cdom +instance CommonIdea DataDefinition where abrv = abrv . view ci dataDefn :: CI dataDefn = commonIdeaWithDict "dataDefn" (cn' "data definition") "DD" [softEng] diff --git a/code/drasil-lang/Language/Drasil/Chunk/GenDefn.hs b/code/drasil-lang/Language/Drasil/Chunk/GenDefn.hs index 0f87e99c8d..c0f828ae9f 100644 --- a/code/drasil-lang/Language/Drasil/Chunk/GenDefn.hs +++ b/code/drasil-lang/Language/Drasil/Chunk/GenDefn.hs @@ -4,7 +4,8 @@ module Language.Drasil.Chunk.GenDefn ( GenDefn, gd', gd'') where import Language.Drasil.Classes (HasUID(uid), NamedIdea(term), Idea(getA), Definition(defn), ConceptDomain(cdom), Concept, IsUnit, ExprRelat(relat), HasDerivation(derivations), HasReference(getReferences), - HasLabel(getLabel), HasAdditionalNotes(getNotes), HasShortName(shortname)) + HasLabel(getLabel), HasAdditionalNotes(getNotes), HasShortName(shortname), + CommonIdea(abrv)) import Data.Drasil.IdeaDicts (softEng) import Language.Drasil.Chunk.Relation (RelationConcept) import Language.Drasil.Derivation (Derivation) @@ -24,7 +25,7 @@ data GenDefn = GD { _relC :: RelationConcept , _refs :: [Reference] , _lb :: Label , _notes :: [Sentence] - , ci :: CI + , _ci :: CI } makeLenses ''GenDefn @@ -41,6 +42,7 @@ instance HasLabel GenDefn where getLabel = lb instance HasShortName GenDefn where shortname = lb . shortname instance HasAdditionalNotes GenDefn where getNotes = notes instance MayHaveUnit GenDefn where getUnit = gdUnit +instance CommonIdea GenDefn where abrv = abrv . view ci gendef :: CI gendef = commonIdeaWithDict "gendef" (cn' "General Definition") "GD" [softEng] diff --git a/code/drasil-lang/Language/Drasil/Chunk/InstanceModel.hs b/code/drasil-lang/Language/Drasil/Chunk/InstanceModel.hs index a08fd01b96..4ee5c531af 100644 --- a/code/drasil-lang/Language/Drasil/Chunk/InstanceModel.hs +++ b/code/drasil-lang/Language/Drasil/Chunk/InstanceModel.hs @@ -12,7 +12,7 @@ import Language.Drasil.Chunk.Quantity (QuantityDict) import Language.Drasil.Classes (HasUID(uid), NamedIdea(term), Idea(getA), Quantity, Definition(defn),ConceptDomain(cdom), Concept, ExprRelat(relat), HasDerivation(derivations), HasReference(getReferences), HasAdditionalNotes(getNotes), - HasLabel(getLabel), HasSymbol(symbol), HasSpace(typ), HasShortName(shortname)) + HasLabel(getLabel), HasSymbol(symbol), HasSpace(typ), HasShortName(shortname),CommonIdea(abrv)) import Language.Drasil.Derivation (Derivation) import Language.Drasil.Development.Unit (MayHaveUnit(getUnit)) import Language.Drasil.Expr (Relation) @@ -45,7 +45,7 @@ data InstanceModel = IM { _rc :: RelationConcept , _deri :: Derivation , _lb :: Label , _notes :: [Sentence] - , ci :: CI + , _ci :: CI } makeLenses ''InstanceModel @@ -65,6 +65,7 @@ instance HasSymbol InstanceModel where symbol = symbol . view imOutput instance HasSpace InstanceModel where typ = imOutput . typ instance Quantity InstanceModel where instance MayHaveUnit InstanceModel where getUnit = getUnit . view imOutput +instance CommonIdea InstanceModel where abrv = abrv . view ci instanceMod :: CI instanceMod = commonIdeaWithDict "instanceMod" (cn' "Instance Model") "IM" [softEng] diff --git a/code/drasil-lang/Language/Drasil/Chunk/Theory.hs b/code/drasil-lang/Language/Drasil/Chunk/Theory.hs index 60117d5a42..30bd26c89a 100644 --- a/code/drasil-lang/Language/Drasil/Chunk/Theory.hs +++ b/code/drasil-lang/Language/Drasil/Chunk/Theory.hs @@ -6,7 +6,7 @@ import Language.Drasil.Chunk.Eq (QDefinition) import Language.Drasil.Chunk.Quantity (QuantityDict, qw) import Language.Drasil.Classes (HasUID(uid), NamedIdea(term), Idea(getA), Quantity, Definition(defn), ConceptDomain(cdom), Concept, HasReference(getReferences), - HasAdditionalNotes(getNotes), HasLabel(getLabel), HasShortName(shortname)) + HasAdditionalNotes(getNotes), HasLabel(getLabel), HasShortName(shortname), CommonIdea(abrv)) import Language.Drasil.Development.Unit (MayHaveUnit) import Language.Drasil.Expr (Relation) import Language.Drasil.Label.Core (Label) @@ -50,7 +50,7 @@ data TheoryModel = TM , _ref :: [Reference] , _lb :: Label , _notes :: [Sentence] - , ci :: CI + , _ci :: CI } makeLenses ''TheoryModel @@ -72,6 +72,7 @@ instance Theory TheoryModel where defined_fun = dfun instance HasLabel TheoryModel where getLabel = lb instance HasShortName TheoryModel where shortname = lb . shortname +instance CommonIdea TheoryModel where abrv = abrv . view ci softEng :: IdeaDict softEng = mkIdea "softEng" (cn' "Software Engineering") (Just "SE") diff --git a/code/drasil-lang/Language/Drasil/Reference.hs b/code/drasil-lang/Language/Drasil/Reference.hs index 3895bef13b..b5e5d41bf5 100644 --- a/code/drasil-lang/Language/Drasil/Reference.hs +++ b/code/drasil-lang/Language/Drasil/Reference.hs @@ -130,27 +130,27 @@ instance Referable Section where instance Referable Citation where refAdd c = citeID c -- citeID should be unique. rType _ = Cite - renderRef _ = name -- FIXME + renderRef l = prepend $ abrv l instance Referable TheoryModel where refAdd t = getAdd ((t ^. getLabel) ^. getRefAdd) rType _ = Def TM - renderRef _ = name -- FIXME + renderRef l = prepend $ abrv l instance Referable GenDefn where refAdd g = getAdd ((g ^. getLabel) ^. getRefAdd) rType _ = Def General - renderRef _ = name -- FIXME + renderRef l = prepend $ abrv l instance Referable DataDefinition where refAdd d = getAdd ((d ^. getLabel) ^. getRefAdd) rType _ = Def DD - renderRef _ = name -- FIXME + renderRef l = prepend $ abrv l instance Referable InstanceModel where refAdd i = getAdd ((i ^. getLabel) ^. getRefAdd) rType _ = Def Instance - renderRef _ = name -- FIXME + renderRef l = prepend $ abrv l instance Referable ConceptInstance where refAdd i = i ^. uid @@ -165,9 +165,22 @@ instance Referable Label where renderRef _ = name -- FIXME instance Referable LabelledContent where - refAdd (LblC lb _) = getAdd (lb ^. getRefAdd) - rType (LblC _ c) = temp c - renderRef _ = name -- FIXME + refAdd (LblC lb _) = getAdd (lb ^. getRefAdd) + rType (LblC _ c) = temp c + renderRef (LblC _ c) = refLabelledCon c + +refLabelledCon :: RawContent -> RefProg +refLabelledCon (Table _ _ _ _) = raw "Table:" +::+ name +refLabelledCon (Figure _ _ _) = raw "Fig:" +::+ name +refLabelledCon (Graph _ _ _ _) = raw "Fig:" +::+ name +refLabelledCon (Defini x _) = raw "Def:" +::+ name +refLabelledCon (Assumption _ _ _) = raw "Assump:" +::+ name +refLabelledCon (EqnBlock _) = raw "EqnB:" +::+ name +refLabelledCon (Enumeration _) = raw "Lst:" +::+ name +refLabelledCon (Paragraph _) = error "Shouldn't reference paragraphs" +refLabelledCon (Bib _) = error $ + "Bibliography list of references cannot be referenced. " ++ + "You must reference the Section or an individual citation." temp :: RawContent -> RefType temp (Table _ _ _ _) = Tab diff --git a/code/stable/glassbr/SRS/GlassBR_SRS.tex b/code/stable/glassbr/SRS/GlassBR_SRS.tex index e403af75ad..b06e297efd 100644 --- a/code/stable/glassbr/SRS/GlassBR_SRS.tex +++ b/code/stable/glassbr/SRS/GlassBR_SRS.tex @@ -365,7 +365,7 @@ \subsubsection{Assumptions} \item[\refstepcounter{assumpnum}\atheassumpnum\label{A:responseType}:]The response type considered in GlassBR is flexural. \end{description} \begin{description} -\item[\refstepcounter{assumpnum}\atheassumpnum\label{A:ldfConstant}:]With reference to A\ref{A:standardValues}, the value of load duration factor ($LDF$) is a constant in GlassBR. +\item[\refstepcounter{assumpnum}\atheassumpnum\label{A:ldfConstant}:]With reference to \hyperref[A:standardValues]{A: standardValues}, the value of load duration factor ($LDF$) is a constant in GlassBR. \end{description} \subsubsection{Theoretical Models} \label{Sec:TMs} @@ -389,7 +389,7 @@ \subsubsection{Theoretical Models} \item{${P_{btol}}$ is the tolerable probability of breakage (Unitless)} \end{symbDescription} \\ \midrule \\ -Notes & If $is\_safePb$, the glass is considered safe. $is\_safePb$ and $is\_safeLR$ (from \hyperref[T:isSafeLR]{Definition~T:isSafeLR}) are either both True or both False. ${P_{b}}$ is the probability of breakage, as calculated in \hyperref[IM:probOfBreak]{Definition~IM:probOfBreak}. ${P_{btol}}$ is the tolerable probability of breakage entered by the user. +Notes & If $is\_safePb$, the glass is considered safe. $is\_safePb$ and $is\_safeLR$ (from \hyperref[T:isSafeLR]{TM: isSafeLR}) are either both True or both False. ${P_{b}}$ is the probability of breakage, as calculated in \hyperref[IM:probOfBreak]{IM: probOfBreak}. ${P_{btol}}$ is the tolerable probability of breakage entered by the user. \\ \midrule \\ Source & \cite{astm2009} \\ \midrule \\ @@ -415,7 +415,7 @@ \subsubsection{Theoretical Models} \item{$q$ is the applied load (demand) (Pa)} \end{symbDescription} \\ \midrule \\ -Notes & If $is\_safeLR$, the glass is considered safe. $is\_safePb$ (from \hyperref[T:isSafePb]{Definition~T:isSafePb}) and $is\_safeLR$ are either both True or both False. LR is the load resistance (also called capacity), as defined in \hyperref[IM:calofCapacity]{Definition~IM:calofCapacity}. $q$ (also referred as the Demand) is the 3 second duration equivalent pressure, as defined in \hyperref[IM:calOfDemand]{Definition~IM:calOfDemand}. +Notes & If $is\_safeLR$, the glass is considered safe. $is\_safePb$ (from \hyperref[T:isSafePb]{TM: isSafePb}) and $is\_safeLR$ are either both True or both False. LR is the load resistance (also called capacity), as defined in \hyperref[IM:calofCapacity]{IM: calofCapacity}. $q$ (also referred as the Demand) is the 3 second duration equivalent pressure, as defined in \hyperref[IM:calOfDemand]{IM: calOfDemand}. \\ \midrule \\ Source & \cite{astm2009} \\ \midrule \\ @@ -458,9 +458,9 @@ \subsubsection{Data Definitions} \end{symbDescription} \\ \midrule \\ Notes & $a$, $b$ are dimensions of the plate, where ($a\geq{}b$). - $h$ is the minimum thickness, which is based on the nominal thicknesses as shown in \hyperref[DD:min.thick]{Definition~DD:min.thick}. - $LDF$ is the load duration factor as defined by \hyperref[DD:loadDurFactor]{Definition~DD:loadDurFactor}. - $J$ is the stress distribution factor (Function), as defined in \hyperref[DD:stressDistFac]{Definition~DD:stressDistFac}. + $h$ is the minimum thickness, which is based on the nominal thicknesses as shown in \hyperref[DD:min.thick]{DD: min\_thick}. + $LDF$ is the load duration factor as defined by \hyperref[DD:loadDurFactor]{DD: loadDurFactor}. + $J$ is the stress distribution factor (Function), as defined in \hyperref[DD:stressDistFac]{DD: stressDistFac}. \\ \midrule \\ Source & \cite{astm2009}, \cite{beasonEtAl1998}, and \cite{campidelli} \\ \midrule \\ @@ -532,8 +532,8 @@ \subsubsection{Data Definitions} \item{$m$ is the surface flaw parameter ($\frac{\text{m}^{12}}{\text{N}^{7}}$)} \end{symbDescription} \\ \midrule \\ -Notes & A\ref{A:standardValues} - A\ref{A:ldfConstant} +Notes & \hyperref[A:standardValues]{A: standardValues} + \hyperref[A:ldfConstant]{A: ldfConstant} \\ \midrule \\ Source & \cite{astm2009} \\ \midrule \\ @@ -565,8 +565,8 @@ \subsubsection{Data Definitions} \end{symbDescription} \\ \midrule \\ Notes & $J$ is the stress distribution factor (Function), which is obtained by interpolating from data shown in Figure 7. - $\hat{q}$ is the dimensionless load defined in \hyperref[DD:dimlessLoad]{Definition~DD:dimlessLoad}. - $AR$ is the aspect ratio defined in. \hyperref[DD:aspect.ratio]{Definition~DD:aspect.ratio} + $\hat{q}$ is the dimensionless load defined in \hyperref[DD:dimlessLoad]{DD: dimlessLoad}. + $AR$ is the aspect ratio defined in. \hyperref[DD:aspect.ratio]{DD: aspect\_ratio} \\ \midrule \\ Source & \cite{astm2009} \\ \midrule \\ @@ -600,9 +600,9 @@ \subsubsection{Data Definitions} \end{symbDescription} \\ \midrule \\ Notes & $a$, $b$ are dimensions of the plate, where ($a\geq{}b$). - $h$ is the minimum thickness, which is based on the nominal thicknesses as shown in \hyperref[DD:min.thick]{Definition~DD:min.thick}. - ${\hat{q}_{tol}}$ is the tolerable load defined in \hyperref[DD:tolLoad]{Definition~DD:tolLoad}. - A\ref{A:standardValues} + $h$ is the minimum thickness, which is based on the nominal thicknesses as shown in \hyperref[DD:min.thick]{DD: min\_thick}. + ${\hat{q}_{tol}}$ is the tolerable load defined in \hyperref[DD:tolLoad]{DD: tolLoad}. + \hyperref[A:standardValues]{A: standardValues} \\ \midrule \\ Source & \cite{astm2009} \\ \midrule \\ @@ -673,10 +673,10 @@ \subsubsection{Data Definitions} \\ \midrule \\ Notes & $q$ is the 3 second equivalent pressure, as given in \hyperref[IM:calOfDemand]{Definition~IM:calOfDemand}. $a$, $b$ are dimensions of the plate, where ($a\geq{}b$). - $h$ is the minimum thickness, which is based on the nominal thicknesses as shown in \hyperref[DD:min.thick]{Definition~DD:min.thick}. - $GTF$ is the glass type factor, as given by \hyperref[DD:gTF]{Definition~DD:gTF}. - $\hat{q}$ is calculated with reference to A\ref{A:glassLite}. - A\ref{A:standardValues} + $h$ is the minimum thickness, which is based on the nominal thicknesses as shown in \hyperref[DD:min.thick]{DD: min\_thick}. + $GTF$ is the glass type factor, as given by \hyperref[DD:gTF]{DD: gTF}. + $\hat{q}$ is calculated with reference to \hyperref[A:glassLite]{A: glassLite}. + \hyperref[A:standardValues]{A: standardValues} \\ \midrule \\ Source & \cite{astm2009} and \cite{campidelli} \\ \midrule \\ @@ -708,7 +708,7 @@ \subsubsection{Data Definitions} \item{$b$ is the plate width (short dimension) (m)} \end{symbDescription} \\ \midrule \\ -Notes & ${\hat{q}_{tol}}$ is the tolerable load which is obtained from Figure 7 using ${J_{tol}}$ and aspect ratio as parameters using interpolation. Calculations of ${J_{tol}}$ and $AR$ are defined in \hyperref[DD:sdf.tol]{Definition~DD:sdf.tol}. and \hyperref[DD:aspect.ratio]{Definition~DD:aspect.ratio}, respectively +Notes & ${\hat{q}_{tol}}$ is the tolerable load which is obtained from Figure 7 using ${J_{tol}}$ and aspect ratio as parameters using interpolation. Calculations of ${J_{tol}}$ and $AR$ are defined in \hyperref[DD:sdf.tol]{DD: sdf\_tol}. and \hyperref[DD:aspect.ratio]{DD: aspect\_ratio}, respectively \\ \midrule \\ Source & \cite{astm2009} \\ \midrule \\ @@ -746,10 +746,10 @@ \subsubsection{Data Definitions} \\ \midrule \\ Notes & ${J_{tol}}$ is calculated with reference to ${P_{btol}}$. $a$, $b$ are dimensions of the plate, where ($a\geq{}b$). - $h$ is the minimum thickness, which is based on the nominal thicknesses as shown in \hyperref[DD:min.thick]{Definition~DD:min.thick}. - $LDF$ is the load duration factor as defined by \hyperref[DD:loadDurFactor]{Definition~DD:loadDurFactor}. + $h$ is the minimum thickness, which is based on the nominal thicknesses as shown in \hyperref[DD:min.thick]{DD: min\_thick}. + $LDF$ is the load duration factor as defined by \hyperref[DD:loadDurFactor]{DD: loadDurFactor}. ${P_{btol}}$ is the tolerable probability entered by the user. - A\ref{A:standardValues} + \hyperref[A:standardValues]{A: standardValues} \\ \midrule \\ Source & \cite{astm2009} \\ \midrule \\ @@ -848,10 +848,10 @@ \subsubsection{Instance Models} \item{$B$ is the risk of failure (Unitless)} \end{symbDescription} \\ \midrule \\ -Notes & A\ref{A:standardValues} - A\ref{A:boundaryConditions} - A\ref{A:responseType} - \hyperref[DD:risk.fun]{Definition~DD:risk.fun} +Notes & \hyperref[A:standardValues]{A: standardValues} + \hyperref[A:boundaryConditions]{A: boundaryConditions} + \hyperref[A:responseType]{A: responseType} + \hyperref[DD:risk.fun]{DD: risk\_fun} \\ \midrule \\ Source & \cite{astm2009} and \cite{beasonEtAl1998} \\ \midrule \\ @@ -894,7 +894,7 @@ \subsubsection{Instance Models} \item{$LSF$ is the load share factor (Unitless)} \end{symbDescription} \\ \midrule \\ -Notes & A\ref{A:glassLite} \hyperref[DD:gTF]{Definition~DD:gTF} \hyperref[DD:nFL]{Definition~DD:nFL}. +Notes & \hyperref[A:glassLite]{A: glassLite} \hyperref[DD:gTF]{DD: gTF} \hyperref[DD:nFL]{DD: nFL}. \\ \midrule \\ Source & \cite{astm2009} \\ \midrule \\ @@ -936,7 +936,7 @@ \subsubsection{Instance Models} \item{$SD$ is the stand off distance (m)} \end{symbDescription} \\ \midrule \\ -Notes & $q$ or demand, is the 3 second duration equivalent pressure obtained from Figure 2 by interpolation using stand off distance ($SD$) and ${w_{TNT}}$ as parameters. ${w_{TNT}}$ is defined as $w TNT$. $SD$ is the stand off distance as defined in \hyperref[DD:standOffDist]{Definition~DD:standOffDist}. +Notes & $q$ or demand, is the 3 second duration equivalent pressure obtained from Figure 2 by interpolation using stand off distance ($SD$) and ${w_{TNT}}$ as parameters. ${w_{TNT}}$ is defined as $w TNT$. $SD$ is the stand off distance as defined in \hyperref[DD:standOffDist]{DD: standOffDist}. \\ \midrule \\ Source & \cite{astm2009} \\ \midrule \\ @@ -989,17 +989,17 @@ \subsection{Functional Requirements} \item[Input-Glass-Props:\phantomsection\label{inputGlassProps}]Input the quantities from Table~\ref{Table:InputGlassPropsReqInputs}, which define the glass dimensions, type of glass, tolerable probability of failure, and the characteristics of the blast. Note: $a$ and $b$ will be input in terms of millimetres and will be converted to the equivalent value in metres. \item[System-Set-Values-Following-Assumptions:\phantomsection\label{sysSetValsFollowingAssumps}]The system shall set the known values as follows: \begin{itemize} - \item{$m$, $k$, $E$, and ${t_{d}}$ following A\ref{A:standardValues}} - \item{$LDF$ from \hyperref[DD:loadDurFactor]{Definition~DD:loadDurFactor}} - \item{LSF following A\ref{A:glassLite}} - \item{$h$ from \hyperref[DD:min.thick]{Definition~DD:min.thick}} - \item{$GTF$ from \hyperref[DD:gTF]{Definition~DD:gTF}} - \item{$SD$ from \hyperref[DD:standOffDist]{Definition~DD:standOffDist}} - \item{$AR$ from \hyperref[DD:aspect.ratio]{Definition~DD:aspect.ratio}} + \item{$m$, $k$, $E$, and ${t_{d}}$ following \hyperref[A:standardValues]{A: standardValues}} + \item{$LDF$ from \hyperref[DD:loadDurFactor]{DD: loadDurFactor}} + \item{LSF following \hyperref[A:glassLite]{A: glassLite}} + \item{$h$ from \hyperref[DD:min.thick]{DD: min\_thick}} + \item{$GTF$ from \hyperref[DD:gTF]{DD: gTF}} + \item{$SD$ from \hyperref[DD:standOffDist]{DD: standOffDist}} + \item{$AR$ from \hyperref[DD:aspect.ratio]{DD: aspect\_ratio}} \end{itemize} \item[Check-Input-with-Data\_Constraints:\phantomsection\label{checkInputWithDataCons}]The system shall check the entered input values to ensure that they do not exceed the data constraints mentioned in Section~\ref{Sec:DataConstraints}. If any of the input parameters are out of bounds, an error message is displayed and the calculations stop. \item[Output-Values-and-Known-Quantities:\phantomsection\label{outputValsAndKnownQuants}]Output the input quantities from \hyperref[inputGlassProps]{FR: Input-Glass-Props} and the known quantities from \hyperref[sysSetValsFollowingAssumps]{FR: System-Set-Values-Following-Assumptions}. -\item[Check-Glass-Safety:\phantomsection\label{checkGlassSafety}]If $is\_safePb$ ∧ $is\_safeLR$ (from \hyperref[T:isSafePb]{Definition~T:isSafePb} and \hyperref[T:isSafeLR]{Definition~T:isSafeLR}) are true, output the message ``For the given input parameters, the glass is considered safe.'' If the condition is false, then output the message ``For the given input parameters, the glass is NOT considered safe.'' +\item[Check-Glass-Safety:\phantomsection\label{checkGlassSafety}]If $is\_safePb$ ∧ $is\_safeLR$ (from \hyperref[T:isSafePb]{TM: isSafePb} and \hyperref[T:isSafeLR]{TM: isSafeLR}) are true, output the message ``For the given input parameters, the glass is considered safe.'' If the condition is false, then output the message ``For the given input parameters, the glass is NOT considered safe.'' \item[Output-Quantities:\phantomsection\label{outputQuants}]Output the following quantities: \begin{itemize} \item{Aspect ratio ($AR$) (\hyperref[DD:aspect.ratio]{Definition~DD:aspect.ratio})} @@ -1051,17 +1051,17 @@ \subsection{Non-Functional Requirements} \section{Likely Changes} \label{Sec:LCs} \begin{itemize} -\item[Calculate-Internal-Blask-Risk:\phantomsection\label{calcInternalBlastRisk}]A\ref{A:explainScenario} - The system currently only calculates for external blast risk. In the future, calculations can be added for the internal blast risk. -\item[Variable-Values-of-m,k,E:\phantomsection\label{varValsOfmkE}]A\ref{A:standardValues}, A\ref{A:ldfConstant} - Currently, the values for $m$, $k$, and $E$ are assumed to be the same for all glass. In the future, these values can be changed to variable inputs. -\item[Accomodate-More-than-Single-Lite:\phantomsection\label{accMoreThanSingleLite}]A\ref{A:glassLite} - The software may be changed to accommodate more than a single lite. -\item[Accomodate-More-Boundary-Conditions:\phantomsection\label{accMoreBoundaryConditions}]A\ref{A:boundaryConditions}- The software may be changed to accommodate more boundary conditions than 4-sided support. -\item[Consider-More-than-Flexure-Glass:\phantomsection\label{considerMoreThanFlexGlass}]A\ref{A:responseType} - The software may be changed to consider more than just flexure of the glass. +\item[Calculate-Internal-Blask-Risk:\phantomsection\label{calcInternalBlastRisk}]\hyperref[A:explainScenario]{A: explainScenario} - The system currently only calculates for external blast risk. In the future, calculations can be added for the internal blast risk. +\item[Variable-Values-of-m,k,E:\phantomsection\label{varValsOfmkE}]\hyperref[A:standardValues]{A: standardValues}, \hyperref[A:ldfConstant]{A: ldfConstant} - Currently, the values for $m$, $k$, and $E$ are assumed to be the same for all glass. In the future, these values can be changed to variable inputs. +\item[Accomodate-More-than-Single-Lite:\phantomsection\label{accMoreThanSingleLite}]\hyperref[A:glassLite]{A: glassLite} - The software may be changed to accommodate more than a single lite. +\item[Accomodate-More-Boundary-Conditions:\phantomsection\label{accMoreBoundaryConditions}]\hyperref[A:boundaryConditions]{A: boundaryConditions}- The software may be changed to accommodate more boundary conditions than 4-sided support. +\item[Consider-More-than-Flexure-Glass:\phantomsection\label{considerMoreThanFlexGlass}]\hyperref[A:responseType]{A: responseType} - The software may be changed to consider more than just flexure of the glass. \end{itemize} \section{Unlikely Changes} \label{Sec:UCs} \begin{itemize} \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. -\item[Accommodate-Altered-Glass:\phantomsection\label{accAlteredGlass}]A\ref{A:glassCondition} requires that the glass is not altered in any way. Therefore, this cannot be used on altered glass. +\item[Accommodate-Altered-Glass:\phantomsection\label{accAlteredGlass}]\hyperref[A:glassCondition]{A: glassCondition} requires that the glass is not altered in any way. Therefore, this cannot be used on altered glass. \end{itemize} \section{Traceability Matrices and Graphs} \label{Sec:TraceMatrices} diff --git a/code/stable/glassbr/Website/GlassBR_SRS.html b/code/stable/glassbr/Website/GlassBR_SRS.html index 36aea33e46..c870754ab5 100644 --- a/code/stable/glassbr/Website/GlassBR_SRS.html +++ b/code/stable/glassbr/Website/GlassBR_SRS.html @@ -1237,7 +1237,7 @@

-If is_safePb, the glass is considered safe. is_safePb and is_safeLR (from T: isSafeLR) are either both True or both False. Pb is the probability of breakage, as calculated in IM: probOfBreak. Pbtol is the tolerable probability of breakage entered by the user. +If is_safePb, the glass is considered safe. is_safePb and is_safeLR (from TM: isSafeLR) are either both True or both False. Pb is the probability of breakage, as calculated in IM: probOfBreak. Pbtol is the tolerable probability of breakage entered by the user.

@@ -1311,7 +1311,7 @@

-If is_safeLR, the glass is considered safe. is_safePb (from T: isSafePb) and is_safeLR are either both True or both False. LR is the load resistance (also called capacity), as defined in IM: calofCapacity. q (also referred as the Demand) is the 3 second duration equivalent pressure, as defined in IM: calOfDemand. +If is_safeLR, the glass is considered safe. is_safePb (from TM: isSafePb) and is_safeLR are either both True or both False. LR is the load resistance (also called capacity), as defined in IM: calofCapacity. q (also referred as the Demand) is the 3 second duration equivalent pressure, as defined in IM: calOfDemand.

@@ -3284,7 +3284,7 @@

-Check-Glass-Safety: If is_safePbis_safeLR (from T: isSafePb and T: isSafeLR) are true, output the message "For the given input parameters, the glass is considered safe." If the condition is false, then output the message "For the given input parameters, the glass is NOT considered safe." +Check-Glass-Safety: If is_safePbis_safeLR (from TM: isSafePb and TM: isSafeLR) are true, output the message "For the given input parameters, the glass is considered safe." If the condition is false, then output the message "For the given input parameters, the glass is NOT considered safe."