网站大量收购独家精品文档,联系QQ:2885784924

软件体系结构_软件体系结构形式化描述资料.ppt

软件体系结构_软件体系结构形式化描述资料.ppt

  1. 1、本文档共106页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
THU SAGroup * CSP的递归定义 现实当中有些对象在正常情况下的行为是永不停机的,用递归定义来描述这种情况 对于系统SVM 进程描述:SVM = coin → choc → SVM THU SAGroup * CSP描述体系结构行为 引入成功完成的概念 CSP中的STOP仅仅意味着系统停机,没有成功或者失败的意味。在体系结构描述中引入事件“成功完成” 的概念,用√表示。WRIGHT定义§= √? STOP 事件可以伴随数据。通常e?x表示输入一个参数;e!x表示输出一个参数 引入作用域(Scope)的概念 存在于某一作用域中的进程仅在这个作用域中有效,效果等同于多元递归表示 引入标签(Lable)的概念 标签可以限定事件或者进程的归属者。其中对于某一单个事件的标签使用“.”,例如l.e;对于某一进程中的所有事件使用“:”,例如l:P 通常使用∑来表示所有通用的事件,如l:∑表示所有通用的事件加上l这个标签 THU SAGroup * CSP的优势和劣势 其他的可选方案 Petri网、SDL、I/O自动机、状态图等 在CSP中可以区分Alternatives和Nondeterminisms即由内部进行的决策和外部进行的决策是分开的 CSP中有并行进程组合机制,可以表达一个符合多个进程描述的进程 CSP拥有成熟的工具支持 缺点 CSP中,时间是不被考虑的 CSP中,进程之间只存在触发的关系 THU SAGroup * CSP应用实例 我们用WRIGHT定义一个连接器 Connector CSConnector = { Role client = request!x → result?y → client § Role server = invoke?x → return!y → server □ § Glue = client.request!x →server.invoke?x → server.return?y → client.result!y → Glue □ § } client、server、Glue均为进程,request、result、invoke、return为事件。X为参数 client从使用者的角度来描述其行为,request和result均为client的事件。client是反复执行还是成功终止是由用户自己决定的,环境无法干涉 server从服务提供者的角度描述其行为,invoke和return为server的事件。server是反复执行还是成功终止是由环境(这里特指用户)决定的 glue从连接器的角度将两个角色的行为联系起来 Nondeterminism,表示由自身进行选择 Alternative,表示由环境进行选择 THU SAGroup * CSP连接端口和角色 端口行为也使用CSP表示 例如 Component DataUser = { port DataRead = read→DataRead § [definition of other ports] } 端口定义了系统的实际行为。将一个构件的某个端口和一个连接器的某个角色连接起来,实际上端口将取代角色的位置。即角色只有占位符的意义。 THU SAGroup * CSP深入 CSP具有复杂的演算和证明体系 CSP模型:事件集、迹、拒绝集 CSP是基于字母表、迹和拒绝集的概念。从形式上,CSP进程可以用一个3元组(A,F,D)表示,A表示事件集Alphabet),F表示失效(Failures),D表示偏差(Divergences)。进程的事件集是进程所参与的事件的集合。进程P的字母表通常写成αP。进程的失效是迹与拒绝集组成的对。每个迹表示事件的有限序列,每个拒绝集是一个事件集。进程的迹是进程所允许的事件序列。例如, 进程 P, 可以产生的迹是(),(a),(b),(aa),(ab),(ba),…等等,迹的全集用Traces(P) 表示。 事件的拒绝集可以用进程的失效对表示。失效对的第一个元素是进程的一个迹,第二个元素是进程在该迹上的一个拒绝集。 CSP深入(续) 一个失效是一个迹和一个事件集。对于一个给定的迹,可能存在多个拒绝集。因为拒绝集是子集闭合的,也就是说,如果一个构件拒绝了一个事件集,它就可以拒绝该事件集的任何子集。另外,一个进程可能可以分别拒绝事件的组合,但是并不是所有的组合。 例如,进程 可以拒绝事件a或者事件b,但是不

文档评论(0)

四娘 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档