-- | Defines citations used internally in Drasil.
module Drasil.Metadata.Citations where

import Language.Drasil --(S,(:+:),(+:+),sC,phrase,F,Accent(..),Citation(..),CiteField(..))
import Drasil.Metadata.People (dParnas, jRalyte, lLai, nKoothoor, nKraiem,
  pcClements, pjAgerfalk, spencerSmith, rKhedri)

-- * Citations

-- ** Papers

koothoor2013, parnasClements1986, smithEtAl2007, smithLai2005,
  smithKoothoor2016 :: Citation

koothoor2013 :: Citation
koothoor2013 =
  People
-> String -> String -> Int -> [CiteField] -> String -> Citation
cMThesis [Person
nKoothoor]
  String
"A Document Driven Approach to Certifying Scientific Computing Software"
  String
"McMaster University" Int
2013 [String -> CiteField
address String
"Hamilton, ON, Canada"]
  String
"koothoor2013"

parnasClements1986 :: Citation
parnasClements1986 = People
-> String -> String -> Int -> [CiteField] -> String -> Citation
cArticle [Person
dParnas, Person
pcClements]
  String
"A rational design process: How and why to fake it"
  String
"IEEE Transactions on Software Engineering" Int
1986
  [Month -> CiteField
month Month
Feb, Int -> CiteField
volume Int
12, Int -> CiteField
number Int
2, [Int] -> CiteField
pages [Int
251..Int
257], String -> CiteField
address String
"Washington, USA"]
  String
"parnasClements1986"

smithEtAl2007 :: Citation
smithEtAl2007 = People
-> String -> String -> Int -> [CiteField] -> String -> Citation
cArticle [Person
spencerSmith, Person
lLai, Person
rKhedri]
  (String
"Requirements Analysis for Engineering Computation: A Systematic Approach for" String -> String -> String
forall a. [a] -> [a] -> [a]
++
    String
" Improving Software Reliability")
  String
"Reliable Computing, Special Issue on Reliable Engineering Computation" Int
2007
  [Month -> CiteField
month Month
Feb, Int -> CiteField
volume Int
13, Int -> CiteField
number Int
1, [Int] -> CiteField
pages [Int
83..Int
107], String -> CiteField
howPublishedU String
"https://doi.org/10.1007/s11155-006-9020-7"]
  String
"smithEtAl2007"

smithLai2005 :: Citation
smithLai2005 = People
-> String -> String -> Int -> [CiteField] -> String -> Citation
cInProceedings [Person
spencerSmith, Person
lLai]
  String
"A new requirements template for scientific computing"
  (String
"Proceedings of the First International Workshop on " String -> String -> String
forall a. [a] -> [a] -> [a]
++
  String
"Situational Requirements Engineering Processes - Methods, " String -> String -> String
forall a. [a] -> [a] -> [a]
++
  String
"Techniques and Tools to Support Situation-Specific Requirements " String -> String -> String
forall a. [a] -> [a] -> [a]
++
  String
"Engineering Processes, SREP'05") Int
2005
  [ People -> CiteField
editor [Person
pjAgerfalk, Person
nKraiem, Person
jRalyte], String -> CiteField
address String
"Paris, France"
  , [Int] -> CiteField
pages [Int
107..Int
121],
  String -> CiteField
note String
"In conjunction with 13th IEEE International Requirements Engineering Conference,"]
  String
"smithLai2005"

smithKoothoor2016 :: Citation
smithKoothoor2016 = People
-> String -> String -> Int -> [CiteField] -> String -> Citation
cArticle [Person
spencerSmith, Person
nKoothoor]
  (String
"A Document-Driven Method for Certifying Scientific Computing Software for Use" String -> String -> String
forall a. [a] -> [a] -> [a]
++
    String
" in Nuclear Safety Analysis")
  String
"Nuclear Engineering and Technology" Int
2016
  [Month -> CiteField
month Month
Apr, Int -> CiteField
volume Int
48, Int -> CiteField
number Int
2, [Int] -> CiteField
pages[Int
404..Int
418],
    String -> CiteField
howPublishedU String
"http://www.sciencedirect.com/science/article/pii/S1738573315002582"]
  String
"smithKoothoor2016"