Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Start the process of moving away from Document as the main internal representation of information, to something more informative. Over time, we'll want to have a cleaner separation, but doing that all at once would break too much for too long. So we start here instead.
Synopsis
- mkDoc :: SRSDecl -> (IdeaDict -> IdeaDict -> Sentence) -> SystemInformation -> Document
- fillcdbSRS :: SRSDecl -> SystemInformation -> SystemInformation
- fillSecAndLC :: SRSDecl -> SystemInformation -> SystemInformation
- fillReferences :: SRSDecl -> SystemInformation -> SystemInformation
- dRefToRef :: HasDecRef a => a -> [Reference]
- findAllRefs :: Section -> [Reference]
- fillTraceSI :: SRSDecl -> SystemInformation -> SystemInformation
- fillTraceMaps :: DocDesc -> SystemInformation -> SystemInformation
- fillReqs :: DocDesc -> SystemInformation -> SystemInformation
- extractUnits :: DocDesc -> ChunkDB -> [UnitDefn]
- mkSections :: SystemInformation -> DocDesc -> [Section]
- mkToC :: DocDesc -> Section
- mkRefSec :: SystemInformation -> DocDesc -> RefSec -> Section
- mkTSymb :: (Quantity e, Concept e, Eq e, MayHaveUnit e) => [e] -> LFunc -> [TSIntro] -> Section
- mkIntroSec :: SystemInformation -> IntroSec -> Section
- mkStkhldrSec :: StkhldrSec -> Section
- mkGSDSec :: GSDSec -> Section
- mkSSDSec :: SystemInformation -> SSDSec -> Section
- mkSSDProb :: SystemInformation -> ProblemDescription -> Section
- mkSolChSpec :: SystemInformation -> SolChSpec -> Section
- mkReqrmntSec :: ReqrmntSec -> Section
- mkLCsSec :: LCsSec -> Section
- mkUCsSec :: UCsSec -> Section
- introChgs :: NamedIdea n => n -> [ConceptInstance] -> Contents
- mkTraceabilitySec :: TraceabilitySec -> SystemInformation -> Section
- header :: ([UID] -> [UID]) -> SystemInformation -> [Sentence]
- mkOffShelfSolnSec :: OffShelfSolnsSec -> Section
- mkAuxConsSec :: AuxConstntSec -> Section
- mkBib :: BibRef -> Section
- mkAppndxSec :: AppndxSec -> Section
Main Function
mkDoc :: SRSDecl -> (IdeaDict -> IdeaDict -> Sentence) -> SystemInformation -> Document Source #
Creates a document from a document description, a title combinator function, and system information.
Functions to Fill ChunkDB
fillSecAndLC :: SRSDecl -> SystemInformation -> SystemInformation Source #
Fill in the Section
s and LabelledContent
maps of the ChunkDB
from the SRSDecl
.
fillReferences :: SRSDecl -> SystemInformation -> SystemInformation Source #
Takes in existing information from the Chunk database to construct a database of references.
dRefToRef :: HasDecRef a => a -> [Reference] Source #
Helper that gets references from definitions and models.
findAllRefs :: Section -> [Reference] Source #
Recursively find all references in a section (meant for getting at LabelledContent
).
fillTraceSI :: SRSDecl -> SystemInformation -> SystemInformation Source #
Helper for filling in the traceability matrix and graph information into the system.
fillTraceMaps :: DocDesc -> SystemInformation -> SystemInformation Source #
Fills in the traceabiliy matrix and graphs section of the system information using the document description.
fillReqs :: DocDesc -> SystemInformation -> SystemInformation Source #
Fills in the requirements section of the system information using the document description.
Section Creator Functions
mkSections :: SystemInformation -> DocDesc -> [Section] Source #
Helper for creating the different document sections.
Table of Contents
Reference Materials
mkRefSec :: SystemInformation -> DocDesc -> RefSec -> Section Source #
Helper for creating the reference section and subsections. Includes Table of Symbols, Units and Abbreviations and Acronyms.
mkTSymb :: (Quantity e, Concept e, Eq e, MayHaveUnit e) => [e] -> LFunc -> [TSIntro] -> Section Source #
Helper for creating the table of symbols.
Introduction
mkIntroSec :: SystemInformation -> IntroSec -> Section Source #
Makes the Introduction section into a Section
.
Stakeholders
mkStkhldrSec :: StkhldrSec -> Section Source #
Helper for making the Stakeholders section.
General System Description
Specific System Description
mkSSDSec :: SystemInformation -> SSDSec -> Section Source #
Helper for making the Specific System Description section.
mkSSDProb :: SystemInformation -> ProblemDescription -> Section Source #
Helper for making the Specific System Description Problem section.
mkSolChSpec :: SystemInformation -> SolChSpec -> Section Source #
Helper for making the Solution Characteristics Specification section.
Requirements
mkReqrmntSec :: ReqrmntSec -> Section Source #
Helper for making the Requirements section.
Likely Changes
Unlikely Changes
introChgs :: NamedIdea n => n -> [ConceptInstance] -> Contents Source #
Intro paragraph for likely and unlikely changes
Traceability
mkTraceabilitySec :: TraceabilitySec -> SystemInformation -> Section Source #
Helper for making the Traceability Matrices and Graphs section.
header :: ([UID] -> [UID]) -> SystemInformation -> [Sentence] Source #
Helper to get headers of rows and columns
Off the Shelf Solutions
mkOffShelfSolnSec :: OffShelfSolnsSec -> Section Source #
Helper for making the Off-the-Shelf Solutions section.
Auxiliary Constants
mkAuxConsSec :: AuxConstntSec -> Section Source #
Helper for making the Values of Auxiliary Constants section.
References
Appendix
mkAppndxSec :: AppndxSec -> Section Source #
Helper for making the Appendix section.