Skip to main content

用于 TASTE 的免费 SDL 编辑器

项目描述

OpenGEODE ​​徽标

OpenGEODE

OpenGEODE ​​是一个开源 SDL 编辑器,旨在为欧洲航天局的 TASTE 工具链提供易于使用且免费的状态机编辑器和 Ada 代码生成器,与 ESA 的“Space Certifiable”ASN 结合运行。 1 编译器。

SDL 是规范和描述语言(ITU-T 的 Z100 标准)。

这与图形简单 DirectMedia 层库无关!

有关 SDL 的更多信息,请访问http://sdl-forum.org

OpenGEODE ​​截图

特征

  • 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 项目的一部分

它与 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 }; 默认值必须是基本表达式

项目详情