当地约束于配置规则之中,并具有清晰的含义。
4.定义可以对基于这种风格建立的系统进行的分 析。如:Client/Server结构风格的实时处理过程的可调度性。
基本的软件体系结构风格
Garlan和Shaw对通用体系结构风格的分类:
•数据流风格:批处理序列;管道/过滤器; •过程/调用风格:主程序/子过程;面向对象;分层系统; •独立组件风格:进程通讯;基于事件驱动的系统(显式调用\隐式调用) •虚拟机风格:表格驱动的解释器(类似CPU);基于规则的系统(类似工业
件。系统中其它组件的过程在一个或多个事件中注册,当一个事件 被触发,系统自动调用在这个事件中注册的所有过程。这样,事件 的触发就可以隐式调用模块中的过程。
管道-过滤器
数据中心式
中央数据库:常见的数据库 应用系统
超文本系统: WWW 黑板
独立部件式
互通信进程:UNIX系统 事件系统(隐式调
用):Windows
显式调用
虚拟机式
解释器: JAVA虚拟机 基于规则的系统: 过程控
制系统
基本的软件体系结构风格
出发点:侧重于软件体系结构的结构模型,即观察软件部件、连
基本的软件体系结构风格
----管道/过滤器(pipes and filters)
计算过滤器
管道
计算过滤器
过滤器:对输入数据进行局部变换,并采用渐进式计算方法, 在未处理完所有输入数据以前,就可以产生部分计算结果, 并将其送到输出端口。
管道:各过滤器之间的连接器将一个过滤器的输出传到下一 过滤器的输入端。
Interpreter
Rule-based System
From Chapter 5, Software Architecture in Practice, p. 95