從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