软件并行开发过程

上传人:豆浆 文档编号:49194571 上传时间:2018-07-25 格式:PPT 页数:52 大小:596KB
返回 下载 相关 举报
软件并行开发过程_第1页
第1页 / 共52页
软件并行开发过程_第2页
第2页 / 共52页
软件并行开发过程_第3页
第3页 / 共52页
软件并行开发过程_第4页
第4页 / 共52页
软件并行开发过程_第5页
第5页 / 共52页
点击查看更多>>
资源描述

《软件并行开发过程》由会员分享,可在线阅读,更多相关《软件并行开发过程(52页珍藏版)》请在金锄头文库上搜索。

1、 软 件 学 院李李 彤彤 博士博士20072007年年 春春软件并行开发过 程云南省中青年学 术和技术带头人 培养基金项目1998-37云南省自然科 学基金项目98F023M 98F005G 2001F0006M会泽百家 至公天下问题的提出一、生产率 低下二 、质量欠 佳会泽百家 至公天下背 景并行工程 并行处理 多个程序员同时为同一个系统编 码 现实生活中的各类非自觉的、偶 然的并行行为会泽百家 至公天下 制造业并行工程市场分析产品设计工艺设计采 购制 造检 测装 配销 售维 修并行度进行反馈产品生存周期会泽百家 至公天下1982年,美国国防部发表了著名的R-338报告,正式提出了“并行

2、工程”的概念:并行工程是集成地、并行地设计产品及其相关的各 种过程(包括制造过程和支持过程)的系统化方法。这种方法要 求产品开发人员从设计一开始就考虑产品整个生存周期中从概念 形成到产品报废处理的所有因素,包括质量、成本、进度、计划 和用户的要求。 并行工程目前已成为制造业研究与实践的热点领域。在国外已成 功地应用于航空、航天、电子、汽车等领域,如福特汽车公司、 波音公司、洛克希德公司、丰田汽车公司。 我国并行工程的研究始于90年代初,国家科委在863计划中设立 了一些课题支持并行工程的研究,已有少数几家企业开始实施并 行工程,并取得了新产品开发样机周期缩短、产品综合技术经济 指标好、符合市场

3、需求、经济效益好等效益。并行工程现状会泽百家 至公天下1)并行性:各种活动并行交叉进行。既包括各个部件开发的 并行交叉,又包括各个阶段的并行交叉。 2)流程改善:通过改善与优化工作流程,提高产品质量。 3)尽早开始工作:在信息不充分的情况下开始工作,因此要 有很强的应变能力。 4)集成化:强调全面优化,追求产品整体的竞争力和各小组 的密切有机合作。 5)强有力的支撑环境:必须有良好的支撑多小组并行协同工 作的网络与计算机平台。 6)强有力的管理:强调强有力的管理,保证各种并行活动协 调统一地进行。并行工程特点会泽百家 至公天下软件过程软件过程指软件生存周期中所涉及 的一系列相关过程。过程是活动

4、的 集合,活动是任务的集合,任务是 把输入转换为输出的操作。软件过 程是动态的,它动态地产生、推进 (执行),动态地消亡。 软件过程模型是对软件过程的静态 描述,是软件过程向前推进的依据 。会泽百家 至公天下软件过程-ISO/IEC 12207 1. 主要 过程 类 获取过 程 供应过 程 开发过 程 运行过 程 维护过 程3. 组织过程类 管理过程 基础设施过程 改进过程 培训过程2. 支持过程类文档编制过程配置管理过程质量保证过程验证过程确认过程联合评审过程审核过程问题解决过程会泽百家 至公天下过程并行 子过程并行 阶段并行 版本并行 活动并行软件生存周期中的并行性会泽百家 至公天下软件生

