{"id":41574241,"url":"https://github.com/evdenis/animate","last_synced_at":"2026-02-25T22:05:14.907Z","repository":{"id":83518359,"uuid":"264237533","full_name":"evdenis/animate","owner":"evdenis","description":"Simple tool to randomly animate Event-B models based on ProB.","archived":false,"fork":false,"pushed_at":"2026-02-24T16:51:10.000Z","size":5230,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-02-24T20:58:43.910Z","etag":null,"topics":["event-b","prob"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/evdenis.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-05-15T16:01:17.000Z","updated_at":"2026-02-24T16:51:12.000Z","dependencies_parsed_at":"2023-02-26T07:00:40.799Z","dependency_job_id":null,"html_url":"https://github.com/evdenis/animate","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/evdenis/animate","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evdenis%2Fanimate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evdenis%2Fanimate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evdenis%2Fanimate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evdenis%2Fanimate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/evdenis","download_url":"https://codeload.github.com/evdenis/animate/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evdenis%2Fanimate/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29842930,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-25T21:18:31.832Z","status":"ssl_error","status_checked_at":"2026-02-25T21:18:29.265Z","response_time":61,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["event-b","prob"],"created_at":"2026-01-24T08:11:00.123Z","updated_at":"2026-02-25T22:05:14.902Z","avatar_url":"https://github.com/evdenis.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Animate\n\nA command-line tool for animating Event-B models using the ProB model checker.\n\n## Features\n\n- Random animation of Event-B models\n- Invariant checking during animation\n- Coverage analysis\n- Trace saving and replay in JSON format\n- Model visualization export (machine hierarchy, events, properties, invariants)\n\n## Requirements\n\n- Java 21 or later\n- Gradle\n\n## Building\n\n```bash\n./gradlew build\n```\n\n## Usage\n\n### Basic Animation\n\n```bash\n./gradlew run --args=\"path/to/model.bum\"\n```\n\n### Options\n\n- `-s, --steps \u003cn\u003e` - Number of random animation steps (default: 5)\n- `-z, --size \u003cn\u003e` - Default size for ProB sets (default: 4)\n- `-i, --invariants` - Check invariants during animation\n- `--perf` - Print ProB performance information\n- `--save \u003cfile.json\u003e` - Save animation trace to JSON file\n- `--debug` - Enable debug logging\n\n### Commands\n\n#### Replay a Trace\n\n```bash\n./gradlew run --args=\"replay -t path/to/trace.json path/to/model.bum\"\n```\n\n#### Model Information\n\n```bash\n./gradlew run --args=\"info path/to/model.bum\"\n```\n\nExport options:\n- `-m, --machine \u003cfile\u003e` - Save machine hierarchy graph (.dot or .svg)\n- `-e, --events \u003cfile\u003e` - Save events hierarchy graph (.dot or .svg)\n- `-p, --properties \u003cfile\u003e` - Save properties graph (.dot or .svg)\n- `-i, --invariant \u003cfile\u003e` - Save invariant graph (.dot or .svg)\n- `-b, --bmodel \u003cfile\u003e` - Dump prolog model to .eventb file\n\n## CI Integration\n\nUse `animate` in your CI pipelines without building from source.\n\n### GitHub Actions\n\n```yaml\n- uses: evdenis/animate@v3\n  with:\n    args: 'path/to/model.bum'\n```\n\n#### Inputs\n\n| Input | Description | Required | Default |\n|-------|-------------|----------|---------|\n| `args` | Arguments passed to the animate CLI | Yes | — |\n| `version` | Release version tag (e.g., `v2.0`) | No | `latest` |\n| `java-version` | Java version to use (must be 21 or later) | No | `21` |\n\n#### Examples\n\n```yaml\n# Check invariants with 20 steps\n- uses: evdenis/animate@v3\n  with:\n    args: '--steps 20 --invariants path/to/model.bum'\n\n# Replay a trace\n- uses: evdenis/animate@v3\n  with:\n    args: 'replay -t tests/trace.json models/system.bum'\n\n# Pin to a specific release\n- uses: evdenis/animate@v3\n  with:\n    args: 'path/to/model.bum'\n    version: 'v1.0'\n```\n\n### GitLab CI\n\nInclude the reusable template and extend the `.animate` hidden job:\n\n```yaml\ninclude:\n  - remote: 'https://raw.githubusercontent.com/evdenis/animate/v3.0/.gitlab-ci-template.yml'\n\nanimate-model:\n  extends: .animate\n  variables:\n    ANIMATE_ARGS: 'path/to/model.bum'\n```\n\n#### Variables\n\n| Variable | Description | Default |\n|----------|-------------|---------|\n| `ANIMATE_ARGS` | Arguments passed to the animate CLI | `''` |\n| `ANIMATE_VERSION` | Release version tag (e.g., `v2.0`) | `latest` |\n\n#### Examples\n\n```yaml\ninclude:\n  - remote: 'https://raw.githubusercontent.com/evdenis/animate/v3.0/.gitlab-ci-template.yml'\n\n# Check invariants with 20 steps\nanimate-check:\n  extends: .animate\n  variables:\n    ANIMATE_ARGS: '--steps 20 --invariants path/to/model.bum'\n\n# Replay a trace\nanimate-replay:\n  extends: .animate\n  variables:\n    ANIMATE_ARGS: 'replay -t tests/trace.json models/system.bum'\n\n# Pin to a specific release\nanimate-pinned:\n  extends: .animate\n  variables:\n    ANIMATE_ARGS: 'path/to/model.bum'\n    ANIMATE_VERSION: 'v1.0'\n```\n\n## License\n\nSee LICENSE file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevdenis%2Fanimate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fevdenis%2Fanimate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevdenis%2Fanimate/lists"}