Page 289 - 《软件学报》2026年第3期
P. 289

1252                                                       软件学报  2026  年第  37  卷第  3  期


                 价性, 来确认知识模型与形式模型之间的一致性. 然而, 就目前而言, 形式模型的理解以及检查文本之间的语义等
                 价性在自然语言理解领域都是巨大的挑战.
                  6.2   知识模型与实现
                    软件  IP  的实现  (代码) 可从其知识模型中合成, 之后可以使用一些测试和形式化技术                    [89] 来检查原始代码与合
                 成代码之间的功能等价性. 近年来, 基于人工智能技术               [90−92] 从自然语言描述合成代码的方法已得到长足进步, 然而
                 通过人工智能生成的代码的正确性和安全性难以得到保证                     [93,94] . 尤其是涉及安全攸关嵌入式软件时, 如何合成满
                 足安全要求的正确代码仍然是一个开放的问题. 此外, 可以借助                   LLM  将软件   IP  实现部分的代码生成自然语言描
                 述, 即对代码的理解. 与形式模型的理解           (第  6.1  节) 类似, 将代码转换为正确的文本描述也是自然语言理解领域的
                 一大挑战.
                  6.3   形式模型与实现
                    基于模型驱动开发       (MDD) 的思想, 软件    IP  的形式模型可以逐步精化为可执行代码             (实现). 与基于人工智能
                 技术的代码生成不同, 通过精化生成的代码更为可靠, 尽管生成的代码可能存在效率较低、冗长等问题. 例如, 最
                 近有一些研究工作将经过验证的            HCSP  模型转换为   SystemC [95] 和  C [96] 代码, 并保证了形式模型与生成代码之间的
                 一致性.
                    另一方面, 软件     IP  实现部分的代码也可以抽象为形式模型. 目前存在一些工具可以自动或半自动地从代码执
                 行轨迹中推断出契约、断言和不变式, 例如              Daikon [97] 、EvoSpex [98] 等. 近年也出现一些基于  LLM  生成不变式和程
                 序形式规约的研究工作        [99] . 此外, 还有许多其他从代码生成规范的方法, 例如在            K  语义框架  [100] 中合成规约, 将代
                 码注释转换为形式规约        [101] 等.

                  7   软件  IP  的视图

                    以上介绍的知识模型、形式模型和实现构成了软件                   IP  的主体部分, 此外, 一个软件      IP  实体还包括一些说明
                 性文档. 具体来说, 软件     IP  的目录结构如后文图      12  所示, 主要由以下部分构成.
                    (1) 数据单  (Datasheet): 以文档的形式呈现, 是软件    IP  的总览, 包含软件   IP  的功能、性能、接口描述、可靠性
                 和安全性约束、运行环境、使用范例及仿真测试数据等信息.
                    (2) 知识模型: 以  XML  文档的形式对软件       IP  的知识进行表示, 同时包含知识模型中涉及的一些图形模型及其
                 可解析文档.
                    (3) 形式模型: 包括软件     IP  的形式规约、非功能约束和        IP  不变式的可解析文档.
                    (4) 实现: 包含接口的.h   文件和实现的源代码.c 文件        (或者编译后的静态链接库.a 文件).
                    (5) 制品: 包括如下.
                    ● 说明目录: 对应管理视图下的说明部分, 主要包含一些说明性的文档以供查阅.
                    ● 测试目录: 对应管理视图下的测试部分, 包含测试报告和测试用例.
                    ● 仿真目录: 对应管理视图下的仿真部分, 包含仿真报告和仿真数据.
                    ● 维护目录: 对应管理视图下的维护部分, 包含维护记录.
                    然而, 软件   IP  的复杂性将会给基于软件       IP  的智能合成带来困难. 因此, 为了简化软件           IP  的表示, 本节将从软
                 件  IP  的不同观察视角出发, 定义软件       IP  的层次化视图, 包括基本视图、设计视图、验证视图、开发视图、管理
                 视图和用户自定义视图, 如后文图          13  所示. 此外, 后文图  12  的目录结构可以看作是软件         IP  的全视图.
                  7.1   基本视图
                    软件  IP  的基本视图相对于软件       IP  的其他视图处于最抽象的层次, 它代表领域内的一个概念                 (concept). 例如,
                 工程师在设计一个软件系统的过程中会产生一些概念, 而系统的雏形就是由这些概念组合而成                                [102] . 实际上, 这些
                 概念就是所谓的知识, 因此软件         IP  的基本视图可以看作是软件         IP  的最小知识模型.
   284   285   286   287   288   289   290   291   292   293   294