Skip to content

Commit a3a3591

Browse files
committed
Switch all case studies over to using the System smart constructor.
1 parent a5ee9d2 commit a3a3591

File tree

12 files changed

+107
-260
lines changed
  • code
    • drasil-example
    • drasil-website/lib/Drasil/Website

12 files changed

+107
-260
lines changed

code/drasil-example/dblpend/lib/Drasil/DblPend/Body.hs

Lines changed: 9 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ import Data.Drasil.ExternalLibraries.ODELibraries (scipyODESymbols,
4646
import Language.Drasil.Code (quantvar)
4747
import Drasil.DblPend.ODEs (dblPenODEInfo)
4848

49-
import System.Drasil (SystemKind(Specification))
49+
import System.Drasil (SystemKind(Specification), mkSystem)
5050

5151
srs :: Document
5252
srs = mkDoc mkSRS (S.forGen titleize phrase) si
@@ -105,26 +105,14 @@ mkSRS = [TableOfContents, -- This creates the Table of Contents
105105
]
106106

107107
si :: System
108-
si = SI {
109-
_sys = progName,
110-
_kind = Specification,
111-
_authors = [dong],
112-
_purpose = [purp],
113-
_background = [background],
114-
_motivation = [motivation],
115-
_scope = [scope],
116-
_quants = symbolsAll,
117-
_theoryModels = tMods,
118-
_genDefns = genDefns,
119-
_dataDefns = dataDefs,
120-
_instModels = iMods,
121-
_configFiles = [],
122-
_inputs = inputs,
123-
_outputs = outputs,
124-
_constraints = inConstraints,
125-
_constants = constants,
126-
_systemdb = symbMap
127-
}
108+
si = mkSystem progName Specification [dong]
109+
[purp] [background] [scope] [motivation]
110+
symbolsAll
111+
tMods genDefns dataDefs iMods
112+
[]
113+
inputs outputs inConstraints
114+
constants
115+
symbMap
128116

129117
purp :: Sentence
130118
purp = foldlSent_ [S "predict the", phrase motion `S.ofA` S "double", phrase pendulum]

code/drasil-example/gamephysics/lib/Drasil/GamePhysics/Body.hs

Lines changed: 7 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ import Drasil.GamePhysics.Unitals (symbolsAll, outputConstraints,
4242
inputSymbols, outputSymbols, inputConstraints, defSymbols)
4343
import Drasil.GamePhysics.GenDefs (generalDefns)
4444

45-
import System.Drasil (SystemKind(Specification))
45+
import System.Drasil (SystemKind(Specification), mkSystem)
4646

4747
srs :: Document
4848
srs = mkDoc mkSRS (S.forGen titleize short) si
@@ -96,30 +96,16 @@ mkSRS = [TableOfContents,
9696
where tableOfSymbols = [TSPurpose, TypogConvention[Vector Bold], SymbOrder, VectorUnits]
9797

9898
si :: System
99-
si = SI {
100-
_sys = progName,
101-
_kind = Specification,
102-
_authors = [alex, luthfi, olu],
103-
_purpose = [purp],
104-
_background = [],
105-
_motivation = [],
106-
_scope = [],
99+
si = mkSystem progName Specification [alex, luthfi, olu]
100+
[purp] [] [] [] ([] :: [QuantityDict])
107101
-- FIXME: The _quants field should be filled in with all the symbols, however
108102
-- #1658 is why this is empty, otherwise we end up with unused (and probably
109103
-- should be removed) symbols. But that's for another time. This is "fine"
110104
-- because _quants are only used relative to #1658.
111-
_quants = [] :: [QuantityDict],
112-
_theoryModels = tMods,
113-
_genDefns = generalDefns,
114-
_instModels = iMods,
115-
_dataDefns = dataDefs,
116-
_configFiles = [],
117-
_inputs = inputSymbols,
118-
_outputs = outputSymbols,
119-
_constraints = inputConstraints,
120-
_constants = [],
121-
_systemdb = symbMap
122-
}
105+
tMods generalDefns dataDefs iMods
106+
[]
107+
inputSymbols outputSymbols inputConstraints []
108+
symbMap
123109

124110
purp :: Sentence
125111
purp = foldlSent_ [S "simulate", short twoD, phrase CP.rigidBody,

code/drasil-example/glassbr/lib/Drasil/GlassBR/Body.hs

Lines changed: 8 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ import Drasil.GlassBR.Unitals (blast, blastTy, bomb, explosion, constants,
4747
glassTypes, glBreakage, lateralLoad, load, loadTypes, pbTol, probBr, stressDistFac, probBreak,
4848
sD, termsWithAccDefn, termsWithDefsOnly, concepts, dataConstraints)
4949

50-
import System.Drasil (SystemKind(Specification))
50+
import System.Drasil (SystemKind(Specification), mkSystem)
5151

5252
srs :: Document
5353
srs = mkDoc mkSRS (S.forGen titleize phrase) si
@@ -59,27 +59,13 @@ printSetting :: PrintingInformation
5959
printSetting = piSys fullSI Equational defaultConfiguration
6060

6161
si :: System
62-
si = SI {
63-
_sys = progName,
64-
_kind = Specification,
65-
_authors = [nikitha, spencerSmith],
66-
_purpose = [purp],
67-
_background = [background],
68-
_motivation = [],
69-
_scope = [scope],
70-
_quants = symbolsForSymbolTable,
71-
_theoryModels = tMods,
72-
_genDefns = [],
73-
_instModels = iMods,
74-
_dataDefns = GB.dataDefs,
75-
_configFiles = configFp,
76-
_inputs = inputs,
77-
_outputs = outputs,
78-
_constraints = constrained,
79-
_constants = constants,
80-
_systemdb = symbMap
81-
}
82-
--FIXME: All named ideas, not just acronyms.
62+
si = mkSystem progName Specification
63+
[nikitha, spencerSmith] [purp] [background] [scope] []
64+
symbolsForSymbolTable
65+
tMods [] GB.dataDefs iMods
66+
configFp
67+
inputs outputs constrained constants
68+
symbMap
8369

8470
mkSRS :: SRSDecl
8571
mkSRS = [TableOfContents,
Lines changed: 12 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,19 @@
11
module Drasil.HGHC.Body (srs, si, symbMap, printSetting, fullSI) where
22

3+
import System.Drasil (mkSystem, SystemKind(Specification))
34
import Language.Drasil hiding (Manual) -- Citation name conflict. FIXME: Move to different namespace
45
import Drasil.SRSDocument
56
import qualified Language.Drasil.Sentence.Combinators as S
67

7-
import Drasil.HGHC.HeatTransfer (fp, dataDefs, htInputs, htOutputs,
8+
import Drasil.HGHC.HeatTransfer (fp, dataDefs, htInputs, htOutputs,
89
nuclearPhys, symbols)
910
import Drasil.HGHC.MetaConcepts (progName)
1011

1112
import Data.Drasil.SI_Units (siUnits)
1213
import Data.Drasil.People (spencerSmith)
1314
import Data.Drasil.Concepts.Documentation (doccon, doccon')
1415
import Data.Drasil.Concepts.Math (mathcon)
15-
import Data.Drasil.Concepts.Thermodynamics as CT (heatTrans)
16-
17-
import System.Drasil (SystemKind(Specification))
16+
import Data.Drasil.Concepts.Thermodynamics as CT (heatTrans)
1817

1918
srs :: Document
2019
srs = mkDoc mkSRS S.forT si
@@ -26,27 +25,15 @@ printSetting :: PrintingInformation
2625
printSetting = piSys fullSI Equational defaultConfiguration
2726

2827
si :: System
29-
si = SI {
30-
_sys = progName,
31-
_kind = Specification,
32-
_authors = [spencerSmith],
33-
_quants = symbols,
34-
_purpose = [purp],
35-
_background = [],
36-
_motivation = [],
37-
_scope = [],
38-
_theoryModels = [],
39-
_genDefns = [],
40-
_instModels = [],
41-
_dataDefns = dataDefs,
42-
_configFiles = [],
43-
_inputs = htInputs,
44-
_outputs = htOutputs,
45-
_constraints = [] :: [ConstrainedChunk],
46-
_constants = [],
47-
_systemdb = symbMap
48-
}
49-
28+
si = mkSystem
29+
progName Specification [spencerSmith]
30+
[purp] [] [] []
31+
symbols
32+
[] [] dataDefs [] []
33+
htInputs htOutputs ([] :: [ConstrConcept]) []
34+
symbMap
35+
36+
5037
mkSRS :: SRSDecl
5138
mkSRS = [TableOfContents,
5239
RefSec $
@@ -73,4 +60,3 @@ ideaDicts =
7360
symbMap :: ChunkDB
7461
symbMap = cdb symbols ideaDicts mathcon
7562
siUnits dataDefs [] [] [] [] [] [] []
76-

code/drasil-example/pdcontroller/lib/Drasil/PDController/Body.hs

Lines changed: 9 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ import Drasil.PDController.Unitals (symbols, inputs, outputs, inputsUC,
4141
import Drasil.PDController.ODEs (pidODEInfo)
4242
import Language.Drasil.Code (quantvar)
4343

44-
import System.Drasil (SystemKind(Specification))
44+
import System.Drasil (SystemKind(Specification), mkSystem)
4545

4646
naveen :: Person
4747
naveen = person "Naveen Ganesh" "Muralidharan"
@@ -97,26 +97,14 @@ mkSRS
9797
TraceabilitySec $ TraceabilityProg $ traceMatStandard si, Bibliography]
9898

9999
si :: System
100-
si = SI {
101-
_sys = progName,
102-
_kind = Specification,
103-
_authors = [naveen],
104-
_purpose = [purp],
105-
_background = [background],
106-
_motivation = [motivation],
107-
_scope = [scope],
108-
_quants = symbolsAll,
109-
_theoryModels = theoreticalModels,
110-
_genDefns = genDefns,
111-
_instModels = instanceModels,
112-
_dataDefns = dataDefinitions,
113-
_configFiles = [],
114-
_inputs = inputs,
115-
_outputs = outputs,
116-
_constraints = map cnstrw inpConstrained,
117-
_constants = pidConstants,
118-
_systemdb = symbMap
119-
}
100+
si = mkSystem
101+
progName Specification [naveen]
102+
[purp] [background] [scope] [motivation]
103+
symbolsAll
104+
theoreticalModels genDefns dataDefinitions instanceModels
105+
[]
106+
inputs outputs (map cnstrw inpConstrained)
107+
pidConstants symbMap
120108

121109
purp :: Sentence
122110
purp = foldlSent_ [S "provide a model" `S.ofA` phrase pidC,

code/drasil-example/projectile/lib/Drasil/Projectile/Lesson/Body.hs

Lines changed: 7 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -42,26 +42,13 @@ mkNB = [
4242
]
4343

4444
si :: System
45-
si = SI {
46-
_sys = projectileMotion,
47-
_kind = Notebook,
48-
_authors = [spencerSmith],
49-
_purpose = [],
50-
_background = [],
51-
_motivation = [],
52-
_scope = [],
53-
_quants = [] :: [QuantityDict],
54-
_theoryModels = [],
55-
_genDefns = [],
56-
_instModels = [],
57-
_dataDefns = [],
58-
_configFiles = [],
59-
_inputs = [] :: [QuantityDict],
60-
_outputs = [] :: [QuantityDict],
61-
_constraints = [] :: [ConstrainedChunk],
62-
_constants = [] :: [ConstQDef],
63-
_systemdb = symbMap
64-
}
45+
si = mkSystem
46+
projectileMotion Notebook [spencerSmith]
47+
[] [] [] []
48+
([] :: [QuantityDict])
49+
[] [] [] [] []
50+
([] :: [QuantityDict]) ([] :: [QuantityDict]) ([] :: [ConstrConcept]) []
51+
symbMap
6552

6653
symbMap :: ChunkDB
6754
symbMap = cdb (map qw physicscon ++ symbols) (nw projectileMotion : map nw doccon ++

code/drasil-example/sglpend/lib/Drasil/SglPend/Body.hs

Lines changed: 8 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ import Drasil.SglPend.GenDefs (genDefns)
4242
import Drasil.SglPend.Unitals (inputs, outputs, inConstraints, outConstraints, symbols)
4343
import Drasil.SglPend.Requirements (funcReqs)
4444

45-
import System.Drasil (SystemKind(Specification))
45+
import System.Drasil (SystemKind(Specification), mkSystem)
4646

4747
srs :: Document
4848
srs = mkDoc mkSRS (S.forGen titleize phrase) si
@@ -101,26 +101,13 @@ mkSRS = [TableOfContents, -- This creates the Table of Contents
101101
]
102102

103103
si :: System
104-
si = SI {
105-
_sys = progName,
106-
_kind = Specification,
107-
_authors = [olu],
108-
_purpose = [purp],
109-
_background = [],
110-
_scope = [],
111-
_motivation = [],
112-
_quants = symbols,
113-
_theoryModels = tMods,
114-
_genDefns = genDefns,
115-
_instModels = iMods,
116-
_dataDefns = dataDefs,
117-
_configFiles = [],
118-
_inputs = inputs,
119-
_outputs = outputs,
120-
_constraints = inConstraints,
121-
_constants = [] :: [ConstQDef],
122-
_systemdb = symbMap
123-
}
104+
si = mkSystem progName Specification [olu]
105+
[purp] [] [] []
106+
symbols
107+
tMods genDefns dataDefs iMods
108+
[]
109+
inputs outputs inConstraints []
110+
symbMap
124111

125112
purp :: Sentence
126113
purp = foldlSent_ [S "predict the", phrase motion `S.ofA` S "single", phrase pendulum]

code/drasil-example/ssp/lib/Drasil/SSP/Body.hs

Lines changed: 11 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
{-# LANGUAGE PostfixOperators #-}
22
module Drasil.SSP.Body (srs, si, symbMap, printSetting, fullSI) where
33

4+
import Prelude hiding (sin, cos, tan)
5+
46
import Control.Lens ((^.))
57

8+
import System.Drasil (SystemKind(Specification), mkSystem)
69
import Language.Drasil hiding (Verb, number, organization, section, variable)
710
import Drasil.SRSDocument
811
import qualified Drasil.DocLang.SRS as SRS (inModel, assumpt,
912
genDefn, dataDefn, datCon)
1013
import Theory.Drasil (output)
11-
12-
import Prelude hiding (sin, cos, tan)
13-
1414
import Drasil.Metadata (inModel)
1515

1616
import Language.Drasil.Chunk.Concept.NamedCombinators
@@ -54,8 +54,6 @@ import Drasil.SSP.TMods (tMods)
5454
import Drasil.SSP.Unitals (constrained, effCohesion, fricAngle, fs, index,
5555
inputs, inputsWUncrtn, outputs, symbols)
5656

57-
import System.Drasil (SystemKind(Specification))
58-
5957
--Document Setup--
6058

6159
srs :: Document
@@ -71,26 +69,14 @@ resourcePath :: String
7169
resourcePath = "../../../../datafiles/ssp/"
7270

7371
si :: System
74-
si = SI {
75-
_sys = progName,
76-
_kind = Specification,
77-
_authors = [henryFrankis, brooks],
78-
_purpose = [purp],
79-
_background = [],
80-
_motivation = [],
81-
_scope = [],
82-
_quants = symbols,
83-
_theoryModels = tMods,
84-
_genDefns = generalDefinitions,
85-
_instModels = iMods,
86-
_dataDefns = dataDefs,
87-
_configFiles = [],
88-
_inputs = map qw inputs,
89-
_outputs = map qw outputs,
90-
_constraints = constrained,
91-
_constants = [],
92-
_systemdb = symbMap
93-
}
72+
si = mkSystem
73+
progName Specification [henryFrankis, brooks]
74+
[purp] [] [] []
75+
symbols
76+
tMods generalDefinitions dataDefs iMods
77+
[]
78+
inputs outputs constrained []
79+
symbMap
9480

9581
mkSRS :: SRSDecl
9682
mkSRS = [TableOfContents,

0 commit comments

Comments
 (0)