Metadata-Version: 2.1
Name: ADTCreate
Version: 1.0.0rc2
Summary: ADT Create provides a general method to create and customize Attack-Defense Trees (ADTs), allowing users to visualize and analyse security scenarios. A user is able to create and customize ADTs from scratch, upload/download ADTs in XML format, generate ADTerms based on ADTs, compare ADTerms to determine equivalence using an equivalence threshold using the Levenshtein Distance, determine satisfiability of an ADT and generate statistics of an ADT
Home-page: https://github.com/MainJay/ADTPythonLibrary/
Author: Jayme Hebinck
Author-email: jayme.hebinck@live.nl
License: MIT
Project-URL: Tracker, https://github.com/MainJay/ADTPythonLibrary/issues
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE

# ADT Create
Welcome to **ADT Create**. This project aims to provide a general method to create and customize Attack-Defense Trees (ADTs), allowing users to visualize and analyse security scenarios. A user is able to *create and customize ADTs from scratch*, *upload/download ADTs in XML format*, *generate ADTerms based on ADTs*, *compare ADTerms to determine equivalence using an equivalence threshold using the Levenshtein Distance*, *determine satisfiability of an ADT* and *generate statistics of an ADT*.

## Getting Started
This document will guide you through the project structure and the installation process of **ADT Create**.

Explore the unlimited possible ADTs and strenghten your defenses!

### Project Structure
The files of the **package** can be found in folder `ADTCreate/`. \
This folder contains the following files:
- `ADT.py`: 
- `ADTXML.py`: XML import and export functionalities.
- `ADTSatisfiability.py`: Satisfiability functionalities.
- `GenerateADTerms.py`: ADTerms Generations functionalities.
- `CompareADTerms.py`: ADTerms Comparison functionalities.
- `MultisetList.py`: Multiset implementation based on the `List` type.

The **testprogram** can be found in this project in file `main.py` \
The **changelog** can be found in this project in file `changelog.md`. \
The **manual** can be found in this project in file `code_documentation.md`.

### Installation
Make sure you have installed Python version >= 3.7 and the `pip` package. \
Open your Terminal (on UNIX systems), and run `pip install ADTCreate`. \
Open up a Python file, and add `from ADTCreate import ADT`. 

You have now succesfully installed **ADT Create** and imported it into your project. \
Happy coding! 

To create an ADT, use: `adt_instance = ADT.initADT(type, refinement, label)`. \
Use the features of **ADT Create** by performing them on `adt_instance`, such as `adt_instance.addChild(...)`.

See `code_documentation.md` for instructions on how to use **ADT Create**, and `changelog.md` for the changelog on the GitHub repository of this project.
