drasil-docLang-0.1.26.0: A framework for code and document generation for scientific software - Document Language SubPackage
Safe HaskellNone
LanguageHaskell2010

Drasil.DocumentLanguage

Description

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

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 CunkDB

fillcdbSRS :: SRSDecl -> SystemInformation -> SystemInformation Source #

Assuming a given ChunkDB with no traces and minimal/no references, fill in for rest of system information. Currently fills in references, traceability matrix information and IdeaDicts.

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.

extractUnits :: DocDesc -> ChunkDB -> [UnitDefn] Source #

Constructs the unit definitions (UnitDefns) found in the document description (DocDesc) from a database (ChunkDB).

Section Creator Functions

mkSections :: SystemInformation -> DocDesc -> [Section] Source #

Helper for creating the different document sections.

Table of Contents

mkToC :: DocDesc -> Section Source #

Helper for making the Table of Contents section.

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

mkGSDSec :: GSDSec -> Section Source #

Helper for making the General System Description section.

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

mkLCsSec :: LCsSec -> Section Source #

Helper for making the Likely Changes section.

Unlikely Changes

mkUCsSec :: UCsSec -> Section Source #

Helper for making the Unikely Changes section.

Traceability

mkTraceabilitySec :: TraceabilitySec -> SystemInformation -> Section Source #

Helper for making the Traceability Matrices and Graphs section.

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

mkBib :: BibRef -> Section Source #

Helper for making the References section.

Appendix

mkAppndxSec :: AppndxSec -> Section Source #

Helper for making the Appendix section.