Accessors
What are Accessors?
See an overview paper and overview presentation. For a quick start using Node.js as a host, see the Node host. See also the tutorial on CapeCode, the development environment based on Ptolemy II that uses the Nashorn host.
Accessors embrace concurrency, atomicity, and asynchrony. The actor model, which governs interaction between accessors, permits accessors to execute concurrently with segregated private data and a message-passing interface for interaction. Internally, many accessors use asynchronous atomic callbacks (AAC) to invoke remote services and handle responses asynchronously and atomically. See comparisons with related technologies for insight into how accessors work.
Accessors are defined in a JavaScript file that includes a specification of the interface (inputs, outputs, and parameters) and an implementation of the functionality (reactions to inputs and/or production of outputs). Any JavaScript file that conforms with the accessor specification defines an accessor class.
The accessor library provides a collection of example accessors. This library is maintained via an Git repository that permits many contributors to add accessors to the library.
An instance of an accessor is created by a swarmlet host that evaluates the JavaScript in the accessor definition. At this time, there are at least three accessor hosts compatible with accessor specification 1.0:
- A browser host, which allows inspection of the accessor, and if the accessor is suitable for execution in a browser, interactive invocation of the accessor.
- A Node.js host, an interactive program that runs in Node.js that allows instantiation and execution of accessors.
- A Ptolemy II host, which supports composition of accessors with visual block diagrams and provides a large library of actors that the accessors can interact with.
To experiment with accessors now, see Getting Started with Accessors. or Tutor 2017 Tutorial Paris, December 5, 2017
This work is supported by the Industrial Cyber-Physical Systems (iCyPhy) Center. This work was supported in the past in part by the TerraSwarm Research Center, one of six centers supported by the STARnet phase of the Focus Center Research Program (FCRP) a Semiconductor Research Corporation program sponsored by MARCO and DARPA.
This work is licensed with a BSD-style license.
See the accessors wiki page for further information.
See publications and presentations for yet more information.
The accessors project is no longer under active development. The follow-on project is Lingua Franca.