软件体系结构描述语言C2ppt课件.ppt

上传人:小飞机 文档编号:1419312 上传时间:2022-11-22 格式:PPT 页数:25 大小:222KB
返回 下载 相关 举报
软件体系结构描述语言C2ppt课件.ppt_第1页
第1页 / 共25页
软件体系结构描述语言C2ppt课件.ppt_第2页
第2页 / 共25页
软件体系结构描述语言C2ppt课件.ppt_第3页
第3页 / 共25页
软件体系结构描述语言C2ppt课件.ppt_第4页
第4页 / 共25页
软件体系结构描述语言C2ppt课件.ppt_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《软件体系结构描述语言C2ppt课件.ppt》由会员分享,可在线阅读,更多相关《软件体系结构描述语言C2ppt课件.ppt(25页珍藏版)》请在三一办公上搜索。

1、1,软件体系结构描述语言 C2,小组成员:,2,引言,软件体系结构是根植于软件工程发展起来的新兴学科,目前已经成为软件工程研究和实践的一个重要领域。软件体系结构设计的一个核心问题是能否使用重复的体系结构模式,即能否达到体系结构级的软件重用。也就是说,能否在不同的软件系统中,使用同一体系结构。C2体系结构风格作为一种经典的体系结构风格,它就具有平衡开发费用与近产品的共同性的特性。按照C2体系结构风格的规则,我们能够把各种粒度的构件集成到一个系统结构中。可以说,C2体系结构风格对软件结构和软件构件交互定义了一个良好的设计规范,同时还具有广泛的试验和工具。因而,它就为软件设计开发者提供了一个有效的软

2、件重用环境。目前,大型企业的组织机构基本上都为树型结构,而且各个机构可能位于不同的地区。随着企业内部信息交互越来越频繁,分布式系统的应用越来越受到重视,且对系统的可扩展性及可维护性的要求也越来越高。,3,背景,1995年, University of California Irvine的RichardNTaylor等人在一篇题为“A Component And Message-Based Architectural Style For GUI Software”的论文中提出了一种新的体系结构风格,将其称为“C2风格”。这种风格的设计是用来支持图形化用户界面应用程序的需要,然而,很明显,它还具有

3、支持其他类型应用程序的潜力。如今,在JAVA平台上有许多中间件可以支持C2风格的实现。,4,定义,C2是一种用于用户界面密集的系统的软件体系结构风格。在C2风格的体系结构中,连接件在构件之间转发消息,构件负责维护状态,进行操作,通过两个接口(顶端接口和底端接口)和其他构件交换消息。构件之间的消息交换不能直接进行,而只能通过连接件来完成。每个构件接口最多只能和一个连接件相连,而连接件可以和任意数目的构件或连接件相连。,5,C2风格的中心原则,C2风格的中心原则是有限可视原则,或者说是下层独立的原则:在C2风格的体系结构中,某一构件只能感知层次高于自己的构件所提供的服务,而不能感知到层次比自己更低

4、的构件的服务。 这种单向的传递性,有利于系统的维护和扩展。,6,C2风格的通信规则,C2中,所有构件间的通信必须通过消息来实现,这也是构件之间的唯一通信途径。每个构件都有一个顶端域、一个底端域。构件的顶端域定义了构件可以对哪些通知做出响应,以及可以发出哪些请求;构件的底端域定义了可以向下层发送哪些通知,以及可以响应下层的哪些请求。,7,C2架构风格,C2风格定义了两种类型的消息:向上发送的请求消息(Requests)和向下发送的通知消息(Notifications)。请求消息只能向上层传送而通知消息只能向下层传送。通知消息的传递只对应于构件内部的操作,而和接收消息的构件的需求无关。,8,C2体

5、系结构风格元素构成,构件:分别有top和bottom端口只能和1个连接件相连顶层域规定了该构件所能响应的通知消息集,以及它能向上产生的请求消息集底层域规定了该构件所能向下产生的通知消息集,以及它能响应的来自于下层的请求消息集。,9,C2构件,C2构件包括4个内部成分:内部对象:存储构件状态并实现构件所提供的操作。包装器:内部对象上的包装器监控所有的操作请求,并通过底端接口发送通知。对话:负责把接收到的外部消息映射成内部对象上的操作。域转换器:是一个可选的,它可以修改一些消息使其能被其他构件理解。,10,C2构件的作用,对构件上方的连接件发送过来的通知消息提供响应;对构件下方连接件产生的请求消息

6、执行相应的操作;维护一些在对话框中定义好的约束条件。,11,C2消息,C2风格定义了两种类型的消息:向上发送的请求消息(Requests)和向下发送的通知消息(Notifications)。请求消息只能向上层传送而通知消息只能向下层传送。通知消息的传递只对应于构件内部的操作,而和接收消息的构件的需求无关。,12,C2连接件,连接件是负责构件之间消息的传递可以连接任何数量的C2构件和连接件。连接件的主要职责是消息的路由和广播,另一个次要职责是消息的过滤。(不过滤消息、通知消息过滤、优先过滤策略、消息屏蔽),13,C2风格特点,(1)基底独立性:构件不需要知道它下面的构件。一个反映构件内部对象状态

