https://github.com/johnyf/contract_maker
Construction of GR(1) contracts for distributed systems (research prototype): <https://doi.org/10.1109/JPROC.2018.2834926> and <https://doi.org/10.1109/ACC.2016.7525009>
https://github.com/johnyf/contract_maker
contracts control-systems games symbolic
Last synced: 7 months ago
JSON representation
Construction of GR(1) contracts for distributed systems (research prototype): <https://doi.org/10.1109/JPROC.2018.2834926> and <https://doi.org/10.1109/ACC.2016.7525009>
- Host: GitHub
- URL: https://github.com/johnyf/contract_maker
- Owner: johnyf
- License: other
- Created: 2015-09-26T03:08:27.000Z (about 10 years ago)
- Default Branch: dev
- Last Pushed: 2024-10-22T09:00:40.000Z (12 months ago)
- Last Synced: 2025-01-26T15:51:28.612Z (8 months ago)
- Topics: contracts, control-systems, games, symbolic
- Language: Python
- Homepage: https://resolver.caltech.edu/CaltechAUTHORS:20180920-104049492
- Size: 50.8 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
About
=====Construction of temporal logic contracts for distributed systems,
starting from GR(1) specifications.
This implementation is experimental, so expect changes.Installation
============The dependencies are listed in the file `requirements.txt`. Installing a
suitable version of the package `dd` can be done as follows.```shell
pip uninstall --yes dd
pip install cython
pip download --no-dependencies dd==0.5.1
tar xzf dd-*.tar.gz
cd dd-*/
export CUDD_VERSION=3.0.0
export CUDD_GZ=cudd-${CUDD_VERSION}.tar.gz
curl -sSL https://sourceforge.net/projects/cudd-mirror/files/${CUDD_GZ}/download > ${CUDD_GZ}
tar -xzf ${CUDD_GZ}
python -c 'from download import make_cudd; make_cudd()'
python setup.py install --cudd
```These steps will download and build the C library CUDD, and then build and
install `dd`, including the Cython module `dd.cudd`. The steps are based on
[this `.travis.yml`](https://github.com/tulip-control/tulip-control/blob/ce54897c242689f45ad33650f157bf1805b35ed6/.travis.yml#L45-L56).
The repository `contract_maker` requires `dd==0.5.1` (as listed in the file
`requirements.txt`), and the above steps correspond to that version of `dd`.References
==========Filippidis I., Murray R.M.
[Layering assume-guarantee contracts for hierarchical system design][1]
Proceedings of the IEEE
Volume 106, Number 9, pages 1616--1654, 2018
[DOI][2]Filippidis I., Murray R.M.
[Symbolic construction of GR(1) contracts for systems with full information][3]
The 2016 American Control Conference (ACC)
Boston, MA, July 6--8, 2016
pages 782--789, [DOI][4]Filippidis I., Murray R.M.
[Symbolic construction of GR(1) contracts for synchronous systems with full information][5]
ArXiv CoRR abs/1508.02705, August, 2015
(technical report with proofs and more details)License
=======
[BSD-3](http://opensource.org/licenses/BSD-3-Clause), see file `LICENSE`.[1]: https://resolver.caltech.edu/CaltechAUTHORS:20180920-104049492
[2]: https://doi.org/10.1109/JPROC.2018.2834926
[3]: https://resolver.caltech.edu/CaltechCDSTR:2016.003
[4]: https://doi.org/10.1109/ACC.2016.7525009
[5]: https://arxiv.org/abs/1508.02705