5、存周期并 行 度软件开发过程软件维护过程软件管理过程软件文档编制过程过 程 并 行会泽百家 至公天下子 过 程 并 行软件开发周期并行度子开发过程1子开发过程2子开发过程n初 步 需 求 分 析集 成 与 系 统 测 试会泽百家 至公天下阶 段 并 行软件开发周期并行度总体设计详细设计编 码测 试需求分析会泽百家 至公天下版 本 并 行软件生存周期并 行 度发行版本1的开发发行版本2的开发发行版本n的开发会泽百家 至公天下活 动 并 行软件生存周期并 行 度开 始 编 码结 束 编 码编制模块1活动编制模块2活动编制模块n活动会泽百家 至公天下SDDM模型支持软件并行开发过程的软件过程模型:能

6、定义软件开发中的各并行成分、各开发 活动及它们相互之间的动态关系(也包括 并行关系)。 能定义软件过程之间的动态关系。会泽百家 至公天下任务是一个三元组T=,其中P, Q均为谓词,我们称P为前断言, 它刻划了任务T 执行前的状态;Q称为后断言,它刻划了任务T执行 后的状态。刻划了把输入转换为输出的操 作。Ms是消息集合,其中的元素是二元组m=,表示当任务T完成时向软件过程p的活动a的任 务t发送内容为m.text的消息。m.text既可以是一个字符 串,也可以是一个可执行的过程会泽百家 至公天下活动或者是一个任务序列T1T2Tn,它表示任务T1、 T2、.、Tn顺序地执行;或者是一个软件过程。

7、会泽百家 至公天下软件过程是一个六元组P=。其 中C为条件的集合,C中的条件是一个二元组 ,Q是一个谓词,表示条件;Ds是一个广义 数据结构,是活动操作的对象。A是活动的集合。A中 的活动a在其前提条件具备的情况下可以执行(称为点 火)。但a能否顺利进行,还要看其内部的诸任务的前 断言是否具备。CA=。F(CA)(AC),称 为流关系。I,OC分别称为输入接口和输出接口。软 件过程P将输入接口I的广义数据结构变为输出接口O的 广义数据结构。MC称为标记,它记录了过程P的一 个瞬态。会泽百家 至公天下n系统动态开发模型是一个二元组SDDM=, Ps是软件过程的集合,Pr=|P,PPs称为 优先关

8、系集,刻画了软件过程P必须在P前执 行。无优先关系的过程可以并行执行。并行执行过程 中的同步关系由软件过程自行发送消息进行控制。C4软件开发过程的图形表示软件开发过程的图形表示子开发过程1子开发过程2子开发过程n初 步 需 求 分 析集 成 与 系 统 测 试初 步 需 求 分 析子开发过程1子开发过程2子开发过程n集 成 与 系 统 测 试C1A1C2iA2iC3iA3会泽百家 至公天下软件过程建模语言特征 动态性:由于软件过程是动态进行的,为支持设计者动态操作 ,应具有描述动态行为的成分。并行性:应具有描述不同粒度并行成分的能力。能描述软件过 程级(粗粒度)、活动级(细粒度)的并行行为。一

9、致性:由于软件过程中有多个角色协同工作,应具有描述角 色行为和角色协同工作的成分,对角色的行为进行精确的定义, 并便于形式化地进行一致性检查。完整性:软件过程包括许多方面的内容,建模语言应对其中组 织、功能、行为、信息诸方面的内容加以描述,提供和表达尽可 能丰富的信息。模块性:L.Osterweil提出过“软件过程也是软件”的观点并获 得了广泛的认同,软件过程模型是程序。因此,模块性是自然的 要求。支持抽象与求精:软件过程建模可采用自顶向下、逐步求精的 方法进行。应支持不同抽象级的过程描述,并具有用低层详细描 述替换高层抽象描述的手段。 会泽百家 至公天下基于Petri网,具有较好的并行表达能

10、力和动态表达能力,便 于并行控制。 具有面向对象的特征,支持数据抽象、信息隐蔽和过程抽象, 支持消息传递和单重继承。 能表达各软件过程、子开发过程、活动之间的关系,能定义角 色与活动之间的关系。 可表示不同抽象级的过程模型,支持以角色为中心的逐步求精 的过程建模方法。 一个软件过程模型就是一个SDDML程序。 支持模型重用和过程重用。SDDML主要特征会泽百家 至公天下任务定义 :=TASK ; BEGIN ; END;:=PREASSERTION :=POSTASSERTION :=|()|NOT|AND|OR|IMPLY|IFF|COND(,)|ALL()()|EXISTS()():=ME