7、改变的通知消息对于构件的对话框是完全透明的。(2)基于消息的通信:构件之间所有的通信只能通过消息进行这种需求最常见的情况是在用户接口系统中,应用需要异步处理的特性。(3)多线程:这是另外一种异步处理的特性,它可以简化对于多用户和并行式应用计算的建模和编程。(4)不共享地址空间:C2体系结构风格允许异构构件的集合,它没有规定构件的实现语言,并且,构件也有它自己的线程控制和内部对象。(5)体系结构和实现相分离:许多潜在的性能问题都可以通过体系结构和具体实现的分离来解决。,14,C2对于构件接口的描述,Component : = Component component_name is Interfa

8、ce component_message_interface Parameters component_parameters Methods component_methods behavior component_behavior context component_context End component_name;,15,C2对构件的描述,1 Component_message_interface := 2 Top_domain_interface3 Bottom_domain_interface4 Top_domain_interface : =5 Top_domain is 6 O

9、ut interface_requests7 In interface_notifications8 Bottom_domain_interface :=9 Bottom_domain is10 Out interface_notifications11 In interface_requests,12 Interface_requests :=13 request; | null;14 Interface_notifications :=15 notification; | null;16 Request :=17 Message name(request_parameters)18 Req

10、uest_parmeters : =19 to component_nameparameter_list20 Notification :=21 Message_name parameter_liat,16,实例会议安排系统的C2风格,17,C2对MeetingInitiator构件的描述,component MeetingInitiator is interface top_domain is out GetPrefSet(); GetExclSet(); GetEquipReqts(); GetLocPrefs(); RemoveExclSet(); RequestWithdrawal(t

11、o Attendee); RequestWithdrawal(to ImportantAttendee); AddPrefDates(); MarkMtg(d:date;l:lov_type); in PrefSet(p:date_mg); ExclSet(e:data_mg);,EquipReqts(eq:equip_type); LocPref(l:loc_type); behavior startup always_generate GetPrefSet, GetExclSet, GetEquipReqts, GetLocPrefs; received_messages PrefSet

12、may_generate RemoveExclSet xor RequestWithdrawal xor MarkMtg; received_messages ExclSet may_generate AddPrefDates xor RemoveExclSet xor RequestWithdrawal xor MarkMtg; received_messages EquipReqts may_generate AddPrefDates xor RemoveExclSet xor RequestWithdrawal xor MarkMtg; received_messages LocPref

13、 always_generate null;end MeetingInitiator;,18,C2对Attendee构件的描述,component Attendee is interface bottom_domain is out PrefSet(p:date_mg); ExclSet(e:date_mg); EquipReqts(eq:equip_type); in GetPrefSet(); GetExclSet(); GetEquipReqts(); RemoveExclSet(); RequestWithdrawal();,AddPrefDates(); MarkMtg(d:date

14、;l:loc_type);behavior received_messages GetPrefSet always_generate PrefSet; received_messages AddPrefDates always_generate PrefSet; received_messages GetExclSet always_generate ExclSet; received_messages GetEqipReqts always_generate EqipReqts; received_messages RemoveExclSet always_generate ExclSet;

15、 received_messages ReuestWithdrawal always_generate null; received_messages MarkMtg always_generate null; end Attendee;,19,C2对ImportantAttendee构件的描述,component ImportantAttendee is subtype Attendee(in and beh) interface bottom_domain is out LocPrefs(l:loc_type); ExclSet(e:date_mg); EquipReqts(eq:equi

16、p_type); in GetLocPrefs(); behaviorreceived_messages GetLocPrefs always_generate LocPrefs;end ImportantAttendee;,20,C2对体系结构的描述,architecture MeetingScheduler is conceptual_components Attendee;ImportantAttendee;MeetingInitiator; connectors connector MainConn is message_filter no_filtering; connector A

17、ttConn is message_filter no_filtering; connector ImportantAttConn is message_filter no_filtering; architectural_topology(配置拓扑结构) connector AttConn connectionstop_ports Attendee;bottom_ports MainConn;connector ImportantAttConn connectionstop_ports ImportantAttendee;bottom_ports MainConn;connector Mai

18、nConn connectionstop_ports AttConn;ImportantAttConn;bottom_ports MeetingInitiator;end MeetingScheduler;,21,C2对会议安排系统的描述,system MeetingScheduler_1 is architecture MeetingScheduler with Attendee instance Att_1,Att_2,Att_3; ImportantAttendee instance ImpAtt_1,ImpAtt_2; MeetingInitiator instance MtgInit_1; end MeetingScheduler_1;,22,各种软件体系结构描述语言的比较,23,体系结构描述语言对配置的建模能力的比较,24,体系结构描述语言对配置的建模能力的比较,25,谢谢!,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号