北京航空航天大学 计算机学院 工程硕士课程.pdf
文本预览下载声明
北京航空航天大学计算机学院工程硕士课程
软件体系结构与中间件技术
主讲:赵永望
zhaoyw@
1
第六讲:基于软件体系结构的开发
内容提要
• 动态软件体系结构
• 基于体系结构的开发
• 软件体系结构回顾
3
4
软件动态演化的方法
• binary code patching
– 软件升级:微软Windows 、Office
• programming language facilities for
dynamic loading, linking, and patching of
code
– DLL动态链接库、Java类动态加载、OSGi框架
• software designed for fault tolerance
(architectural styles and patterns)
5
动态软件体系结构
• 主要研究由于特殊需要,必须在连续运行情况下的体系结
构变化与支撑平台
– 静态体系结构上,这种体系结构在运行时不能发生改变
– 但是,一些需要长期运行并且具有特殊使命的系统——连续可用
• 金融系统
• 航空航天系统
• 交通系统
• 通信系统等
– 如果系统需求或环境发生变化,此时停止运行进行更新或维护,
将会引起高额的费用和巨大的风险,对系统的安全性也会造成很
大影响。
– 静态体系结构缺乏表示动态更新的机制,很难用它来分析描述这
样的系统。
6
动态软件体系结构
• 软件体系结构的动态性
– 软件体系结构包括哪些元素?
– 交互式动态性
• 允许在复合构件的固定连接中改变数据
– 结构化动态性
• 允许对系统添加或删除构件或连接件
– 体系结构动态性
• 允许构件的整个配置改变
7
动态软件体系结构
• 动态体系结构的研究
– 模拟和描述体系结构动态更新
• 模拟和描述体系结构动态更新方面研究主要集中在
对现有ADL扩展以支持体系结构的动态性
– 体系结构动态更新的执行
• 对于动态体系结构应用方面的研究还很不成熟
– 加州大学Irwin分校的ArchStudio
– 伦敦皇家学院的SAA (Software Architecture Assistant )
• 当前主流的体系结构模型CORBA、COM、EJB等,
都不支持体系结构的动态更新
8
动态体系结构的描述
◇ 动态体系结构描述语言
◎ Dynamic Wright
显示全部