11、SSAGE BEGIN END:=SEND TO :=|. 会泽百家 至公天下活动 定义 :=ACTIVITY FROM IMPORTS ; EXPORTS ; LOCALS ; BEGIN END;:=|:=:=:=:=STRUCTURE BEGIN :;: END:=PERFORMED BY .: ;:=PD|PM|SA|DR|PR|CP|MA|GL| 会泽百家 至公天下:=PROCESS FROM BEGIN ; ; END;:=CONDITION SET BEGIN ; END:=ACTIVITY SET BEGIN ; END:=ARC SET BEGIN ; END:=(,) |

12、(,)软 件过 程 定义会泽百家 至公天下系 统 动 态 开 发 模 型:=#define ; SDDM FROM BEGIN ; END.:=PROCESS PRIORITY SET BEGIN (,:=MARKING SET BEGIN .;. END:=: 会泽百家 至公天下并行度软件生存周期初 步 需 求 分 析子开发过程1子开发过程2子开发过程n集成与系统测试软件开发过程DPd1d2 d31d3n d41d4n d51d5n d6d7维 护 需 求 分 析维 护 活 动测试软件维护过程MPm1m3m5m7m6m4m2启 动 开 发成本管理过程管理配置管理结 束 开 发问 题 定 义角

13、色管理启 动 维 护维 护 管 理结 束 维 护软件管理过程MGPc12c1c2c3c4 c51c54 c61c64 c71c74 c8c9c10c15c13c14c11SDDM模型会泽百家 至公天下#define d2: 初步需求分析; /*将术语“初步需求分析”符号化*/ #define d41: 子开发过程1; /*将术语“子开发过程1”符号化*/ #define c14: 结束维护; /*将术语“结束维护”符号化*/ SDDM sample1 PROCESS DP /*定义软件开发过程DP*/ ACTIVITY d2 ; /*定义活动d2中任务、数据结构等*/ ACTIVITY d41

14、 ; /*定义活动d41中任务、数据结构等*/ ACTIVITY d6 ; /*定义活动d6中任务、数据结构等*/ BEGINCONDITION SET BEGIN d1;d31;d3n;d51;d5n;d7 END; /*DP中条件(圆圈)集*/ACTIVITY SET BEGIN d2;d41;d4n;d6 END; /*DP中活动(方框)集*/ARC SET BEGIN (d1,d2);(d2,d31);(d2,d3n);(d6,d7) END /*DP中弧(箭头 )集*/ END; /*End of PROCESS DP*/ PROCESS MP ; /*定义软件维护过程MP*/ PR

15、OCESS MGP ; /*定义软件管理过程MGP*/ BEGINPROCESS PRIORITY SET BEGIN (DP,MP) END; /*DP必须在MP前启动*/MARKING SET BEGIN MGP.c1 END /*初始标记为仅有MGP中的条件c1一个元素的集合*/ END. /*End of SDDM sample1 SDDML程序基于 SDDML 的过程建模方法PROCEDURE Process_Modeling;PROCEDURE Process_Refining(p: process; i: integer);BEGIN在p所应该涉及的范围内标识第i层角色,这些角色

16、构成集合Ri;分析Ri中角色所处理的广义数据结构、活动、任务及它们与外界的联系(消息);根据Ri中角色所处理的内容用SDDML定义活动(每一个角色定义一个活动);分析Ri中角色所实施的活动之间的关系;根据Ri中角色所实施的活动及它们之间的关系用SDDML定义软件过程p;IF i M2。广义步或者是一步s, 或一步的逆s-1。(3) 对T中任一活动e,必存在C中的一个标记,使e在此标记下能点火。会泽百家 至公天下串行块ei ej会泽百家 至公天下并行块eiej会泽百家 至公天下互斥块ejei会泽百家 至公天下同步块eje0enei会泽百家 至公天下重复块ei ej会泽百家 至公天下基本块启动过程

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号