Cannon

Description

State Machine implementation

Details

Source
GitHub
Dialect
pharo (40% confidence)
License
MIT
Stars
3
Created
July 11, 2018
Updated
March 27, 2026
Topics
mit-license pharo smalltalk state-machine

README excerpt

# Cannon

![Logo](assets/logo.svg)

Cannon is a State Machine implementation for Smalltalk.

[![Unit Tests](https://github.com/ba-st/Cannon/actions/workflows/unit-tests.yml/badge.svg)](https://github.com/ba-st/Cannon/actions/workflows/unit-tests.yml/badge.svg)
[![Coverage Status](https://codecov.io/github/ba-st/Cannon/coverage.svg?branch=release-candidate)](https://codecov.io/gh/ba-st/Cannon/branch/release-candidate)
[![Baseline Groups](https://github.com/ba-st/Cannon/actions/workflows/loading-groups.yml/badge.svg)](https://github.com/ba-st/Cannon/actions/workflows/loading-groups.yml)
[![Markdown Lint](https://github.com/ba-st/Cannon/actions/workflows/markdown-lint.yml/badge.svg)](https://github.com/ba-st/Cannon/actions/workflows/markdown-lint.yml)

[![GitHub release](https://img.shields.io/github/release/ba-st/Cannon.svg)](https://github.com/ba-st/Cannon/releases/latest)
[![Pharo 10](https://img.shields.io/badge/Pharo-10-informational)](https://pharo.org)
[![Pharo 11](https://img.shields.io/badge/Pharo-11-informational)](https://pharo.org)
[![Pharo 12](https://img.shields.io/badge/Pharo-12-informational)](https://pharo.org)
[![Pharo 13](https://img.shields.io/badge/Pharo-13-informational)](https://pharo.org)

> *Name origin*: Astronomer [Annie Jump Cannon](https://en.wikipedia.org/wiki/Annie_Jump_Cannon).
> A cool surname from a celebrity in astronomy, since Cannon works best when
> combined with other BA-ST architecture projects, like [Stardust](https://github.com/ba-st/Stardust)
> and [Kepler](https://github.com/ba-st/Kepler).

With Cannon, we aim to provide a much-needed state machine implementation, which
is required for any complex workflow architecture.

## Quick links

- [**Explore the docs**](docs/README.md)
- [Report a defect](https://github.com/ba-st/Cannon/issues/new?labels=Type%3A+Defect)
- [Request a feature](https://github.com/ba-st/Cannon/issues/new?labels=Type%3A+Feature)

## License

- The code is licensed under [MIT](LICENSE).
- The documentation is licensed under [CC BY-SA 4.0](http://creativecommons.org/licenses/by-sa/4.0/).

## Installation

To load the project in a Pharo image follow these [instructions](docs/how-to/how-to-load-in-pharo.md).

## Contributing

Check the [Contribution Guidelines](CONTRIBUTING.md)

---
> [*Icon pack by Icons8*](https://icons8.com)
← Back to results