Skip to content

CIToolkit is a library containing tools to create and solve instances of the Control Improvisation problem and its extensions.

License

Notifications You must be signed in to change notification settings

UCSCFormalMethods/CIToolkit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Control Improvisation Toolkit

Introduction

citoolkit is a library containing tools to create and solve instances of the Control Improvisation problem and its extensions. This library supports the following flavors of Control Improvisation:

The following specification types are currently supported for hard and soft constraints:

  • Deterministic Finite Automaton (DFA)

If you encounter any problems with the citoolkit please submit an issue on GitHub or contact Eric at evin@ucsc.edu

Setup

Installation

citoolkit is writtin in Python 3, and requires Python 3.9. It is available as a PyPi package and can be installed by running:

pip install citoolkit

If you want to modify citoolkit, access the test suite, or run the included examples/experiments you can use Poetry. First install Poetry and optionally activate the virtual environment in which you would like to run citoolkit. Then navigate to the citoolkit root directory and run:

poetry install

Alternatively, simply type make in the citoolkit root directory to automatically install citoolkit and all its dependencies in a virtual environment, and then activate that virtual environment.

Tests

To run the basic test suite, navigate to the citoolkit root directory and run:

make test

To run the full test suite, navigate to the citoolkit root directory and run:

make test_full

Note: The basic test suite is designed to run quickly, while the full test suite tests more extensively. As a result, the full test suite can take significantly longer to run than the basic test suite.

Documentation

Documentation for citoolkit can be found on Read the Docs

About

CIToolkit is a library containing tools to create and solve instances of the Control Improvisation problem and its extensions.

Resources

License

Stars

Watchers

Forks

Packages

No packages published