用于 TASTE 的免费 SDL 编辑器
项目描述
OpenGEODE
OpenGEODE 是一个开源 SDL 编辑器,旨在为欧洲航天局的 TASTE 工具链提供易于使用且免费的状态机编辑器和 Ada 代码生成器,与 ESA 的“Space Certifiable”ASN 结合运行。 1 编译器。
SDL 是规范和描述语言(ITU-T 的 Z100 标准)。
这与图形简单 DirectMedia 层库无关!
有关 SDL 的更多信息,请访问http://sdl-forum.org。
特征
- SDL 流程和程序的图形编辑器。
- 支持状态组合和状态聚合(并行/嵌套状态)
- 适用于纯 PR+CIF 文件(文本 SDL 表示法)
- 使用 ESA 空间认证编译器 ( www.github.com/ttsiodras/asn1scc )支持 ASN.1 数据类型
- 生成 Ada 代码
- 自动转换为状态图
- 将模型的全部或部分保存为 PNG/SVG/PDF 文件
- 超链接(将符号内容链接到任何外部文档或网页)
- 上下文相关的文本自动完成
- 语法高亮
- 撤消/重做,复制粘贴
- (受限)VIM 模式 - 您可以使用 :wq 或 :%s,search,replace,g 和 /search 模式
- 用于解析和呈现来自其他 Python 模块的 SDL 的 Python API
- 模拟器(原型)
主要限制
- 一次只支持一个进程(使用TASTE连接进程组成一个完整的系统)
- 对遗留 SDL 数据类型(新类型/同义词..)的最低支持:改用 ASN.1
安装
OpenGEODE 主要用于 Linux。
它与 TASTE 虚拟机中的所有依赖项一起安装,您可以从此链接下载。在本机 Linux 环境中可以进行手动安装。Debian 10 (buster) 是基准。最新版本的 Ubuntu (20.x) 也应该可以工作。
使用味道
重要提示:OpenGEODE 已安装在 TASTE10 虚拟机(基于 Debian Buster)中,并与工具集完全集成。这是开始使用 OpenGEODE 的最简单方法
要开始一个新项目运行:
$ taste
选择一个项目名称,图形编辑器将在不久后弹出。您可以向系统添加功能并为SDL指定实现语言。编辑函数时,OpenGEODE 编辑器将启动。
~/tool-src/kazoo/tests/Demo_ABB_Opengeode
如果您进入并运行make
构建它,您可以检查使用 Opengeode 的系统示例。然后taste
进行编辑。
退出工具时会自动生成代码。
手动的
以下命令应自动安装:
$ git clone https://github.com/esa/opengeode
$ cd opengeode
$ make full-install # it will prompt for sudo password to call apt
安装将~/.local
通过 Python3 pip 工具在文件夹中完成。确保将其添加到您的 .bashrc (或等效项)中:
export PATH=~/.local/bin:$PATH
安装依赖项后,您可以通过运行以下命令来更新该工具:
$ git pull
$ make install # alternatively: pip3 install --user --upgrade opengeode
OpenGEODE 网站
已创建一个网页,其中包含有关 OpenGEODE 的更多信息。
该页面的源代码 可以在此存储库的wiki 文件夹中找到。对 wiki 源的任何更改将随后由 wiki 维护者合并到 wiki 中。
信息和联系方式
如需更多信息,请联系:maxime (dot) perrotin (at) esa (dot) int
LLVM 后端由 Diego Barbera 在 ESA Summer of Code 2014 期间设计和实施。此组件未维护。Laurent Meyer 实现的一些部分(解析器中的本机 SDL 类型支持)
OpenGEODE 所基于的 ASN.1 编译器 (ASN1SCC) 由 George Mamais 和 Thanassis Tsiodras 为欧洲航天局开发。
执照
许可证是 LGPL(参见文件LICENSE)没有运行时,并且生成的代码不受任何许可证的约束。
字体是来自 Ubuntu 的字体,检查文件FONT-LICENSE.TXT中 的许可证背景图案是从www.subtlepatterns.com下载的
变更日志
3.9.27 (09/2022)
- 修复导出过程的 C 符号拼写问题(Ada 后端)
- 修复过程参数的检查(定义与引用的声明)
3.9.26 (09/2022)
- 修复复制粘贴问题(过程中的粘贴状态和标签转换)
3.9.25 (09/2022)
- 使用模运算符检测除以零的风险
- 修复 ASN.1 常量的范围
3.9.24 (09/2022)
- 修复 C 代码生成后端(使用 renamePolicy=3)
3.9.23 (09/2022)
- asn1scc 的 API 现在允许使用 renamePolicy=3 调用 asn1scc
- 标签分支的复制粘贴中的小修复
3.9.22 (08/2022)
- 在导出的过程签名声明/定义中查找不匹配
- 修复复制粘贴问题
3.9.21 (08/2022)
- C 代码生成器后端中的小修复
- 修复了保存模型时分配给变量的不存在类型的错误
3.9.20 (08/2022)
- 更好地检查与 CONNECT 构造相关的错误(名为 return 的嵌套状态:检测重复和缺少连接转换)
- 标签符号形状的改进
3.9.19 (08/2022)
- 在编辑评论时提高文本和自动完成程序的可见性(确保文本始终位于其他符号的前面,并且自动完成程序位于屏幕区域中)
3.9.18 (08/2022)
- 改进符号的自动调整大小(并删除手动调整大小)
3.9.17 (08/2022)
- 修复对 Asterisk 输入 (INPUT *) 的支持 - 解析器错误修复
3.9.16 (08/2022)
- 更好地检查 dcl 变量默认值是否是基本表达式(不引用变量)
3.9.15 (08/2022)
- 放宽索引访问中的范围检查(仅在绝对确定存在溢出时才引发错误)
3.9.14 (08/2022)
- 修复各种范围检查
- 检测/禁止分配给循环范围迭代器
- 修复连接器的选择
- 对 Append 运算符(解析器和 Ada 后端)的许多修复
3.9.13 (07/2022)
- 修复 mod 和 rem 运算符的范围计算
- 添加 makefile 规则以测试 sdl2if 和 sdl2promela 工具
3.9.12 (07/2022)
- 修复函数类型中的数据模型生成
3.9.11 (07/2022)
- 修复模型检查器使用的代码中的错误
- 在 Ada 后端:忽略没有开始转换的导出过程
3.9.10 (06/2022)
- 修复 Helper 预处理功能在处理别名时的 bug
3.9.9 (06/2022)
- 修复 TASTE 模拟器状态图渲染中的错误
3.9.8 (05/2022)
- 删除使用 QGen 生成代码的选项
- 重构后端
- 与模型一起生成 ASN.1 数据模型
- 简化生成的 Makefile
3.9.7 (05/2022)
- 使用破折号历史时简化生成的代码 (nextstate -*)
3.9.6 (05/2022)
- 检测写入过程中 FPAR IN 参数的尝试(只读变量)
3.9.5 (05/2022)
- 使用 mkstring 形成八位字节字符串时的更多类型检查
3.9.4 (04/2022)
- 序列字段中的更多类型检查
3.9.3 (04/2022)
- 更多类型检查
3.9.2 (04/2022)
- 使用八位字节字符串文字时添加类型检查
3.9.1 (04/2022)
- 改进 chr 运算符:添加输入范围检查
- 如果字符数为奇数,则使用八位字节字符串文字进行修正(在左侧添加 0)
3.9.0 (04/2022)
- 升级到 Qt6 (PySide6)
3.8.1 (04/2022)
- 添加 chr 运算符以将 OCTET STRING 的元素转换为无符号整数
3.8.0 (04/2022)
- 删除旧的模拟器代码(和功能)以支持 TASTE 模拟器
3.7.29 (03/2022)
- 支持“set”和“reset”名称作为标识符
3.7.28 (03/2022)
- 修复决策答案中错误报告的错误(导致段错误)
3.7.27 (03/2022)
- 修复并行状态下的函数调用顺序(主要错误修复)
- 修复深度嵌套/并行状态的初始化
- 在状态图中添加边选择功能
3.7.26 (03/2022)
- 更改 asn1dataModel 的 API(由 TASTE 模拟器使用)
3.7.25 (02/2022)
- 修复生成代码中的连续信号
3.7.24 (02/2022)
- 模拟并行状态时更新状态图渲染
3.7.23 (02/2022)
- 加载/检查模型时的主要性能提升
3.7.22 (02/2022)
- Ada 后端:优化决策答案和状态切换案例的代码
3.7.21 (02/2022)
- 修复 Ada 后端中八位字节字符串文字的分配
3.7.20 (01/2022)
- 修复对 CHOICE 界面自动生成的选择类型的支持
3.7.19 (01/2022)
- 与 DMT 交互时导入 SQL Alchemy 接口
3.7.18 (10/2021)
- 支持双引号和转义字符串
3.7.17 (10/2021)
- 修复进程类型实例中的连续信号
3.7.16 (10/2021)
- 支持进程类型实例中的连续信号
3.7.15 (10/2021)
- 使用 NEWTYPE 时,将类型名称大写以符合 ASN.1
3.7.14 (09/2021)
- 支持过程调用的OUT参数中的索引和字段访问
3.7.13 (08/2021)
- C 后端的小对齐(仍然不完整:使用 Ada)
3.7.12 (07/2021)
- 使用调用程序修复类型检查决策(也防止复制粘贴)
3.7.11 (07/2021)
- 使用连续信号修复嵌套状态下的退出过程调用
3.7.10 (07/2021)
- 修复在多个上下文中使用字符串文字(返回、过程参数)
3.7.9 (07/2021)
- 在 DECISION 字符串内容中存储正确的文本
- 性能提升
3.7.8 (07/2021)
- 在无符号数上添加对 NOT 运算符的支持
3.7.7 (07/2021)
- 修复使用无符号数时的一些位运算符
3.7.6 (07/2021)
- 添加适用于无符号整数的 Right_Shift 和 Left_Shift 运算符
3.7.5 (07/2021)
- 改进对 SDL 同义词的支持(同义词 foo SomeIntType = 42;)
3.7.4 (06/2021)
- 八位字节和位串可以被索引
- 更好地支持八位字节和位串文字
- 位运算符支持无符号整数
3.7.3 (06/2021)
- 修复了使用并行状态时对连续信号的支持
- 支持并行状态的历史状态 (nextstate -*)
- 修复连续信号的形状
3.7.2 (06/2021)
- 添加算子返回观察者状态状态
- 支持无参数内部算子
3.7.1 (06/2021)
- 支持观察者声明错误、成功和忽略状态
3.7.0 (06/2021)
- 不再依赖 mono ;使用基于 .NET Core 5 的 ASN1SCC
3.6.3 (06/2021)
- 修复包含错误的符号上没有 CIF 数据时的解析错误
- 使用 'Enum_Val 从数字中设置枚举值
3.6.2 (06/2021)
- 观察者早期支持检测丢失(未处理)的消息
3.6.1 (06/2021)
- 支持分配给整数的位串文字(例如 dcl x SomeInt := '11'B;)
- 添加位字符串和十六进制字符串文字的范围检查
3.6.0 (05/2021)
- 支持决策中的分组答案(逗号分隔的答案)
- 支持分配给整数的十六进制文字(例如 dcl x SomeInt := '2A'H;)
3.5.9 (05/2021)
- 当字段用点分隔时修复变量的自动完成
3.5.8 (05/2021)
- 调用 ASN1SCC 时使用 --type-prefix AUTO 以避免命名冲突
3.5.7 (05/2021)
- 修复状态图的生成
3.5.6 (05/2021)
- 观察者:支持带参数的连续信号重命名
3.5.5 (04/2021)
- 修复对单个输入/输出表达式的支持(没有消息名称)
- 修复未定义状态的错误图形位置
- 修复并行状态下的连续信号评估
3.5.4 (04/2021)
- 修复未定义信号时的代码生成(仅导出的过程)
- 为输入/输出表达式添加重命名子句(别名)
3.5.3 (04/2021)
- 模型检查观察者:在输入/输出表达式中添加对参数的支持
3.5.2 (04/2021)
- 模型检查观察者:每次调用只运行一个转换
- 支持名为“state”的字段名称
3.5.1 (04/2021)
- 支持别名:dcl var type renames foo.bar.baz;
3.5.0 (04/2021)
- 支持模型检查器的输入/输出表达式
3.4.6 (04/2021)
- 引入监视器以支持模型检查观察者
3.4.5 (04/2021)
- 修复影响 RPC 的 bug
3.4.4 (04/2021)
- RPC调用后,在状态机中执行相应的转换(如果有的话)
3.4.3 (03/2021)
- 忽略系统级别的重复信号定义(仅影响味觉系统)
3.4.2 (03/2021)
- 小错误修正
3.4.1 (03/2021)
- 修复对远程同步调用的支持
3.4.0 (03/2021)
- 支持导出/引用程序(允许远程同步调用)
3.3.7 (03/2021)
- 支持 IA5String 类型
3.3.7 (03/2021)
- 修复类型/实例中上下文参数的处理
3.3.6 (12/2020)
- 程序解析的小错误修复
3.3.5 (11/2020)
- 改进错误消息和图形符号之间的链接
3.3.4 (10/2020)
- 修复在决策分支中绘制连接时的错误
3.3.3 (10/2020)
- 重构:在 ASN.1 中生成所有数据类型
3.3.2 (10/2020)
- 修复程序中语义错误的报告
3.3.1 (09/2020)
- 修复类型同义词的问题
- 更新安装过程
- 从 PyPI 启用 pip3 安装
3.3.0 (08/2020)
-
将状态保存为 ASN.1 模型而不是原生 Ada 类型
-
Ada 后端对“任意决定”的基本支持 **3.2.3 (09/2020)
-
当一个类型继承另一个具有不同约束的类型时,修复类型检查
**3.2.2 (09/2020)
- 修复与 check_queue 符号的导入相关的遗留、非 Kazoo 口味系统的回归
3.2.1 (07/2020)
- 修复“present”运算符的问题
- 将上下文声明移至 .ads
- 始终公开 Get_State 函数(将 char * 返回给 C)
3.2.0 (07/2020)
- 添加对状态类型/实例的基本支持
3.1.2 (07/2020)
- 加强语法错误检查和报告
3.1.1 (07/2020)
- 加强语法错误检查和报告
- 不允许用户转义符号语法错误:重新聚焦文本直到修复
3.1.0 (06/2020)
- 添加对 mkstring 运算符的支持以将元素转换为数组 mkstring (a, b, c) 原则上等同于 ASN.1 Value Notation {a, b, c} 但是 ASN.1 value notation 不能用于 a单个索引元素:{ foo(1) } 因为这是一种模棱两可的语法(它可以与记录字段混合,值为 1)。mkstring 是实际使用的 Z100(SDL 标准)语法
3.0.9 (06/2020)
- C 后端中与区分大小写相关的小修复
3.0.8 (06/2020)
- 支持无范围的 ASN.1 整数常量(plain x INTEGER ::= 5)
- 检查是否仅从 TASK 调用具有返回类型的过程
3.0.7 (06/2020)
- 修复数据字典窗口的更新
- 修复无约束常量支持
3.0.6 (06/2020)
- 修复 CONNECT 符号
3.0.5 (06/2020)
- 在任务中添加对标准 SDL 语法x := CALL 过程的支持
3.0.4 (06/2020)
- 修复在决策分支中使用 ASN.1 常量
3.0.3 (05/2020)
- 扁平化模型以生成代码时替换 unicode 分隔符
- 修复嵌套状态下对退出过程的调用
3.0.2 (05/2020)
- 修复 Pyside2 中的 API 更改
3.0.1 (05/2020)
- 改进生成的 Makefile/gpr 项目文件
3.0.0 (12/2019)
- Opengeode 到 Python3 的端口
- 使用 PySide2 而不是 PySide
- Asn1scc 模块支持附加选项
2.1.5 (10/2019)
- 修复 Unicode 问题
2.1.4 (10/2019)
- 改进为模拟生成的代码
2.1.3 (10/2019)
- 改进状态图渲染(尤其是嵌套状态)
2.1.2 (10/2019)
- 更改用于设置/重置计时器的导入名称大小写(为了口味兼容性)
2.1.1 (10/2019)
- 如果缺少缓存文件夹,请创建它
2.1.0 (09/2019)
- 在使用子字符串和索引以及可变长度数组时加强类型检查。后者不能再在赋值的左侧被索引,因为不能这样设置大小设置可变长度数组的值的正确方法是:1)ASN.1值表示法var := { a, b, c } 2) 使用 append 语句替换值的新赋值: var := var (0) // { b } // var (2, 3)
2.0.44 (09/2019)
- 修复与 kazoo 结合使用时的问题
2.0.43 (05/2019)
- 更好地处理生成的 gpr 文件中的路径
2.0.42 (05/2019)
- 修复子字符串支持(现在可以编写 var(1,2) := {1,2})
2.0.41 (05/2019)
- 添加 --taste 标志以针对与 kazoo 的口味集成
2.0.40 (04/2019)
- 改进生成的 gpr 文件
2.0.39 (04/2019)
- 使用子字符串时修复附加运算符
- 修复 unicode 问题
2.0.38 (04/2019)
- 支持高级“in”表达式(例如“someVar in {enum1, enum2}”或“someVar in {{a 4, b false}, {a 1, b true}}”
2.0.37 (04/2019)
- 支持表达式左侧的子字符串 (a(1,2) := ...)
2.0.36 (04/2019)
- 修复 Ada 后端的 unicode 问题
2.0.35 (04/2019)
- 编辑文本时添加助手(更新数据字典选择)
2.0.34 (04/2019)
- 放松对子字符串的范围检查
- 退出/打开工具时保存/恢复 Windows 几何图形
- 使数据类型在数据字典窗口中完全可见
- write[ln] 运算符现在支持嵌入式换行符
2.0.33 (04/2019)
- 使用子字符串时修复 Ada 后端中的 unicode 问题
2.0.32 (04/2019)
- 修复段错误并改进分支中嵌套状态的复制粘贴
2.0.31 (04/2019)
- 可以剪切/粘贴嵌套状态(嵌套内容之前丢失了)
- 可以复制/粘贴,然后用嵌套内容重命名状态
2.0.30 (03/2019)
- 修复在文本区域中双击自动完成框时的错误
2.0.29 (03/2019)
- 修复范围计算和模运算符
2.0.28 (03/2019)
- 修复新的非口味模型的保存问题
2.0.27 (03/2019)
- 修复使用子字符串时的类型检查
2.0.26 (03/2019)
- 带有下划线/破折号混淆的小错误修复
2.0.25 (03/2019)
- 修复了嵌套状态代码生成中的变量重命名错误
2.0.24 (03/2019)
- 添加choice_to_int 运算符
2.0.23 (03/2019)
- 添加对 NEWTYPE 定义的基本支持
2.0.22 (02/2019)
- 使用 gprbuild 生成 GPR 文件以简化构建
2.0.21 (02/2019)
- 修复模拟构建脚本中的回归
2.0.20 (02/2019)
- 添加了“val”运算符以将数字转换为枚举用法:someVal := val (0, MyEnumeratedType) 和 myEnumeratedType 类型的 someVal。将返回第一个枚举数
2.0.19 (01/2019)
- 对于 CHOICE 类型变量,可以使用对应于选择判别式的枚举类型声明。CHOICE 类型以“-selection”为后缀,“present”运算符现在返回类型类型
- 如果存在与 CHOICE 行列式列表内容完全相同的枚举类型,则可以使用 to_selector 和 to_enum 进行强制转换
2.0.18 (12/2018)
- 在当前目录中生成代码,而不是在 .pr 之一中
2.0.17 (09/2018)
- 修复“power”运算符的类型检查
2.0.16 (07/2018)
- 添加了与系统剪贴板的交互(浮动项目的基础)
2.0.15 (07/2018)
- 修复类型检查系统中的许多错误
2.0.14 (06/2018)
- 修复设置计时器参数时的数字检查
2.0.13 (06/2018)
- 调用 asn1scc 时添加口味兼容缓存机制
2.0.12 (06/2018)
- 修复 ASN.1 常量的分辨率 - 当常量引用另一个常量时,值未正确使用(仅限数值运算)
2.0.11 (06/2018)
- Ada 后端:修复导致 CHOICE_NOT_FOUND 错误的选择决定性问题
2.0.10 (06/2018)
- 状态图渲染中的各种修复,尤其是。从命令行
2.0.9 (06/2018)
- 在状态图中添加计时器
- 从子图中激活选项卡时修复信号的状态图列表
2.0.8 (05/2018)
- 小错误修正
2.0.7 (05/2018)
- 添加选项以使用 QGen(C 和 Ada)生成代码
- 更好地报告模型解析错误
2.0.6 (05/2018)
- 在处理复杂类型时使用 Append 运算符进行了一些修复
2.0.5 (04/2018)
- 使用 ctrl-shift-+ 修复笔记本电脑键盘的放大问题
2.0.4 (03/2018)
- 修复嵌套状态中变量前缀的问题(在生成的代码中)
2.0.3 (03/2018)
- 优化对 asn1scc 的调用
- 修复选择输入符号时的粘贴错误
2.0.2 (03/2018)
- 更好地支持 ASN.1 常量
- 使用进程类型时支持定时器
- 仅在最近未检查时才在保存时触发模型检查建议
- 修复状态图渲染(包括进程类型)
- Ada 后端:当一个分支被忽略时,生成“null”
2.0.1 (02/2018)
- 当用户混合有符号和无符号变量时检测类型不匹配
2.0.0 (02/2018)
- Opengeode的V2基于ASN1SCC V4,不兼容V3
- 主要变化涉及对 ASN.1 类型中无符号数字的支持
1.5.44 (01/2018)
- 修正:Ada 生成失败时返回错误代码
- 测试:将参数重新排序到 asn1scc 以实现 v4 兼容性
1.5.43 (01/2018)
- 添加与 asn1scc v4 的初步兼容性
1.5.42 (10/2017)
- 修复流程类型的案例问题
- 删除子模块
1.5.40 (07/2017)
- 修复数组中的范围检查
1.5.39 (07/2017)
- 测试用例 Makefile 中的小修复
1.5.38 (06/2017)
- 修复 Ada 后端的 unicode 问题
1.5.37 (05/2017)
- 使用嵌套状态中的文字序列修复 Ada 后端错误
1.5.36 (05/2017)
- 修复 Ada 后端的 Unicode 问题
1.5.35 (05/2017)
- 修复 FOR LOOPS 代码生成
1.5.34 (05/2017)
- 修复状态图消息选择框
1.5.33 (04/2017)
- 修复仿真代码的 unicode 问题
- 构建仿真库时使用 -fPIC
1.5.32 (04/2017)
- Ada 后端中的 Unicode 错误修复
- 在 Ada 后端使用 SEQUENCE OF 文字的错误修复
- 各种混合 int32/64 位的错误修正
1.5.28 (03/2017)
- 添加了对 PROCESS TYPE 和实例的初步支持
1.5.26 (02/2017)
- 状态图可以配置为过滤掉信号
1.5.25 (01/2017)
- Ada 后端生成别名上下文(用于模型检查)
1.5.24 (01/2017)
- PR 文件对文本区域使用更好的缩进(无行返回)
1.5.23 (12/2016)
- 在模拟模式下,修复启动函数声明中的错误
- 为模型检查准备的代码生成器
1.5.22 (12/2016)
- 模拟功能保存/恢复上下文修复
1.5.21 (11/2016)
- 使用测试数学修复回归(外部函数的导入)
- 在 ASN.1 文件的 HTML 呈现中使用等宽字体
1.5.20 (11/2016)
- 修复 FOR 循环中格式错误的错误报告
- 支持 SDL2010 点域分隔符(variable.field,而 sdl92 只支持 variable!field)
- 文字序列现在支持字段选择器(即 { variable.field } 现在是有效语句)
- 支持带return语句的内部过程调用
1.5.19 (11/2016)
- 修复 Ada 中的整数转换
1.5.18 (11/2016)
- 修复使用匿名内部类型的 ASN.1 常量的解析
1.5.17 (11/2016)
- 修复了在状态聚合中初始化生成代码的问题
1.5.16 (11/2016)
- 修复保存时的小缩进问题
1.5.15 (10/2016)
- 将不完整的启动转换报告为嵌套状态中的错误
1.5.14 (10/2016)
- 支持命名整数(需要 asn1scc 3.3.04 或更新版本)
1.5.13 (10/2016)
- 更好地支持警告
- 修复了 CHOICE 分配错误的检测
- 如果进程错过开始转换,则引发错误
- 在 SEQUENCE OF 类型不匹配的情况下引发错误
1.5.12 (09/2016)
- 检测程序的重复声明
1.5.11 (09/2016)
- 允许在 RETURNS 关键字之后的过程声明中使用分号
1.5.10 (09/2016)
- 具有更多限制的只读模式
1.5.9 (09/2016)
- 添加了 --readonly 命令行以限制进程修改
1.5.8 (09/2016)
- 错误修复 - 当嵌套状态中有连续信号但根级别没有信号时,Ada 后端失败(如果缺少结束)
- 没有数据视图时加载修复
- 附加类型检查
1.5.7 (09/2016)
- 错误修正 - 更新进程符号的完成列表
- 对数据字典中的 ASN.1 类型进行排序
1.5.6 (08/2016)
- vi界面支持历史
- vi 接口替换可以应用到整个模型(带g)
- 通过 vi 接口重构函数(例如 %state,fromName,toName,)
- 修复了渲染问题(符号坐标可能错误)
- 引入数据字典
1.5.4 (08/2016)
- 各种 GUI 改进
1.5.3 (07/2016):
- Ada 后端修复:现在在不消耗输入的状态下处理连续信号
1.5.2 (07/2016):
- Asn1scc API 添加到与 DMT/asn2dataModel 的接口
- 更好的状态图渲染(节点之间的距离更短)
1.4.5 (07/2016):
- 上下文变量的前缀不正确
- 定时器的回调函数使用 64 位整数
- RI 使用带有 unicode 分隔的前缀来避免名称冲突
1.4.4 (06/2016)
- Ada 后端的小错误修复以支持无类型系统
1.4.3 (06/2016)
- 在 Ada 代码生成器中添加对连续信号优先级的支持
1.4.2 (06/2016)
- 重新加载/正确渲染连续信号的优先级
1.4.1 (06/2016)
- 连续状态可以检查输入队列中是否存在消息以尊重 SDL 语义
- Ada 代码生成器中关于连续状态的错误修复
1.3.28 (06/2016)
- 排除的状态(带有 *(statelist) )区分大小写
1.3.27 (05/2016)
- 修复使用连续信号时 Ada 后端的错误
- 更好地处理模拟脚本
1.3.26 (05/2016)
- 使用否定表达式修复解析器问题
1.3.25 (05/2016)
- 修复状态聚合中的语法错误报告
1.3.22 (05/2016)
- 除法和减法的范围检查中的错误修复
- 优化无 CIF 注释时的加载
1.3.21 (05/2016)
- 完全支持可选字段(检查测试/回归/测试可选字段)
1.3.20 (05/2016)
- 改进模拟器界面
1.3.19 (04/2016)
- 三元运算符的各种错误修正
- 添加了演示“test-save”,展示了如何模拟 SAVE 符号的行为
- ASN.1 类型以 SDL 语法显示(无连字符)
1.3.18 (04/2016)
- 添加对 NULL 类型的值表示法的支持
- 访问 CHOICE 字段时删除警告
1.3.17 (04/2016)
- 添加对空序列 ("{}") 的值表示法的支持
1.3.16 (03/2016)
- 在 GUI 中测试聚合状态的错误修复
1.3.15 (03/2016)
- 当状态聚合仅包含空状态(直接返回状态)时,Ada 后端中的错误修复。
1.3.14
- 带有命令行处理的小错误修复
1.3.13
- 连续信号渲染中的错误修复
1.3.12
- 正确呈现在 .pr 文件中声明但没有文本框的无参数过程
- 转到父场景时,修复了渲染问题
1.3.11
- 解析器更能容忍不完整的系统
1.3.9/10 (01/2016)
- Checker 验证 Real 和 Boolean 类型的决策覆盖是否完整
- F3生成Ada代码
1.3.8 (01/2016)
- 修复未安装 LLVM 时的日志记录
1.3.7 (12/2015)
- 添加了从 GUI 使用连续信号的图标
1.3.6 (11/2015)
- 支持具有 return 语句的外部过程,这允许从 libmath 导入数学函数,而无需提供手动代码。见测试数学
1.3.5 (11/2015)
- 更好地支持连续信号
1.3.4 (11/2015)
- 早期支持连续信号
- 回归问题已修复 (test-nocif2)
1.3.3 (11/2015)
- 更好地支持依赖于平台的屏幕分辨率和 dpi
- 状态图场景中的小修复(无负坐标)
1.3.1 (11/2015)
- 支持状态聚合(并行状态)
- 改进的状态图渲染
1.2.10 (10/2015)
- 更好地支持 renamePolicy
- 更好地处理没有 CIF 坐标的模型
- 修正了一些小错误
- 使用范围时正确处理 Forloop 语法错误
- 使用 OCTET STRING 时支持十六进制和位字符串文字
- 支持过程 FPAR 的 OUT 关键字
1.2.4 (07/2015)
- 使用带有新 -renamePolicy 标志的 ASN1SCC 编译器的 3.2.x 版本
- 提高鲁棒性
1.1.1 (07/2015)
- 如果用户尝试保存带有语法错误的模型,则强烈报告带有符号位置的语法错误和警告
1.1.0 (07/2015)
- Write/Writeln 过程支持枚举类型
1.0.1 (06/2015)
- 修正:默认调用 asn1.exe 时使用 mono(需要基于 redhat
1.0.0 (06/2015)
- 错误修正和小改进
- Python API / Simulator 功能(与其他 TASTE 组件相结合)
1.0RC (10/2014)
- 发布候选版本 1
- 允许独立系统(由一个进程组成)
- 解析器和 Ada 后端的重大重构
- 许多错误修正和改进
- LLVM 后端的第一个版本
0.994 (07/2014)
- 维护版本,小修复
0.993 (07/2014)
- 解析器错误修正
- 更好地支持嵌套状态
- Ada 生成器改进
- 支持 unicode
- PR 代码的缩进
- 过程和嵌套状态的复制粘贴
- 改进的回归测试
0.99 (04/2014)
- 后端引擎的重构,现在使用 singledispatch
- 支持分层状态
- 修正了一些小错误
0.98
- 添加了对 FOR 循环的支持 在任务中,使用“for x in range([start], stop, [range]): ... endfor”或“for x in sequenceOfvariable: ... endfor”
- 默认符号大小更小
- 各种小错误修正
0.97
- 在声明变量时添加了对默认值的支持,例如 DCL myVar myType ::= { x 5, y 2 }; 默认值必须是基本表达式