Rhapsody

模型驱动可视化开发软件

美国I-Logix公司刚刚发布了其著名产品Rhapsody的最新版本6.0,为嵌入式系统软件技术带来突破性进展。

简介
Rhapsody 6.0是遵循UML2.0的模型驱动的(Model-Driven Development--MDD)软件开发平台,Rhapsody能够最大限度的让系统、硬件、软件和测试工程师以更加灵活和优化的方式协同开发和交流。
功能
支持UML2.0
支持UML2.0的增强功能。如今Rhapsody更加适合做系统建模,增强了实时建模关注的在调度、性能、时间(UML Profile for Schedulability, Performance, and Time)上的扩展;支持UML2.0新增的关键内容,例如Ports, Information Flows, Sequence diagram enhancements,Profile,Free Flowing Activity Diagrams等。
支持面向功能分解的结构化建模方式
在国防、航天航空、通讯、汽车、医疗领域,Rhapsody广泛的用于系统建模,系统建模无需关注软件实现的细节,更关注高层的功能划分、结构分解、行为规范和需求分析。Rhapsody为系统工程师提供模块图(Block Diagram)捕获总体系统结构。
在Block Diagram中,可以进一步增加系统结构的细节,达到自顶向下设计的目的。同时支持传统的软件建模常用的数据流的概念(Flows)。Flows是连接不同Block的单向或者双向的数据流,可以携带不同类型的数据项。Flows 和Functional Block可以很容易支持C4ISR结构框架。
图一 数据流和功能模块建模(Block Diagram)
模型/代码的相关
模型/代码相关是Rhapsody特有的技术。模型/代码相关是Rhapsody特有的技术。软件代码实现不再是一个单独的依靠手工编写的过程。在Rhapsody中,软件代码可以由模型动态生成;反过来,代码的修改也可以反映到模型中来。模型可以产生高质量的代码,这种代码既可以作为系统模型验证的代码,也可以是系统最后提交的代码,并且这些简洁、可读性好的代码可以在其他商业IDE中很容易的被调试。
图二模型/代码相关(点击看动画)
可执行的模型
Rhapsody可以让UML模型动起来,就是说Rhapsody代码在目标机上运行的同时,运行情况动态反馈到设计模型中来,例如基于状态图的断点设置、在顺序图上捕捉不同对象之间的消息映射等等。在进行设计级调试的同时,Rhapsody支持与代码级调试工具的联合调试。通过模型级/代码级联合调试、验证,能够直观地尽早发现系统的设计错误或缺陷,从而较早地确定或降低项目风险。
图三:可执行模型,可以在构件系统时对设计进行调试和验证(点击看动画)
实时框架
一般嵌入式应用中有60-90%的代码用于内务处理,如状态机的实现、任务间的通信、容器类的实现、设计模式的应用、时钟机制的运用等等。这些代码被反复的编写,耗费了程序员的大量精力。在Rhapsody中,这些代码可以通过实时框架来自动实现。实时框架是一个垂直框架,提供了一套为嵌入式和实时应用专门选择和优化的设计模板。实时框架使得设计得模型与操作系统无关,通过实时框架,应用程序可以方便的从一个实时操作系统移植到其他的操作系统。同时,实时框架可以被配置和扩展,以适应用户自己特别的操作系统和中间件。
图四:实时框架结构
对C语言的专门优化
Rhapsody 6.0包含大量的C语言的优化和增强功能,体现在对于实时框架调用和VTBL的优化、使用inline和macro加快调用速度,更重要的是增加了Interrupt-Driven Framework(IDF,中断驱动框架),这样,Rhapsody模型可以运行在8位/16位无操作系统CPU及基于各种DSP的目标机上。
逆向工程
Rhapsody可以很方便的把利用其他工具开发产生的代码引入模型中,做为模型的一部分,从而提高开发效率,提高以有技术的利用率。
文档自动生成
Rhapsody可以生成高质量的中文文档,可以生成软件应用所需的框架结构、运行库、编译文件、通讯方式、实施策略等。而且模型和代码的一致性更保证了文档和代码的一致性,为我们顺利的完成开发、后期经验的累积提供了很好的平台。可以通过定制模板,来生成适合具体工作要求的文档。
需求管理
在项目的整个生命周期中,捕获、跟踪与管理用户需求及需求变化的流程是项目成功的基础。Rhapsody 6.0提供了需求管理套件GateWay,可以编辑、跟踪和管理项目中建立起来的所有需求,以保证产品结果符合客户定义的需求,与WordExcel和PDF有很好的集成。需求管理在开发周期中是自始至终都存在的,而且需求管理同项目管理式密不可分的。有明显的事实可以说明减少需求的错误对应用软件开发人员实现按时且在预算内交付高质量软件的目标是最有效的行动。为了建造高质量的系统,首先必须定义需求,然后使开发来满足需求。需求不仅仅是对技术人员很重要,对其他人员也很重要。
基于模型的测试
扩展的MDD理应包含MDT(Model Driven Testing),Rhapsody ATG(Automatic Test Generation自动测试生成)提供高覆盖率的测试用例,用于MC/DC分析,符合Do178B标准。ATG生成的测试用例提供给Rhapsody附加模块TestConductor,也可以输出给第三方的测试执行工具如VectorCast、LDRA等执行测试。
图五:基于模型的测试工作原理
团队开发的广泛支持
使用Rhapsody,开发团队将可以无缝和高效的在模型驱动的开发环境合作开发,Rhapsody的集成开发技术,将系统级和软件级的设计、代码和文档进行共享、重用以及集成变得十分容易。使得开发团队通过网络或者局域网进行很好的协作。
开放的软件
Rhapsody 6.0是开放的系统,可以很容易的用Rhapsody作为核心,构造一个协同的适合团队开发的和强实时性要求的 嵌入式软件开发环境。Rhapsody是一个开放的、可定制的、可扩展的设计平台。Rhapsody提供与市场上提供的优秀的 配置管理工具、需求管理跟踪工具和测试 分析工具的接口,如ClearCase、PVCS、CVS、Doors等。另外,利 用Rhapsody的API和XMI数据接口,Rhapsody可以与开发工具链上的任何工具相连接。加上Rhapsody提供的可视化的模 型区分与合并功能,真正使团队协作成为可能。同时,Rhapsody提供对标准的XML格式的支持,方便开发者共享他们 的设计成果。总之,开发人员对于合作设计和远程团队开发的选择不会因为Rhapsody而受到任何限制。
图六:开放的Rhapsody
根据第三方的报告,Rhapsody正在迅速成为国防/航空航天领域首选的MDD(模型驱动开发,Model Driven Development)开发环境,在一系列项目中被作为主要开发工具来使用,如Joint Strike Fighter (JSF), Future Combat Systems (FCS) and F-22等,同时在通讯、医疗、汽车和消费电子等领域赢得快速持续的增长。
C4ISR新一代标准DoDAF应用平台
美国I-Logix公司是全球领先的自动化解决方案供应商,旗下最新发布的Rhapsody DoDAF是完全遵从美国国防部DoDAF标准的执行建模工具组件。支持所有DoDAF中定义的26种“产品”。
DoDAF目的在于确保架构说明可在不同组织和专业领域间比较和关联,其中包括多国任务、多军种联合作战和业务领域。它通过操作面、系统面和技术标准面三种视图面为系统架构描述提供了规范。
I-Logix同期发布Rhapsody ATG自动测试生成组件,全面支持DoDAF测试用例自动生成。Rhapsody TestConductor提供可执行模型自动驱动测试功能。具备高级文档同步功能,自动生成或同步文档,支持DoDAF标准。
DoDAF-美国国防部架构框架
C4ISR系统,也称为“军队指挥自动化”系统。美军新时代军事转型的核心,是从以平台为中心转向以网络为中心,并将“网络中心战”列为未来的主要作战样式,提出了开发建设将陆、海、空和太空的各种传感器系统、指挥控制系统和武器系统集成为一体的系统之系统。为此,美国制定了(DoDAF)标准,替代了C4ISR AF2.0框架成为目前最新的美军C4ISR系统标准。
全国各地天气预报查询

