Page 283 - 《软件学报》2026年第3期
P. 283
1246 软件学报 2026 年第 37 卷第 3 期
入式系统的, 因此软件 IP 模型的设计采用“管道-过滤器”风格, 而不是一般的软件构件模型采用的“请求-响应”
风格.
C1 C2 C3
trigger0 trigger2
trigger3
trigger1 trigger2′
trigger0′ data1 trigger3′
trigger2′′
trigger1′ trigger3′′
图 5 “管道-过滤器”交互式模型
C1 C2 C3
function0()
function1()
function2()
图 6 “请求-响应”交互式模型
另外, 图 4 中的软件 IP 模型是功能独立的, 即外部环境通过调用软件 IP 的名称来访问 IP 的功能, IP 的执行
只依赖于接口里的输入, 而不会依赖于外部的其他功能. 相比于软件 IP 模型, 软件构件模型不是功能独立的, 它需
要通过请求接口请求外部的服务, 然后才能通过提供接口向外提供服务. 从知识产权的角度来说, 用户购买的软件
功能模块必须是功能独立的, 否则用户需要购买更多的模块来支持之前购买的模块的功能, 这是不合理的. 因此,
这也是本文将软件 IP 模型设计成图 4 的形式而不是图 2 构件形式的一个重要原因.
2.3 知识模型、形式模型和实现
一个良构的软件 IP 应该能够全面、正确地反映软件 IP 在创建和使用过程中的关键特性, 它是开发者关于软
件知识的抽象和汇集, 构成了软件智能合成理论与方法的核心概念. 总的来说, 软件 IP 的表示模型可以定义为如
下三元组:
SoftwareIP = (KM, FM, IMP),
其中, KM 表示知识模型, FM 表示形式模型, IMP 表示实现, 如图 7 所示.
(1) 知识模型 (2) 形式模型 (3) 实现
图 7 嵌入式软件 IP 通用模型
知识模型是软件 IP 中知识的结构化表示, 它是软件 IP 中抽象程度最高、内容最丰富的部分. 知识模型基本
采用非形式的自然语言和图形模型等方式描述; 形式模型采用形式语言进行描述; 实现部分主要包括程序代码. 因

