{"id":20610533,"url":"https://github.com/reugn/scala-statecharts","last_synced_at":"2025-04-15T04:32:22.616Z","repository":{"id":48092178,"uuid":"196711643","full_name":"reugn/scala-statecharts","owner":"reugn","description":"Scala statecharts collection (FSM, UML)","archived":false,"fork":false,"pushed_at":"2021-08-14T11:34:15.000Z","size":25,"stargazers_count":12,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-12T02:51:17.804Z","etag":null,"topics":["finite-state-machine","fsm","scala","state-machine","statechart","statecharts","uml","uml-diagram"],"latest_commit_sha":null,"homepage":"","language":"Scala","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/reugn.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}},"created_at":"2019-07-13T11:01:05.000Z","updated_at":"2021-11-15T03:58:24.000Z","dependencies_parsed_at":"2022-08-12T18:30:42.618Z","dependency_job_id":null,"html_url":"https://github.com/reugn/scala-statecharts","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reugn%2Fscala-statecharts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reugn%2Fscala-statecharts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reugn%2Fscala-statecharts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reugn%2Fscala-statecharts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/reugn","download_url":"https://codeload.github.com/reugn/scala-statecharts/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249006579,"owners_count":21197301,"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":["finite-state-machine","fsm","scala","state-machine","statechart","statecharts","uml","uml-diagram"],"created_at":"2024-11-16T10:17:07.768Z","updated_at":"2025-04-15T04:32:22.595Z","avatar_url":"https://github.com/reugn.png","language":"Scala","funding_links":[],"categories":[],"sub_categories":[],"readme":"# scala-statecharts\n[![Build](https://github.com/reugn/scala-statecharts/actions/workflows/build.yml/badge.svg)](https://github.com/reugn/scala-statecharts/actions/workflows/build.yml)\n\nA statecharts library written in Scala.\n\n## Implemented\n* **FSM** - Finite-state machine.\n    * One state is defined as the initial state. When a machine starts to execute, it automatically enters this state\n    * Each state can define actions that occur when a machine enters or exits that state. Actions will typically have side effects\n    * Each state can define events that trigger a transition\n    * A transition defines how a machine would react to the event, by exiting one state and entering another state\n    * A transition can define actions that occur when the transition happens. Actions will typically have side effects\n\n* **UML** - Executable UML statechart.\n    * Asynchronous statechart processing\n    * Recovery capability (start from last successful transition)\n    * No need to translate diagrams into code\n    * No bugs introduced by hand translation of diagrams\n\n## Getting started\nThe library is available for the JVM Runtime using Scala 2.12, 2.13.\n\nBuild from source:\n```sh\nsbt clean +package\n```\n\n## Examples\n* [FSM](./src/test/scala/io/github/reugn/statecharts/FSMTest.scala)\n* [UML](./src/test/scala/io/github/reugn/statecharts/UMLTest.scala)\n\n## License\nLicensed under the [Apache 2.0 License](./LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freugn%2Fscala-statecharts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Freugn%2Fscala-statecharts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freugn%2Fscala-statecharts/lists"}