Directory Structure - IBM/AMLSim GitHub Wiki
File and Directory Structure
Top Directory
bin/Java class directory (You need to create this directory at first)jars/Directory for external jar filesoutputs/Directory for output CSV and image filesparamFiles/Directory for parameter files for the transaction graph generatorsample/Sample datascripts/Python and shell script filessrc/Java source directoryamlsim.propertiesJava properties file for AMLSimamount.propertiesconvert.iniPython properties file to convert generated files from AMLSimjanusgraph.propertiesJava properties file to load a generated transaction file to JanusGraphprop.iniPython properties file for the transaction graph generator
External jar files in jars directory
Please download external jar files from the following sites (See also jars/README.md).
- MASON version 18
- Download "mason18.zip" from the homepage and extract the jar file.
- PaySim
- Please use
paysim.jaralready exists under thejarsdirectory. Note that the latest version of the GitHub repository is not compatible with our implementation.
- Please use
- Commons-Math version 3.6.1
- Download "commons-math3-3.6.1-bin.tar.gz" and extract the following jar files.
- commons-math3-3.6.1.jar
- commons-math3-3.6.1-tests.jar
- commons-math3-3.6.1-tools.jar
- Download "commons-math3-3.6.1-bin.tar.gz" and extract the following jar files.
- DSI Utilities version 2.5.4
- fastutil version 8.2.3
- JSAP version 2.1
- JSON in Java version 20180813
- MySQL Connector for Java version 5.1.48
- SLF4J version 1.7.25
- Sux for Java version 4.2.0
- WebGraph version 3.6.1
Java packages and source files in src directory
amlsim/Java package for AMLSimmodel/Transaction models (normal, cash and alert transactions)cash/Cash transaction modelsCashModel.javaBase class of cash transaction modelsCashInModel.javaCash-in (deposit) modelCashOutModel.javaCash-out (withdrawal) model
aml/AML typology (alert transaction model)AMLTypology.java: The base class of SAR transaction typologiesFanOutTypology.java: fan-outFanInTypology.java: fan-inCycleTypology.java: cycleBipartiteTypology.java: bipartiteStackTypology.java: stacked bipartiteRandomTypology.java: random transactionsScatterGatherTypology.java: scatter-gather (fan-out -> fan-in)GatherScatterTypology.java: gather-scatter (fan-in -> fan-out)
normal/Normal transaction models
obsolete/Place for obsolete (deprecated) source files (to be removed later)stat/Java classes to compute statistical features of the transaction graphDiameter.javaCompute diameter and average distance of the transaction graph
Account.javaAccount (agent) classAlert.javaAlert (SAR) typology classAMLSim.javaAMLSim main classBranch.javaBranch of bank classSARAccount.javaSAR account classTransactionRepository.javaTransaction repository for logging