-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathincubator.html
More file actions
230 lines (189 loc) · 10 KB
/
Copy pathincubator.html
File metadata and controls
230 lines (189 loc) · 10 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
<head>
<script>
fetch("includes/head_fragments.html")
.then(res => res.text())
.then(html => document.head.insertAdjacentHTML("beforeend", html));
</script>
<meta name="description" content = "GENIE | Incubator">
</head>
<body>
<!-- Header -->
<div id="header"></div>
<!-- Main -->
<div id="pageLayout">
<!-- Navigation column -->
<nav id="navigation"></nav>
<!-- Main text -->
<div id="twoColumnPage">
<section id="insidePageMainText">
<div id="pageTitle">GENIE Incubator</div>
<br />
If you’re working on a development project that you intend to make publicly available
as part of an official GENIE release, you will need to register a <b>GENIE Incubator project</b>.
This page outlines <b>how to engage with the GENIE development process</b>
and contribute to future releases.
<br/>
<h2>What is the GENIE incubator?</h2>
The Incubator is the designated space where all development work exceeding a certain
complexity threshold is carried out. It is structured as a collection of focused incubator projects.
<br />
<br />
Incubator projects are internal or community-led development efforts,
overseen by the GENIE scientific and technical leadership.
They represent the exclusive pathway for integrating physics or software developments
into official GENIE product releases.
<br />
<br />
Incubator projects may include, but are not limited to:
<ul>
<li> the development of new physics models, </li>
<li> improvements to existing models, </li>
<li> systematic studies, </li>
<li> tuning of physics components, </li>
<li> development of new tools or enhancements to existing ones, </li>
<li> framework upgrades, </li>
<li> improvements to numerical procedures, or </li>
<li> documentation enhancements. </li>
</ul>
<br />
<h2>Incubator project phases</h2>
The process is designed to enable rapid deployment,
while ensuring that all developments undergo peer review
and adhere to GENIE’s high standards for
physics accuracy, software engineering, computational efficiency, and documentation quality.
<h3>Phase 0: Launch</h3>
The process begins with the <b>identification of a GENIE development need</b>,
either by a member of the GENIE collaboration or a contributor from the wider community.
After consultation with GENIE leadership,
one or more incubator projects may be initiated to address the identified need.
<br />
<br />
During this phase, we ensure that each project has:
<ul>
<li>A fully <b>defined, agreed-upon, and documented scope
and set of milestones</b>.</li>
<li>Clearly <b>defined, agreed-upon, and documented requirements</b>,
including those related to physics validation, tuning, software engineering,
computational efficiency, and documentation, as appropriate.</li>
<li>A <b>clear reporting structure and a plan for collaboration reviews</b>
that cover both the physics and technical dimensions of the work.</li>
</ul>
<br />
Note that an incubator project may be launched even if a development team has not
yet been identified. Such projects are announced in the User Forum to solicit
community contributions.
<br />
<h3>Phase 1: R&D</h3>
<img src="./images/etc/incubator.jpg" width="80px" align="left">
This is the main research and development phase, carried out within the previously agreed scope.
Regular updates are expected at GENIE core group meetings, along with a series of
intermediate reviews, as agreed.
<br />
<br />
Based on the experience gained during this phase, the project definition may evolve.
For example, the development scope might be narrowed, or new requirements may be introduced.
Any such changes must be agreed upon by both the development team and the GENIE leadership.
<br />
<br />
Once a project has successfully met its agreed goals and fulfilled its requirements,
the developers may request its graduation and inclusion in an official GENIE product release.
This marks the beginning of the <em>Graduation</em> phase.
<br />
<br />
<h3>Phase 2: Graduation</h3>
<img src="./images/etc/incubator_graduated.jpg" width="80px" align="left">
Upon receiving a graduation request, GENIE leadership will verify that the project has fulfilled its
agreed goals and, if so, <b>initiate a formal final review</b>.
<br />
<br />
These reviews are conducted via video conference or in-person meetings.
They are open to all members of the GENIE Collaboration,
as well as selected invited external participants.
All review materials are made available well in advance and typically include, as appropriate:
<ul>
<li> Clean, well-documented source code. </li>
<li> Validation programs, with documentation sufficient for any GENIE collaborator to run them. </li>
<li> Archive of communications with theorists (including original code, if applicable). </li>
<li> A concise summary document that includes:
<ul>
<li>(a) Validation results,</li>
<li>(b) A table summarizing code changes,</li>
<li>(c) Notable assumptions implemented in the code,</li>
<li>(d) Suggestions for future tuning or model integration, and</li>
<li>(e) Recommendations for assigning systematic uncertainties.</li>
</ul>
<br />
This list is not exhaustive, but serves as a guide to ensure consistency and transparency.
</li>
</ul>
<br />
The reviewers evaluate the project with respect to its agreed scope and requirements,
placing particular emphasis, as appropriate, on:
<ul>
<li> Correctness and performance, based on the previously agreed validation criteria. </li>
<li> Robustness and adherence to sound software engineering practices. </li>
<li> Availability of sufficient and clear documentation, in all relevant forms. </li>
</ul>
All concerns raised during the review must be fully addressed before the project can graduate.
If significant issues are identified, one or more follow-up reviews may be scheduled.
<br />
<br />
<h3>Phase 3: Integration</h3>
Typically, the integration phase is carried out by members of the core GENIE development team.
During this phase, the new code is merged into the master branch of the relevant GENIE product,
and the full validation procedure is repeated to ensure consistency and quality.
<br />
<br />
Further development may be undertaken during the integration phase if required:
<br />
<i>
In some cases, additional work is needed to bridge the gap between the original project scope
and the requirements for inclusion in an official GENIE release.
This may involve building and tuning comprehensive models, improving interfaces,
or enhancing computational efficiency. Given the complexity of such tasks, the core GENIE team’s
expertise is often essential. If the effort is substantial and warrants further R&D and peer review,
new incubator projects are launched.
</i>
<br />
Once the process is complete and approved by GENIE leadership,
the development is merged into a release candidate branch.
<h2>Current incubator projects</h2>
Since its launch in 2015, the GENIE incubator has successfully delivered dozens
of projects — many of them with strong community backing.
This process has shaped the content of recent
<A href="http://releases.genie-mc.org" target="_top">GENIE releases</A>.
<br />
<br />
This highlights the effectiveness of the GENIE incubator model,
in which community-driven development is centrally coordinated and supported by the
core GENIE team to produce well-validated, efficient, and fully documented simulations
for the benefit of the global neutrino community.”
<br />
<br />
Following the release of GENIE v3.2.0 in February 2022, the status and tasks
of new GENIE incubator projects is recorded in the
<A href="https://github.com/orgs/GENIE-MC/projects?type=beta" target="_top">
<b>projects page of the GENIE github organisation</b><A>.
<br />
</section>
</div>
</div>
<!-- Footer include -->
<div id="footer"></div>
<script>
document.addEventListener('DOMContentLoaded', () => {
fetch('includes/header.html')
.then(res => res.text())
.then(text => document.getElementById('header').innerHTML = text);
fetch('includes/navigation.html')
.then(res => res.text())
.then(text => document.getElementById('navigation').innerHTML = text);
fetch('includes/footer.html')
.then(res => res.text())
.then(text => document.getElementById('footer').innerHTML = text);
});
</script>
</body>
</html>