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

Drasil.DocDecl

Description

Document declaration types and functions for generating Software Requirement Specifications.

Synopsis

Types

type SRSDecl = [DocSection] Source #

A Software Requirements Specification Declaration is made up of all necessary sections (DocSections).

data DocSection Source #

Contains all the different sections needed for a full SRS (SRSDecl).

Constructors

TableOfContents

Table of Contents

RefSec RefSec

Reference.

IntroSec IntroSec

Introduction.

StkhldrSec StkhldrSec

Stakeholders.

GSDSec GSDSec

General System Description.

SSDSec SSDSec

Specific System Description.

ReqrmntSec ReqrmntSec

Requirements.

LCsSec

Likely Changes.

UCsSec

Unlikely Changes.

TraceabilitySec TraceabilitySec

Traceability.

AuxConstntSec AuxConstntSec

Auxiliary Constants.

Bibliography

Bibliography.

AppndxSec AppndxSec

Appendix.

OffShelfSolnsSec OffShelfSolnsSec

Off the Shelf Solutions.

newtype SSDSec Source #

Specific System Description section (wraps SSDSub subsections).

Constructors

SSDProg [SSDSub] 

data SSDSub where Source #

Specific System Description subsections.

Constructors

SSDProblem :: ProblemDescription -> SSDSub

Problem description.

SSDSolChSpec :: SolChSpec -> SSDSub

Solution characteristics.

data ProblemDescription where Source #

Problem Description section.

Constructors

PDProg :: Sentence -> [Section] -> [PDSub] -> ProblemDescription 

data PDSub where Source #

Problem Description subsections.

Constructors

TermsAndDefs :: Concept c => Maybe Sentence -> [c] -> PDSub

Terms and Definitions.

PhySysDesc :: Idea a => a -> [Sentence] -> LabelledContent -> [Contents] -> PDSub

Physical System Description.

Goals :: [Sentence] -> PDSub

Goals.

data SolChSpec where Source #

Solution Characteristics Specification section (wraps SCSSub subsections).

Constructors

SCSProg :: [SCSSub] -> SolChSpec 

data SCSSub where Source #

Solution Characteristics Specification subsections.

Constructors

Assumptions :: SCSSub

Assumptions.

TMs :: [Sentence] -> Fields -> SCSSub

Theory models.

GDs :: [Sentence] -> Fields -> DerivationDisplay -> SCSSub

General definitions.

DDs :: [Sentence] -> Fields -> DerivationDisplay -> SCSSub

Data definitions.

IMs :: [Sentence] -> Fields -> DerivationDisplay -> SCSSub

Instance models.

Constraints :: (HasUncertainty c, Quantity c, Constrained c, HasReasVal c, MayHaveUnit c) => Sentence -> [c] -> SCSSub

Constraints.

CorrSolnPpties :: (Quantity c, Constrained c) => [c] -> [Contents] -> SCSSub

Properties of a correct solution.

newtype ReqrmntSec Source #

Requirements section (wraps ReqsSub subsections).

Constructors

ReqsProg [ReqsSub] 

data ReqsSub where Source #

Requirements subsections.

Constructors

FReqsSub :: Sentence -> [LabelledContent] -> ReqsSub

Functional requirements. LabelledContent for tables (includes input values).

FReqsSub' :: [LabelledContent] -> ReqsSub

Functional requirements. LabelledContent for tables (no input values).

NonFReqsSub :: ReqsSub

Non-Functional requirements.

Functions

mkDocDesc :: SystemInformation -> SRSDecl -> DocDesc Source #

Creates the document description (translates SRSDecl into a more usable form for generating documents).