ADL (体系结构描述语言)_第1页
ADL (体系结构描述语言)_第2页
ADL (体系结构描述语言)_第3页
ADL (体系结构描述语言)_第4页
ADL (体系结构描述语言)_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、ADL (ADL (体系结构描述语言)体系结构描述语言)ADL 是什么?ADL:是这样一种形式化语言,为软件系统的概念体系结构建模提供了具体语法与概念框架作用:基于底层语义的工具为体系结构的表示、分析、进化、细化、设计过程等提供支持。其三个基本构成元素是:1)组件:计算或数据存储单元;2)连接件:用于组件问交互建模的体系结构构造块及其支配这些交互的规则3)体系结构配置:描述体系结构的组件与连接于的连接图。ADL应具备的特点: 1.ADL首先应有一个形式化理论基础,如Petri网、状态图、z、CSP等。有了形式化理论基础,才能对所描述的系统进行分析和验证。 2.作为一种描述语言,ADL应具有严谨

2、的语法和语义。描述能力应足够强,至少应能描述的基本构件如组件、连接件及有关配置规范。同时,为了更好的应用,一种ADL,应有相应的支持工具,支持工具的能力直接反映了该ADL的可使用程度和范围。 3.描述软件体系结构的一个很重要的目的是为了便于软件开发者的理解和交流,因此,ADL描述应简单易懂,最好有图表辅助理解。对于同一个体系结构,不同的软件开发者需要从不同的抽象层次上理解,这就要求ADL能描述不同抽象程度的软件体系结构几种ADLDarwin采用演算来分析、描述带有演化通信结构的并发系统。在演算中,一个系统被表述成一组具有独立功能的进程集,集合中的每个进程可以与其它进程建立连接,每个连接都有一个

3、连接名。Darwin采用演算对系统行为进行建模,利用其强类型系统进行静态检查。DARWIN EXAMPLEcomponent DataStore provide landerValues;component Calculation require landerValues; provide calculationService;component UserInterface require calculationService; require landerValues;component LunarLanderinst U: UserInterface; C: Calculation; D:

4、 DataStore;bind C.landerValues - D.landerValues; U.landerValues - D.landerValues; U.calculationService - C.calculationService; Canonical Textual VisualizationGraphical VisualizationXYZ/ADL针对国内唐稚松院士提出基于时序逻辑的XYZ语言进行扩充,用来描述验证具有实时性、可靠性要求的软件体系结构Language and tool-set for exploring dynamic properties of sy

5、stems of components that communicate through eventsAdvantagesUnique and expressive language for describing asynchronously communicating componentsTool-set supports simulation of models and graphical visualization of event tracesDisadvantagesNo natural or explicit mapping to implemented systemsHigh l

6、earning curveImportant tool support is difficult to run on modern machinesHas morphed into the CEP project, howeverRAPIDE8 8type DataStore is interface action in SetValues(); out NotifyNewValues(); behavior begin SetValues = NotifyNewValues();end DataStore;type Calculation is interface action in Set

7、BurnRate(); out DoSetValues(); behavior action CalcNewState(); begin SetBurnRate = CalcNewState(); DoSetValues();end Calculation;type Player is interface action out DoSetBurnRate(); in NotifyNewValues(); behavior TurnsRemaining : var integer := 1; action UpdateStatusDisplay(); action Done(); begin (

8、start or UpdateStatusDisplay) where ($TurnsRemaining 0) = if ( $TurnsRemaining 0 ) then TurnsRemaining := $TurnsRemaining - 1; DoSetBurnRate(); end if; NotifyNewValues = UpdateStatusDisplay(); UpdateStatusDisplay where $TurnsRemaining = 0 = Done();end UserInterface;architecture lander() is P1, P2 : Player; C : Calculation; D : DataStore;connect P1.DoSetBurnRate to C.SetBurnRate; P2.DoSetBurnRate to C.SetBurnRate; C.DoSetValues to D.SetValues; D.NotifyNewValues to P1.NotifyNewValues(); D.NotifyNewValues to P2.NotifyNewValues();end LunarLander;Software Architecture: Foundati

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论