Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1223262
  • 博文数量: 322
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 3276
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-17 09:21
文章分类

全部博文(322)

文章存档

2010年(155)

2009年(167)

我的朋友

分类: 嵌入式

2009-12-19 10:38:56

     通信设备上跑的平台是嵌入式操作系统(目前是psos)。很多时候使用的只是c语言。但是rational rose这样的工具上面只说明可以相应的设计可以转换成c++的代码,没有说可以转换成c代码。是不是因为c不是一种面向对象的语言,所以难于用uml进行设计?

     或者说

     用oo的uml进行设计,用c实现软件,最后会不会把c下很简单的事弄得很复杂?而且嵌入式系统平台下软件应更关注系统资源的消耗

 there are some books about uml for real-time, like omt, real-time uml, crc card.
rational rose is a case tool for business domain. you can use rational rose realtime, it is a case tool for real-time domain. it supports psos and other major rtos. porting to a specific rtos could be easy.
also rhapsody from i-logix is a good tool.

       in general speaking, uml is used in business domain, not real-time domain, it is totaly different between both domains. how to use oo in real-time doamin is a big challenge. i have used rational rose real-time for developing a cell phone system,and got a very good result. rose real-time can generate all c codes not skeleton like rose. and have a very good state machine for simulating the system before doing any hardware implement.
rose real-time comes from objectime based on "real-time object-oriented modeling" written by bran selic.
rhapsody is based on "doing hard time" and "real-time uml" written by douglass.
if you read these books, you can find a lot of methods, those may help you to understand some issues in real-time domain.
again, how to use oo in real-time domain is a key point.

 在实时嵌入式系统中,利用uml进行设计开发是不是技术的方向呢?如果不是,那么现在实时嵌入式系统的软件开发方法有哪些,各有什么优势?

 let me clear some basic issues.
1. uml is a notation, not a methodology.
2. omt, octopus, real-time are some kind of oo methodology.
3. any oo methodology should be notated by some notation like uml.
4. oo used in real-time system is a technical trend.

if you want to use uml in real-time system, you need do following
steps.
1. study oo methodology for real-time
2. study uml for business domain, and uml for real-time domain
3. use a case tool for implement your design, coding, and testing

oo methodology is important, that is why i emphasis it serveral times.

 

 在嵌入式系统中使用了面象对象的分析设计方法,并且最后的代码是用c语言实现的。
在这里,分析设计是用的rose,但没有用它生成代码,仅提供了系统的动态和静态模型文档。代码是手工逐行写出的!书写原则是:书写编译后的代码。这些模型是可以写出c++代码的,我们直接书写c++预编译成c语言后的c代码。当然这需要对c++是如何编译实现的要有深入了解。
uml是完全可应用到嵌入式系统中。只是你所选的辅助工具不同,会对你的工作难度和工作量产生巨大影响。
-------------------------------------------------------------------
我见过rhapsody,很不错的工具,可以把uml图直接转换成c++或c代码。但它也会在系统中引入它的一个程序框架,用以支持顺序图、状态图的运行、调式和仿真。它带来的好处显而易见,但同时,它对很多嵌入式应用又形成阻力。例如,如果你新增功能是在原来的已有的过程式软件包上打个补丁,新的框架和原系统的怎么配合?那么你得真正消化和吸收这个附加的框架,这个难度应该不底于探索mfc结构。对于一个完全新的项目,rhapsody很不错。对于扩功能打补丁的项目,三思呀。 不知道rose real-time 在这方面的表显如何?

阅读(1385) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~