You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+16-16Lines changed: 16 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,8 +17,8 @@ In the following we give a step by step example in how the library can be used t
17
17
- generate variants for each step in the evolution history,
18
18
- obtain the ground truth of generated variants.
19
19
20
-
The example's source code can also be found in [GenerationExample.java](src/main/java/simulation/examples/GenerationExample.java).
21
-
A similar and executable version of this example can be found in [VEVOSBenchmark.java](src/main/java/simulation/examples/VEVOSBenchmark.java), which gathers some rudimentary data on runtime performance for Linux and Busybox variant simulation.
20
+
The example's source code can also be found in [GenerationExample.java](src/main/java/org/variantsync/vevos/simulation/examples/GenerationExample.java).
21
+
A similar and executable version of this example can be found in [VEVOSBenchmark.java](src/main/java/org/variantsync/vevos/simulation/examples/VEVOSBenchmark.java), which gathers some rudimentary data on runtime performance for Linux and Busybox variant simulation.
22
22
23
23
At the very begin of your program, you have to initialize the library:
24
24
```java
@@ -82,13 +82,13 @@ Thus, the sampler can be invoked during each step of the variant simulation.
82
82
Apart from the possibility of introducing custom samplers, VEVOS/Simulation comes with two built-in ways for sampling:
83
83
Random configuration sampling using the FeatureIDE library, and constant sampling.
84
84
85
-
[Random sampling](src/main/java/simulation/feature/sampling/FeatureIDESampler.java) returns a random set of valid configurations from a given feature model:
85
+
[Random sampling](src/main/java/org/variantsync/vevos/simulation/feature/sampling/FeatureIDESampler.java) returns a random set of valid configurations from a given feature model:
[Constant sampling](src/main/java/simulation/feature/sampling/ConstSampler.java) uses a pre-defined set of variants and ignores the feature model (it can easily be extended though to for example crash if a configuration violates a feature model at any commit):
91
+
[Constant sampling](src/main/java/org/variantsync/vevos/simulation/feature/sampling/ConstSampler.java) uses a pre-defined set of variants and ignores the feature model (it can easily be extended though to for example crash if a configuration violates a feature model at any commit):
@@ -205,19 +205,19 @@ This was round-trip about the major features of VEVOS/Simulation.
205
205
## ProjectStructure
206
206
207
207
The project is structured into the following packages:
208
-
- [`vevos.examples`](src/main/java/simulation/examples) contains the code of our example described above
209
-
- [`vevos.feature`](src/main/java/simulation/feature) contains our representation for `Variant`s and their `Configuration`s as well as sampling of configurations and variants
210
-
- [`vevos.io`](src/main/java/simulation/io) contains our `Resources` service and default implementations for loading `CSV` files, ground truth, feature models, and configurations
211
-
- [`vevos.repository`](src/main/java/simulation/repository) contains classes for representing git repositories and commits
212
-
- [`vevos.sat`](src/main/java/simulation/sat) contains an interfacefor SAT solving (currently only used for annotation simplification, which is deactivated by default)
213
-
- [`vevos.util`](src/main/java/simulation/util) is the conventional utils package with helper methods for interfacing with FeatureIDE, name generation, logging, and others.
214
-
- [`vevos.variability`](src/main/java/simulation/variability) contains the classes for representing evolution histories and the ground truth dataset.
208
+
- [`vevos.examples`](src/main/java/org/variantsync/vevos/simulation/examples) contains the code of our example described above
209
+
- [`vevos.feature`](src/main/java/org/variantsync/vevos/simulation/feature) contains our representation for `Variant`s and their `Configuration`s as well as sampling of configurations and variants
210
+
- [`vevos.io`](src/main/java/org/variantsync/vevos/simulation/io) contains our `Resources` service and default implementations for loading `CSV` files, ground truth, feature models, and configurations
211
+
- [`vevos.repository`](src/main/java/org/variantsync/vevos/simulation/repository) contains classes for representing git repositories and commits
212
+
- [`vevos.sat`](src/main/java/org/variantsync/vevos/simulation/sat) contains an interfacefor SAT solving (currently only used for annotation simplification, which is deactivated by default)
213
+
- [`vevos.util`](src/main/java/org/variantsync/vevos/simulation/util) is the conventional utils package with helper methods for interfacing with FeatureIDE, name generation, logging, and others.
214
+
- [`vevos.variability`](src/main/java/org/variantsync/vevos/simulation/variability) contains the classes for representing evolution histories and the ground truth dataset.
215
215
The package is divided into:
216
-
- [`vevos.variability.pc`](src/main/java/simulation/variability/pc) contains classes for representing annotations (i.e., presence conditions and feature mappings). We store annotations in `Artefact`s that follow a tree structure similar to the annotations in preprocessor based software product lines.
217
-
- [`vevos.variability.pc.groundtruth`](src/main/java/simulation/variability/pc/groundtruth) contains datatypes for the ground truth of generated variants.
218
-
- [`vevos.variability.pc.options`](src/main/java/simulation/variability/pc/options) contains the options for the variant generation process.
219
-
- [`vevos.variability.pc.visitor`](src/main/java/simulation/variability/pc/visitor) contains an implementation of the visitor pattern for traversing and inspecting `ArtefactTree`s. Some visitors for querying a files or a line's presence condition, as well as a pretty printer can be found in [`vevos.variability.pc.visitor.common`](src/main/java/simulation/variability/pc/visitor/common).
220
-
- [`vevos.variability.sequenceextraction`](src/main/java/simulation/variability/sequenceextraction) contains default implementations for `SequenceExtractor`. These are algorithms for sorting pairs of commits into continuous histories (see example above).
216
+
- [`vevos.variability.pc`](src/main/java/org/variantsync/vevos/simulation/variability/pc) contains classes for representing annotations (i.e., presence conditions and feature mappings). We store annotations in `Artefact`s that follow a tree structure similar to the annotations in preprocessor based software product lines.
217
+
- [`vevos.variability.pc.groundtruth`](src/main/java/org/variantsync/vevos/simulation/variability/pc/groundtruth) contains datatypes for the ground truth of generated variants.
218
+
- [`vevos.variability.pc.options`](src/main/java/org/variantsync/vevos/simulation/variability/pc/options) contains the options for the variant generation process.
219
+
- [`vevos.variability.pc.visitor`](src/main/java/org/variantsync/vevos/simulation/variability/pc/visitor) contains an implementation of the visitor pattern for traversing and inspecting `ArtefactTree`s. Some visitors for querying a files or a line's presence condition, as well as a pretty printer can be found in [`vevos.variability.pc.visitor.common`](src/main/java/org/variantsync/vevos/simulation/variability/pc/visitor/common).
220
+
- [`vevos.variability.sequenceextraction`](src/main/java/org/variantsync/vevos/simulation/variability/sequenceextraction) contains default implementations for `SequenceExtractor`. These are algorithms for sorting pairs of commits into continuous histories (see example above).
0 commit comments