CIOAge.com IT推动创新
IBM Rational嵌入式系统开发策略(2)
出处:CIOAge.com 文: Bran Selic 评论 ( 0 ) 条 ( 0 ) 砖 ( 0 ) 好 论坛 博客
阅读提示:CIOAge.com与51CTO.com共同对此次大会进行了全程网络视频直播并制作了专题页面 http://www.51cto.com/exp/830Rational/。 在当日下午的分论坛上,IBM杰出工程师Bran Selic讲解了"IBM Rational嵌入式系.....
    所以接下来我们看一下策略方面的,在这里把我们开发过程分成几个层次,最下面的这个层次是非常具体的一些开发活动,开发一个组件也好,开发一个模块也好,这里涉及到的个人用到的开发工具。所以这些方面看到的工具是两类,电子电路的设计,机械的设计,另外一个方面我们看到的软件部分的设计工具,Rational是涉及到在软件方面的领域。当然我们要成功的开发一个嵌入式产品,光看软件或者硬件是不够的,我们必须把眼光上升到一个层次,把整个嵌入式在系统这个级别上升到一个层次。但是作为一家企业来讲,你光开发单个的产品是不够的,你要上升到更高的一个层次,产品家族,产品组合这个层次,这个层次上除了开发产品之外,还要关心市场的需求等等,很多方面的因素。所以我们开发一个嵌入式产品的话,涉及到所有的三个层面。所以我们需要一整套的工具管理整个的开发过程。所以IBM  Rational专注的领域是红框的领域,我们提供工具、服务、方法。至于在我们不涉及的这个领域,我们的策略就是我们想办法把我们的工具跟其他的工具来进行集成
