research-copilot 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +190 -0
- package/app/build/icon.icns +0 -0
- package/app/build/icon.ico +0 -0
- package/app/build/icon.png +0 -0
- package/app/out/main/index.mjs +6719 -0
- package/app/out/preload/index.js +141 -0
- package/app/out/renderer/assets/Inter-Variable-Latin-8kRkwJBP.woff2 +0 -0
- package/app/out/renderer/assets/Inter-Variable-LatinExt-B_-bZUTo.woff2 +0 -0
- package/app/out/renderer/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
- package/app/out/renderer/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
- package/app/out/renderer/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
- package/app/out/renderer/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
- package/app/out/renderer/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
- package/app/out/renderer/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
- package/app/out/renderer/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
- package/app/out/renderer/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
- package/app/out/renderer/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
- package/app/out/renderer/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
- package/app/out/renderer/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
- package/app/out/renderer/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
- package/app/out/renderer/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
- package/app/out/renderer/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
- package/app/out/renderer/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
- package/app/out/renderer/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
- package/app/out/renderer/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
- package/app/out/renderer/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
- package/app/out/renderer/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
- package/app/out/renderer/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
- package/app/out/renderer/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
- package/app/out/renderer/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
- package/app/out/renderer/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
- package/app/out/renderer/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
- package/app/out/renderer/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
- package/app/out/renderer/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
- package/app/out/renderer/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
- package/app/out/renderer/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
- package/app/out/renderer/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
- package/app/out/renderer/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
- package/app/out/renderer/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
- package/app/out/renderer/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
- package/app/out/renderer/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
- package/app/out/renderer/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
- package/app/out/renderer/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
- package/app/out/renderer/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
- package/app/out/renderer/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
- package/app/out/renderer/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
- package/app/out/renderer/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
- package/app/out/renderer/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
- package/app/out/renderer/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
- package/app/out/renderer/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
- package/app/out/renderer/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
- package/app/out/renderer/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
- package/app/out/renderer/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
- package/app/out/renderer/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
- package/app/out/renderer/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
- package/app/out/renderer/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
- package/app/out/renderer/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
- package/app/out/renderer/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
- package/app/out/renderer/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
- package/app/out/renderer/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
- package/app/out/renderer/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
- package/app/out/renderer/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
- package/app/out/renderer/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
- package/app/out/renderer/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
- package/app/out/renderer/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
- package/app/out/renderer/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
- package/app/out/renderer/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
- package/app/out/renderer/assets/MilkdownMarkdownEditor-bLPxrCVb.js +89821 -0
- package/app/out/renderer/assets/MilkdownMarkdownEditor-tTNRIB2K.css +2555 -0
- package/app/out/renderer/assets/Tableau10-BqnYsPR6.js +9 -0
- package/app/out/renderer/assets/apl-fqmucPXA.js +140 -0
- package/app/out/renderer/assets/arc-J47ePHZ2.js +132 -0
- package/app/out/renderer/assets/array-DgktLKBx.js +6 -0
- package/app/out/renderer/assets/asciiarmor-DucZyvP0.js +56 -0
- package/app/out/renderer/assets/asn1-BnOEsgAm.js +144 -0
- package/app/out/renderer/assets/asterisk-QAlztEwS.js +345 -0
- package/app/out/renderer/assets/blockDiagram-c4efeb88-5uRQXgQJ.js +1817 -0
- package/app/out/renderer/assets/brainfuck-DZVCuF_t.js +53 -0
- package/app/out/renderer/assets/c4Diagram-c83219d4-C4iCTPEL.js +2464 -0
- package/app/out/renderer/assets/channel-ZAmhHE3g.js +7 -0
- package/app/out/renderer/assets/classDiagram-beda092f-7NOZxq_W.js +357 -0
- package/app/out/renderer/assets/classDiagram-v2-2358418a-5fPT-cUH.js +291 -0
- package/app/out/renderer/assets/clike-xqXYL6ge.js +805 -0
- package/app/out/renderer/assets/clojure-BhXMqnxz.js +849 -0
- package/app/out/renderer/assets/clone-CsnzsYXQ.js +8 -0
- package/app/out/renderer/assets/cmake-BGaNd9E7.js +71 -0
- package/app/out/renderer/assets/cobol-4yqQntpt.js +120 -0
- package/app/out/renderer/assets/coffeescript-D2dXvhEc.js +308 -0
- package/app/out/renderer/assets/commonlisp-CF_VNHQR.js +130 -0
- package/app/out/renderer/assets/createText-1719965b-Cji7KN4K.js +4904 -0
- package/app/out/renderer/assets/crystal-DyuLTqLs.js +398 -0
- package/app/out/renderer/assets/css-c-jst79C.js +1783 -0
- package/app/out/renderer/assets/cypher-Dlu_3r4V.js +121 -0
- package/app/out/renderer/assets/d-UURgV0Ux.js +179 -0
- package/app/out/renderer/assets/diff-B_Bi2Crb.js +25 -0
- package/app/out/renderer/assets/dockerfile-Bvk733Ga.js +201 -0
- package/app/out/renderer/assets/dtd-Dy74G54E.js +114 -0
- package/app/out/renderer/assets/dylan-TSb-Nfix.js +314 -0
- package/app/out/renderer/assets/ebnf-DAomQUbD.js +139 -0
- package/app/out/renderer/assets/ecl-B59qGGVg.js +178 -0
- package/app/out/renderer/assets/edges-96097737-CD0EvAZQ.js +1844 -0
- package/app/out/renderer/assets/eiffel-Dze7nlu3.js +134 -0
- package/app/out/renderer/assets/elm-DG7jkhNZ.js +176 -0
- package/app/out/renderer/assets/erDiagram-0228fc6a-DRYXBpi7.js +1321 -0
- package/app/out/renderer/assets/erlang-BO6gOnGA.js +674 -0
- package/app/out/renderer/assets/factor-CMxFHDqz.js +65 -0
- package/app/out/renderer/assets/fcl-CDDUNjTj.js +141 -0
- package/app/out/renderer/assets/flowDb-c6c81e3f-CuoIN-Cy.js +1713 -0
- package/app/out/renderer/assets/flowDiagram-50d868cf-CPWPLOml.js +1272 -0
- package/app/out/renderer/assets/flowDiagram-v2-4f6560a1-C_R12s4S.js +33 -0
- package/app/out/renderer/assets/flowchart-elk-definition-6af322e1-BdKUSFpi.js +92921 -0
- package/app/out/renderer/assets/forth-B9D2JCeE.js +116 -0
- package/app/out/renderer/assets/fortran-CAG2BFbe.js +467 -0
- package/app/out/renderer/assets/ganttDiagram-a2739b55-ygqT5HlG.js +3399 -0
- package/app/out/renderer/assets/gas-d3KEcW3x.js +294 -0
- package/app/out/renderer/assets/gherkin-DhZlEZiy.js +115 -0
- package/app/out/renderer/assets/gitGraphDiagram-82fe8481-D97GT4iA.js +1791 -0
- package/app/out/renderer/assets/graph-DpC13d95.js +1237 -0
- package/app/out/renderer/assets/groovy-CpwJiBl7.js +223 -0
- package/app/out/renderer/assets/haskell-BlGBCCe3.js +459 -0
- package/app/out/renderer/assets/haxe-7MlzfeYV.js +514 -0
- package/app/out/renderer/assets/http-BqypyemW.js +79 -0
- package/app/out/renderer/assets/idl-4HIGJlDI.js +985 -0
- package/app/out/renderer/assets/index-4-ziknCv.js +292 -0
- package/app/out/renderer/assets/index-5325376f-Bbs7Fbqr.js +663 -0
- package/app/out/renderer/assets/index-B2jip-rk.js +2489 -0
- package/app/out/renderer/assets/index-BKTVfokE.js +312 -0
- package/app/out/renderer/assets/index-BiJbFgVG.js +118 -0
- package/app/out/renderer/assets/index-Bn433Fat.js +83 -0
- package/app/out/renderer/assets/index-BqDyyRCx.js +39679 -0
- package/app/out/renderer/assets/index-BzFMeMPn.js +158 -0
- package/app/out/renderer/assets/index-C-_uCjZJ.css +2701 -0
- package/app/out/renderer/assets/index-C1ithNW1.js +1765 -0
- package/app/out/renderer/assets/index-CAJkRYkO.js +407 -0
- package/app/out/renderer/assets/index-CleO0-yj.js +690 -0
- package/app/out/renderer/assets/index-Cq4MH3sY.js +1020 -0
- package/app/out/renderer/assets/index-CtA0Xj22.js +705 -0
- package/app/out/renderer/assets/index-CvAZkqBZ.js +83 -0
- package/app/out/renderer/assets/index-D3UDN-5c.js +152 -0
- package/app/out/renderer/assets/index-D4F9R5ao.js +179 -0
- package/app/out/renderer/assets/index-D6RguhZ5.js +328 -0
- package/app/out/renderer/assets/index-DnEowqXv.js +386 -0
- package/app/out/renderer/assets/index-K8c8Mqdy.js +98 -0
- package/app/out/renderer/assets/index-Kh14gO6K.js +62 -0
- package/app/out/renderer/assets/index-WFd2jRnA.js +333 -0
- package/app/out/renderer/assets/index-WgMfkRFp.js +313 -0
- package/app/out/renderer/assets/index-Y4lKyF6t.js +1042 -0
- package/app/out/renderer/assets/index-fx307_f1.js +643 -0
- package/app/out/renderer/assets/infoDiagram-8eee0895-ptaVSwzq.js +511 -0
- package/app/out/renderer/assets/init-ZxktEp_H.js +16 -0
- package/app/out/renderer/assets/javascript-C3MnDRiU.js +994 -0
- package/app/out/renderer/assets/journeyDiagram-c64418c1-aloEGOQp.js +1184 -0
- package/app/out/renderer/assets/julia-Bs6JJhYG.js +407 -0
- package/app/out/renderer/assets/layout-ZeuHE_aY.js +2217 -0
- package/app/out/renderer/assets/line-CAgaGl-S.js +45 -0
- package/app/out/renderer/assets/linear-DIg7lTe1.js +539 -0
- package/app/out/renderer/assets/livescript-DmzgM3Yt.js +296 -0
- package/app/out/renderer/assets/lua-8cJgIlqe.js +256 -0
- package/app/out/renderer/assets/mathematica-DNLOL9PQ.js +110 -0
- package/app/out/renderer/assets/mbox-Ga7d4MMN.js +117 -0
- package/app/out/renderer/assets/mindmap-definition-8da855dc-B8XVoUxz.js +36054 -0
- package/app/out/renderer/assets/mirc-Dma3B8rS.js +107 -0
- package/app/out/renderer/assets/mllike-DHn7xckP.js +334 -0
- package/app/out/renderer/assets/modelica-0d55jYY0.js +147 -0
- package/app/out/renderer/assets/mscgen-DdqZYINH.js +135 -0
- package/app/out/renderer/assets/mumps-Btr8VblO.js +93 -0
- package/app/out/renderer/assets/nginx-DTDtBDVN.js +141 -0
- package/app/out/renderer/assets/nsis-3zG7tgur.js +62 -0
- package/app/out/renderer/assets/ntriples-CvgOYMpL.js +153 -0
- package/app/out/renderer/assets/octave-DYBj3-tl.js +200 -0
- package/app/out/renderer/assets/ordinal-DSZU4PqD.js +76 -0
- package/app/out/renderer/assets/oz-R_e8WMIi.js +231 -0
- package/app/out/renderer/assets/pascal-GD8iposT.js +105 -0
- package/app/out/renderer/assets/path-Cp2qmpkd.js +109 -0
- package/app/out/renderer/assets/perl-DL9mHpoi.js +1105 -0
- package/app/out/renderer/assets/pieDiagram-a8764435-DlwoeBU2.js +770 -0
- package/app/out/renderer/assets/pig-C_4T4YIV.js +101 -0
- package/app/out/renderer/assets/powershell-B0suO7Vd.js +328 -0
- package/app/out/renderer/assets/properties-BR-vP1aU.js +58 -0
- package/app/out/renderer/assets/protobuf-BxgpyhoW.js +77 -0
- package/app/out/renderer/assets/pug-By0kVCfm.js +405 -0
- package/app/out/renderer/assets/puppet-Bdao66PW.js +137 -0
- package/app/out/renderer/assets/python-CvWbmiX4.js +427 -0
- package/app/out/renderer/assets/q-CrbCVq4a.js +131 -0
- package/app/out/renderer/assets/quadrantDiagram-1e28029f-BaSi1XB4.js +1200 -0
- package/app/out/renderer/assets/r-V7nswm59.js +170 -0
- package/app/out/renderer/assets/requirementDiagram-08caed73-D3EFyegZ.js +1092 -0
- package/app/out/renderer/assets/rpm-C-DLY-If.js +109 -0
- package/app/out/renderer/assets/ruby-JDKLJNK0.js +330 -0
- package/app/out/renderer/assets/sankeyDiagram-a04cb91d-Cv44AsnM.js +1174 -0
- package/app/out/renderer/assets/sas-D2UG-yhZ.js +207 -0
- package/app/out/renderer/assets/scheme-BKzrkGJD.js +222 -0
- package/app/out/renderer/assets/sequenceDiagram-c5b8d532-CuUBu-x4.js +3337 -0
- package/app/out/renderer/assets/shell-BlsXDxCn.js +222 -0
- package/app/out/renderer/assets/sieve-CjwBwOY5.js +135 -0
- package/app/out/renderer/assets/simple-mode-DMneyfDu.js +130 -0
- package/app/out/renderer/assets/smalltalk-BOIGQuhN.js +121 -0
- package/app/out/renderer/assets/solr-CwD7U71z.js +69 -0
- package/app/out/renderer/assets/sparql-DYskk2vE.js +249 -0
- package/app/out/renderer/assets/spreadsheet-Bgtt3oLP.js +87 -0
- package/app/out/renderer/assets/sql-BSrOzCRI.js +354 -0
- package/app/out/renderer/assets/stateDiagram-1ecb1508-BOU34Zp4.js +454 -0
- package/app/out/renderer/assets/stateDiagram-v2-c2b004d7-BgRoffou.js +326 -0
- package/app/out/renderer/assets/stex-B6LNC55o.js +231 -0
- package/app/out/renderer/assets/styles-b4e223ce-BMr9TPuj.js +1483 -0
- package/app/out/renderer/assets/styles-ca3715f6-DgbNw99p.js +1363 -0
- package/app/out/renderer/assets/styles-d45a18b0-DtRYKYKf.js +574 -0
- package/app/out/renderer/assets/stylus-BkS-boTH.js +565 -0
- package/app/out/renderer/assets/svgDrawCommon-b86b1483-Bein03PD.js +100 -0
- package/app/out/renderer/assets/swift-FRZi1uvB.js +291 -0
- package/app/out/renderer/assets/tcl-CUcaCdmq.js +114 -0
- package/app/out/renderer/assets/textile-BnFpjsrl.js +414 -0
- package/app/out/renderer/assets/tiddlywiki-CjprD-Qp.js +218 -0
- package/app/out/renderer/assets/tiki-B4EPSQ1G.js +265 -0
- package/app/out/renderer/assets/timeline-definition-faaaa080-BlWpLE_4.js +1212 -0
- package/app/out/renderer/assets/toml-BOuWGMcf.js +76 -0
- package/app/out/renderer/assets/troff-E1bJ0PPL.js +61 -0
- package/app/out/renderer/assets/ttcn-cfg-Dc39-fIP.js +133 -0
- package/app/out/renderer/assets/ttcn-tKd4HLu4.js +192 -0
- package/app/out/renderer/assets/turtle-Dq7-1WAf.js +124 -0
- package/app/out/renderer/assets/vb-Dp90gtsv.js +196 -0
- package/app/out/renderer/assets/vbscript-CI6_mxxU.js +479 -0
- package/app/out/renderer/assets/velocity-BwIZK1TH.js +149 -0
- package/app/out/renderer/assets/verilog-DDCYnHN8.js +430 -0
- package/app/out/renderer/assets/vhdl-DCkMIyT9.js +158 -0
- package/app/out/renderer/assets/webidl-BTLTThCm.js +204 -0
- package/app/out/renderer/assets/xquery-BgiOC5Ce.js +525 -0
- package/app/out/renderer/assets/xychartDiagram-f5964ef8-Bhga-YXm.js +1799 -0
- package/app/out/renderer/assets/yacas-b5lAVEIl.js +130 -0
- package/app/out/renderer/assets/z80-BZV19vqv.js +93 -0
- package/app/out/renderer/index.html +13 -0
- package/app/out/skills/community-builtin/README.md +29 -0
- package/app/out/skills/community-builtin/document-docx/SKILL.md +44 -0
- package/app/out/skills/community-builtin/document-docx/scripts/docx-to-markdown.sh +20 -0
- package/app/out/skills/community-builtin/document-docx/scripts/extract-docx-text.sh +28 -0
- package/app/out/skills/community-builtin/document-docx/scripts/init-docx-template.sh +32 -0
- package/app/out/skills/community-builtin/document-docx/scripts/setup-docx-tools.sh +10 -0
- package/app/out/skills/community-builtin/markitdown/SKILL.md +105 -0
- package/app/out/skills/community-builtin/markitdown/scripts/batch-convert.sh +40 -0
- package/app/out/skills/community-builtin/markitdown/scripts/convert-file.sh +24 -0
- package/app/out/skills/community-builtin/markitdown/scripts/setup-markitdown.sh +10 -0
- package/app/out/skills/community-builtin/repo-quick-audit/SKILL.md +27 -0
- package/app/out/skills/community-builtin/repo-quick-audit/scripts/audit-basics.sh +19 -0
- package/app/out/skills/research-pilot-default-project-skills/README.md +23 -0
- package/app/out/skills/research-pilot-default-project-skills/citation-management/SKILL.md +39 -0
- package/app/out/skills/research-pilot-default-project-skills/citation-management/scripts/doi-to-bibtex.sh +25 -0
- package/app/out/skills/research-pilot-default-project-skills/citation-management/scripts/normalize-bibtex-keys.sh +51 -0
- package/app/out/skills/research-pilot-default-project-skills/citation-management/scripts/setup-citation-tools.sh +10 -0
- package/app/out/skills/research-pilot-default-project-skills/citation-management/scripts/validate-bib.sh +31 -0
- package/app/out/skills/research-pilot-default-project-skills/matplotlib/SKILL.md +34 -0
- package/app/out/skills/research-pilot-default-project-skills/matplotlib/references/api_reference.md +412 -0
- package/app/out/skills/research-pilot-default-project-skills/matplotlib/references/common_issues.md +563 -0
- package/app/out/skills/research-pilot-default-project-skills/matplotlib/references/plot_types.md +476 -0
- package/app/out/skills/research-pilot-default-project-skills/matplotlib/references/styling_guide.md +589 -0
- package/app/out/skills/research-pilot-default-project-skills/matplotlib/references/subagent_quickstart.md +30 -0
- package/app/out/skills/research-pilot-default-project-skills/matplotlib/scripts/plot_template.py +401 -0
- package/app/out/skills/research-pilot-default-project-skills/matplotlib/scripts/style_configurator.py +409 -0
- package/app/out/skills/research-pilot-default-project-skills/research-grants/SKILL.md +38 -0
- package/app/out/skills/research-pilot-default-project-skills/research-grants/scripts/check-grant-compliance.sh +40 -0
- package/app/out/skills/research-pilot-default-project-skills/research-grants/scripts/grant-summary-card.sh +32 -0
- package/app/out/skills/research-pilot-default-project-skills/research-grants/scripts/init-grant-structure.sh +70 -0
- package/app/package.json +77 -0
- package/bin/cli.mjs +56 -0
- package/lib/README.md +145 -0
- package/lib/skills/_generated.ts +13 -0
- package/lib/skills/builtin/brainstorming-research-ideas/SKILL.md +280 -0
- package/lib/skills/builtin/coding/SKILL.md +114 -0
- package/lib/skills/builtin/creative-thinking-for-research/SKILL.md +273 -0
- package/lib/skills/builtin/matplotlib/SKILL.md +361 -0
- package/lib/skills/builtin/matplotlib/references/api_reference.md +412 -0
- package/lib/skills/builtin/matplotlib/references/common_issues.md +563 -0
- package/lib/skills/builtin/matplotlib/references/plot_types.md +476 -0
- package/lib/skills/builtin/matplotlib/references/styling_guide.md +589 -0
- package/lib/skills/builtin/matplotlib/scripts/plot_template.py +401 -0
- package/lib/skills/builtin/matplotlib/scripts/style_configurator.py +409 -0
- package/lib/skills/builtin/paper-writing/SKILL.md +554 -0
- package/lib/skills/builtin/paper-writing/references/checklists.md +524 -0
- package/lib/skills/builtin/paper-writing/references/citation-workflow.md +562 -0
- package/lib/skills/builtin/paper-writing/references/reviewer-guidelines.md +462 -0
- package/lib/skills/builtin/paper-writing/references/sources.md +189 -0
- package/lib/skills/builtin/paper-writing/references/systems-conferences.md +260 -0
- package/lib/skills/builtin/paper-writing/references/writing-guide.md +476 -0
- package/lib/skills/builtin/paper-writing/templates/README.md +408 -0
- package/lib/skills/builtin/paper-writing/templates/aaai2026/README.md +534 -0
- package/lib/skills/builtin/paper-writing/templates/aaai2026/aaai2026-unified-supp.tex +144 -0
- package/lib/skills/builtin/paper-writing/templates/aaai2026/aaai2026-unified-template.tex +952 -0
- package/lib/skills/builtin/paper-writing/templates/aaai2026/aaai2026.bib +111 -0
- package/lib/skills/builtin/paper-writing/templates/aaai2026/aaai2026.bst +1493 -0
- package/lib/skills/builtin/paper-writing/templates/aaai2026/aaai2026.sty +315 -0
- package/lib/skills/builtin/paper-writing/templates/acl/README.md +50 -0
- package/lib/skills/builtin/paper-writing/templates/acl/acl.sty +312 -0
- package/lib/skills/builtin/paper-writing/templates/acl/acl_latex.tex +377 -0
- package/lib/skills/builtin/paper-writing/templates/acl/acl_lualatex.tex +101 -0
- package/lib/skills/builtin/paper-writing/templates/acl/acl_natbib.bst +1940 -0
- package/lib/skills/builtin/paper-writing/templates/acl/anthology.bib.txt +26 -0
- package/lib/skills/builtin/paper-writing/templates/acl/custom.bib +70 -0
- package/lib/skills/builtin/paper-writing/templates/acl/formatting.md +326 -0
- package/lib/skills/builtin/paper-writing/templates/asplos2027/main.tex +459 -0
- package/lib/skills/builtin/paper-writing/templates/asplos2027/references.bib +135 -0
- package/lib/skills/builtin/paper-writing/templates/colm2025/README.md +3 -0
- package/lib/skills/builtin/paper-writing/templates/colm2025/colm2025_conference.bib +11 -0
- package/lib/skills/builtin/paper-writing/templates/colm2025/colm2025_conference.bst +1440 -0
- package/lib/skills/builtin/paper-writing/templates/colm2025/colm2025_conference.pdf +0 -0
- package/lib/skills/builtin/paper-writing/templates/colm2025/colm2025_conference.sty +218 -0
- package/lib/skills/builtin/paper-writing/templates/colm2025/colm2025_conference.tex +305 -0
- package/lib/skills/builtin/paper-writing/templates/colm2025/fancyhdr.sty +485 -0
- package/lib/skills/builtin/paper-writing/templates/colm2025/math_commands.tex +508 -0
- package/lib/skills/builtin/paper-writing/templates/colm2025/natbib.sty +1246 -0
- package/lib/skills/builtin/paper-writing/templates/iclr2026/fancyhdr.sty +485 -0
- package/lib/skills/builtin/paper-writing/templates/iclr2026/iclr2026_conference.bib +24 -0
- package/lib/skills/builtin/paper-writing/templates/iclr2026/iclr2026_conference.bst +1440 -0
- package/lib/skills/builtin/paper-writing/templates/iclr2026/iclr2026_conference.pdf +0 -0
- package/lib/skills/builtin/paper-writing/templates/iclr2026/iclr2026_conference.sty +246 -0
- package/lib/skills/builtin/paper-writing/templates/iclr2026/iclr2026_conference.tex +414 -0
- package/lib/skills/builtin/paper-writing/templates/iclr2026/math_commands.tex +508 -0
- package/lib/skills/builtin/paper-writing/templates/iclr2026/natbib.sty +1246 -0
- package/lib/skills/builtin/paper-writing/templates/icml2026/algorithm.sty +79 -0
- package/lib/skills/builtin/paper-writing/templates/icml2026/algorithmic.sty +201 -0
- package/lib/skills/builtin/paper-writing/templates/icml2026/example_paper.bib +75 -0
- package/lib/skills/builtin/paper-writing/templates/icml2026/example_paper.pdf +0 -0
- package/lib/skills/builtin/paper-writing/templates/icml2026/example_paper.tex +662 -0
- package/lib/skills/builtin/paper-writing/templates/icml2026/fancyhdr.sty +864 -0
- package/lib/skills/builtin/paper-writing/templates/icml2026/icml2026.bst +1443 -0
- package/lib/skills/builtin/paper-writing/templates/icml2026/icml2026.sty +767 -0
- package/lib/skills/builtin/paper-writing/templates/icml2026/icml_numpapers.pdf +0 -0
- package/lib/skills/builtin/paper-writing/templates/neurips2025/Makefile +36 -0
- package/lib/skills/builtin/paper-writing/templates/neurips2025/extra_pkgs.tex +53 -0
- package/lib/skills/builtin/paper-writing/templates/neurips2025/main.tex +38 -0
- package/lib/skills/builtin/paper-writing/templates/neurips2025/neurips.sty +382 -0
- package/lib/skills/builtin/paper-writing/templates/nsdi2027/main.tex +426 -0
- package/lib/skills/builtin/paper-writing/templates/nsdi2027/references.bib +151 -0
- package/lib/skills/builtin/paper-writing/templates/nsdi2027/usenix-2020-09.sty +83 -0
- package/lib/skills/builtin/paper-writing/templates/osdi2026/main.tex +429 -0
- package/lib/skills/builtin/paper-writing/templates/osdi2026/references.bib +150 -0
- package/lib/skills/builtin/paper-writing/templates/osdi2026/usenix-2020-09.sty +83 -0
- package/lib/skills/builtin/paper-writing/templates/sosp2026/main.tex +532 -0
- package/lib/skills/builtin/paper-writing/templates/sosp2026/references.bib +148 -0
- package/lib/skills/builtin/research-grants/SKILL.md +958 -0
- package/lib/skills/builtin/research-grants/assets/budget_justification_template.md +453 -0
- package/lib/skills/builtin/research-grants/assets/nih_specific_aims_template.md +166 -0
- package/lib/skills/builtin/research-grants/assets/nsf_project_summary_template.md +92 -0
- package/lib/skills/builtin/research-grants/references/README.md +285 -0
- package/lib/skills/builtin/research-grants/references/broader_impacts.md +392 -0
- package/lib/skills/builtin/research-grants/references/darpa_guidelines.md +636 -0
- package/lib/skills/builtin/research-grants/references/doe_guidelines.md +586 -0
- package/lib/skills/builtin/research-grants/references/nih_guidelines.md +851 -0
- package/lib/skills/builtin/research-grants/references/nsf_guidelines.md +570 -0
- package/lib/skills/builtin/research-grants/references/nstc_guidelines.md +733 -0
- package/lib/skills/builtin/research-grants/references/specific_aims_guide.md +458 -0
- package/lib/skills/builtin/rewrite-humanize/SKILL.md +116 -0
- package/lib/skills/builtin/rewrite-humanize/references/cs-venue-tone.md +57 -0
- package/lib/skills/builtin/rewrite-humanize/references/lexicon.md +50 -0
- package/lib/skills/builtin/scholar-evaluation/SKILL.md +300 -0
- package/lib/skills/builtin/scholar-evaluation/references/evaluation_framework.md +663 -0
- package/lib/skills/builtin/scholar-evaluation/scripts/calculate_scores.py +379 -0
- package/lib/skills/builtin/scientific-schematics/SKILL.md +603 -0
- package/lib/skills/builtin/scientific-schematics/references/QUICK_REFERENCE.md +182 -0
- package/lib/skills/builtin/scientific-schematics/references/README.md +292 -0
- package/lib/skills/builtin/scientific-schematics/references/best_practices.md +560 -0
- package/lib/skills/builtin/scientific-schematics/scripts/__pycache__/generate_schematic.cpython-312.pyc +0 -0
- package/lib/skills/builtin/scientific-schematics/scripts/__pycache__/generate_schematic_ai.cpython-312.pyc +0 -0
- package/lib/skills/builtin/scientific-schematics/scripts/example_usage.sh +85 -0
- package/lib/skills/builtin/scientific-schematics/scripts/generate_schematic.py +141 -0
- package/lib/skills/builtin/scientific-schematics/scripts/generate_schematic_ai.py +910 -0
- package/lib/skills/builtin/scientific-visualization/SKILL.md +749 -0
- package/lib/skills/builtin/scientific-visualization/assets/color_palettes.py +197 -0
- package/lib/skills/builtin/scientific-visualization/assets/nature.mplstyle +63 -0
- package/lib/skills/builtin/scientific-visualization/assets/presentation.mplstyle +61 -0
- package/lib/skills/builtin/scientific-visualization/assets/publication.mplstyle +68 -0
- package/lib/skills/builtin/scientific-visualization/references/color_palettes.md +348 -0
- package/lib/skills/builtin/scientific-visualization/references/journal_requirements.md +320 -0
- package/lib/skills/builtin/scientific-visualization/references/matplotlib_examples.md +620 -0
- package/lib/skills/builtin/scientific-visualization/references/publication_guidelines.md +205 -0
- package/lib/skills/builtin/scientific-visualization/scripts/figure_export.py +343 -0
- package/lib/skills/builtin/scientific-visualization/scripts/style_presets.py +416 -0
- package/lib/skills/builtin/scientific-writing/SKILL.md +745 -0
- package/lib/skills/builtin/scientific-writing/assets/REPORT_FORMATTING_GUIDE.md +574 -0
- package/lib/skills/builtin/scientific-writing/assets/scientific_report.sty +606 -0
- package/lib/skills/builtin/scientific-writing/assets/scientific_report_template.tex +449 -0
- package/lib/skills/builtin/scientific-writing/references/citation_styles.md +720 -0
- package/lib/skills/builtin/scientific-writing/references/figures_tables.md +806 -0
- package/lib/skills/builtin/scientific-writing/references/imrad_structure.md +686 -0
- package/lib/skills/builtin/scientific-writing/references/professional_report_formatting.md +664 -0
- package/lib/skills/builtin/scientific-writing/references/reporting_guidelines.md +748 -0
- package/lib/skills/builtin/scientific-writing/references/writing_principles.md +824 -0
- package/lib/skills/builtin/seaborn/SKILL.md +674 -0
- package/lib/skills/builtin/seaborn/references/examples.md +822 -0
- package/lib/skills/builtin/seaborn/references/function_reference.md +770 -0
- package/lib/skills/builtin/seaborn/references/objects_interface.md +964 -0
- package/lib/skills/data-analysis/SKILL.md +285 -0
- package/lib/skills/generate-skill-content.mjs +58 -0
- package/lib/skills/index.ts +34 -0
- package/lib/skills/loader.ts +452 -0
- package/package.json +62 -0
|
@@ -0,0 +1,532 @@
|
|
|
1
|
+
%%%%%%%% SOSP 2026 PAPER TEMPLATE %%%%%%%%%%%%%%%%%
|
|
2
|
+
%
|
|
3
|
+
% The 32nd ACM Symposium on Operating Systems Principles
|
|
4
|
+
% September 30, 2026
|
|
5
|
+
%
|
|
6
|
+
% Format: ACM SIGPLAN, <= 12 pages technical content (excluding references)
|
|
7
|
+
% A4 or US letter, 178x229mm (7x9") text block
|
|
8
|
+
% Two-column, 8mm separation, 10pt on 12pt leading
|
|
9
|
+
%
|
|
10
|
+
% Official CFP: https://sigops.org/s/conferences/sosp/2026/cfp.html
|
|
11
|
+
% ACM Template: https://www.acm.org/publications/proceedings-template
|
|
12
|
+
%
|
|
13
|
+
% IMPORTANT NOTES:
|
|
14
|
+
% - Double-blind review (use paper ID, not author names)
|
|
15
|
+
% - Anonymized system/project name required (different from arXiv/talks)
|
|
16
|
+
% - Optional Artifact Evaluation after acceptance
|
|
17
|
+
% - Author response period available:
|
|
18
|
+
% --> LIMITED TO: correcting factual errors + addressing questions
|
|
19
|
+
% --> NO new experiments or additional work
|
|
20
|
+
% --> Keep under 500 words
|
|
21
|
+
% - Supplementary material allowed (reviewers not required to read)
|
|
22
|
+
% - Figures/tables readable without magnification, color encouraged
|
|
23
|
+
% - Pages numbered, references hyperlinked
|
|
24
|
+
%
|
|
25
|
+
% WHAT SOSP VALUES:
|
|
26
|
+
% - Groundbreaking work in significant new directions
|
|
27
|
+
% - Significant problem motivation
|
|
28
|
+
% - Interesting, compelling solution with demonstrated practicality
|
|
29
|
+
% - Clear contributions and advances beyond previous work
|
|
30
|
+
% - Papers addressing new problems may be evaluated differently
|
|
31
|
+
% from those in established areas
|
|
32
|
+
|
|
33
|
+
\documentclass[sigplan,10pt]{acmart}
|
|
34
|
+
|
|
35
|
+
% Remove copyright/permission footer for submission
|
|
36
|
+
\renewcommand\footnotetextcopyrightpermission[1]{}
|
|
37
|
+
\settopmatter{printfolios=true}
|
|
38
|
+
|
|
39
|
+
% Remove ACM reference format for submission
|
|
40
|
+
\setcopyright{none}
|
|
41
|
+
\renewcommand\acmConference[4]{}
|
|
42
|
+
\acmDOI{}
|
|
43
|
+
\acmISBN{}
|
|
44
|
+
|
|
45
|
+
% Recommended packages for systems papers
|
|
46
|
+
\usepackage{booktabs} % Professional tables
|
|
47
|
+
\usepackage{xspace}
|
|
48
|
+
\usepackage{subcaption} % Side-by-side figures
|
|
49
|
+
\usepackage{algorithm} % Algorithm environment
|
|
50
|
+
\usepackage{algorithmic} % Pseudocode formatting
|
|
51
|
+
\usepackage{listings} % Code listings
|
|
52
|
+
\usepackage[capitalize,noabbrev]{cleveref} % Smart cross-references
|
|
53
|
+
|
|
54
|
+
% Code listing style
|
|
55
|
+
\lstset{
|
|
56
|
+
basicstyle=\footnotesize\ttfamily,
|
|
57
|
+
numbers=left,
|
|
58
|
+
numberstyle=\tiny,
|
|
59
|
+
xleftmargin=2em,
|
|
60
|
+
breaklines=true,
|
|
61
|
+
tabsize=2,
|
|
62
|
+
showstringspaces=false,
|
|
63
|
+
frame=single,
|
|
64
|
+
captionpos=b,
|
|
65
|
+
language=C % Default language; change as needed
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
% Custom commands -- replace \system with your anonymized name
|
|
69
|
+
\newcommand{\system}{SystemName\xspace}
|
|
70
|
+
\newcommand{\eg}{e.g.,\xspace}
|
|
71
|
+
\newcommand{\ie}{i.e.,\xspace}
|
|
72
|
+
\newcommand{\etal}{\textit{et al.}\xspace}
|
|
73
|
+
\newcommand{\para}[1]{\smallskip\noindent\textbf{#1.}}
|
|
74
|
+
\newcommand{\parait}[1]{\smallskip\noindent\textit{#1.}}
|
|
75
|
+
|
|
76
|
+
% Systems-specific unit macros
|
|
77
|
+
\newcommand{\us}{\,$\mu$s\xspace}
|
|
78
|
+
\newcommand{\ms}{\,ms\xspace}
|
|
79
|
+
\newcommand{\ns}{\,ns\xspace}
|
|
80
|
+
\newcommand{\GB}{\,GB\xspace}
|
|
81
|
+
\newcommand{\MB}{\,MB\xspace}
|
|
82
|
+
\newcommand{\TB}{\,TB\xspace}
|
|
83
|
+
\newcommand{\Gbps}{\,Gbps\xspace}
|
|
84
|
+
|
|
85
|
+
\begin{document}
|
|
86
|
+
|
|
87
|
+
\title{Your Paper Title Here}
|
|
88
|
+
|
|
89
|
+
% Anonymized for submission -- use paper ID
|
|
90
|
+
\author{Paper \#XXX}
|
|
91
|
+
\affiliation{%
|
|
92
|
+
\institution{Anonymous}
|
|
93
|
+
\country{}}
|
|
94
|
+
|
|
95
|
+
% Camera-ready (uncomment and fill in):
|
|
96
|
+
% \author{Author One}
|
|
97
|
+
% \affiliation{%
|
|
98
|
+
% \institution{University/Company}
|
|
99
|
+
% \city{City}
|
|
100
|
+
% \country{Country}}
|
|
101
|
+
% \email{email@example.com}
|
|
102
|
+
%
|
|
103
|
+
% \author{Author Two}
|
|
104
|
+
% \affiliation{%
|
|
105
|
+
% \institution{University/Company}
|
|
106
|
+
% \city{City}
|
|
107
|
+
% \country{Country}}
|
|
108
|
+
% \email{email@example.com}
|
|
109
|
+
|
|
110
|
+
\begin{abstract}
|
|
111
|
+
% Guidelines for a strong SOSP abstract:
|
|
112
|
+
% - State the OS/systems principle advanced
|
|
113
|
+
% - Identify why existing approaches are insufficient
|
|
114
|
+
% - Describe your approach and key insight
|
|
115
|
+
% - Quantify with concrete numbers
|
|
116
|
+
%
|
|
117
|
+
% Keep to 150--200 words. SOSP values groundbreaking contributions
|
|
118
|
+
% to operating systems principles.
|
|
119
|
+
|
|
120
|
+
We present \system, a [describe system] that [key capability] for
|
|
121
|
+
[OS/systems problem].
|
|
122
|
+
[Problem: why existing OS approaches fall short.]
|
|
123
|
+
Our key insight is that [fundamental observation about systems design].
|
|
124
|
+
\system realizes this insight through [N] novel mechanisms:
|
|
125
|
+
(1)~[technique A] and (2)~[technique B].
|
|
126
|
+
We evaluate \system on [workloads] and demonstrate [X]$\times$
|
|
127
|
+
improvement in [metric] over [baseline], while maintaining
|
|
128
|
+
[reliability/consistency/other property].
|
|
129
|
+
\end{abstract}
|
|
130
|
+
|
|
131
|
+
\maketitle
|
|
132
|
+
\pagestyle{plain}
|
|
133
|
+
|
|
134
|
+
%----------------------------------------------------------------------
|
|
135
|
+
\section{Introduction}
|
|
136
|
+
\label{sec:intro}
|
|
137
|
+
|
|
138
|
+
% SOSP values groundbreaking work. Structure your introduction to show:
|
|
139
|
+
% 1. Important problem in systems principles (1--2 paragraphs)
|
|
140
|
+
% 2. Fundamental limitation of existing approaches (1 paragraph)
|
|
141
|
+
% 3. Key insight -- a new principle or observation (1 paragraph)
|
|
142
|
+
% 4. System design and approach overview (1 paragraph)
|
|
143
|
+
% 5. Contributions (bulleted list)
|
|
144
|
+
% 6. Results preview with concrete numbers (1 paragraph)
|
|
145
|
+
%
|
|
146
|
+
% SOSP encourages papers that open significant new directions.
|
|
147
|
+
% Evaluation criteria for papers addressing new problems may differ
|
|
148
|
+
% from those in established areas.
|
|
149
|
+
|
|
150
|
+
Operating systems must [challenge] as modern hardware and workloads
|
|
151
|
+
evolve~\cite{ghemawat2003gfs}. The traditional approach of [prior method]
|
|
152
|
+
was designed for [assumptions], but [new trend] fundamentally changes
|
|
153
|
+
the landscape~\cite{corbett2013spanner}.
|
|
154
|
+
|
|
155
|
+
\para{Fundamental Limitation}
|
|
156
|
+
Existing systems~\cite{decandia2007dynamo, hunt2010zookeeper}
|
|
157
|
+
rely on [assumption]. We show that this assumption breaks down
|
|
158
|
+
when [condition], leading to [consequence].
|
|
159
|
+
|
|
160
|
+
\para{Key Insight}
|
|
161
|
+
We observe that [fundamental systems principle/observation]. This
|
|
162
|
+
insight enables a new approach where [high-level description].
|
|
163
|
+
|
|
164
|
+
\para{\system Overview}
|
|
165
|
+
Building on this insight, we design \system, which introduces:
|
|
166
|
+
(1)~[mechanism A] for [purpose], and (2)~[mechanism B] for [purpose].
|
|
167
|
+
Together, these enable [combined capability].
|
|
168
|
+
|
|
169
|
+
We make the following contributions:
|
|
170
|
+
\begin{itemize}
|
|
171
|
+
\item We identify a fundamental limitation in [existing approach]
|
|
172
|
+
and formalize the problem (\cref{sec:background}).
|
|
173
|
+
\item We design \system with [N] novel mechanisms: [list]
|
|
174
|
+
(\cref{sec:design}).
|
|
175
|
+
\item We prove that \system provides [formal guarantee] under
|
|
176
|
+
[conditions] (\cref{sec:correctness}).
|
|
177
|
+
\item We implement \system in [X]K lines of [language] and evaluate
|
|
178
|
+
on [workloads], demonstrating [X]$\times$ improvement
|
|
179
|
+
(\cref{sec:evaluation}).
|
|
180
|
+
\end{itemize}
|
|
181
|
+
|
|
182
|
+
%----------------------------------------------------------------------
|
|
183
|
+
\section{Background and Motivation}
|
|
184
|
+
\label{sec:background}
|
|
185
|
+
|
|
186
|
+
\subsection{System Model and Assumptions}
|
|
187
|
+
|
|
188
|
+
Define your system model, including the hardware, software, and
|
|
189
|
+
failure assumptions.
|
|
190
|
+
|
|
191
|
+
\subsection{Limitations of Existing Approaches}
|
|
192
|
+
|
|
193
|
+
Explain why current systems are insufficient. Use concrete examples.
|
|
194
|
+
|
|
195
|
+
\subsection{Motivating Measurements}
|
|
196
|
+
|
|
197
|
+
% Real measurements on production systems or realistic workloads
|
|
198
|
+
% are highly valued at SOSP.
|
|
199
|
+
\Cref{fig:motivation} shows [measurement] that illustrates the
|
|
200
|
+
fundamental problem.
|
|
201
|
+
|
|
202
|
+
\begin{figure}[t]
|
|
203
|
+
\centering
|
|
204
|
+
\fbox{\parbox{0.9\columnwidth}{\centering\vspace{3em}
|
|
205
|
+
\textit{Measurement study showing the fundamental problem: \\
|
|
206
|
+
e.g., latency distribution, throughput breakdown, or failure analysis}
|
|
207
|
+
\vspace{3em}}}
|
|
208
|
+
\caption{[Description.] We analyze [N] hours of production workload
|
|
209
|
+
and find that [X]\% of [operations] violate [property],
|
|
210
|
+
motivating [your approach].}
|
|
211
|
+
\label{fig:motivation}
|
|
212
|
+
\end{figure}
|
|
213
|
+
|
|
214
|
+
%----------------------------------------------------------------------
|
|
215
|
+
\section{Design}
|
|
216
|
+
\label{sec:design}
|
|
217
|
+
|
|
218
|
+
% Present your system design clearly and rigorously.
|
|
219
|
+
% SOSP papers often include formal guarantees or invariants.
|
|
220
|
+
|
|
221
|
+
\Cref{fig:architecture} presents the architecture of \system.
|
|
222
|
+
|
|
223
|
+
\begin{figure*}[t]
|
|
224
|
+
\centering
|
|
225
|
+
\fbox{\parbox{0.9\textwidth}{\centering\vspace{4em}
|
|
226
|
+
\textit{System architecture diagram showing components, \\
|
|
227
|
+
data flow, and control flow}
|
|
228
|
+
\vspace{4em}}}
|
|
229
|
+
\caption{Architecture of \system. [Describe the components
|
|
230
|
+
and their interactions.]}
|
|
231
|
+
\label{fig:architecture}
|
|
232
|
+
\end{figure*}
|
|
233
|
+
|
|
234
|
+
\subsection{[Mechanism A]}
|
|
235
|
+
\label{sec:design:a}
|
|
236
|
+
|
|
237
|
+
Describe the first key mechanism. Its core logic is specified
|
|
238
|
+
in \cref{alg:mechanism}.
|
|
239
|
+
|
|
240
|
+
\begin{algorithm}[t]
|
|
241
|
+
\caption{[Mechanism A] in \system}
|
|
242
|
+
\label{alg:mechanism}
|
|
243
|
+
\begin{algorithmic}[1]
|
|
244
|
+
\STATE \textbf{Input:} request $r$, state $S$, configuration $C$
|
|
245
|
+
\STATE \textbf{Output:} response and updated state
|
|
246
|
+
\STATE \textbf{Invariant:} $\forall t: \text{Consistent}(S_t)$
|
|
247
|
+
\STATE Acquire lock on $S.\text{partition}(r.\text{key})$
|
|
248
|
+
\IF{$r.\text{type} = \text{READ}$}
|
|
249
|
+
\STATE $v \leftarrow S.\text{Get}(r.\text{key}, r.\text{timestamp})$
|
|
250
|
+
\STATE \textbf{return} $(v, S)$
|
|
251
|
+
\ELSE
|
|
252
|
+
\STATE $S' \leftarrow S.\text{Apply}(r.\text{mutation})$
|
|
253
|
+
\STATE Replicate $S'$ to $C.\text{replicas}$
|
|
254
|
+
\STATE Wait for quorum acknowledgment
|
|
255
|
+
\STATE \textbf{return} $(\text{OK}, S')$
|
|
256
|
+
\ENDIF
|
|
257
|
+
\end{algorithmic}
|
|
258
|
+
\end{algorithm}
|
|
259
|
+
|
|
260
|
+
\subsection{[Mechanism B]}
|
|
261
|
+
\label{sec:design:b}
|
|
262
|
+
|
|
263
|
+
Describe the second key mechanism. The consistency guarantee can
|
|
264
|
+
be formally expressed as:
|
|
265
|
+
\begin{equation}
|
|
266
|
+
\label{eq:consistency}
|
|
267
|
+
\forall r_1, r_2 \in \mathcal{R}: \;
|
|
268
|
+
r_1 \xrightarrow{\text{hb}} r_2 \implies
|
|
269
|
+
\text{vis}(r_1) \subseteq \text{vis}(r_2)
|
|
270
|
+
\end{equation}
|
|
271
|
+
where $\xrightarrow{\text{hb}}$ denotes the happens-before relation
|
|
272
|
+
and $\text{vis}(r)$ is the set of operations visible to request $r$.
|
|
273
|
+
|
|
274
|
+
\subsection{Fault Tolerance}
|
|
275
|
+
|
|
276
|
+
Describe how \system handles failures:
|
|
277
|
+
|
|
278
|
+
\para{Node Failures}
|
|
279
|
+
[How the system handles crashed or slow nodes.]
|
|
280
|
+
|
|
281
|
+
\para{Network Partitions}
|
|
282
|
+
[How the system handles network partitions.]
|
|
283
|
+
|
|
284
|
+
\para{Recovery}
|
|
285
|
+
[How the system recovers after failures.]
|
|
286
|
+
|
|
287
|
+
%----------------------------------------------------------------------
|
|
288
|
+
\section{Correctness}
|
|
289
|
+
\label{sec:correctness}
|
|
290
|
+
|
|
291
|
+
% SOSP papers in areas like distributed systems, storage, and
|
|
292
|
+
% concurrency often include formal correctness arguments.
|
|
293
|
+
|
|
294
|
+
We prove that \system maintains [property] under [failure model].
|
|
295
|
+
|
|
296
|
+
\begin{theorem}
|
|
297
|
+
\label{thm:safety}
|
|
298
|
+
Under the failure model of \cref{sec:background}, \system
|
|
299
|
+
guarantees [safety property]: for all executions $E$,
|
|
300
|
+
[formal statement].
|
|
301
|
+
\end{theorem}
|
|
302
|
+
|
|
303
|
+
\begin{proof}[Proof sketch]
|
|
304
|
+
By induction on the number of operations. The base case holds
|
|
305
|
+
because [reason]. For the inductive step, [key argument].
|
|
306
|
+
Full proof in the supplementary material.
|
|
307
|
+
\end{proof}
|
|
308
|
+
|
|
309
|
+
%----------------------------------------------------------------------
|
|
310
|
+
\section{Implementation}
|
|
311
|
+
\label{sec:implementation}
|
|
312
|
+
|
|
313
|
+
We implement \system in approximately [X]K lines of [language].
|
|
314
|
+
Key implementation details include:
|
|
315
|
+
|
|
316
|
+
\para{Storage Layer}
|
|
317
|
+
[Describe the storage implementation.]
|
|
318
|
+
|
|
319
|
+
\para{Network Layer}
|
|
320
|
+
[Describe the networking implementation.]
|
|
321
|
+
|
|
322
|
+
\para{Concurrency Control}
|
|
323
|
+
[Describe the concurrency control mechanism.]
|
|
324
|
+
|
|
325
|
+
% Example code snippet (common in SOSP papers)
|
|
326
|
+
\Cref{lst:api} shows the client API for \system.
|
|
327
|
+
|
|
328
|
+
\begin{figure}[t]
|
|
329
|
+
\begin{lstlisting}[caption={Client API for \system. The interface
|
|
330
|
+
provides [property] guarantees.}, label={lst:api},
|
|
331
|
+
language=Python]
|
|
332
|
+
class Client:
|
|
333
|
+
def get(self, key, consistency="strong"):
|
|
334
|
+
"""Read with configurable consistency."""
|
|
335
|
+
ts = self._get_timestamp()
|
|
336
|
+
return self._send_read(key, ts,
|
|
337
|
+
consistency)
|
|
338
|
+
|
|
339
|
+
def put(self, key, value):
|
|
340
|
+
"""Write with durability guarantee."""
|
|
341
|
+
ts = self._get_timestamp()
|
|
342
|
+
ack = self._send_write(key, value, ts)
|
|
343
|
+
return ack.committed
|
|
344
|
+
\end{lstlisting}
|
|
345
|
+
\end{figure}
|
|
346
|
+
|
|
347
|
+
%----------------------------------------------------------------------
|
|
348
|
+
\section{Evaluation}
|
|
349
|
+
\label{sec:evaluation}
|
|
350
|
+
|
|
351
|
+
We evaluate \system to answer:
|
|
352
|
+
\begin{enumerate}
|
|
353
|
+
\item How does \system compare to state-of-the-art systems?
|
|
354
|
+
\item What is the cost of [guarantee] in terms of performance?
|
|
355
|
+
\item How does \system perform under failures?
|
|
356
|
+
\item What is the contribution of each mechanism?
|
|
357
|
+
\end{enumerate}
|
|
358
|
+
|
|
359
|
+
\subsection{Experimental Setup}
|
|
360
|
+
\label{sec:eval:setup}
|
|
361
|
+
|
|
362
|
+
\para{Testbed}
|
|
363
|
+
We run experiments on [N] machines in [cloud/cluster], each with
|
|
364
|
+
[CPU], [X]\GB RAM, [Y]\GB SSD, connected via [network].
|
|
365
|
+
|
|
366
|
+
\para{Workloads}
|
|
367
|
+
We use [standard benchmarks] and [production traces].
|
|
368
|
+
\Cref{tab:workloads} summarizes the workload characteristics.
|
|
369
|
+
|
|
370
|
+
\para{Baselines}
|
|
371
|
+
We compare against:
|
|
372
|
+
(1)~[System A]~\cite{ghemawat2003gfs},
|
|
373
|
+
(2)~[System B]~\cite{corbett2013spanner}, and
|
|
374
|
+
(3)~[System C]~\cite{decandia2007dynamo}.
|
|
375
|
+
|
|
376
|
+
\begin{table}[t]
|
|
377
|
+
\caption{Workload characteristics. Workloads span different
|
|
378
|
+
read/write ratios and access patterns.}
|
|
379
|
+
\label{tab:workloads}
|
|
380
|
+
\centering
|
|
381
|
+
\begin{small}
|
|
382
|
+
\begin{tabular}{@{}lrrcl@{}}
|
|
383
|
+
\toprule
|
|
384
|
+
\textbf{Workload} & \textbf{Ops/s} & \textbf{Data} &
|
|
385
|
+
\textbf{R:W} & \textbf{Pattern} \\
|
|
386
|
+
\midrule
|
|
387
|
+
YCSB-A & 100K & 10\,GB & 50:50 & Uniform \\
|
|
388
|
+
YCSB-B & 100K & 10\,GB & 95:5 & Zipfian \\
|
|
389
|
+
YCSB-C & 100K & 10\,GB & 100:0 & Zipfian \\
|
|
390
|
+
YCSB-F & 50K & 10\,GB & 50:50 & RMW \\
|
|
391
|
+
Production& 200K & 100\,GB & 80:20 & Zipfian \\
|
|
392
|
+
\bottomrule
|
|
393
|
+
\end{tabular}
|
|
394
|
+
\end{small}
|
|
395
|
+
\end{table}
|
|
396
|
+
|
|
397
|
+
\subsection{End-to-End Performance}
|
|
398
|
+
\label{sec:eval:e2e}
|
|
399
|
+
|
|
400
|
+
\Cref{tab:e2e} shows the end-to-end performance comparison.
|
|
401
|
+
\system achieves [X]\% higher throughput and [Y]\% lower tail
|
|
402
|
+
latency compared to [best baseline].
|
|
403
|
+
|
|
404
|
+
\begin{table}[t]
|
|
405
|
+
\caption{End-to-end performance comparison across workloads.
|
|
406
|
+
Bold indicates best result.}
|
|
407
|
+
\label{tab:e2e}
|
|
408
|
+
\centering
|
|
409
|
+
\begin{small}
|
|
410
|
+
\begin{tabular}{@{}lcccc@{}}
|
|
411
|
+
\toprule
|
|
412
|
+
& \multicolumn{2}{c}{\textbf{YCSB-A}} &
|
|
413
|
+
\multicolumn{2}{c}{\textbf{Production}} \\
|
|
414
|
+
\cmidrule(lr){2-3} \cmidrule(lr){4-5}
|
|
415
|
+
\textbf{System} & \textbf{Kops/s} & \textbf{p99 (ms)} &
|
|
416
|
+
\textbf{Kops/s} & \textbf{p99 (ms)} \\
|
|
417
|
+
\midrule
|
|
418
|
+
System A & 85.2 & 12.4 & 142.1 & 18.7 \\
|
|
419
|
+
System B & 72.1 & 15.8 & 128.4 & 22.1 \\
|
|
420
|
+
System C & 98.4 & 8.2 & 165.3 & 11.5 \\
|
|
421
|
+
\textbf{\system} & \textbf{124.6} & \textbf{5.1} &
|
|
422
|
+
\textbf{201.8} & \textbf{7.3} \\
|
|
423
|
+
\bottomrule
|
|
424
|
+
\end{tabular}
|
|
425
|
+
\end{small}
|
|
426
|
+
\end{table}
|
|
427
|
+
|
|
428
|
+
\subsection{Performance Under Failures}
|
|
429
|
+
\label{sec:eval:failure}
|
|
430
|
+
|
|
431
|
+
\begin{figure}[t]
|
|
432
|
+
\centering
|
|
433
|
+
\fbox{\parbox{0.9\columnwidth}{\centering\vspace{3em}
|
|
434
|
+
\textit{Time-series: throughput and latency during node failure \\
|
|
435
|
+
and recovery, showing impact duration and recovery time}
|
|
436
|
+
\vspace{3em}}}
|
|
437
|
+
\caption{Performance during node failure at $t=60$s. \system
|
|
438
|
+
recovers within [X]\ms with [Y]\% throughput drop, compared
|
|
439
|
+
to [Z]\ms and [W]\% drop for [baseline].}
|
|
440
|
+
\label{fig:failure}
|
|
441
|
+
\end{figure}
|
|
442
|
+
|
|
443
|
+
\subsection{Microbenchmarks}
|
|
444
|
+
\label{sec:eval:micro}
|
|
445
|
+
|
|
446
|
+
We isolate the performance of key mechanisms.
|
|
447
|
+
|
|
448
|
+
\begin{figure}[t]
|
|
449
|
+
\centering
|
|
450
|
+
\fbox{\parbox{0.9\columnwidth}{\centering\vspace{3em}
|
|
451
|
+
\textit{Latency breakdown or CDF comparing mechanisms}
|
|
452
|
+
\vspace{3em}}}
|
|
453
|
+
\caption{Latency CDF for individual operations. \system's
|
|
454
|
+
[mechanism] adds only [X]\us overhead to the critical path.}
|
|
455
|
+
\label{fig:microbench}
|
|
456
|
+
\end{figure}
|
|
457
|
+
|
|
458
|
+
\subsection{Ablation Study}
|
|
459
|
+
\label{sec:eval:ablation}
|
|
460
|
+
|
|
461
|
+
\Cref{fig:ablation} shows the contribution of each mechanism.
|
|
462
|
+
|
|
463
|
+
\begin{figure}[t]
|
|
464
|
+
\centering
|
|
465
|
+
\fbox{\parbox{0.9\columnwidth}{\centering\vspace{3em}
|
|
466
|
+
\textit{Bar chart: \system variants with mechanisms disabled}
|
|
467
|
+
\vspace{3em}}}
|
|
468
|
+
\caption{Ablation study on YCSB-A. Mechanism A contributes
|
|
469
|
+
[X]\% and Mechanism B contributes [Y]\% of the improvement.}
|
|
470
|
+
\label{fig:ablation}
|
|
471
|
+
\end{figure}
|
|
472
|
+
|
|
473
|
+
%----------------------------------------------------------------------
|
|
474
|
+
\section{Discussion}
|
|
475
|
+
\label{sec:discussion}
|
|
476
|
+
|
|
477
|
+
\para{Lessons Learned}
|
|
478
|
+
[Share insights from designing and building the system.]
|
|
479
|
+
|
|
480
|
+
\para{Limitations}
|
|
481
|
+
[Honest discussion of where \system falls short.]
|
|
482
|
+
|
|
483
|
+
\para{Applicability}
|
|
484
|
+
[Discuss how the principles generalize to other systems.]
|
|
485
|
+
|
|
486
|
+
%----------------------------------------------------------------------
|
|
487
|
+
\section{Related Work}
|
|
488
|
+
\label{sec:related}
|
|
489
|
+
|
|
490
|
+
% Organize by theme. SOSP reviewers expect thorough related work.
|
|
491
|
+
|
|
492
|
+
\para{Distributed Storage Systems}
|
|
493
|
+
GFS~\cite{ghemawat2003gfs}, Dynamo~\cite{decandia2007dynamo}, and
|
|
494
|
+
Spanner~\cite{corbett2013spanner} address [aspect]. \system differs by
|
|
495
|
+
[distinction].
|
|
496
|
+
|
|
497
|
+
\para{Consensus and Coordination}
|
|
498
|
+
Paxos~\cite{lamport1998paxos} and ZooKeeper~\cite{hunt2010zookeeper}
|
|
499
|
+
provide [guarantee]. \system builds on these foundations while
|
|
500
|
+
[extending/relaxing] [aspect].
|
|
501
|
+
|
|
502
|
+
\para{[Other Category]}
|
|
503
|
+
[Other related work] explores [approach]. \system complements these
|
|
504
|
+
by [distinction].
|
|
505
|
+
|
|
506
|
+
%----------------------------------------------------------------------
|
|
507
|
+
\section{Conclusion}
|
|
508
|
+
\label{sec:conclusion}
|
|
509
|
+
|
|
510
|
+
We presented \system, a [type of system] that [key capability].
|
|
511
|
+
Through [mechanisms], \system achieves [X]$\times$ improvement in
|
|
512
|
+
[metric] while guaranteeing [property].
|
|
513
|
+
Our experience building \system reveals [key lesson], suggesting
|
|
514
|
+
[future direction] for systems research.
|
|
515
|
+
|
|
516
|
+
%----------------------------------------------------------------------
|
|
517
|
+
% Acknowledgments (only in camera-ready, remove for submission)
|
|
518
|
+
% \begin{acks}
|
|
519
|
+
% We thank the anonymous reviewers and our shepherd for their
|
|
520
|
+
% invaluable feedback. This work was supported by [funding].
|
|
521
|
+
% \end{acks}
|
|
522
|
+
|
|
523
|
+
\bibliographystyle{ACM-Reference-Format}
|
|
524
|
+
\bibliography{references}
|
|
525
|
+
|
|
526
|
+
%----------------------------------------------------------------------
|
|
527
|
+
% ARTIFACT EVALUATION (optional, after acceptance)
|
|
528
|
+
% SOSP offers optional artifact evaluation. If your paper is accepted,
|
|
529
|
+
% consider preparing your artifact for evaluation.
|
|
530
|
+
% See: https://sysartifacts.github.io/
|
|
531
|
+
|
|
532
|
+
\end{document}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
% SOSP 2026 Example Bibliography
|
|
2
|
+
%
|
|
3
|
+
% This file contains example references demonstrating different BibTeX entry
|
|
4
|
+
% types commonly used in operating systems and distributed systems papers.
|
|
5
|
+
% Replace with your actual references.
|
|
6
|
+
%
|
|
7
|
+
% Entry types demonstrated:
|
|
8
|
+
% inproceedings -- Conference paper (most common in systems)
|
|
9
|
+
% article -- Journal article (TOCS, JACM, etc.)
|
|
10
|
+
% techreport -- Technical report
|
|
11
|
+
% phdthesis -- Doctoral dissertation
|
|
12
|
+
% misc -- ArXiv preprint or software
|
|
13
|
+
% book -- Book reference
|
|
14
|
+
|
|
15
|
+
%----------------------------------------------------------------------
|
|
16
|
+
% Conference papers (inproceedings) -- SOSP landmark papers
|
|
17
|
+
%----------------------------------------------------------------------
|
|
18
|
+
|
|
19
|
+
@inproceedings{ghemawat2003gfs,
|
|
20
|
+
author = {Ghemawat, Sanjay and Gobioff, Howard and Leung, Shun-Tak},
|
|
21
|
+
title = {The {Google} File System},
|
|
22
|
+
booktitle = {Proceedings of the 19th ACM Symposium on Operating Systems
|
|
23
|
+
Principles (SOSP)},
|
|
24
|
+
year = {2003},
|
|
25
|
+
pages = {29--43},
|
|
26
|
+
address = {Bolton Landing, NY},
|
|
27
|
+
publisher = {ACM},
|
|
28
|
+
doi = {10.1145/945445.945450},
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
@inproceedings{decandia2007dynamo,
|
|
32
|
+
author = {DeCandia, Giuseppe and Hastorun, Deniz and Jampani, Madan and
|
|
33
|
+
Kakulapati, Gunavardhan and Lakshman, Avinash and Pilchin, Alex
|
|
34
|
+
and Sivasubramanian, Swaminathan and Vosshall, Peter and
|
|
35
|
+
Vogels, Werner},
|
|
36
|
+
title = {Dynamo: {Amazon}'s Highly Available Key-value Store},
|
|
37
|
+
booktitle = {Proceedings of the 21st ACM Symposium on Operating Systems
|
|
38
|
+
Principles (SOSP)},
|
|
39
|
+
year = {2007},
|
|
40
|
+
pages = {205--220},
|
|
41
|
+
address = {Stevenson, WA},
|
|
42
|
+
publisher = {ACM},
|
|
43
|
+
doi = {10.1145/1294261.1294281},
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
@inproceedings{corbett2013spanner,
|
|
47
|
+
author = {Corbett, James C. and Dean, Jeffrey and Epstein, Michael and
|
|
48
|
+
Fikes, Andrew and Frost, Christopher and Furman, J. J. and
|
|
49
|
+
Ghemawat, Sanjay and Gubarev, Andrey and Heiser, Christopher
|
|
50
|
+
and Hochschild, Peter and others},
|
|
51
|
+
title = {Spanner: {Google}'s Globally-Distributed Database},
|
|
52
|
+
booktitle = {Proceedings of the 10th USENIX Symposium on Operating Systems
|
|
53
|
+
Design and Implementation (OSDI)},
|
|
54
|
+
year = {2013},
|
|
55
|
+
pages = {261--264},
|
|
56
|
+
address = {Hollywood, CA},
|
|
57
|
+
publisher = {USENIX Association},
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
@inproceedings{hunt2010zookeeper,
|
|
61
|
+
author = {Hunt, Patrick and Konar, Mahadev and Junqueira, Flavio P.
|
|
62
|
+
and Reed, Benjamin},
|
|
63
|
+
title = {{ZooKeeper}: Wait-free Coordination for Internet-scale Systems},
|
|
64
|
+
booktitle = {Proceedings of the 2010 USENIX Annual Technical Conference
|
|
65
|
+
(USENIX ATC)},
|
|
66
|
+
year = {2010},
|
|
67
|
+
pages = {145--158},
|
|
68
|
+
address = {Boston, MA},
|
|
69
|
+
publisher = {USENIX Association},
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
@inproceedings{barroso2017attack,
|
|
73
|
+
author = {Barroso, Luiz Andr\'{e} and Marty, Mike and Patterson, David
|
|
74
|
+
and Ranganathan, Parthasarathy},
|
|
75
|
+
title = {Attack of the Killer Microseconds},
|
|
76
|
+
booktitle = {Communications of the ACM},
|
|
77
|
+
year = {2017},
|
|
78
|
+
volume = {60},
|
|
79
|
+
number = {4},
|
|
80
|
+
pages = {48--54},
|
|
81
|
+
publisher = {ACM},
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
@inproceedings{aguilera2020microsecond,
|
|
85
|
+
author = {Aguilera, Marcos K. and Keeton, Kimberly and
|
|
86
|
+
Novakovic, Stanko and Singhal, Sharad},
|
|
87
|
+
title = {Designing Far Memory Data Structures: Think Outside the Box},
|
|
88
|
+
booktitle = {Proceedings of the Workshop on Hot Topics in Operating Systems
|
|
89
|
+
(HotOS)},
|
|
90
|
+
year = {2019},
|
|
91
|
+
pages = {120--126},
|
|
92
|
+
publisher = {ACM},
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
%----------------------------------------------------------------------
|
|
96
|
+
% Journal article (article) -- TOCS, JACM, etc.
|
|
97
|
+
%----------------------------------------------------------------------
|
|
98
|
+
|
|
99
|
+
@article{lamport1998paxos,
|
|
100
|
+
author = {Lamport, Leslie},
|
|
101
|
+
title = {The Part-Time Parliament},
|
|
102
|
+
journal = {ACM Transactions on Computer Systems (TOCS)},
|
|
103
|
+
volume = {16},
|
|
104
|
+
number = {2},
|
|
105
|
+
pages = {133--169},
|
|
106
|
+
year = {1998},
|
|
107
|
+
doi = {10.1145/279227.279229},
|
|
108
|
+
publisher = {ACM},
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
%----------------------------------------------------------------------
|
|
112
|
+
% Book (book)
|
|
113
|
+
%----------------------------------------------------------------------
|
|
114
|
+
|
|
115
|
+
@book{tanenbaum2017distributed,
|
|
116
|
+
author = {Tanenbaum, Andrew S. and van Steen, Maarten},
|
|
117
|
+
title = {Distributed Systems: Principles and Paradigms},
|
|
118
|
+
publisher = {Pearson Education},
|
|
119
|
+
year = {2017},
|
|
120
|
+
edition = {3rd},
|
|
121
|
+
address = {Upper Saddle River, NJ},
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
%----------------------------------------------------------------------
|
|
125
|
+
% ArXiv preprint (misc)
|
|
126
|
+
%----------------------------------------------------------------------
|
|
127
|
+
|
|
128
|
+
@misc{brooker2023raft,
|
|
129
|
+
author = {Brooker, Marc and Chen, Taiwei and Ping, Fan},
|
|
130
|
+
title = {Paxos and Raft: Have We Reached Consensus on
|
|
131
|
+
Distributed Consensus?},
|
|
132
|
+
year = {2023},
|
|
133
|
+
eprint = {2303.00762},
|
|
134
|
+
archivePrefix = {arXiv},
|
|
135
|
+
primaryClass = {cs.DC},
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
%----------------------------------------------------------------------
|
|
139
|
+
% PhD thesis (phdthesis)
|
|
140
|
+
%----------------------------------------------------------------------
|
|
141
|
+
|
|
142
|
+
@phdthesis{ongaro2014thesis,
|
|
143
|
+
author = {Ongaro, Diego},
|
|
144
|
+
title = {Consensus: Bridging Theory and Practice},
|
|
145
|
+
school = {Stanford University},
|
|
146
|
+
year = {2014},
|
|
147
|
+
address = {Stanford, CA},
|
|
148
|
+
}
|