ssm
Runtime Library for the Sparse Synchronous Model
A Runtime Library for the Sparse Synchronous Model

Introduction

The operation of this library was first described in

Stephen A. Edwards and John Hui. The Sparse Synchronous Model. In Forum on Specification and Design Languages (FDL), Kiel, Germany, September 2020. http://www.cs.columbia.edu/~sedwards/papers/edwards2020sparse.pdf

Usage

See the detailed documentation

Example

#include "ssm.h"

typedef struct {
  SSM_ACT_FIELDS;
  ssm_event_t second;
} main_act_t;

ssm_stepf_t main_step;

main_act_t *enter_main(struct ssm_act *parent,
                       ssm_priority_t priority,
                       ssm_depth_t depth) {
  main_act_t * act =
    (main_act_t *) ssm_enter(sizeof(main_act_t),
                             main_step, parent, priority, depth);
  ssm_initialize_event(&act->second);
}