Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Putting together a draft paper for JOSS #347

Merged
merged 55 commits into from
May 24, 2024
Merged
Show file tree
Hide file tree
Changes from 31 commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
2bfd666
Create paper.md
emilydolson Jul 30, 2020
b293f04
Create paper.bib
emilydolson Jul 30, 2020
0844ee9
testing hackmd sync
hackmd-deploy Jul 30, 2020
6690c30
Add bibtex entries
mmore500 Apr 22, 2021
c68cee8
Add more bibtex entries
mmore500 Apr 22, 2021
7e17568
Add conduit citation
mmore500 Apr 22, 2021
ba3b3e9
Add JOSS build action
mmore500 Apr 27, 2021
059b231
Add citations
mmore500 Jun 11, 2021
5a6ba4e
Update paper.bib
mmore500 Jun 17, 2021
753442b
Update draft with from @mercere99's HackMD fork
mmore500 Jun 8, 2023
a584a71
Update affiliations
mmore500 Jun 8, 2023
95adadc
Spell check and line edit
mmore500 Jun 8, 2023
023f70e
Fix typo
mmore500 Jun 8, 2023
d342459
Streamline summary section
mmore500 Jun 8, 2023
7c137bf
Streamline statement of need
mmore500 Jun 9, 2023
d9d47e3
Fix typo
mmore500 Jun 9, 2023
39d69a2
Streamline first half of features section
mmore500 Jun 9, 2023
43c86c5
Streamline debugging section
mmore500 Jun 9, 2023
2714b0a
Streamline Emscripten feature section
mmore500 Jun 9, 2023
089b351
Streamline comparable software
mmore500 Jun 9, 2023
e72cb50
Incorporate suggestions from @amlalejini
mmore500 Jun 15, 2023
4e0af7b
Incorporate edits with @mercere99
mmore500 Jun 15, 2023
8ac9be9
Incorporate edits with @mercere99
mmore500 Jun 22, 2023
75482a9
Merge pull request #482 from devosoft/joss-paper-streamline
mmore500 Aug 31, 2023
34548c0
Incorporate edits with @mercere99
mmore500 Aug 31, 2023
47c2aec
Incorporate edits with @mercere99
mmore500 Sep 7, 2023
064a937
Incorporate edits with @mercere99
mmore500 Sep 21, 2023
9509069
Update paper.md
mmore500 Oct 5, 2023
b470459
Incorporate edits with @mercere99
mmore500 Oct 5, 2023
b6201da
Comment out link to scraps
mmore500 Oct 5, 2023
a7b3b79
Strip trailing whitespace
mmore500 Oct 5, 2023
273e6f3
Incorporate line edits from co-authors
mmore500 Oct 20, 2023
50f53ce
Add overview of Empirical features
mmore500 Oct 20, 2023
ceb3048
Remove comments, add missing citation
mmore500 Oct 20, 2023
74de0b3
Switch godlbolt link to perma.cc
mmore500 Oct 21, 2023
f2fbd56
Add doi to citation
mmore500 Oct 21, 2023
ccaccdd
Update funding acknowledgements
mmore500 Oct 21, 2023
22a75a7
Merge branch 'joss-paper' into joss-update
mmore500 Dec 14, 2023
cff341e
Merge pull request #504 from devosoft/joss-update
mmore500 Dec 14, 2023
2c9f137
Incorporate edits with @mercere99
mmore500 Jan 25, 2024
54e55f4
Incorporate edits with @mercere99
mmore500 Feb 1, 2024
208cdce
Make editing pass to reduce wordcount
Feb 9, 2024
33f89a7
Add signalgp-lite citation
Feb 9, 2024
0b710f8
Strip trailing whitespace
Feb 9, 2024
e995c1f
Fix missing end of file newline
Feb 9, 2024
b21c59d
Try upgrading git to workaround unclean macos clone on CI
mmore500 Feb 9, 2024
4b2d73c
Try doing macos CI checkout after upgrading git
mmore500 Feb 9, 2024
49e684f
Revert fix attempt for macos dirty CI checkout
mmore500 Feb 9, 2024
90d41ea
Merge branch 'master' of https://github.com/devosoft/Empirical into j…
mmore500 Feb 9, 2024
9804a29
Add country to affiliations
mmore500 Feb 17, 2024
0326967
Add MIDAS affiliation
mmore500 Feb 17, 2024
07fceb6
Update submission date
mmore500 Feb 17, 2024
e9685da
Change conduit/add Phylotrack reference
mmore500 May 24, 2024
99c8679
Line edith Projects Using the Software
mmore500 May 24, 2024
9a8aba0
Line edit
mmore500 May 24, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,26 @@ jobs:
with:
src: doc-coverage.json
dst: stats/doc-coverage.json
paper:
runs-on: ubuntu-latest
name: Paper Draft
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Build draft PDF
uses: openjournals/openjournals-draft-action@master
with:
journal: joss
# This should be the path to the paper within your repo.
paper-path: paper.md
- name: Upload
uses: actions/upload-artifact@v1
with:
name: paper
# This is the output path where Pandoc will write the compiled
# PDF. Note, this should be the same directory as the input
# paper.md
path: paper.pdf
deploy-dockerhub:
name: Deploy to DockerHub
runs-on: ubuntu-18.04
Expand Down
269 changes: 269 additions & 0 deletions paper.bib
Original file line number Diff line number Diff line change
@@ -0,0 +1,269 @@
@inproceedings{haas2017bringing,
title={Bringing the web up to speed with WebAssembly},
author={Haas, Andreas and Rossberg, Andreas and Schuff, Derek L and Titzer, Ben L and Holman, Michael and Gohman, Dan and Wagner, Luke and Zakai, Alon and Bastien, JF},
booktitle={Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation},
pages={185--200},
year={2017},
month={6},
url={http://dx.doi.org/10.1145/3062341.3062363},
doi={10.1145/3062341.3062363},
publisher={Association for Computing Machinery}
}

@inproceedings{jangda2019not,
title={Not so fast: Analyzing the performance of webassembly vs. native code},
author={Jangda, Abhinav and Powers, Bobby and Berger, Emery D and Guha, Arjun},
booktitle={2019 $\{$USENIX$\}$ Annual Technical Conference ($\{$USENIX$\}$$\{$ATC$\}$ 19)},
pages={107--120},
year={2019},
month={7},
isbn={9781939133038},
url={https://www.usenix.org/conference/atc19/presentation/jangda},
publisher={USENIX Association}
}

@article{kazi2000techniques,
title={Techniques for obtaining high performance in Java programs},
author={Kazi, Iffat H and Chen, Howard H and Stanley, Berdenia and Lilja, David J},
journal={ACM Computing Surveys (CSUR)},
volume={32},
number={3},
pages={213--240},
year={2000},
month={9},
url={https://doi.org/10.1145/367701.367714},
doi={10.1145/367701.367714},
publisher={ACM New York, NY, USA}
}

@article{widynski2020squares,
title={Squares: A Fast Counter-Based RNG},
author={Widynski, Bernard},
journal={arXiv preprint arXiv:2004.06278},
year={2020},
month={11},
url={https://arxiv.org/abs/2004.06278v3},
publisher={Cornell University}
}

@article{pennock2007learning,
title={LEARNING EVOLUTION AND THE NATURE OF SCIENCE USING EVOLUTIONARY COMPUTING AND ARTIFICIAL LIFE/APPRENDRE L’{\'E}VOLUTION ET LA NATURE DES SCIENCES AU MOYEN DU CALCUL {\'E}VOLUTIONNISTE ET DE LA VIE ARTIFICIELLE},
author={Pennock, Robert T},
journal={McGill Journal of Education/Revue des sciences de l'{\'e}ducation de McGill},
volume={42},
number={2},
year={2007},
month={10},
url={https://mje.mcgill.ca/article/view/2220},
publisher={McGill University}
}

@inproceedings{zakai2011emscripten,
title={Emscripten: an LLVM-to-JavaScript compiler},
author={Zakai, Alon},
booktitle={Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion},
pages={301--312},
year={2011},
month={10},
doi={10.1145/2048147.2048224},
url={http://dx.doi.org/10.1145/2048147.2048224},
publisher={Association for Computing Machinery}
}

@article{richmond2010high,
title={High performance cellular level agent-based simulation with FLAME for the GPU},
author={Richmond, Paul and Walker, Dawn and Coakley, Simon and Romano, Daniela},
journal={Briefings in bioinformatics},
volume={11},
number={3},
pages={334--347},
year={2010},
month={2},
doi={10.1093/bib/bbp073},
url={https://doi.org/10.1093/bib/bbp073},
publisher={Oxford University Press}
}

@inproceedings{tisue2004netlogo,
title={Netlogo: A simple environment for modeling complexity},
author={Tisue, Seth and Wilensky, Uri},
booktitle={International conference on complex systems},
volume={21},
pages={16--21},
year={2004},
url={http://ccl.northwestern.edu/papers/netlogo-iccs2004.pdf},
organization={Boston, MA}
}

@Manual{chang2020shiny,
title = {shiny: Web Application Framework for R},
author = {Winston Chang and Joe Cheng and JJ Allaire and Yihui Xie and Jonathan McPherson},
year = {2020},
note = {R package version 1.5.0},
url = {https://CRAN.R-project.org/package=shiny}
}

@Manual{developers2021pyodide,
title= {shiny: Web Application Framework for R},
author = {Michael Droettboom and Pyodide Developers},
year = {2021},
note = {Python package version 0.0.17},
url = {https://pyodide.org/}
}

@article{helikar2012cell,
title={The cell collective: toward an open and collaborative approach to systems biology},
author={Helikar, Tom{\'a}{\v{s}} and Kowal, Bryan and McClenathan, Sean and Bruckner, Mitchell and Rowley, Thaine and Madrahimov, Alex and Wicks, Ben and Shrestha, Manish and Limbu, Kahani and Rogers, Jim A},
journal={BMC systems biology},
volume={6},
number={1},
pages={1--14},
year={2012},
month={8},
doi={10.1186/1752-0509-6-96},
url={https://doi.org/10.1186/1752-0509-6-96},
publisher={Springer}
}

@book{vostinar2017suicide,
title={Suicide, signals, and symbionts: Evolving cooperation in agent-based systems},
author={Vostinar, Anya E},
year={2017},
url={https://proxy.lib.umich.edu/login?url=https://www.proquest.com/dissertations-theses/suicide-signals-symbionts-evolving-cooperation/docview/1929231148/se-2?accountid=14667},
isbn={978-0-355-07992-0},
publisher={Michigan State University}
}

@article{gillespie2018changing,
title={Changing Environments Drive the Separation of Genes and Increased Evolvability in NK-Inspired Landscapes},
author={Gillespie, Lauren and Dolson, Emily and Lalejini, Alexander and Ofria, Charles},
year={2018},
journal={Late breaking abstract at The 2018 Conference on Artificial Life}
}

@inproceedings{Lalejini2018-GECCO,
abstract = {We present SignalGP, a new genetic programming (GP) technique designed to incorporate the event-driven programming paradigm into computational evolution's toolbox. Event-driven programming is a software design philosophy that simplifies the development of reactive programs by automatically triggering program modules (event-handlers) in response to external events, such as signals from the environment or messages from other programs. SignalGP incorporates these concepts by extending existing tag-based referencing techniques into an event-driven context. Both events and functions are labeled with evolvable tags; when an event occurs, the function with the closest matching tag is triggered. In this work, we apply SignalGP in the context of linear GP. We demonstrate the value of the event-driven paradigm using two distinct test problems (an environment coordination problem and a distributed leader election problem) by comparing SignalGP to variants that are otherwise identical, but must actively use sensors to process events or messages. In each of these problems, rapid interaction with the environment or other agents is critical for maximizing fitness. We also discuss ways in which SignalGP can be generalized beyond our linear GP implementation.},
address = {New York, New York, USA},
archivePrefix = {arXiv},
arxivId = {1804.05445},
author = {Lalejini, Alexander and Ofria, Charles},
booktitle = {Proceedings of the Genetic and Evolutionary Computation Conference on - GECCO '18},
doi = {10.1145/3205455.3205523},
eprint = {1804.05445},
isbn = {9781450356183},
keywords = {event-driven computation,event-driven programming,genetic programming,linear genetic programming,signalgp,tags},
pages = {1135--1142},
publisher = {ACM Press},
title = {{Evolving event-driven programs with SignalGP}},
url = {http://arxiv.org/abs/1804.05445{\%}0Ahttp://dx.doi.org/10.1145/3205455.3205523 http://dl.acm.org/citation.cfm?doid=3205455.3205523},
year = {2018}
}

@article{moreno2019toward,
author = {Moreno, Matthew Andres and Ofria, Charles},
title = "{Toward Open-Ended Fraternal Transitions in Individuality}",
journal = {Artificial Life},
volume = {25},
number = {2},
pages = {117-133},
year = {2019},
month = {05},
abstract = "{The emergence of new replicating entities from the union of simpler entities characterizes some of the most profound events in natural evolutionary history. Such transitions in individuality are essential to the evolution of the most complex forms of life. Thus, understanding these transitions is critical to building artificial systems capable of open-ended evolution. Alas, these transitions are challenging to induce or detect, even with computational organisms. Here, we introduce the DISHTINY (Distributed Hierarchical Transitions in Individuality) platform, which provides simple cell-like organisms with the ability and incentive to unite into new individuals in a manner that can continue to scale to subsequent transitions. The system is designed to encourage these transitions so that they can be studied: Organisms that coordinate spatiotemporally can maximize the rate of resource harvest, which is closely linked to their reproductive ability. We demonstrate the hierarchical emergence of multiple levels of individuality among simple cell-like organisms that evolve parameters for manually designed strategies. During evolution, we observe reproductive division of labor and close cooperation among cells, including resource-sharing, aggregation of resource endowments for propagules, and emergence of an apoptosis response to somatic mutation. Many replicate populations evolved to direct their resources toward low-level groups (behaving like multicellular individuals), and many others evolved to direct their resources toward high-level groups (acting as larger-scale multicellular individuals).}",
issn = {1064-5462},
doi = {10.1162/artl_a_00284},
url = {https://doi.org/10.1162/artl\_a\_00284},
eprint = {https://direct.mit.edu/artl/article-pdf/25/2/117/1896700/artl\_a\_00284.pdf},
}

@article{collier2013parallel,
author = {Nicholson Collier and Michael North},
title ={Parallel agent-based simulation with Repast for High Performance Computing},
journal = {SIMULATION},
volume = {89},
number = {10},
pages = {1215-1235},
year = {2013},
month={11},
doi = {10.1177/0037549712462620},

URL = {
https://doi.org/10.1177/0037549712462620

},
eprint = {
https://doi.org/10.1177/0037549712462620

}
,
abstract = { In the last decade, agent-based modeling and simulation (ABMS) has been applied to a variety of domains, demonstrating the potential of this technique to advance science, engineering, and policy analysis. However, realizing the full potential of ABMS to find breakthrough research results requires far greater computing capability than is available through current ABMS tools. The Repast for High Performance Computing (Repast HPC) project addresses this need by developing a useful and useable next-generation ABMS system explicitly focusing on larger-scale distributed computing platforms. Repast HPC is intended to smooth the path from small-scale simulations to large-scale distributed simulations through the use of a Logo-like system. This article’s contribution is its detailed presentation of the implementation of Repast HPC as a useful and usable framework, a complete ABMS platform developed explicitly for larger-scale distributed computing systems that leverages modern C++ techniques and the ReLogo language. }
}

@article{north2013complex,
title={Complex adaptive systems modeling with Repast Simphony},
author={North, Michael J and Collier, Nicholson T and Ozik, Jonathan and Tatara, Eric R and Macal, Charles M and Bragen, Mark and Sydelko, Pam},
journal={Complex adaptive systems modeling},
volume={1},
number={1},
pages={1--26},
year={2013},
month={3},
doi={10.1186/2194-3206-1-3},
url={https://doi.org/10.1186/2194-3206-1-3},
publisher={Springer}
}

@inproceedings{dolson2018evological,
author = {Dolson, Emily and Ofria, Charles},
title = {Ecological Theory Provides Insights about Evolutionary Computation},
year = {2018},
isbn = {9781450357647},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url = {https://doi.org/10.1145/3205651.3205780},
doi = {10.1145/3205651.3205780},
abstract = {Promoting diversity in an evolving population is important for Evolutionary Computation (EC) because it reduces premature convergence on suboptimal fitness peaks while still encouraging both exploration and exploitation [3]. However, some types of diversity facilitate finding global optima better than other types. For example, a high mutation rate may maintain high population-level diversity, but all of those genotypes are clustered in a local region of a fitness landscape. Fitness sharing [3], on the other hand, promotes diversity via negative density dependence forcing solutions apart. Lexicase selection [5] goes one step further, dynamically selecting for diverse phenotypic traits, encouraging solutions to actively represent many portions of the landscape.},
booktitle = {Proceedings of the Genetic and Evolutionary Computation Conference Companion},
pages = {105–106},
numpages = {2},
keywords = {ecological theory, diversity maintenance, eco-evolutionary dynamics, fitness sharing, phylogenetic analysis, ecology, lexicase selection, diversity, eco-EA},
location = {Kyoto, Japan},
series = {GECCO '18}
}

@software{moreno2020conduit,
author = {Matthew Andres Moreno and
rodsan0 and
perryk12 and
Codacy Badger},
title = {mmore500/conduit: Initial release},
month = oct,
year = 2020,
publisher = {Zenodo},
version = {v0.1.0},
doi = {10.5281/zenodo.4118608},
url = {https://doi.org/10.5281/zenodo.4118608}
}

@misc{world_academy_of_science_engineering_and_technology_2019, title={ Open Science Philosophy}, url={https://waset.org/files/Open-Science-Philosophy.pdf}, journal={World Academy of Science, Engineering and Technology}, year={2019}}

@article{10.1145/3185517,
author = {Dudley, John J. and Kristensson, Per Ola},
title = {A Review of User Interface Design for Interactive Machine Learning},
year = {2018},
issue_date = {July 2018},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
volume = {8},
number = {2},
issn = {2160-6455},
url = {https://doi.org/10.1145/3185517},
doi = {10.1145/3185517},
abstract = {Interactive Machine Learning (IML) seeks to complement human perception and intelligence by tightly integrating these strengths with the computational power and speed of computers. The interactive process is designed to involve input from the user but does not require the background knowledge or experience that might be necessary to work with more traditional machine learning techniques. Under the IML process, non-experts can apply their domain knowledge and insight over otherwise unwieldy datasets to find patterns of interest or develop complex data-driven applications. This process is co-adaptive in nature and relies on careful management of the interaction between human and machine. User interface design is fundamental to the success of this approach, yet there is a lack of consolidated principles on how such an interface should be implemented. This article presents a detailed review and characterisation of Interactive Machine Learning from an interactive systems perspective. We propose and describe a structural and behavioural model of a generalised IML system and identify solution principles for building effective interfaces for IML. Where possible, these emergent solution principles are contextualised by reference to the broader human-computer interaction literature. Finally, we identify strands of user interface research key to unlocking more efficient and productive non-expert interactive machine learning applications.},
journal = {ACM Trans. Interact. Intell. Syst.},
month = jun,
articleno = {8},
numpages = {37},
keywords = {interface design, Interactive machine learning}
}

@article{empirical_2020, title={devosoft/Empirical}, DOI={10.5281/zenodo.2575606}, publisher={Zenodo}, author={Charles Ofria and Matthew Andres Moreno and Emily Dolson and Alex Lalejini and rodsan0 and Jake Fenton and perryk12 and Steven Jorgensen and hoffmanriley and grenewode and et al.}, year={2020}, month={Oct}}
Loading