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  中抽象程度最高、内容最丰富的部分. 知识模型基本
                 采用非形式的自然语言和图形模型等方式描述; 形式模型采用形式语言进行描述; 实现部分主要包括程序代码. 因
   278   279   280   281   282   283   284   285   286   287   288