Page 284 - 《软件学报》2026年第3期
P. 284
徐雄 等: 嵌入式软件 IP 通用模型 1247
此, 从抽象/精化的角度看, 虽然知识模型最抽象, 但是可以覆盖软件 IP 的整个生命周期, 所以其内容最丰富. 知识
模型首先是帮助开发者和使用者从各个方面理解软件 IP, 其次能够辅助软件 IP 的搜索、适配和组装. 形式模型是
知识模型的一种形式化表示. 相对于知识模型, 形式模型能够在更深层次上帮助理解软件 IP, 它能最大程度地减
少软件 IP 的创建者和使用者对软件 IP 的认知差距, 能够为软件智能合成提供安全保障. 最后, 实现部分中的程序
代码需要和形式模型中的描述保持一致.
3 软件 IP 的知识模型
现有的方法 (CBD、MDD 和 DbC 等) 缺乏对嵌入式软件设计与开发过程中产生的中间知识的表示, 因此难
以支持二次开发. 在合成软件时, 需要去搜索一些功能模块完成组装, 如果没有这些中间知识, 那么很难进行功能
模块的搜索和适配. 软件 IP 可以通过知识模型来表达这些与设计和开发相关的知识. 与知件 [81,82] 的关注点不同,
软件 IP 知识模型的关注点是支持软件 IP 的自动搜索与适配, 为基于软件 IP 的智能合成奠定知识基础.
3.1 软件 IP 的知识及使用模式
软件 IP 是开发者知识的一种体现, 开发者复用软件的能力直接来源于拥有的关于软件资产及其属性的知识,
因此研究软件 IP 的知识对使用和理解软件 IP 起到了关键的作用. 具体来说, 软件 IP 知识的使用模式如图 8 所示.
首先, 软件 IP 创建者感知应用领域的环境, 从知识库中获取领域知识, 然后推理产生结论 (软件 IP 的分析与设计),
执行相应的动作 (软件 IP 的创建与执行), 最后验证期望结果和实际结果之间的差异, 判断软件 IP 的执行效果, 这
一过程产生的新的软件 IP 将被存入知识库中; 另一方面, 软件 IP 使用者感知使用环境以及用户需求, 从已有的知
识库中获取知识, 在此基础上完成软件 IP 的选取、适配与演化, 最终合成新的软件 IP, 这个过程也会产生新的知
识, 进一步丰富软件 IP 知识库的内容.
应用环境 使用环境、用户需求
软件IP创建者 软件IP使用者
感知: 业务知识获取 感知: 现有软件IP知识
知识
期望: 验证 推理: 软件IP分析与设计 推理: 软件IP选取与适配 期望: 验证
动作: 软件IP创建与执行 动作: 合成新的软件IP
图 8 软件 IP 知识的使用模式
3.2 软件 IP 知识模型的结构
软件 IP 作为一种可独立部署、可组装的知识实体, 其中最重要的就是它的知识模型. 知识模型是具有指导意
义的结构化信息, 可以定义为如下三元组:
KL = (Basic, Expert, SoftDev),
其中, Basic 表示基本知识, Expert 是领域专家知识, SoftDev 表示软件开发过程知识, 如后文图 9 所示.
3.2.1 基本知识
软件 IP 的基本知识是对软件 IP 的一个总体概述, 表示该 IP 本身的一些属性信息, 具体包括 IP 名称、ID 编
号、版本、版权归属、作者以及开发的时间、关键词、所属应用领域和类别等.
(1) IP 名称是一个名词性短语, 用中文描述同时给出英文缩写, 并且要求 IP 名称能够直接反映该 IP 要解决的