所以这边列出的是我们针对这个领域的四个策略,第一是把我们可视化建模的优势引入到嵌入式的领域,我们的MDSD的嵌入式系统开发,第二我们采用标准的规范的一些流程和框架,第三我们采用开放的流程控制项目的风险,最后我们采用一些非常客观的评价手段评价我们的开发是不是做得好还是坏。下面我们逐点给大家详细地解释一下。其实建模的概念并不是一个新的概念,是一个传统的工程技术,建模主要的目的就是要把管理复杂度,把复杂的系统要简化,解决问题的时候,把你的注意力集中到一些相对简单的侧面上。所以建模主要的解决的问题就是复杂度的问题。模型就是抽象的,比较复杂的东西用一个简单的东西把它抽象出来。模型这个概念在软件工程里面是一个什么样的作用,这边举了一个例子,大家看到的是我们先设计一个状态机,然后我们转换成一个代码,就是这样一个Switch语句。在这个转化的过程当中,很容易引起一些问题,把这个Bug带进来。人在看这个东西的时候,可能对模型的认知更容易理解一些,这种转化工作有一个工具自动化的来做,可能更加有效。如果我们建的模型更加复杂一些的话,那么你在把它翻译成代码的时候,有一些问题,而且这个Bug的话就更多了。在这个过程当中,其实工具自动化的代码生成的工具可以扮演一个很重要的作用,在转换的过程完全是一个机械的过程。所以这就是我们引入模型驱动软件开发这个概念的一个原因。那么MDD这种方法的话,主要基于两种基本的原则。第一点就是我们要尽量地提高这个抽象层次,使得我们能够更加专注于描述问题的本身。那么第二点就是尽量地用一些自动化的手段、用工具帮助我们把高抽象度的模型转换成为比较具体的代码。这个模型相当于我们以前引入的第三代语言,高级语言一样,这种转换的过程可以很大的提高我们的生产效率。这里给大家举一个例子,一个主要的电信设备供应商,采用的模型驱动,开发的这种技术,它自动生成的代码达到450万行代码,这个自动生成的代码,在性能方面的表现可能比手工的代码大概正负15%的总偏差。那么生产力的提高的话,大概有关质量和生产力的提高,大概80%到200%之间。这里是一些其他的例子,从卡拉OK唱机到核弹的设计等等。我们把模型驱动开发这种概念从纯软件的开发进一步推广到嵌入式开发的这个领域。当你在设计一个模型的时候,实际上你设计的系统跟具体的实践技术是没有关系的。那在这个过程中,你所构建的模型,扮演的就是我们平时所说的文档的角色,这个里面我们用模型取代了这个文档,并且提供了一种更加自动化的开发过程。
那么在这里就是我们谈到的概念就是系统模型,就是对你的目标系统的一个刻划,是独立于任何具体的实现系统的技术。那么这个领域有一种新的基于UML的语言叫SysML,已经成为新的建模里面的标准。如果你熟悉UML的话,这种SysML的语言跟它很相像,借用了很多UML当中的语言,像状态机,像持续图等等。这里所增强的部分第一在需求方面,它能够描述需求之间的关系,那么在另外一个方面,它可以描述系统的不同的模块之间的功能上的关系。所用到的工具就是从我们的工具叫ISA的工具,还有一个SysML,就可以做这种类型的设计。有关标准的话,早上已经谈了很多,我们也参与了很多标准的制定,并且我们的工具基本上都是满足这些标准的。那么在工具方面我们采用的是一个更加开放的策略,我们并不强调我们的用户把所有的工具集中到Rational平台上来,我们采用一个联合的方式,跟我们的合作伙伴一起合作来提高这种开发的能力。所以我们采取了策略就是跟业界一些最好的供应商来结成合作的关系,能够使他们的这些工具能够插入到我们的工具平台上来。
观众提问:刚才的那张图下面的那块的模拟的,看起来的两个观点完全是不一样的,能不能解释一下到底有什么差别,或者以后做什么结合,还有以后的发展?
Bran  Selic:因为刚才的问题是说在最下面的层次的话,我们平时讲的系统建模的话,主要在最下面的层次描述这个软件和硬件的驱动关系,至于跟上面的层次的关系的话,因为首先描述这种关系的话,是UML和SysML,都是用这种描述语言的话,可以很好的描述它们之间的关系,我们现在推荐的是Jazz的技术,可以更好地整合各种不同阶段的模型,可以很好地进行关联起来。在这次大会上,大家有很多次机会听我们谈到这个Jazz的新的技术,大家可以访问Jazz.net这个网站,可以了解更多的有关Jazz的信息。Jazz不是一个产品,是下一代的新技术的框架,它使得不同的开发团队可以很好地在一起进行实时的协作。Jazz的另外一个目的可以从项目开发的整个过程当中,更加有效地抽取一些我们想要的数据,通过这些数据可以更加客观的描述项目的状态和项目的进展情况。Jazz的另外一个作用就是回答刚才的问题,它可以很好的把开发过程当中,采用不同的工具,可以组建的话这些信息的话可以很好地进行关联起来。更重要的采用Jazz技术的话,可以使你的项目真正采用针对你这个项目的特定的工作流程来进行工作,并且它可以帮助你来监控在项目的进展过程当中,是不是按照这个流程来走的,有没有什么偏差。跟Eclips不同的话,大家看它是一个总线,你可以在上面插各种各样的插线,在上面又分了一层可以成为一个框架,这是理解项目的过程的,所以说你插入一个ISA模型的话,插入一个电路设计模块的话,就知道这个硬件设计怎么样的,可以在两者之间建立起关联。
共3页: 上一页 [1] 2 [3] 下一页
【内容导航】
已有0人发表看法
我来说两句
验证码: (如果看不清请点击图片进行更换.)   匿名
最新评论更多..
服 务 CIO 推 进 信 息 化
主编推荐
最近更新
热门文章
中国CIO周刊
浪潮通软助力建峰化工信息化展现CIMS之舞 浪潮通软助力建峰化工信息化展现CIMS之舞
建峰化工CIMS工程的立项,获得了重庆市经委和科委的支持,两个机构分别向该工程拨款10万元和6万元人民币。虽然这部分资金与建峰化工CIMS工..
做好教育信息化需先行 浙大网络的S+S体验 做好教育信息化需先行 浙大网络的S+S体验
浙江大学网络信息系统有限公司是国内最大的教育软件专业开发商、教育电子商务提供商之一,占据国内校校通、城域网软件平台50%以上市场份额..
洞察
揭秘:中小化工企业拒绝ERP的四个理由 揭秘:中小化工企业拒绝ERP的四个理由
拥有43个行业、3000多家大企业、2~3万家中小企业的化工行业,其信息化水平究竟如何呢?前不久记者采访了中国化工信息中心副主任李中。李..
SaaS概念要落地 软件提供商不能任意定价 SaaS概念要落地 软件提供商不能任意定价
软件领域任何字母都可能组合成新的名词,进而上升到概念的高度,SaaS也不例外。2003年SaaS提出,顷刻间概念飞遍了各个角落,然而,概念不..