Communicable State Machine(CSM) Framework

Image Image License GitHub all releases Build_VIPM_Library Check_Broken_VIs

Brief of Communicable State Machine(CSM)

Communicable State Machine(CSM) is a LabVIEW application framework that builds upon JKI State Machine(JKISM). It follows the pattern of JKISM and extends the keywords to describe message communication between modules, including concepts such as Sync-Message, Async-Message, Subscription/Unsubscription of status - essential elements for creating reusable code modules. For more information, please visit the CSM wiki: https://nevstop-lab.github.io/CSM-Wiki/

CSM Async Call

📓 For more details, read the technical details section of the wiki.

Features at a glance

  • :anchor: Completely inherits the characteristics of JKISM, including extensibility, string-formatted messages, and state machines mechanism
  • :anchor: Decouples modules through message communication, supporting both synchronous and asynchronous messages as well as state subscription/unsubscription
  • :anchor: Both synchronous and asynchronous messages support responses and handle errors that occur during execution
  • :anchor: CSM Modules actually are VIs, which can be called as sub-VIs
  • :anchor: CSM Modules can be used not only within the CSM framework but also in non-CSM frameworks
  • :anchor: Use plug-ins to enhance parameter passing capabilities beyond just carrying string data, which is a limitation of JKISM
  • :anchor: Built-in Error Handling mechanism
  • :anchor: Built-in worker mode for concurrency task implementation
  • :anchor: Built-in responsibility of chain mode support
  • :anchor: Debugging tools

📓 Note: There are numerous CSM debugging tools currently in development, so please stay tuned.

Download

CSM is released as a VIPM Library, which you can download in the following ways:

  • 🥇 Recommended: Search for CSM through the VIPM and install

vipm-search-csm

📓 For more information, please refer to the page download.

License

This work is open sourced under the Apache License, Version 2.0. You can find the details of the Apache 2.0 open source agreement in the LICENSE.

The following open source projects or services are used in this wiki website:

results matching ""

    No results matching ""