基于软件架构的互联网软件组件组合方法解析
立即解锁
发布时间: 2025-08-25 01:51:56 阅读量: 3 订阅数: 10 


互联网计算新范式:Internetware解析
# 基于软件架构的互联网软件组件组合方法解析
## 1. ABC 方法概述
ABC(Component Composition)方法起源于 1998 年,并于 2000 年正式提出。它结合了软件架构(SA)和基于组件的软件开发(CBSD),旨在支持软件复用。
### 1.1 SA 与 CBSD 的特点及局限性
- **软件架构(SA)**:提供了一种自顶向下实现基于组件复用的方法。它使用架构描述语言(ADL)来抽象组件、连接器及其交互,构成整个架构模型。然而,SA 对架构描述的细化和实现关注不足,无法完全自动化实现从架构到可执行系统的转换或组合。
- **基于组件的软件开发(CBSD)**:通过现有的中间件基础设施提供了一种自底向上的方法。它强调如何复用预制组件来构建大规模软件系统,但主要局限于二进制组件(如 COM、CORBA、EJB),并且无法系统地指导 CBSD 过程,尤其是在更高抽象层次的组件组合方面。
### 1.2 ABC 方法的优势
ABC 方法将软件架构引入软件生命周期的每个阶段,以 SA 作为系统开发、部署和管理的蓝图。通过支持工具和映射机制,缩短了高层设计与实现之间的差距,实现了系统的自动化组合。其过程模型包括以下几个阶段:
- **需求分析(需求视图)**:将 SA 引入需求分析阶段,以指导高层次的组件组合。使用特征来表示软件需求,特征之间的关系表示需求之间的关系,组织成特征模型。基于特征模型,通过识别每个组件的职责和分析需求之间的依赖关系,设计初始的 SA 模型。
- **架构设计阶段(设计视图)**:在这个阶段形成完整的 SA 模型。架构师根据需求规格确定全局设计决策,对初始 SA 模型中的组件和连接器进行细化,必要时创建新的组件和连接器,并建立需求规格与 SA 模型之间的关系。
- **组合阶段(实现视图)**:基于 SA 模型进行组件的选择、适配和集成,生成可交付的软件包。对于没有可复用实现的组件,自动生成详细设计模型或编程框架。
- **部署阶段(部署视图)**:引入显式的部署视图,该视图呈现从其他视图推导出来的大部分信息,支持对部署相关信息的直观操作,实现组件化软件系统的自动化部署。
- **维护和演化阶段(运行时视图)**:使用运行时视图描述软件系统的运行时状态和行为。基于反射中间件,运行时软件架构(RSA)反映目标系统在运行时的情况,可对目标系统进行运行时维护和更新。
### 1.3 ABC 方法的工具支持
ABC 方法提供了一组工具,包括特征建模工具、SA 建模工具和作为组件操作平台的中间件。其中,SA 建模工具支持可视化的 SA 设计、组件组合、部署以及在线维护和演化。
### 1.4 ABC 方法适用于互联网软件的原因
- 互联网软件从“无序”资源形成“有序”软件系统,这一过程体现了典型的复用范式,ABC 方法对相关技术的支持能够满足这一需求。
- 虽然互联网软件中的软件实体具有自主性,但仍需要显式的 SA 进行全局和松散的控制。与传统软件相比,互联网软件的 SA 模型中的一些实体及其连接在运行前可能不确定或在运行时不断变化。
- 互联网软件强调交付后的持续演化,开发工具需要与运行时平台集成。ABC 方法中的 SA 模型在集成设计、实现、部署、维护和演化工具方面发挥着核心作用。
## 2. 面向特征的互联网软件需求建模
### 2.1 互联网软件资源的特点及挑战
互联网软件的工程通常基于一个拥有丰富软件资产的平台,以自底向上的方式进行。然而,该平台是一个开放、动态和不断变化的框架,其中的大多数现有资产是分布式、分散和异构的,呈现出“无序”状态。因此,如何将这些无序的资产整合为有序和可控的资源,是互联网软件工程面临的一个挑战。
### 2.2 领域工程的应用
ABC 方法采用领域工程的方法和技术来协调互联网软件所基于的底层资源。通过领域范围界定和分析,将分布在互联网上的无序资源组织成具有可变性表示机制的领域模型,该模型体现了一组互联网软件的高层业务目标。然后,根据特定应用需求对领域模型进行定制和扩展,构建新的应用。随着时间的推移,新的应用可能会成为新的无序资源,通过进一步分析可以将其添加到领域模型中,形成从无序资源到有序资源的迭代过程。
### 2.3 特征模型的构建
ABC 方法使用特征作为问题空间的基本元
0
0
复制全文
相关推荐










