{"id":20885417,"url":"https://github.com/lab11/edg-sat-prototype","last_synced_at":"2025-07-12T22:34:23.832Z","repository":{"id":74725209,"uuid":"78692391","full_name":"lab11/edg-sat-prototype","owner":"lab11","description":"the EDG via SAT solver prototype ","archived":false,"fork":false,"pushed_at":"2017-06-15T22:40:05.000Z","size":27150,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":13,"default_branch":"master","last_synced_at":"2025-06-24T16:53:10.438Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lab11.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-01-12T00:23:08.000Z","updated_at":"2025-05-16T03:33:03.000Z","dependencies_parsed_at":null,"dependency_job_id":"dfe3fc7c-f997-4e60-ab2e-d546c43e637f","html_url":"https://github.com/lab11/edg-sat-prototype","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/lab11/edg-sat-prototype","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lab11%2Fedg-sat-prototype","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lab11%2Fedg-sat-prototype/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lab11%2Fedg-sat-prototype/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lab11%2Fedg-sat-prototype/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lab11","download_url":"https://codeload.github.com/lab11/edg-sat-prototype/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lab11%2Fedg-sat-prototype/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265066118,"owners_count":23706062,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-18T08:13:27.565Z","updated_at":"2025-07-12T22:34:23.815Z","avatar_url":"https://github.com/lab11.png","language":"Haskell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Embedded Design Generation Prototype #\n\nThis is the prototype repository for Embedded Design Generation, a methodology\nthat automates much of the embedded design process through judicious use of\nexisting constraint solvers like Z3.\n\n## Papers and Additional Material ##\n\n### Symposium on Computational Fabrication 2017 ###\n\nOur full appendix for the SCF 2017 paper, including the paper, code and details of experiments, can be found [here](https://github.com/lab11/edg-sat-prototype/blob/master/appendix/scf2017.md).\n\n\n## Dev Environment Setup ## \n\nA few major options here:\n\n  - **Default:** Works on Win, Mac, and Linux. \n    Creates a VM that's setup to let you build the paper easily. \n  - **LXC:** Works on Linux. \n    Instead of a full VM uses a faster OS virtualisation method. \n    Because the host system is Linux, syscalls in the box can just be\n    forwarded to the host OS with some additional permissions checking.\n  - **Manual:** Maybe works on Linux? Harder elsewhere. \n    Mostly, you just get to read the `Vagrantfile` and make sure you have\n    all the dependencies with their correct versions. \n\n### Install Vagrant ###\n\n  - *(Default,LXC)* Install [Vagrant](https://www.vagrantup.com) \n      - [Install Instructions](https://www.vagrantup.com/downloads.html)\n  - *(LXC)* Install LXC and LXC-Provider\n      - Install [LXC](https://linuxcontainers.org/lxc/) \n          - Ubuntu : `sudo apt-get install lxc`\n          - Other : [Install Instructions](https://linuxcontainers.org/lxc/getting-started/)\n      - Install [Tar](https://www.gnu.org/software/tar/)\n          - Ubuntu : `sudo apt-get install tar`\n      - Install [Redir](https://linux.die.net/man/1/redir)\n          - Ubuntu : `sudo apt-get install redir`\n      - Install [Bridge-Utils](https://wiki.linuxfoundation.org/networking/bridge)\n          - Ubuntu : `sudo apt-get install brigde-utils`\n      - Install [Vagrant-LXC](https://github.com/fgrehm/vagrant-lxc)\n          - `vagrant plugin install vagrant-lxc` \n\n### Setup Build Env ###\n\n  - *(Default,LXC)* Setup a VM/Container\n      - Open terminal in project directory. \n      - Tell Vagrant to do all the work:\n          - *(Default)* `vagrant up`\n          - *(LXC)* `vagrant up --provider=lxc`\n      - Enter password if necessary. \n      - Go do something else for a while, the system is installing TexLive.\n  - *(Manual)* Setup the Build Env\n      - Read the `Vagrantfile`, everything in a `configure.vm.provision` block\n         is something you have to replicate. \n         Relevant docs for Vagrant are \n         [here](https://www.vagrantup.com/docs/provisioning/shell.html).\n      - List of Dependencies (May be inaccurate):\n          - [Git](http://git-scm.com) : Source control\n          - TODO : Finish getting full list of dependencies\n      - Set everything up yourself. \n          - Good luck, you'll need it.\n          - You should read [the Vagrantfile](/Vagrantfile).\n\n## Building ##\n\n  - *(Default,LXC)* Start VM/Container\n      - *(Default)* `vagrant up` \n      - *(LXC)* `vagrant up --provider=LXC` \n  - Opening Terminal into Build Environment\n      - *(Default,LXC)* `vagrant ssh`\n      - *(Manual)* I dunno, you set it up. Figure it out. \n  - TODO : Instructions for building withing the dev env.\n\n## Usage ##\n\nTODO : Add tool use instructions and command line flags.\n\nw/ fish shell\n```` \nstack build --executable-profiling --library-profiling --ghc-options=\"-fprof-auto -rtsopts\" ; and stack exec edg-prototype -- simon -o output-data.tmp.edg -g output-graph.tmp.png -s +RTS -p -h\n\n````\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flab11%2Fedg-sat-prototype","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flab11%2Fedg-sat-prototype","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flab11%2Fedg-sat-prototype/lists"}