(计算机软件与理论专业论文)数控软件产品线核心资产库的建立与管理.pdf_第1页
(计算机软件与理论专业论文)数控软件产品线核心资产库的建立与管理.pdf_第2页
(计算机软件与理论专业论文)数控软件产品线核心资产库的建立与管理.pdf_第3页
(计算机软件与理论专业论文)数控软件产品线核心资产库的建立与管理.pdf_第4页
(计算机软件与理论专业论文)数控软件产品线核心资产库的建立与管理.pdf_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

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

文档简介

捅要 - = m m m m_ - - 曼量曼鼍曼皇 摘要 随着软件产品规模的日益扩大、软件复杂性的不断提高,软件危机的出现让 软件开发与软件维护变得越来越困难,软件工程正是为了解决软件危机而出现的 一门学科,它在软件开发与维护中引入工程管理概念而使这一过程变得更加可 控。 作为软件工程技术最前沿的软件产品线则是让软件复用达到一个新的高度 【1 1 ,对某一特定领域进行领域分析后采用大量可复用模块来开发软件,让软件的 生产变成集成而不是从零开始开发,让软件生产真正地规模化。 个国家的制造业往往代表了一个国家的工业水平,而在制造业中起到决定 性作用的就是机床。由于加工精度以及效率要求的不断提高,数控机床基本上完 全取代了传统机床。作为数控机床的心脏数控系统则是该数控机床成败的核 心。 本文主要研究内容就是数控领域软件产品线核心资产库的建立。软件产品线 开发分为两个主要工程:领域工程与应用工程。领域工程的首要任务是通过领域 分析找到领域共性与可变点从而通过开发构架与组件来建立软件产品线的基础 核心资产库。 核心资产库是软件产品线的基础与核心,软件的集成、构架的开发、文档的 维护、组件的更新都围绕它展开,在软件产品线的开发与应用中占据了主要地位。 本文通过领域分析来建立数控软件构架、确定核心资产库内容、明晰核心资产级 别与职责。通过平衡冗余与效率的方式来建立数据库表。并且利用基于w e b 的 三层架构模型使用a s p n e t 开发核心资产库管理系统。以满足开发商、架构商、 集成商、机床最终用户和测试等人员使用软件产品线的需求。 关键词软件产品线:数控系统;核心资产库:消除冗余;架构; 组件 a b s t r a c t a b s t r a c t a l o n gw i t ht h es o f t w a r ep r o d u c ts c a l e sd a y - b y - d a ye x p a n s i o n ,t h es o f t w a r e c o m p l e xu n c e a s i n ge n h a n c e m e n t ,t h es o f t w a r ec r i s i s sa p p e a r a n c el e t st h es o f t w a r e d e v e l o p m e n ta n dt h es o f t w a r em a i n t e n a n c eb e c o m e sm o r ea n dm o r ed i 箭c u l t t h e s o f t w a r ee n g i n e e r i n gi s p r e c i s e l yt os o l v ead i s c i p l i n ew h i c ht h es o f t w a r ec r i s i s a p p e a r s ,i ti n t r o d u c e st h ep r o j e c tm a n a g e m e n tc o n c e p ti n t ot h es o f t w a r ed e v e l o p m e n t a n dt h em a i n t e n a n c et oc a u s et h i sp r o c e s sb e c o m e sm o r ec o n t r o l l a b l e t or e g a r da st h es o f t w a r ee n g i n e e r i n gt e c h n o l o g ym o s tf r o n t s ,s o f t w a r ep r o d u c t l i n el e d 龇s o r w a r er e u s ea c h i e v ean e w a l t i t u d e ,c a r r i e so nt h ed o m a i na n a l y s i sa f t e r s o m es p e c i f i cd o m a i nu s e s m a s s i v e l ym a yt h em u l t i p l y i n gm o d u l ed e v e l o pt h e s o r w a r e ,l e t ss o f t w a r e 。sp r o d u c t i o nt u r nt h ei n t e g r a t i o n ,b u ti sn o tf r o mt h es c h e m a t i c d i a g r a md e v e l o p m e n t ,l e t st h es o f t w a r ep r o d u c t i o nt r u l yf o r m a l i z a t i o n a c o u l l t r y l sp r o c e s s i n gi n d u s t r yh a so r e nr e p r e s e n t e dan a t i o n a li n d u s t r yl e v e l , b u tp l a y st h ed e c i s i v ee f f e c ti nt h ep r o c e s s i n gi n d u s t r yi st h ee n g i n eb e d a sar e s u l to f t h ew o r k i n ga c c u r a c y 嬲w e l la st h ee f f i c i e n c yr e q u e s t su n c e a s i n ge n h a n c e m e n t ,t h e n u m e r i c a l l y c o n t r o l l e dm a c h i n et o o lc o m p l e t e l yh a sb a s i c a l l ys u b s t i t u t e df o rt h e t r a d i t i o n a le n g i n eb e d a sn u m e r i c a l l y c o n t r o l l e dm a c h i n et o o l sh e a r t n u m e r i c a l c o n t r o ls y s t e mi st h i sn u m e r i c a l l y - c o n t r o l l e dm a c h i n et o o ls u c c e s s so rf a i l u r e sc o r e t h i sa r t i c l em a i nr e s e a r c hc o n t e n ti st h en u m e r i c a lc o n t r o ld o m a i ns o f t w a r ep r o d u c tl i n ec o r e p r o p e r t ys t o r e h o u s ee s t a b l i s h m e n t n es o f t w a r ep r o d u c tl i n ed e v e l o p m e n td i v i d e si n t ot w om a j o r p r o j e c t s :d o m a i np r o j e c ta n da p p l i c a t i o np r o j e c t t h ed o m a i np r o j e e l sm o s ti m p o r t a n tt a s kw a s f i n d st h ed o m a i ng e n e r a lc h a r a c t e ra n dt h ev a r i a b l ep o nt h r o u g ht h ed o m a i na n a l y s i s ,t h u s t h r o u g hd e v e l o p e dt h es k e l e t o na n dt h em o d u l ee s t a b l i s h e st h es o f t w a r ep r o d u c tl i n et h e f o u n d a t i o n c o r ep r o p e r t ys t o r e h o u s e t h ec o r ep r o p e r t ys t o r e h o u s ei st h es o r w a r ep r o d u c tl i n ef o u n d a t i o na n dt h ec o r e ,s o f t w a r e 。s i n t e g r a t i o n , s k e l e t o n sd e v e l o p m e n lt h ed o c u m e n t sm a i n t e n a n c e ,m o d u l e sr e n e w a lc e n t e r so ni tt o l a u n c h ,o c c u p i e dt h em a i ns t a t u si nt h es o f t w a r ep r o d u c tl i n e sd e v e l o p m e n ta n dt h ea p p l i c a t i o n t h i sa r t i c l ee s t a b l i s h e st h en u m e r i c a lc o n t r o ls o f t w a r es k e l e t o n ,t h ed e t e r m i n a t i o nc o r ep r o p e r t y s t o r e h o u s ec o n t e n t ,t h ed e f m e dc o r ep r o p e r t yr a n ka n dt h er e s p o n s i b i l i t yt h r o u g ht h ed o m a i n a n a l y s i s e s t a b l i s h e st h ed a t a b a s et a b l et h r o u g ht h eb a l a n c e dr e d u n d a n c ya n dt h ee f f i c i e n c yw a y a n du s e sb a s e do nt h ew e bt h r e ec o n s t r u c t i o nm o d e lu s e sa s p n e tt od e v e l o pt h ec o r ep r o p e r t y s t o r e h o u s em a n a g e m e n t s y s t e mm a n a g e m e n ts y s t e m s a t i s f i e st h ed e v e l o p e r ,c o n s t r u c t i o n p e r s o n n e la n ds oo nb u s i n e s s ,i n t e g r a t e db u s i n e s s ,e n g i n eb e de n d - u s e ra n dt e s tu s e st h es o f t w a r e p r o d u c tl i n et h ed e m a n d i i i 北京工业大学工学硕士学位论文 k e y w o r d ss o f t w a r ep r o d u c tl i n e ,n u m e r i c a lc o n t r o ls y s t e m ,c o r ep r o p e r t ys t o r e h o u s e e l i m i n a t e s ,f r a m e w o r k , c o m p o n e n t i v 独创性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他 人已经发表或撰写过的研究成果,也不包含为获得北京工业大学或其它教育机构 的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均 已在论文中作了明确的说明并表示了谢意。 签名:日期: 关于论文使用授权的说明 本人完全了解北京工业大学有关保留、使用学位论文的规定,即:学校有权 保留送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部 分内容,可以采用影印、缩印或其他复制手段保存论文。 ( 保密的论文在解密后应遵守此规定) 签名:导师签名: 第1 章引言 第1 章引言 1 1 国内外研究背景 软件产品线是一组具有公共体系构架和可复用组件的软件系统,它们共同构 建支持特定领域内产品开发的软件平台,这些系统满足特定的市场需求或任务需 求。软件产品线的产品则是根据基本用户需求对产品线构架进行定制,将可复用 部分和系统独特部分加以集成而得到。 软件产品线方法体现了软件复用的精髓,但总的来说集中体现一种大规模、 大粒度的软件复用实践,是软件工程领域中软件体系结构和软件复用技术发展的 结果。它经由软件复用技术发展而来,从小粒度的复用( 代码,对象复用) ,到 组件、体系结构复用【2 1 。软件产品线是迄今为止最大程度的软件复用,可以有效 地降低成本,缩短开发时间,提高软件质量。 由于软件复用一直是软件工程界关注的技术,而软件产品线是实现软件复用 的一个重要方法,所以在最近十几年来一直得到了很多关注。关于它的研究也得 到了长足的进展。 软件产品线是通过分析领域需求开发可复用的资产【3 1 ,来实现大规模的复用。 它主要围绕着核心资产集的开发、领域产品的开发与产品线的管理来展开。软件 产品线的关键是作为其基础的核心资产库的开发与特定领域的需求提取。特定领 域内的产品具有大量的公共部分和特征,可以开发软件组件、需求规范、测试用 例。产品构架等产品线的公共资源。而这些资源可以直接应用或经过适当调整后 应用于产品线内产品的开发,从而缩短软件的开发周期,提高软件的可靠性。 因此典型的软件产品线开发过程包括两个关键工程:领域工程和应用工程【4 】。 领域工程的主要任务是通过识别特定领域相似产品的公共结构和特征,开发产品 线内产品的公共资源。公共资源主要包括软件组件、测试用例,构架模版等等。 领域工程主要分为三个阶段:领域分析、领域设计、领域实现。在领域分析阶段, 首先界定产品线范围,确定哪些产品属于该软件产品线开发范畴。而后,分析产 品线内产品的公共特性与变化点,建立软件产品线需求模型。在领域实现阶段, 根据产品线需求模型设计产品线架构,开发组件与模版等核心资产库内容。 应用工程则是在领域工程生成的公共资源基础上,通过分析特定客户的需求 北录工业大学工学硕士学位论文 开发适用于特定需求的特定产品。这些产品不仅仅受到需求的约束而且受到核心 资产库现有资产的客观约束。应用工程也分为三个阶段:需求分析、系统设计、 系统实现。 选择软件产品线开发软件产品必须具备大量相关领域的基础知识、案例。有 丰富的软件工程经验以及对产品线远景的详细规划与设计。而一个成功的软件产 品线应当具备一个好的核心资产库与优秀的产品线体系结构以及良好的管理支 持。 一个软件产品线系统只有具备以上三个要素才能高速有效的运转,从而满足 相关领域不同需求的软件生产要求。 1 2 课题的目的和意义 本课题主要研究数控领域软件产品线核心资产库的建立与管理。这是软件产 品线领域工程最重要的一部分。 软件产品线的基本活动分为管理活动,核心资产库开发与产品开发。管理活 动的主要作用在于把诸多零散,在接口、约束、兼容、格式等方面均存在差异的 组件与构架模版作为一个整体管理起来,并随时对它们进行操控和监视,以达到 根据它们进行核心资产库的进化与利用它们进行产品的演化的目的。 软件产品线的开发则主要分为领域工程与应用工程两个阶段。而领域工程的 最终目的就是建立一个合理完善的核心资产库。建立一个合理完善的核心资产库 具有举足轻重的意义,它是软件产品线的基础,应用工程的展开( 主要体现为领 域产品的开发) 几乎都基于核心资产库展开。 数控机床是现代科学技术的最前沿信息技术与传统机床相结合的产物 【钉,反映了一个国家制造技术的水平和工业水平。一个国家数控化率的高低已经 成为衡量其机械工业技术水平的一个重要指标。随着制造商对产品复杂程度和精 度要求的提高和对产品生产成本的降低,对数控机床提出了更高的要求,而这种 不断增高的要求主要不是针对机械系统的要求,而是对数控机床的控制设备 数控系统提出的挑战。而在复杂的大型数控系统的开发过程中往往存在开发成本 高、周期长、复用性差等问题,那么将软件复用技术的结晶软件产品线引入 数控系统就显得非常有必要了。 第l 章引言 对于软件产品线在数控系统中的应用中,第一步要解决的问题就是对数控领 域的领域分析、领域设计以及领域实现【6 】。也就是领域工程的三个主要阶段,在 此基础上实现软件产品线构架并建立核心资产库。 根据数控机床领域工程的特点,本工程选择了数控系统中具有典型代表性的 四类系统:数控车床系统、数控铣床系统、数控磨床系统和加工成型系统。其领 域的共性主要包括:人机交互功能、可编程的逻辑控制功能、运动控制功能、各 模块间的消息传递功能、自动制造功能、手动指令输入功能等等。 领域差异( 可变点) 主要包括:机床坐标的维度、运动控制模式、逻辑控制 模式、精度的高低等等。 数控系统软件产品线就是要将这些共性提炼出来,建立数控软件产品族的共 性核心资产库。而共性的提炼便以组件的形式来体现。核心资产库主要包括:构 架模版库、数控软件组件库、类描述库以及测试用例库。 1 3 论文各部分的主要内容 论文第一章是研究背景与课题相关知识的简要介绍。 第二章主要介绍大粒度软件复用的优点与软件产品线的特点与应用,结合数 控软件的特点说明利用软件产品线技术设计实现数控软件的优点。同时讲解了领 域工程方法以及开展领域分析,分析数控软件的共性与特性,最终得出车铣床数 控加工软件的通用架构。 第三章主要介绍核心资产库在软件产品线中的地位以及资产库的组织结构。 同时介绍需求引导系统已经c o m 组件技术,以及它们是怎样在数控软件生产线 中工作了。着重讲解了c o m 组件的来源、打包以及将原有系统进行打包划分。 第四章介绍以及如何划建立核心资产库。利用b c n f 范式设计数据库表以及 解决数据库冗余问题。使用s q l 的约束与关系模式设计便于维护的数据库表。 详细说明范式简化过程与数据库建立过程。以及数据库与软件产品线的连接关 系。 第五章主要讲解了数控软件产品线管理系统的开发过程。实现了基于w e b 三层架构模式系统的开发。通过u m l 用例图、状态图、组件图以及时序图讲解 了系统开发流程与功能设计。同时介绍了核心资产库的管理。一个好的核心资产 北京工业大学工学硕士学位论文 库应该是便于维护与更新的。 第六章对全文进行了总结和前景展望。 1 4 本章小节 本课题的核心目标是建立一套普适于数控领域软件系统的软件生产线,立足 于数控领域特征分析建立核心资产库。本章主要介绍了课题的目的与主要意义以 及软件产品线的一些基本概念,然后对全文的内容作了一些陈述。 4 第2 章软件产品线技术与数控软件 2 1 软件产品线技术 2 1 1 软件产品线的定义 正如在引言中所提到的,软件产品线是指具有一组可管理的公共特性的软件 密集性系统的集合,这些系统满足特定的市场需求或任务需求,并且可以按照预 定义的方式从一个公共核心资产集中开发得到。 软件产品线生产的产品软件,是指系统按指定方式由公共资产集开发【7 1 , 与独立开发、从草图开始的开发、随机开发等方式相比较,可以获得显著的生产 经济效益。正是由此产生的经济效益,才使得软件产品线具有吸引力。 而如何提高软件生产的效率呢? 首先每个产品都是由来自公共资产库中的 组件组成的,然后按照预先定义的变化机制,如参数化与继承,对这些组件进行 必要的裁剪,添加任何必需的新组件,根据一个产品线范围内的公共架构来组装 这些组件。于是,构建一个软件产品的主要工作是组装而不是创造。主要活动是 集成而不是编程。每条软件产品线都有一个预先定义的指南或计划,用来定义确 切的产品构建方法。 其实,软件产品线的想法来得顺理成章。在我们的生活中产品线随处可见, 大到客机产品线,小到报纸印刷产品线。它们几乎遍布于我们生活的方方面面。 正是由于这些产品线的存在,才极大地提高了产品生产效率,让我们的生活变得 更加便利与高效。 萨自抛5 - f o m班撕挣伽 图2 - 1 普通的石料生产线 f i g2 - 1o r d i n a r ys t o n em a t e r i a lp r o d u c t i o nl i n e 同样地,在同一个领域,软件产品也具有很多共性与公共框架。遗留系统的 再改造给了我们大型软件产品复用的经验f 8 j ,那么,是否可以提取同一领域的产 品共性让日后的软件产品开发变得更加简洁有效呢? 答案显然是可以,这也就是 软件产品线概念的提出。 图2 2 软件产品线软件生产流程 f i 9 2 - 2s o f b , v a r ep r o d u c t i o np r o c e s si 1 1s o f t w a r ep r o d u c tl i n e 6 2 1 2 软件产品线的发展 早在2 0 世纪6 0 年代,复用的概念就已经提出。当时主要表现在结构化语言 的子程序上。而随着程序的日益复杂,到了7 0 年代主要表现为模块,而后提出 了对象复用与组件复用等概念。随着复杂性的不断增加,软件工程经历了一个不 断提高生产效率的发展过程,但是这个过程不是没有代价的。过度复杂与不可控 性可能会让更高层次上的复用功亏一篑。 所以,在上个世纪8 0 年代,正式有了关于软件产品线的研究。软件产品线 使公司着眼于整个系统系列,可能一次可以构造数十上百个系统,而花费却不超 过用以往方式开发软件的两到三倍。 早在1 9 8 5 年,瑞典一家专门为世界各地海军提供船舶指挥和控制系统的公 司e l s i u s t e c hs y s t e ma b ,接到了两份相似的订单,而不巧的是这两份订单 比该公司以往接到的订单规模都要大,而该公司在日程安排和预算上都碰到了不 小的麻烦,那么,如何使用一种解决方案以满足两个客户不同的需求呢? 这就需 要一个同样适用于两个产品的构架。当然,如果这两个系统规模都很小的话,这 种复用很容易实现,甚至都不需要构架的概念。但是,对于大型系统来说构 架和重用是采用软件产品线策略的技术关键。这就需要软件开发人员接受很多以 往匪夷所思的做法和手段,当然,整个过程是很有趣的。 该公司的开发人员使用了一种分层的、多处理构架,用黑板系统在数据使用 者和数据生产者之间调解。黑板系统是一种使用者与开发者之间交互沟通的工 具,所有人都可以在上面进行擦写来达到交流的目的。最后,这种构架取得了成 功,该公司不仅按期交付了这两个系统,而且把复用率提高到了9 0 。那么,后 面的事情就是如何利用这两个系统留下的东西,显然,这两个系统有很多东西值 得保留,不仅包括它们共同的构架,而且也包括很多文档、测试用例甚至包括模 块,核心资产集的建立也就顺理成章了,正是由于它的建立,让该公司成功地开 发了大量后续项目( 事实上超过5 0 个) 。 软件产品线的相关研究,到了2 0 世纪9 0 年代正式被软件工程界所关注,当 然我们不能说这是软件工程界的新方向,但起码它给了我们一个解决软件工程发 展瓶颈的希望。而也几乎是同时,国内很多软件制造商看到了它的优势。比如北 大青鸟构建了国内最大的构件库青鸟构件库。这都是一些有益的尝试。我们 北京工业大学工学硕士学位论文 ! ,iml 一 m 曼曼皇曼皇皇量鲁曼皇曼舅曼曼曼曼量曼曼曼曼曼皇曼曼曼曼量詈曼曼一 相信,在不久的将来,这种技术必能越来越受到重视。 2 1 3 大粒度复用与软件产品线应用 软件复用( 或软件重用) 是指充分利用过去软件开发中积累的成果、知识和 经验,去开发新的软件系统,使人们在新系统的开发中着重于解决出现的新问题、 满足新需求,从而避免或减少软件开发中的重复劳动。 软件复用使人们在软件开发时不必重新从草图开发软件,也就是不必“重新 发明轮子”或“一切从零开始”【引,提高了软件生产率和质量,缩短开发周期,降 低开发成本。 软件复用不同于传统意义的回收利用,它不需要耗材,而且软件通过多次重 用后其质量和可靠性越来越高。据统计,软件系统的开发中若复用程度达到5 0 , 则其生产率提高4 0 ,开发成本降低约4 0 ,软件出错率降低近5 0 。也就是 软件复用次数越多,它的可靠性也就越强,毕竟没有什么人会重用一套存在问题 的系统。 软件工程专家b o h e m 认为,近十年来软件复用已成为解决软件危机、提高 软件生产率和质量的最有效、最具潜力的手段。 根据软件复用的粒度可将其分为( 按粒度从小到大) 如下五类【1 0 】:代码和设 计复用、源代码复用、设计和软件体系结构( s o f h v a r ea r c h i t e c t u r e ) 复用、应用 程序生成器( a p p l i c a t i o ng e n e r a t o r ) 和领域特定的软件构架( d o m a i n - s p e c i f i c s o f t w a r ea r c h i t c c t u r e ,d s s a ) 的复用。 经过这么多年的学习实践,我们也发现现在有很多包括算法、模式、对象和 组件的可重用库。软件开发人员写的任何东西几乎都可以放在库里,然后鼓励大 家使用库中的内容而不是创建自己的版本。这一点每个程序设计人员应该深有体 会,一个成功的库可以给大家带来很多便利,比如说使用著名的微软基础类库 ( m f c ) 开发w i n d o w s 程序框架。 可是,有些时候学习一个库并且利用它创建自己所需的程序比自己新写一个 还要困难,而在接口、定义等方面存在的诸多差异也让使用者望而却步。这些都 是我们要注意的问题。怎样把公共资源合理有效的组织起来,让使用者乐意使用 第2 覃软件产品线技术与数控软件 i,-曼曼皇曼鼍皇皇曼曼曼皇曼曼曼曼! 曼曼曼曼曼皇曼! 曼曼曼曼! 曼! 曼曼曼曼曼曼曼皇曼曼曼 这些资源而不是回避使用这些资源,我们都可以把这类问题归于核心资产库的管 理中。 在软件产品线方法中,重用是有计划的、能够实现和必然应该存在的【l l 】。资 产库包括从一开始就花费大量成本进行开发的各类产品即需求、领域模型、 软件构架、性能模型、测试计划用例和组件。所有这些资产都是为了以后重用而 设计,并且为了能重用于多个系统而进行了优化。软件产品线的重用是全面的、 有计划的。这种复用现在应用于多项大型工程中,包括青鸟构件库,国家输配电 网络以及数控领域与机械设计应用中。 软件产品线中可重用的基本单位是软件组件( 构件) 。它是软件系统内可标识 的、符合某种标准要求的构成成分,类似于传统工业中的零部件。广义上讲,组 件可以是需求分析、设计、代码、测试用例、文档或软件开发过程中的其它产品。 狭义来说,一般指对外提供一组规约化接口的、符合一定标准的、可替换的软件 系统的程序模块。本文中的组件定义指后者。软件组件有两个特征: a ) 有用性,指组件完成的功能是有用的,也就是其功能可出现在很多应 用软件中。 b ) 易用性,指组件要有很好的包装,能很方便地使用它。一般来讲,组 件的包装要符合一定的标准。 总结来说,软件组件是软件复用的基本单元。软件组件技术使得软件人员在 应用开发时可以使用其他人的劳动成果,为软件产业进行大规模专业化分工与合 作形成了前提。一般来说,要实现组件技术必须具备下列几个条件: 有标准软件体系结构,保证组件间通信协议统一,实现同步和异步操作 控制,突破本地空间限制,充分利用网络环境; 组件有标准接口,保证系统可分解成多个功能独立的单元,用组件组装 而成;组件独立于编程语言: 组件提供版本兼容,来实现应用系统的扩展和更新。 这也正是本课题需要研究的主要内容。 9 北京工业大学工学硕士学位论文 2 2 数控机床与数控系统 正像引言中所提到的,数控机床是现代科学技术的最前沿信息技术与传 统机床相结合的产物,反映了一个国家制造技术的水平和工业水平【1 2 】。而数控 系统又是数控机床的核心。基本上左右了一个数控机床的成败。 2 2 1 数控系统介绍 数控技术及装备是发展新兴高新技术产业及尖端技术的使能技术和最基本 的装备。制造业代表了一个国家的工业水平,而在制造业中起到决定性作用的就 是机床。由于加工精度以及效率要求的不断提高,数控机床基本上完全取代了传 统机床。作为数控机床的心脏数控系统则向着智能、高效、集成化不断的发 展。当今世界各国制造业广泛采用数控技术,以提高制造能力与水平,提高对动 态多变市场的竞争能力与适应性。 数控技术是用数控信息对机械运动和工作过程进行控制的技术【1 3 】。数控机床 是以数控技术为代表的新技术对传统制造产业和新兴制造业的渗透形成的机电 一体化产品。 数控技术的应用不但给传统制造业带来了革命性的变化,而且随着数控技术 的不断发展和应用领域的不断扩大,它对影响国计民生的一些重要领域( 包括汽 车、i t 、轻工,医疗等) 的发展起到了越来越重要的作用。 现在数控机床的发展有以下几个趋势: a ) 向着高速、高加工精度发展。 效率、质量是先进制造技术的主体。高效、高精加工技术可以极大地提 高生产效率。提高产品的质量和档次, b ) 多轴联动与复合加工机床快速发展。 采用数轴联动加工技术以及刀库变更技术可以对三维零件加工更加得 心应手,以最佳几何形状进行切割。不仅光洁度高而且效率也得到极大 提高。刀库变更也让机床的适用性得到了很大的扩展。 c ) 智能化成为当代数控系统发展的主要趋势。 智能化的内容包括在数控系统中的各个方面:为追求加工效率和加工质 量上的智能化,比如加工过程中的自适应控制、工艺参数的自动生成; l o 第2 章软件产品线技术与数控软件 _ _i i_n 为提高驱动性能及使用连接方便的智能化,比如前馈控制、输入输出点 的统一、操作界面一致化等:还有智能化编程与人机交互界面等等。 2 2 2 数控系统领域分析 我们知道,领域分析的最终目的是找出同一个领域产品产品族的共性与可变 点【1 4 】。共性是我们要资源化的部分,而可交点是我们要参数化或者说裁减组件 的依据。而这一些都是植根于领域特征来进行分析。 数控系统作为一个单独的系统,有几部分必不可少,这也正是领域的共性, 主要包括:入机交互功能、可编程的逻辑控制功能、运动控制功能、各模块间的 消息传递功能、自动加工功能、手动指令输入功能等等。 领域差异( 可变点) 主要包括:机床坐标的维度、运动控制模式、逻辑控制 模式、精度的高低等等。 ( 1 ) 如何进行特征分类:我们首先将特征分为功能层面的特征和机制层面 的特征,对于功能层面又可以用三种形式划分。第一种是将其划分为外围特征与 核心特征。一般的数控机床都存在螺距补偿的问题,我们把此特征归类到外围特 征上。再有对于具体的不太常用的插补算法特征,包括多轴联动插补特征等,我 们也归类为外围特征,因为在不同的情况下,可能选用不同的插补特征。而核心 特征一般指较上层抽象的特征,指那些在装配系统的时候必选的、不可或缺的特 征,例如人机接口、逻辑控制、运动控制、统筹规划特征等等。 第二种是从抽象程度来分,可分为抽象特征与具体特征,如果将特征划分提 炼为一颗特征树,则具体特征一般处在叶子的位置而抽象特征则在非叶子位置, 我们认为对于一个完整的产品而言,是由特征树的叶子节点构成其各个具体模块 的。例如指令生成特征应归类为抽象特征,因为其并没有具体指明使用何种方式 生成指令,而把解释器特征和编译器特征归类为具体特征。需要注意的抽象与具 体强调的是此特征能否成为一个具体产品的组成部分,而外围与核心强调的是此 特征是否在构建产品时一定会用到。 最后一种,也就是从是否为数控领域公共特征来分,可分为共性特征和特性 特征,共性特征主要是那些在一定的范围内,所有类型的数控系统都需要拥有的 特征,例如逻辑控制、运动控制等,而特性特征指只是在某一个机床上适用的特 北京工业大学工学石贝士学位论文 征,而在其他的时候很少使用或者根本不用的特征,例如多通道管理特征。 实际上,这些分类方法并不绝对,在很多时候不同的理解方式会把相同的特 征点作不同的划分。但是,这并不会影响我们使用这种划分方法来建立领域的系 统模型,只要建立的模型可以在一定程度上满足领域复用的条件,能够为建立软 件产品线提供支持,我们的最终目的就达到了。 表2 - 1 :特征分类表 t a b 2 1 :c h a r a c t e r i s t i cs o r t i n g 黼一鲴誓毒i ! l -豳凼:晶盟_l i 量l 笥蓄n _m i 1 一l 眩翘蟊咂_二置酱葺簋蓄盟_一晶聋蘑疆儡_ 举例罐骥髭糊簟:插补算法统筹管理? 工艺自动 ;謦攀零謦j 爹i 多通道管理 一|? : 。 麓一鼍。叠菇j 1 ,j ?_ i 叠s _ 0 叠0 化 o 一 j i1 :7 1 ;1 j 运动控制多轴联动擞据管理解释器运动控制i专用元件加载 “ * ( 2 ) 特征列表与特征树: 所有的数控系统最终实现的目标其实只有一个:工艺自动化【15 1 ,因此用特 征分析法来刻画数控系统时则认为,数控系统的总特征就是工艺自动化,我们称 之为根特征。在根特征之下,根据不同的控制目标,又分为5 个子特征:人机接 口、逻辑控制、运动控制、统筹管理及底层平台。 图2 - 3 数控领域特征树第一层 f i 薛3f i r s tl a y e ro fn u m e r i c a lc o n t r o ld o m a i nc h a r a c t e r i s t i ct r e e 第2 章软件产品线技术与数控软件 皇曼曼皇曼曼曼曼曼i _ 一m ;i;i i 一一_一 i i 皇鼍曼曼曼皇量曼 人机交互接口属于一个上层的抽象特征,具体细化时可以分为信息显示、信 息设定和状态设定等,然后依然可以继续细化例如我们把信息显示再细分为文本 显示和图形显示,在不同的系统或产品中,要求的文本显示特征也不尽相同,其 中可以是坐标值显示、反馈值显示、当前状态显示等等,或者要求的是其中一项, 或者要求的是其中几项的组合。因此在设计模块的时候需要考虑的是怎么样将这 些特征映射到各个不同的模块,以便将来在需要定制的时刻可以很方便的进行组 合。 图2 - 4 数控领域特征树第二层人机交互 f i 9 2 4s e c o n dl a y e ro f n u m e r i c a lc o n t r o ld o m a i nc h a r a c t e r i s t i c 仃e e m a n m a c h i n e i n t e r a c t i o n 逻辑控制部分主要完成的功能是,对数控机床上的所有逻辑i o 点进行控制, 以按照编程人员的程序要求实现对机床的逻辑控制,逻辑控制在整个机床控制系 统中是一个较独立且较重要的部分,其特点是要求支持可编程性、并且具有较高 的实时性要求。在实现过程中具体可以分为指令生成器、逻辑指令处理器和逻辑 指令执行器等。对于不同的系统或者不同的设计方案,可以有解释执行和编译执 行两种模式,在编译执行模式下,虽然提高了系统的执行效率,但同时也损失了 模块的可移植性,因为当今在工业控制领域中可选的控制器系列包括x 8 6 、d s p 、 单片机、a r m 等等许多,为增强模块的可移植性,在本课题中我们选择了解释 执行的模式。 北京工业大学工学硕士学位论文 图2 5 数控领域特征树第二层逻辑控制 f i 9 2 - 5s e c o n dl a y e ro fn u m e r i c a lc o n t r o ld o m a i nc h a r a c t e r i s t i ct r e e - - l o g i cc o n t r o l 运动控制主要包括指令生成器和运动指令处理器,而指令生成器主要包括两 种方式,解释和编译,运动指令处理器则包含刀具补偿、螺距补偿、速度规划、 插补和反馈等等。因为数控的本质及核心是对位置和速度的控制,因此我们将速 度规划定为核心特征,另外,补偿是数控保证精度控制的重要手段,通过补偿, 机械变形和机械误差得以修正,是数控的重要特点之一,因此我们也将其列为核 心特征。对于刀具补偿,可以进一步的细分为长度补偿、半径补偿和修正补偿等 等,这些细化后的特征可以作为用户选择和定制系统时候的最小单位。 图2 - 6 数控领域特征树第二层运动控制 f i 9 2 - 6s e c o n dl a y e ro f n u m e r i c a lc o n t r o ld o m a i nc h a r a c t e r i s t i ct r e e - - m o t i o nc o n t r o l 数控系统不一定显式的存在统筹管理这一特征【1 翻,但是这是各个模块进行 数据交互、消息交互等通讯的必然特征,因此我们可以把统筹管理又划分为数据 1 4 第2 章软件产品线技术与数控软件 i_ii_ - - _ _ 詈曼曼曼曼曼 管理、消息管理和通道管理三部分。其中数据管理特征和消息管理特征最后映射 为数据中心( d a t a c e n t e r ) 和消息中心( m s g c e a t e r ) 两个模块。根据数控系统领 域的分析,一般系统利用逻辑轴的方式向用户提供服务,而在底层则用物理轴的 形式对实际的伺服及电机设备进行抽象,这种设计模式可以屏蔽系统底层的实际 设备,从而使系统的使用人员或机械加工工艺师更为直接的控制和使用系统。对 于一些简单低档的数控系统,因为其轴数较少只有一个通道,因此也不存在多个 通道的协同问题,所以我们将通道管理列为外围特征。 图2 - 7 数控领域特征树第二层统筹管理 f i 醇一7s e c o n dl a y e ro f n u m e r i c a lc o n t r o ld o m a i nc h a r a c t e r i s t i ct r e e o v e r a l lp l a n m a n a g e m e n t 底层平台部分的详细特征主要分为硬件平台、操作系统和数控虚拟机【l 丌, 其中硬件平台主要包括:l g o 点接口、伺服驱动接口、传感器接口、一般通讯接 口或其他外围设备,因为l g o 点接i z l 和伺服驱动接口两部分是一个数控系统的基 本设备,因此我们将其设为核心特征;操作系统我们一般选用具有嵌入式特征的、 可以进行定制或配置的、具有硬实时功能的操作系统,例如可以选用w i n c e 、 v x w o r k s 等等;在数控虚拟机部分则主要包括的特征有:设备管理、中断管理和 任务管理。设备管理主要负责对于不同的硬件设备,进行统一的抽象及封装,由 此实现对数控上层软件的完全透明化,类似于p c 设备上的驱动程序;中断管理 主要是针对各个硬件设备上的中断及系统的定时中断,其负责将这些中断与操作 系统中的特定内核对象进行相应的绑定,由此实现系统中各个线程与中断的关 系;任务管理则体现在软件运行过程内的同异步问题中,在统一的任务管理机制 下实现各个任务的协调运作与配合。 北京工业大学工学硕士学位论文 图2 - g 数控领域特征树第二层底层平台 f i 醇一8s e c o n dl a y e ro fn u m e r i c a lc o n t r o ld o m a i nc h a r a c t e r i s t i ct r e e - - p h y s i c a lp a n e l 然后我们可以继续将特征点进行细化,因此特征树中非叶子特征可以映射为 我们系统结构中的子模块,而叶子节点上的特征才是在装配系统时候的可以应用 的具体特征点。可变点也大多出现在叶子节点。 2 3 领域特征分析结果对构架的影响 在总结出一定领域范围内的特征后,可以根据各个特征的分析结果来推断我 们在搭建体系结构的时候应该采用什么样的模式,例如考虑到为了屏蔽底层的硬 件系统和所选用的操作系统对上层软件的影响而选择采用虚拟机模式,建立一个 数控虚拟机不仅可以使上层软件具有更好的移植性和适应性,而且可以直接通过 虚拟机来控制和检验上层软件的性能,为我们更好的管理整个数控系统提供了一 个良好的平台和接口。 再例如在自动加工过程中,给系统的指令流要通过一系列的处理,读加工文 件、处理数据流、规划、插补、补偿和指令修正等等最后才能输出给执行系统, 因此我们在对此部分的构架模式主要采用管道过滤器风格,对于每一个对数据流 进行处理的部分为其定义明确的模块接口并将其划分为一个独立的模块作为过 滤器,由此方式拼装出整个加工文件的处理流程。其优点在于如果在不同的机床 系统上需要增加或者删除某一数据处理环节的时候,可以较为方便的实现,另外 在需要调试的时候也可以方便的将数据流从任意两个过滤器之间转接出来,也可 以方便的将修改或调整过后的数据送进下一个过滤器,由此实现对系统中的数据 流实现监视和控制。 1 6 第2 章软件产品线技术与数控软件 在设计出软件系统结构后,我们还应该利用这些领域特征来检验设计出的构 架是否适用于该领域,以及是否满足所有功能和性能的要求。 2 4 数控软件构架确立 由前文中的领域分析我们可以得到公共模块如下: 夺显示与界面系统 夺消息中心

温馨提示

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

评论

0/150

提交评论