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.
-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.