从 Eclipse Papyrus / XText 转向.NET —— SCADE MBD技术的演化
从KPN
[1]的萌芽开始,到SCADE
的推出[2],再到Scade 6
的技术更迭[3],SCADE
基于模型的开发技术已经历许多。现在,Scade One
已开启全新的探索 —— 从 Eclipse Papyrus / XText
转向.NET 8
跨平台应用。
[1]: KPN, Kahn进程网络 (1974), csdn.net
[2]: SCADE 于1995年由 Verilog 推出。SYNCRHON 2022, A Brief History of Synchronous Programming. csdn.net
[3]: Scade 6 在 2008 年推出。SYNCRHON 2022, A Brief History of Synchronous Programming. csdn.net
SCADE的SCADE Suite
产品至少从与Esterel Studio
结合开始,在发展中始终保持对过去技术选择的兼容。即使在SCADE Suite 2025 R1 student
中,也同样保留了诸如对tcl
脚本技术的支持,以及其他esterel studio
时期的技术选择。然而,SCADE Suite
产品从1995年发布到2024年近30年的发展后,首次在SCADE One
产品系列中卸下Eclipse Papyrus
、XText
的遗产,转向了.NET 8
跨平台开源技术,开启全新篇章。
现代.NET
技术介绍
自2016年.NET Core
推出,其跨平台(Windows, Linux, macOS)和开源(MIT协议)的特点改变了.NET
原本给人的刻板印象。发展至2025年,目前的长期维护版本(LTS)为 .NET 8
。
现代.NET
在支持WPF的基础上,强化了 MAUI(Multi-platform App UI),允许开发者使用单一代码库为 Windows、macOS、iOS、Android 构建原生界面。在Linux桌面应用支持方面,通过 Avalonia 等框架,.NET 8
可支持 Linux 桌面开发。在与Web技术的融合方面,支持 Blazer Hybrid
开发模式,以及对WebView2
的深度支持等。
Eclipse Papyrus
与 .NET
的不同
SCADE Suite
自与Esterel Studio
结合起,在建模技术方面,始终基于Eclipse Papyrus
、XText
等技术。同现代.NET
相比,都具备跨平台、开源的特点,和丰富活跃的生态。不过在知识产权保护技术方面,.NET
应用更难以被逆向工程。
基于Eclipse Papyrus
、XText
等技术的应用,编译后的形式为字节码(bytecode)。不同于本地机器码因依赖硬件架构而规范多元,JVM规范明确定义了.class
文件格式,且指令集语义公开,解析字节码的十六进制表示相比本地机器码更便利。如 vineflower
(github.com
)等是目前较流行的现代bytecode反编译器。
可视化建模技术与在线检查技术
根据对SCADE One
的使用实践[4],经观察,注意到工具的可视化建模技术使用了与yFiles
表现力相似的技术yworks.com
。以及基于F# Lex Yacc
(github.com
)对模型在线检查提供支持。
[4]: 对SCADE One Student
的使用实践 bilibili.com