forked from NEVSTOP-LAB/CSM-Wiki
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
NEVSTOP
committed
Jan 3, 2025
1 parent
11ddeac
commit c103b68
Showing
6 changed files
with
123 additions
and
21 deletions.
There are no files selected for viewing
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,22 +1,75 @@ | ||
--- | ||
layout: page | ||
title: Home | ||
title: Communicable State Machine(CSM) | ||
id: home | ||
lang: en | ||
permalink: / | ||
--- | ||
|
||
[](https://www.vipm.io/package/nevstop_lib_communicable_state_machine/)[](https://www.vipm.io/package/nevstop_lib_communicable_state_machine/)[](https://github.com/NEVSTOP-LAB/Communicable-State-Machine/releases)[](https://github.com/NEVSTOP-LAB/Communicable-State-Machine/actions/workflows/Build_VIPM_Library.yml)[](https://github.com/NEVSTOP-LAB/Communicable-State-Machine/actions/workflows/Check_Broken_VIs.yml) | ||
|
||
# Welcome! 🌱 | ||
|
||
<!-- <p style="padding: 3em 1em; background: #f5f7ff; border-radius: 4px;"> | ||
## 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/> | ||
|
||
- For instructions on JKI State Machine(JKISM), visit: <http://jki.net/state-machine/> | ||
- For information on Communicable State Machine(CSM), visit: <https://github.com/NEVSTOP-LAB> | ||
|
||
 | ||
|
||
> 📓 | ||
> 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** | ||
|
||
<img src="assets/img/VIPM%20Search%20CSM.png" alt="vipm-search-csm" width="60%"> | ||
|
||
- **Download the package(.vip file) of CSM and click install** | ||
|
||
- Download the latest release of CSM from <https://www.vipm.io/> and click install:<br/> | ||
<https://www.vipm.io/package/nevstop_lib_communicable_state_machine/> | ||
- Download the latest release of CSM from GitHub and click install:<br/> | ||
<https://github.com/NEVSTOP-LAB/Communicable-State-Machine/releases> | ||
|
||
> 📓 | ||
> For more information, please refer to the page [download](https://nevstop-lab.github.io/CSM-Wiki/release-of-csm). | ||
> | ||
## License | ||
|
||
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. | ||
</p> --> | ||
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](https://github.com/NEVSTOP-LAB/Communicable-State-Machine/blob/main/LICENSE). | ||
|
||
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. | ||
_**The following open source projects or services are used in this wiki website**:_ | ||
|
||
<!-- <style> | ||
.wrapper { | ||
max-width: 46em; | ||
} | ||
</style> --> | ||
- [visual-studio-code](https://code.visualstudio.com/) as an editor | ||
- [copilot](https://copilot.github.com/) as a hinting tool and to supplement some content | ||
- [markdownlint](https://github.com/markdownlint/markdownlint) for syntax checking of markdown files | ||
- [GitHub Pages](https://pages.github.com/) as a service for publishing pages | ||
- [Jekyll](https://jekyllrb.com/) as a static website generator | ||
- [sighingnow/jekyll-gitbook](https://github.com/sighingnow/jekyll-gitbook) as a theme | ||
- [untra/polyglot](https://github.com/untra/polyglot), a Jekyll plugin for multilingual support | ||
- [gildesmarais/jekyll-loading-lazy](https://github.com/gildesmarais/jekyll-loading-lazy), a Jekyll plugin for lazy load support |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,23 +1,72 @@ | ||
--- | ||
layout: page | ||
title: Home | ||
title: 可通信状态机框架(CSM) | ||
id: home | ||
lang: zh-cn | ||
permalink: / | ||
--- | ||
|
||
<!-- [50%] HOME 页面(md-page[x]) - English[√] | Chinese [√] | ||
- [x] CSM框架的介绍 | ||
- [x] CSM框架的特点 | ||
- [ ] CSM框架的应用场景 | ||
- [x] CSM框架的下载链接 | ||
- [x] 开源资源使用说明 | ||
--> | ||
|
||
# 欢迎!🌱 | ||
|
||
<!-- <p style="padding: 3em 1em; background: #f5f7ff; border-radius: 4px;"> | ||
[](https://www.vipm.io/package/nevstop_lib_communicable_state_machine/)[](https://www.vipm.io/package/nevstop_lib_communicable_state_machine/)[](https://github.com/NEVSTOP-LAB/Communicable-State-Machine/releases)[](https://github.com/NEVSTOP-LAB/Communicable-State-Machine/actions/workflows/Build_VIPM_Library.yml)[](https://github.com/NEVSTOP-LAB/Communicable-State-Machine/actions/workflows/Check_Broken_VIs.yml) | ||
|
||
## 可通信状态机(CSM)简介 | ||
|
||
可通信状态机(CSM)是一个基于JKI状态机(JKISM)的LabVIEW应用框架。它遵循 JKISM 的模式,扩展了关键词以描述模块之间的消息通信,包括同步消息、异步消息、状态订阅/取消订阅等概念-这些是创建可重用代码模块所必需的要素。请访问CSM Wiki页面了解更多信息: <https://nevstop-lab.github.io/CSM-Wiki/> | ||
|
||
- 关于 JKI State Machine(JKISM) 更多信息, 请访问: <http://jki.net/state-machine/> | ||
- 关于 Communicable State Machine(CSM) 更多信息, 请访问: <https://github.com/NEVSTOP-LAB> | ||
|
||
 | ||
|
||
> 📓 | ||
> 如果想了解更多详细信息,请阅读 wiki 的技术细节章节 | ||
> | ||
## CSM 的特点 | ||
|
||
- :anchor: 完全继承了 JKISM 易扩展、字符串格式消息、状态机的特点 | ||
- :anchor: 通过消息通信实现模块间的解耦,支持同步消息、异步消息、状态订阅/取消订阅 | ||
- :anchor: 同步消息、异步消息均支持响应,并会返回执行时发生的错误 | ||
- :anchor: CSM 编写的模块就是 VI,VI 就是模块,以子 VI 的方式进行调用 | ||
- :anchor: CSM 编写的模块不仅可以在 CSM 框架中使用,也提供在非 CSM 框架中使用的方式 | ||
- :anchor: 通过插件,增加参数传递能够携带的数据,以减弱 JKISM 只能携带 string 类型数据的限制 | ||
- :anchor: 内置全局的错误处理机制 | ||
- :anchor: 内置的协作者模式(worker mode), 能够很简单的实现任务并发机制 | ||
- :anchor: 内置的责任链模式(chain mode), 能够很简单的实现责任链 | ||
- :anchor: 提供了丰富的调试工具和接口,能够很方便的进行调试* | ||
|
||
> | ||
> 📓 说明:CSM 的调试工具,还有很多在开发中,敬请期待 | ||
> | ||
## 下载 | ||
|
||
CSM 通过 VIPM Library 的形式发布,您可以通过以下方式下载: | ||
|
||
- 🥇 **推荐:通过 VIPM 应用搜索 CSM 获取 CSM 的最新发布版本,然后点击安装** | ||
|
||
<img src="assets/img/VIPM%20Search%20CSM.png" alt="vipm-search-csm" width="60%"> | ||
|
||
- **下载安装包(.vip 文件),然后点击安装** | ||
|
||
可通信状态机(CSM)是一个基于JKI状态机(JKISM)的LabVIEW应用框架。它遵循 JKISM 的模式,扩展了关键词以描述模块之间的消息通信,包括同步消息、异步消息、状态订阅/取消订阅等概念-这些是创建可重用代码模块所必需的要素。 | ||
- 通过 <https://www.vipm.io/> 下载 CSM 的最新发布版本,然后点击安装:<br/> | ||
<https://www.vipm.io/package/nevstop_lib_communicable_state_machine/> | ||
- 通过 GitHub 下载 CSM 的最新发布版本,然后点击安装:<br/> | ||
<https://github.com/NEVSTOP-LAB/Communicable-State-Machine/releases> | ||
|
||
</p> --> | ||
> 📓 | ||
> 更多信息,请参考页面 [下载](https://nevstop-lab.github.io/CSM-Wiki/release-of-csm)。 | ||
> | ||
可通信状态机(CSM)是一个基于JKI状态机([[JKISM]])的 LabVIEW 应用框架。它遵循 [[JKISM]] 的模式,扩展了关键词以描述模块之间的消息通信,包括[[同步消息]]、[[异步消息]]、[[状态订阅/取消订阅]]等概念-这些是创建可重用代码模块所必需的要素。 | ||
## 开源协议 | ||
|
||
<!-- <style> | ||
.wrapper { | ||
max-width: 46em; | ||
} | ||
</style> --> | ||
CSM 采用 MIT 开源协议,您可以在 [LICENSE](https://github.com/NEVSTOP-LAB/Communicable-State-Machine/blob/main/LICENSE) 中查看开源协议的详细信息。 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -5,4 +5,4 @@ lang: zh-cn | |
permalink: /JKISM | ||
--- | ||
|
||
# JKISM 是 JKI 提供的一种 LabVIEW 应用框架。 | ||
JKISM 是 JKI 提供的一种 LabVIEW 应用框架。 |
Empty file.
Empty file.