Skip to main content
https://travis-ci.org/AlexandreDecan/sismic.svg?branch=master https://coveralls.io/repos/AlexandreDecan/sismic/badge.svg?branch=master&service=github https://api.codacy.com/project/badge/grade/10d0a71b01c144859db571ddf17bb7d4 https://badge.fury.io/py/sismic.svg https://readthedocs.org/projects/sismic/badge/?version=master

Sismic Interactive Statechart Model Interpreter and Checker

Sismic is a recursive acronym that stands for Sismic Interactive Statechart Model Interpreter and Checker.

Statecharts are a well-known visual modeling language for representing the executable behavior of complex reactive event-based systems. Sismic library for Python (version 3.4 or higher) provides a set of tools to define, validate, simulate, execute and test statecharts. More specifically, Sismic provides:

  • An easy way to define and to import statecharts, based on the human-friendly YAML markup language

  • A statechart interpreter offering a discrete, step-by-step, and fully observable simulation engine

  • Built-in support for expressing actions and guards using regular Python code, can be easily extended to other programming languages

  • A design-by-contract approach for statecharts: contracts can be specified to express invariants, pre- and postconditions on states and transitions

  • Runtime checking of behavioral properties expressed as statecharts

  • Built-in support for behavior-driven development

  • Synchronous and asynchronous simulation, in real time or simulated time

  • Support for communication between statecharts and co-simulation

  • Statechart visualization using PlantUML

Some experimental features are also available as feature branches.

Installation

Sismic requires Python >=3.4. Sismic can be installed using pip as usual: pip install sismic. This will install the latest stable version.

You can also install Sismic from this repository by cloning it.

Starting from release 1.0.0, Sismic adheres to a semantic versioning scheme.

Documentation

The documentation for the latest distributed version is available on sismic.readthedocs.io.

Many examples are available in docs/examples.

The documentation can also be directly built from the docs directory using Sphinx.

Changelog

See documentation’s changelog.

Credits

The Sismic library for Python is mainly developed by Alexandre Decan at the University of Mons with the help of many contributors.

Sismic is released publicly under the GNU Lesser General Public Licence version 3.0 (LGPLv3).

You can cite Sismic using:

@software{sismic,
  author = {{Alexandre Decan}},
  title = {Sismic Interactive Statechart Model Interpreter and Checker},
  url = {https://github.com/AlexandreDecan/sismic},
}

Release files for sismic 1.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sismic 1.2.0
File Size Uploaded
sismic-1.2.0.tar.gz 551.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sismic 1.2.0
File Interpreter ABI Platform
sismic-1.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 592.5 kB

Release files / sismic-1.2.0.tar.gz

Download URL sismic-1.2.0.tar.gz
Size 551.6 kB
Tags Source
SHA-256 checksum
How to use checksums
5c069f7c662aa7b9927eef16688bc3fe5c5f51e0145d83d8b35e7a063f0e5392
BLAKE2b-256 checksum
How to use checksums
a7213339ab8c5a6fd51f7b1c5e4c6b9a02a23b458fb745fa92d9ab9b237c7ddd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / sismic-1.2.0-py3-none-any.whl

Download URL sismic-1.2.0-py3-none-any.whl
Size 40.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6ddef4edad53e540dfbc11a56661dfb90573b406a6831fbedc3d55618679c617
BLAKE2b-256 checksum
How to use checksums
b3cbf3889ae66e7ec48e1ade9beb1501e25b7f78c2660790b13cc4ba67df45a2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

1.6.11

2 release files

1.6.9

2 release files

1.6.8

2 release files

1.6.7

2 release files

1.6.6

2 release files

1.6.5

2 release files

1.6.4

2 release files

1.6.3

2 release files

1.6.2

2 release files

1.6.1

2 release files

1.6.0

2 release files

1.5.0

2 release files

1.4.2

2 release files

1.4.1

2 release files

1.4.0

2 release files

1.3.0

2 release files

1.2.2

2 release files

1.2.1

2 release files

This release

1.2.0 This release

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.26.8

2 release files

0.26.7

2 release files

0.26.6

2 release files

0.26.5

2 release files

0.26.4

2 release files

0.26.3

2 release files

0.26.2

2 release files

0.26.1

2 release files

0.26.0

2 release files

0.25.3

2 release files

0.25.2

2 release files

0.23.1

2 release files

0.23.0

2 release files

0.22.9

2 release files

0.22.8

2 release files

0.22.7

2 release files

0.22.1

2 release files

0.22.0

1 release file

0.21.0

1 release file

0.20.5

2 release files

0.20.4

2 release files

0.20.3

2 release files

0.20.2

2 release files

0.20.1

2 release files

0.20.0

2 release files

0.19.0

2 release files

0.18.1

1 release file

0.17.3

2 release files

0.17.2

1 release file

0.17.1

2 release files

0.16.0

1 release file

0.15.0

2 release files

0.14.3

2 release files

0.14.2

2 release files

0.14.1

2 release files

0.14.0

2 release files

0.11.5

2 release files

0.11.4

2 release files

0.11.3

2 release files

0.11.2

2 release files

0.11.1

2 release files

0.11.0

2 release files

0.10.1

2 release files

0.10.0

2 release files

0.9.0

2 release files

0.8.1

2 release files

0.6.3

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page