• This repository has been archived on 25/Sep/2018
  • Stars
    star
    149
  • Rank 247,700 (Top 5 %)
  • Language
    JavaScript
  • License
    Apache License 2.0
  • Created over 13 years ago
  • Updated about 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

SCXML/Statecharts in JavaScript, moved to gitlab: https://gitlab.com/scion-scxml/scion

Overview

Backers on Open Collective Sponsors on Open Collective

SCION is an industrial-strength implementation of W3C SCXML in JavaScript.

SCXML provides a declarative markup for Statecharts, a powerful modelling language for developing complex, timed, event-driven, state-based systems.

Installation

node.js

npm install scxml

browser

Script tag with cdnjs

Add the following script tags to your HTML:

<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-polyfill/6.23.0/polyfill.min.js">
<script src="https://cdnjs.cloudflare.com/ajax/libs/scion/4.3.1/scxml.min.js">

Then SCION API available as global singleton object scxml.

npm and browserify

Install babel-polyfill and scxml with npm:

npm install --save scxml babel-polyfill

Then add to your application entry point:

require('babel-polyfill');
let scxml = require('scxml');

Quickstart

scxml.urlToModel("drag-and-drop.xml",function(err,model){

  if(err) throw err;

  model.prepare(function(err, fnModel) {

    if(err) throw err;

    //instantiate the interpreter
    var sc = new scxml.scion.Statechart(fnModel);

    //start the interpreter
    sc.start();

    //send the init event
    sc.gen({name:"init",data:rect});

  });
})

API

See the API docs here.

Backwards-compatibility with [email protected]

See the note here.

Contributors

This project exists thanks to all the people who contribute.

Backers

Thank you to all our backers! 🙏 [Become a backer]

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]

Support

To report a bug: file an issue on GitHub.

For general questions: Join the chat at https://gitter.im/SCION-SCXML/Lobby

Build Status

Build status

More Repositories

1

SCION-CORE

A minimal implementation of Statecharts in portable, embeddable JavaScript. Development moved to gitlab: https://gitlab.com/scion-scxml/core
JavaScript
35
star
2

scxml-viz

A d3-based library for visualizing SCXML with SVG.
JavaScript
26
star
3

scxml-test-framework

A set of SCXML tests, and an HTTP client test runner for testing against SCXML HTTP test servers. Development moved to gitlab: https://gitlab.com/scion-scxml/test-framework
XSLT
14
star
4

scion-web-simulation-environment

A simple web-based simulation environment for the SCION SCXML interpreter.
JavaScript
11
star
5

SCION-Java

SCION-Java provides lightweight Java bindings to the SCION SCXML/Statecharts library.
Java
10
star
6

draw.io

The source to www.draw.io
JavaScript
8
star
7

svg-drag

A small JavaScript utility to facilitate the dragging of SVG elements.
CoffeeScript
8
star
8

node-muse-server-example

Example nodejs integration with the Muse brain-sensing headband
JavaScript
6
star
9

flight-search-script

A little bash script for GNU/Linux to open a number of flight aggregator websites in the user's browser
Shell
6
star
10

SCION.NET

SCION.NET provides lightweight CLR bindings to the SCION SCXML/Statecharts library.
C#
6
star
11

scxml.js

A lightweight SCXML-to-JavaScript compiler targeting the SCION Statecharts engine.
JavaScript
4
star
12

vi-everywhere

JavaScript
3
star
13

pySCION

pySCION provides lightweight Python bindings to the SCION SCXML/Statecharts library.
Python
3
star
14

SCIBLOG

SCION Blog, moved to gitlab: https://gitlab.com/scion-scxml/sciblog
HTML
3
star
15

node-realtime-sensor-example

Small demo that illustrates how to use node.js to capture realtime sensor data from an arduino, push it to the cloud, and subsequently to a web client via websockets
JavaScript
2
star
16

archive.org-twilio-browser

This is a twilio voice menu interface to archive.org's live music archive, implemented for a Syracuse Student Sandbox 2012 hackathon.
JavaScript
1
star
17

python-spidermonkey-scxml-js-integration-demo

JavaScript
1
star
18

scion-research

Scripts for running performance tests on SCION.
1
star
19

svg-graphical-modelling-environment-framework

JavaScript
1
star
20

leap-robot-arm

An experiment to control the OWI Robotic Arm Edge with the Leap motion controller.
JavaScript
1
star
21

dcharts-scxml-integration-project

Python
1
star
22

scion-shell

scion-shell provides a simple shell environment for the SCION SCXML interpreter. It accepts SCXML events via stdin, and thus can be used to integrate SCXML with shell programming.
JavaScript
1
star
23

node-xml2jsonml

A library for node to convert XML to JsonML. Uses node-xml SAX parser.
JavaScript
1
star