上海市

  • 市辖区
  • 云南省

  • 临沧市
  • 云南省

  • 丽江市
  • 云南省

  • 保山市
  • 云南省

  • 大理白族自治州
  • 云南省

  • 德宏傣族景颇族自治州
  • 云南省

  • 怒江傈僳族自治州
  • 云南省

  • 文山壮族苗族自治州
  • 云南省

  • 昆明市
  • 云南省

  • 昭通市
  • 云南省

  • 普洱市
  • 云南省

  • 曲靖市
  • 云南省

  • 楚雄彝族自治州
  • 云南省

  • 玉溪市
  • 云南省

  • 红河哈尼族彝族自治州
  • 云南省

  • 西双版纳傣族自治州
  • 云南省

  • 迪庆藏族自治州
  • 内蒙古自治区

  • 乌兰察布市
  • 内蒙古自治区

  • 乌海市
  • 内蒙古自治区

  • 兴安盟
  • 内蒙古自治区

  • 包头市
  • 内蒙古自治区

  • 呼伦贝尔市
  • 内蒙古自治区

  • 呼和浩特市
  • 内蒙古自治区

  • 巴彦淖尔市
  • 内蒙古自治区

  • 赤峰市
  • 内蒙古自治区

  • 通辽市
  • 内蒙古自治区

  • 鄂尔多斯市
  • 内蒙古自治区

  • 锡林郭勒盟
  • 内蒙古自治区

  • 阿拉善盟
  • 北京市

  • 市辖区
  • 吉林省

  • 吉林市
  • 吉林省

  • 四平市
  • 吉林省

  • 延边朝鲜族自治州
  • 吉林省

  • 松原市
  • 吉林省

  • 白城市
  • 吉林省

  • 白山市
  • 吉林省

  • 辽源市
  • 吉林省

  • 通化市
  • 吉林省

  • 长春市
  • 四川省

  • 乐山市
  • 四川省

  • 内江市
  • 四川省

  • 凉山彝族自治州
  • 四川省

  • 南充市
  • 四川省

  • 宜宾市
  • 四川省

  • 巴中市
  • 四川省

  • 广元市
  • 四川省

  • 广安市
  • 四川省

  • 德阳市
  • 四川省

  • 成都市
  • 四川省

  • 攀枝花市
  • 四川省

  • 泸州市
  • 四川省

  • 甘孜藏族自治州
  • 四川省

  • 眉山市
  • 四川省

  • 绵阳市
  • 四川省

  • 自贡市
  • 四川省

  • 资阳市
  • 四川省

  • 达州市
  • 四川省

  • 遂宁市
  • 四川省

  • 阿坝藏族羌族自治州
  • 四川省

  • 雅安市
  • 天津市

  • 市辖区
  • 宁夏回族自治区

  • 中卫市
  • 宁夏回族自治区

  • 吴忠市
  • 宁夏回族自治区

  • 固原市
  • 宁夏回族自治区

  • 石嘴山市
  • 宁夏回族自治区

  • 银川市
  • 安徽省

  • 亳州市
  • 安徽省

  • 六安市
  • 安徽省

  • 合肥市
  • 安徽省

  • 安庆市
  • 安徽省

  • 宣城市
  • 安徽省

  • 宿州市
  • 安徽省

  • 池州市
  • 安徽省

  • 淮北市
  • 安徽省

  • 淮南市
  • 安徽省

  • 滁州市
  • 安徽省

  • 芜湖市
  • 安徽省

  • 蚌埠市
  • 安徽省

  • 铜陵市
  • 安徽省

  • 阜阳市
  • 安徽省

  • 马鞍山市
  • 安徽省

  • 黄山市
  • 山东省

  • 东营市
  • 山东省

  • 临沂市
  • 山东省

  • 威海市
  • 山东省

  • 德州市
  • 山东省

  • 日照市
  • 山东省

  • 枣庄市
  • 山东省

  • 泰安市
  • 山东省

  • 济南市
  • 山东省

  • 济宁市
  • 山东省

  • 淄博市
  • 山东省

  • 滨州市
  • 山东省

  • 潍坊市
  • 山东省

  • 烟台市
  • 山东省

  • 聊城市
  • 山东省

  • 菏泽市
  • 山东省

  • 青岛市
  • 山西省

  • 临汾市
  • 山西省

  • 吕梁市
  • 山西省

  • 大同市
  • 山西省

  • 太原市
  • 山西省

  • 忻州市
  • 山西省

  • 晋中市
  • 山西省

  • 晋城市
  • 山西省

  • 朔州市
  • 山西省

  • 运城市
  • 山西省

  • 长治市
  • 山西省

  • 阳泉市
  • 广东省

  • 东莞市
  • 广东省

  • 中山市
  • 广东省

  • 云浮市
  • 广东省

  • 佛山市
  • 广东省

  • 广州市
  • 广东省

  • 惠州市
  • 广东省

  • 揭阳市
  • 广东省

  • 梅州市
  • 广东省

  • 汕头市
  • 广东省

  • 汕尾市
  • 广东省

  • 江门市
  • 广东省

  • 河源市
  • 广东省

  • 深圳市
  • 广东省

  • 清远市
  • 广东省

  • 湛江市
  • 广东省

  • 潮州市
  • 广东省

  • 珠海市
  • 广东省

  • 肇庆市
  • 广东省

  • 茂名市
  • 广东省

  • 阳江市
  • 广东省

  • 韶关市
  • 广西壮族自治区

  • 北海市
  • 广西壮族自治区

  • 南宁市
  • 广西壮族自治区

  • 崇左市
  • 广西壮族自治区

  • 来宾市
  • 广西壮族自治区

  • 柳州市
  • 广西壮族自治区

  • 桂林市
  • 广西壮族自治区

  • 梧州市
  • 广西壮族自治区

  • 河池市
  • 广西壮族自治区

  • 玉林市
  • 广西壮族自治区

  • 百色市
  • 广西壮族自治区

  • 贵港市
  • 广西壮族自治区

  • 贺州市
  • 广西壮族自治区

  • 钦州市
  • 广西壮族自治区

  • 防城港市
  • 新疆维吾尔自治区

  • 乌鲁木齐市
  • 新疆维吾尔自治区

  • 伊犁哈萨克自治州
  • 新疆维吾尔自治区

  • 克孜勒苏柯尔克孜自治州
  • 新疆维吾尔自治区

  • 克拉玛依市
  • 新疆维吾尔自治区

  • 博尔塔拉蒙古自治州
  • 新疆维吾尔自治区

  • 吐鲁番市
  • 新疆维吾尔自治区

  • 和田地区
  • 新疆维吾尔自治区

  • 哈密市
  • 新疆维吾尔自治区

  • 喀什地区
  • 新疆维吾尔自治区

  • 塔城地区
  • 新疆维吾尔自治区

  • 巴音郭楞蒙古自治州
  • 新疆维吾尔自治区

  • 昌吉回族自治州
  • 新疆维吾尔自治区

  • 自治区直辖县级行政区划
  • 新疆维吾尔自治区

  • 阿克苏地区
  • 新疆维吾尔自治区

  • 阿勒泰地区
  • 江苏省

  • 南京市
  • 江苏省

  • 南通市
  • 江苏省

  • 宿迁市
  • 江苏省

  • 常州市
  • 江苏省

  • 徐州市
  • 江苏省

  • 扬州市
  • 江苏省

  • 无锡市
  • 江苏省

  • 泰州市
  • 江苏省

  • 淮安市
  • 江苏省

  • 盐城市
  • 江苏省

  • 苏州市
  • 江苏省

  • 连云港市
  • 江苏省

  • 镇江市
  • 江西省

  • 上饶市
  • 江西省

  • 九江市
  • 江西省

  • 南昌市
  • 江西省

  • 吉安市
  • 江西省

  • 宜春市
  • 江西省

  • 抚州市
  • 江西省

  • 新余市
  • 江西省

  • 景德镇市
  • 江西省

  • 萍乡市
  • 江西省

  • 赣州市
  • 江西省

  • 鹰潭市
  • 河北省

  • 保定市
  • 河北省

  • 唐山市
  • 河北省

  • 廊坊市
  • 河北省

  • 张家口市
  • 河北省

  • 承德市
  • 河北省

  • 沧州市
  • 河北省

  • 石家庄市
  • 河北省

  • 秦皇岛市
  • 河北省

  • 衡水市
  • 河北省

  • 邢台市
  • 河北省

  • 邯郸市
  • 河南省

  • 三门峡市
  • 河南省

  • 信阳市
  • 河南省

  • 南阳市
  • 河南省

  • 周口市
  • 河南省

  • 商丘市
  • 河南省

  • 安阳市
  • 河南省

  • 平顶山市
  • 河南省

  • 开封市
  • 河南省

  • 新乡市
  • 河南省

  • 洛阳市
  • 河南省

  • 漯河市
  • 河南省

  • 濮阳市
  • 河南省

  • 焦作市
  • 河南省

  • 省直辖县级行政区划
  • 河南省

  • 许昌市
  • 河南省

  • 郑州市
  • 河南省

  • 驻马店市
  • 河南省

  • 鹤壁市
  • 浙江省

  • 丽水市
  • 浙江省

  • 台州市
  • 浙江省

  • 嘉兴市
  • 浙江省

  • 宁波市
  • 浙江省

  • 杭州市
  • 浙江省

  • 温州市
  • 浙江省

  • 湖州市
  • 浙江省

  • 绍兴市
  • 浙江省

  • 舟山市
  • 浙江省

  • 衢州市
  • 浙江省

  • 金华市
  • 海南省

  • 三亚市
  • 海南省

  • 三沙市
  • 海南省

  • 儋州市
  • 海南省

  • 海口市
  • 海南省

  • 省直辖县级行政区划
  • 湖北省

  • 十堰市
  • 湖北省

  • 咸宁市
  • 湖北省

  • 孝感市
  • 湖北省

  • 宜昌市
  • 湖北省

  • 恩施土家族苗族自治州
  • 湖北省

  • 武汉市
  • 湖北省

  • 省直辖县级行政区划
  • 湖北省

  • 荆州市
  • 湖北省

  • 荆门市
  • 湖北省

  • 襄阳市
  • 湖北省

  • 鄂州市
  • 湖北省

  • 随州市
  • 湖北省

  • 黄冈市
  • 湖北省

  • 黄石市
  • 湖南省

  • 娄底市
  • 湖南省

  • 岳阳市
  • 湖南省

  • 常德市
  • 湖南省

  • 张家界市
  • 湖南省

  • 怀化市
  • 湖南省

  • 株洲市
  • 湖南省

  • 永州市
  • 湖南省

  • 湘潭市
  • 湖南省

  • 湘西土家族苗族自治州
  • 湖南省

  • 益阳市
  • 湖南省

  • 衡阳市
  • 湖南省

  • 邵阳市
  • 湖南省

  • 郴州市
  • 湖南省

  • 长沙市
  • 甘肃省

  • 临夏回族自治州
  • 甘肃省

  • 兰州市
  • 甘肃省

  • 嘉峪关市
  • 甘肃省

  • 天水市
  • 甘肃省

  • 定西市
  • 甘肃省

  • 平凉市
  • 甘肃省

  • 庆阳市
  • 甘肃省

  • 张掖市
  • 甘肃省

  • 武威市
  • 甘肃省

  • 甘南藏族自治州
  • 甘肃省

  • 白银市
  • 甘肃省

  • 酒泉市
  • 甘肃省

  • 金昌市
  • 甘肃省

  • 陇南市
  • 福建省

  • 三明市
  • 福建省

  • 南平市
  • 福建省

  • 厦门市
  • 福建省

  • 宁德市
  • 福建省

  • 泉州市
  • 福建省

  • 漳州市
  • 福建省

  • 福州市
  • 福建省

  • 莆田市
  • 福建省

  • 龙岩市
  • 西藏自治区

  • 山南市
  • 西藏自治区

  • 拉萨市
  • 西藏自治区

  • 日喀则市
  • 西藏自治区

  • 昌都市
  • 西藏自治区

  • 林芝市
  • 西藏自治区

  • 那曲市
  • 西藏自治区

  • 阿里地区
  • 贵州省

  • 六盘水市
  • 贵州省

  • 安顺市
  • 贵州省

  • 毕节市
  • 贵州省

  • 贵阳市
  • 贵州省

  • 遵义市
  • 贵州省

  • 铜仁市
  • 贵州省

  • 黔东南苗族侗族自治州
  • 贵州省

  • 黔南布依族苗族自治州
  • 贵州省

  • 黔西南布依族苗族自治州
  • 辽宁省

  • 丹东市
  • 辽宁省

  • 大连市
  • 辽宁省

  • 抚顺市
  • 辽宁省

  • 朝阳市
  • 辽宁省

  • 本溪市
  • 辽宁省

  • 沈阳市
  • 辽宁省

  • 盘锦市
  • 辽宁省

  • 营口市
  • 辽宁省

  • 葫芦岛市
  • 辽宁省

  • 辽阳市
  • 辽宁省

  • 铁岭市
  • 辽宁省

  • 锦州市
  • 辽宁省

  • 阜新市
  • 辽宁省

  • 鞍山市
  • 重庆市

  • 重庆市

  • 市辖区
  • 陕西省

  • 咸阳市
  • 陕西省

  • 商洛市
  • 陕西省

  • 安康市
  • 陕西省

  • 宝鸡市
  • 陕西省

  • 延安市
  • 陕西省

  • 榆林市
  • 陕西省

  • 汉中市
  • 陕西省

  • 渭南市
  • 陕西省

  • 西安市
  • 陕西省

  • 铜川市
  • 青海省

  • 果洛藏族自治州
  • 青海省

  • 海东市
  • 青海省

  • 海北藏族自治州
  • 青海省

  • 海南藏族自治州
  • 青海省

  • 海西蒙古族藏族自治州
  • 青海省

  • 玉树藏族自治州
  • 青海省

  • 西宁市
  • 青海省

  • 黄南藏族自治州
  • 黑龙江省

  • 七台河市
  • 黑龙江省

  • 伊春市
  • 黑龙江省

  • 佳木斯市
  • 黑龙江省

  • 双鸭山市
  • 黑龙江省

  • 哈尔滨市
  • 黑龙江省

  • 大兴安岭地区
  • 黑龙江省

  • 大庆市
  • 黑龙江省

  • 牡丹江市
  • 黑龙江省

  • 绥化市
  • 黑龙江省

  • 鸡西市
  • 黑龙江省

  • 鹤岗市
  • 黑龙江省

  • 黑河市
  • 黑龙江省

  • 齐齐哈尔市