嘉宾:Bruce Powel Douglass


Bruce Powel Douglass在设计安全性要求严苛的即时应用系统设计领域具有20多年经验。著有:"Real-Time UML: Efficient Objects for Embedded Systems"和"Doing Hard Time: Developing Real-Time Systems with UML, Objects, Frameworks, and Patterns"。Bruce Powel Douglass是OMG实时分析设计工作组的主席,现为I-Logix公司首席科学家。

交流重点:UML, 实时系统开发...


umlsz对大家说: welcome(09:01)
umlchina对brucedouglass说: welcome(09:01)
brucedouglass对大家说: Hello(09:01)
nasapn对大家说: welcome(09:01)
arclala对nasapn说: hello(09:01)
brucedouglass对大家说: Thank you(09:01)
bydpdwz对大家说: hello brucedouaglass(09:01)
arclala对brucedouglass说: hello(09:02)
bydpdwz对大家说: can I ask a question first?(09:02)
umlchina对大家说: 提问及参与讨论:草原之蓝,嘉宾发言:正宗喜红,互相说话:绝对黑色(09:02)
brucedouglass对大家说: I have been asked to come on this chat line so that people in China may ask questions about UML(09:02)
brucedouglass对大家说: Yes, by all means(09:02)
supergaosong对大家说: Who can tell me how we can applacate the embeded system?(09:02)
umlsz对umlchina说: useless, they may have on user id to logon(09:02)
umlchina对brucedouglass说: professor, your color should be this one(09:02)
bydpdwz对大家说: Do you think all of diagrams of UML are necessary for embedded system, such as deplyment diagram, statechar diagram, activity diagram, as so on?(09:02)
brucedouglass对大家说: Ok, I'll see if I can change my color - hang on(09:03)
brucedouglass对大家说: How this?(09:03)
bydpdwz对大家说: yeh(09:03)
umlsz对umlchina说: ok. i ve posted it.(09:03)
brucedouglass对大家说: Ok, let's take the first question...(09:03)
brucedouglass对大家说: What do you mean "applacate the embedded system?" I'm not sure what you mean(09:03)
bydpdwz对大家说: Do you think all of diagrams of UML are necessary for embedded system, such as deplyment diagram, statechar diagram, activity diagram, as so on?(09:04)
brucedouglass对大家说: UML really only has about 4 different diagrams - structure, statechart/activity, sequence and use case(09:04)
umlsz对umlchina说: do you think component object model is the finial solution for realtime software?(09:04)
brucedouglass对大家说: Structure diagrams can have classes, objects, packages, nodes and components(09:05)
brucedouglass对大家说: But they're really all the same diagram(09:05)
brucedouglass对大家说: You can build embedded systems with 3 diagrams - class, statechart and sequence(09:05)
brucedouglass对大家说: I don't believe that we are done improving how we model systems... things will come up after objects, elaborating the approach(09:06)
umlsz对brucedouglass说: how do you feel about rational's rose realtime?(09:06)
brucedouglass对大家说: I wrote a paper for Electronic Design magazine published a couple of months ago called "UML Lite" which explores the minial set of UML(09:07)
brucedouglass对大家说: Rational RoseRT is ok, but it's not UML(09:07)
umlsz对brucedouglass说: why?(09:07)
supergaosong对大家说: What's is most important reason that we applet UML in embeded system?(09:07)
brucedouglass对大家说: It is based on two things - UML and ROOM. ROOM is different than UML. If you use RoseRT, you must learn BOTH UML and ROOM. Only the ROOM part in RoseRT is executable.(09:08)
brucedouglass对大家说: This is unnecessary.(09:08)
brucedouglass对大家说: UML itself is executable, as in the Rhapsody tool from I-Logix(09:08)
brucedouglass对大家说: Good question - what's the most important reason...(09:08)
brucedouglass对大家说: We model systems for TWO primary reasons...(09:09)
brucedouglass对大家说: 1. To be able to look at different aspects of a system - structure, behavior and functional (requirements)(09:09)
nasapn对大家说: what is ROOM??(09:09)
brucedouglass对大家说: and 2. We need to be able to look at particularly complex systems at different levels of abstraction(09:09)
brucedouglass对大家说: Source code does not provide enough - it is a highly detailed structural view and is inadequate to build complex systems(09:10)
brucedouglass对大家说: ROOM is a methodology called Realtime Object Oriented Modeling, from a 1994 book by Gulekson, Selic and Ward(09:10)
nasapn对大家说: thanks(09:10)
brucedouglass对大家说: It resulted in a tool called Objectime, a single-sourced proprietary language that was purchased by Rational and ducttaped with Rose to come up with Rose RT(09:11)
umlsz对brucedouglass说: few people use it. but it's interesting.(09:11)
supergaosong对大家说: thanks(09:11)
brucedouglass对大家说: ROOM? Yes, most people prefer UML. One reason is because it is a standard. Another is because it is easier to use and more complete(09:12)
tinyl对大家说: what is use case looks like?(09:12)
brucedouglass对大家说: Do you mean graphically or semantically (what it means)?(09:12)
herman对umlsz说: few people use it because in soldem project is for realtime system??(09:13)
bydpdwz对大家说: yes, I have same feel(09:13)
umlchina对tinyl说: 提问及参与讨论颜色:草原之蓝(09:13)
idlecrook对大家说: Realtime system has requirement to languages?(09:13)
tinyl对大家说: notation is much more important in UML right?(09:13)
brucedouglass对大家说: Interestingly, ROOM itself doesn't even discuss time ;-)(09:13)
tinyl对umlchina说: thanks(09:14)
umlsz对brucedouglass说: can u suggest some useful framework tools for realtime software.(09:14)
brucedouglass对大家说: No, I don't think notation is the most critical thing about UML - the most important thing is semantics(09:14)
bydpdwz对brucedouglass说: Can you give a typical way for UML's application for embedded system?(09:14)
tinyl对umlchina说: tools for UML is not useful I thinl(09:14)
nasapn对大家说: can you give us a progress to develop a embedded system??(09:14)
brucedouglass对大家说: When you say "class" or "event" in UML you can be fairly precise. Notation is GOOD, but semantics is more important(09:14)
brucedouglass对大家说: Rhapsody from I-Logix is a compliant UML tool targetted towards real-time and embedded systems(09:15)
brucedouglass对大家说: UML is very application to real-time systems(09:15)
tinyl对umlchina说: what do you mean by semantics(09:15)
umlsz对brucedouglass说: thank you.(09:15)
brucedouglass对大家说: Semantics - the "meaning" of what you say. Notation without semantics is just pictures that have no meaning(09:16)
brucedouglass对大家说: For applying UML...(09:16)
bydpdwz对brucedouglass说: How can we use UML's diagram to finish embedded system?(09:16)
tinyl对umlchina说: oh I see(09:16)
bydpdwz对brucedouglass说: ?(09:16)
herman对brucedouglass说: realtime system is so different from the PC apllication we use. so if use UML, what kinds of problems we will meet first??(09:16)
brucedouglass对大家说: Next, you "detail" the use cases - state precisely what the requirements are. This is usually done with statecharts, activity charts, and/or sequence diagrams(09:17)
brucedouglass对大家说: Once you understand the requirements, you begin to identify objects that collaborate to "realize" the use cases(09:17)
bydpdwz对brucedouglass说: oh...i see(09:17)
bydpdwz对brucedouglass说: class?(09:18)
brucedouglass对大家说: In design, we refine the object model to add design detail(09:18)
brucedouglass对大家说: Objects are instances of classes. Objects exist at run-time; classes exist at design time(09:18)
bydpdwz对brucedouglass说: is class diagram the final(09:18)
idlecrook对大家说: a use can be divided some small one?(09:18)
xiao_ying_ma对brucedouglass说: Does UML-RT only focus on system specification or it can be used to verificate system(esp concurrent system)?(09:18)
idlecrook对大家说: a use can be divided into some small one?(09:19)
brucedouglass对大家说: Well as I said before there are 3 required views - the structure of the system (class diagrams), the behavior (statecharts, activitiy and sequence) and requirements(09:19)
brucedouglass对大家说: (use case)(09:19)
brucedouglass对大家说: All view are important(09:19)
brucedouglass对大家说: Just putting down a class digram, you MUST ask the question "IS THIS RIGHT?"(09:20)
tinyl对umlchina说: the behavior (statecharts, activitiy and sequence)? what does it mean?(09:20)
brucedouglass对大家说: And you can only tell when you execute the behavior of the system, defined by the structure and behavioral diagrams(09:20)
bydpdwz对brucedouglass说: does it mean that we use use cases, behavior to realize class at last?(09:20)
umlsz对brucedouglass说: which do you prefer? CORBA or COM?(09:21)
brucedouglass对大家说: Behavior - how things change over time. Statecharts and activity diagrams specify behavior of single Classifiers - use cases, classes, subsystems and components(09:21)
brucedouglass对大家说: Sequence diagrams specify how groups of instances of Classifiers collaborate(09:21)

brucedouglass对大家说: We use collaborations - structures of potentially many classes - to define an object collaboration that realizes (i.e. implements) a use case(09:22)
brucedouglass对大家说: If I'm working in Windows, COM is fine. For interoperability between OSes, CORBA is much better(09:22)
umlsz对brucedouglass说: yeah(09:23)
brucedouglass对大家说: Let's answer the question about how PC apps differ from embedded(09:24)
pega对大家说: agree bruce(09:24)
idlecrook对大家说: but com r not steadily:)(09:24)
supergaosong对大家说: Ok.(09:24)
brucedouglass对大家说: The primary difference is that embedded systems care more about Quality of Service (QoS)(09:24)
bydpdwz对brucedouglass说: can you tell some details about collaborations in embedded system?(09:24)
brucedouglass对大家说: Such as worst case performance, average performance, throughput, bandwidth, memory size and so on(09:24)
brucedouglass对大家说: Also we do a lot more low-level device driver and systems programming(09:24)
pega对大家说: which one supports QoS better?(09:25)
brucedouglass对大家说: Collaborations are groups of objects that realize a use case...(09:25)
brucedouglass对大家说: For example, "Deliver Drugs" is a use case for a medical system...(09:25)

umlsz对brucedouglass说: there is few middleware for realtime system, why?(09:25)
bydpdwz对brucedouglass说: and...(09:26)
brucedouglass对大家说: a collaboration might include objects like Vaporizer, ventilator, knob, button, text view, icon view, alarm, alarm manager and so on(09:26)
brucedouglass对大家说: These work together to deliver the drugs in a safe and effective way(09:26)
brucedouglass对大家说: UML supports QoS fine, if that is the question(09:26)
herman对brucedouglass说: "Deliver Drugs"? in drug plant??(09:26)
brucedouglass对大家说: Lots of people use middleware in embedded systems...(09:27)
tinyl对大家说: deliver drugs to other store?(09:27)
brucedouglass对大家说: the last project I worked on at NASA used the Ace/Tao ORB (CORBA)(09:27)
brucedouglass对大家说: No, deliver drugs to a patient while on the operating table in a hospital(09:27)
umlsz对brucedouglass说: CORBA is too huge i feel.(09:27)
brucedouglass对大家说: Depends on your system(09:28)
umlsz对brucedouglass说: can we tailor it?(09:28)
bydpdwz对brucedouglass说: Do you think RTOS is necessary for embedded system?(09:28)
brucedouglass对大家说: Embedded systems range from simple 4- and 8-bit microcontrollers to flight control systems for spacecraft and nuclear power plant management systems(09:28)
tinyl对brucedouglass说: I have a system which talk about drug store(09:28)
brucedouglass对大家说: I wrote a micro-implementation of CORBA 10 years ago called CORBAWE (CORBA-Wanna Be) that was pretty small. Commercial ORBs relatively large for microcontrollers true(09:29)
brucedouglass对大家说: You might try JINI in that case(09:29)
bydpdwz对brucedouglass说: Do you think RTOS is necessary for embedded system?(09:29)
umlsz对brucedouglass说: thanks.(09:29)
brucedouglass对大家说: As for an RTOS, it depends on the size of the system(09:29)
brucedouglass对大家说: I might not use one on an 8-bit, but larger than that, I probably would(09:30)
tinyl对brucedouglass说: what is JINI?(09:30)
bydpdwz对brucedouglass说: oh, thanks(09:30)
brucedouglass对大家说: It saves me from having to write stuff to manage memory and concurrency(09:30)
bydpdwz对brucedouglass说: and how about c++(09:30)
xiao_ying_ma对brucedouglass说: Can UML RT be used in concurrent system?(09:30)
brucedouglass对大家说: JINI is an embedded Java framework for distributed systems(09:30)
tinyl对brucedouglass说: thanks(09:31)
brucedouglass对大家说: UML RT is a trademark of Rational corporation and is not UML(09:31)
bydpdwz对brucedouglass说: C++ will take more resource(09:31)
bydpdwz对brucedouglass说: do you think so ?(09:31)
brucedouglass对大家说: UML can be used VERY EFFECTIVELY in real-time systems. I've built cardiac pacemakers with it to space craft, robotics, medical systems, etc(09:31)
idlecrook对大家说: garbage collection may miss some runtime data,right?(09:31)
bydpdwz对brucedouglass说: if C++ can't be used, How can we applicate UML(09:32)
brucedouglass对大家说: C++ is a very efficient language, within about 3% of C. The philosophy of C++ is you pay for what you use only if you use it(09:32)
brucedouglass对大家说: Garbage collection is a big problem because it adds significant non-determinancy to a system. Many RT systems can't handle that(09:32)
umlsz对大家说: especially with cache.(09:32)
brucedouglass对大家说: You can implement a UML model in C, C++, Java, Ada... even assembly language(09:32)
herman对大家说: embed and realtime is different too. i have worked for power station, and most part of the control system use realtime.(09:33)
brucedouglass对大家说: I wrote a multitasking OS for a cardiac pacemaker from an OO model in 6502 assembly language(09:33)
bydpdwz对brucedouglass说: use mainly throught Struct of C?(09:33)
brucedouglass对大家说: C uses srtuct to represent a class, yes(09:33)
bydpdwz对brucedouglass说: but how about method?(09:34)
idlecrook对brucedouglass说: when i shoud choose my language?(09:34)
brucedouglass对大家说: it's true that real-time and embedded are different, but related concepts(09:34)
brucedouglass对大家说: What method?(09:34)
tonyhu对brucedouglass说: How rhapsody save our time?(09:34)
bydpdwz对brucedouglass说: and no way can realize inherit(09:34)
brucedouglass对大家说: The selection of language should be made on MANY factors - ...(09:34)
brucedouglass对大家说: availablility for the target processor, speed, familiarity, timeliness and predictability, and so on(09:35)
brucedouglass对大家说: Rhapsody can save significant time in many ways...(09:35)
herman对大家说: embed be used to measurement and operating.(09:35)
onerest对brucedouglass说: if using C struct to represent a class,will it lose some such as inheritance?(09:35)
bydpdwz对brucedouglass说: oh sorry , I mean operations of C++(09:35)
tinyl对brucedouglass说: can realize inherritance in class diagram(09:35)
brucedouglass对大家说: You must understand that you must ALWAYS be able to answer the question "Is this right?"(09:36)
brucedouglass对大家说: Rhapsody provides the ability to generate code and validate your design, even if the design is incomplete(09:36)
brucedouglass对大家说: And it can do it on the target hardware or on your desktop(09:36)
brucedouglass对大家说: You can implement inheritance in C if desired(09:36)
umlsz对大家说: i have a plan to build a realtime framework with uml-rt & com.(09:37)
windy.j对brucedouglass说: Excuse me, could you please explain to us how UML can suppport Qos fine in detail? Thanks(09:37)
herman对brucedouglass说: yes. because if fail, most time no person come to solve. :)(09:37)
brucedouglass对大家说: It's a bit more complex, but remember that C++ used to be implemented by generating C code from the Cfront compiler(09:37)
brucedouglass对大家说: QoS...(09:37)
brucedouglass对大家说: Most QoS requirements are what we call "non-constructive" in that they don't affect how the code is generated, but they affect whether or not that code is RIGHT(09:38)
brucedouglass对大家说: QoS aspects are normally put in constraints...(09:38)
brucedouglass对大家说: A constraint in UML is a "user-defined quantitative aspect" that applies to one or more model elements...(09:38)
umlsz对brucedouglass说: does NASA feel safe with VxWorks?(09:38)
bydpdwz对brucedouglass说: If I have enough resource to use RTOS, what advantadges do you think it will bring ?(09:39)
brucedouglass对大家说: such as {worst case execution time = 20 ms +/- 2 ms }(09:39)
tinyl对brucedouglass说: excuse me, what is QoS(09:39)
herman对brucedouglass说: efficiency should trade off for the safety? :)(09:39)
tonyhu对brucedouglass说: Now rhaposody developer is too expensive, if I use personal version, which important thing I may loss?(09:39)
brucedouglass对大家说: NASA is using VxWorks in some projects(09:39)
brucedouglass对大家说: All designs are tradeoffs - efficiency, recurring cost, development cost, safety, reliability, and so on(09:39)
umlsz对brucedouglass说: how to evaluate safety of a rtos?(09:40)
brucedouglass对大家说: Your job as a designer is to find a solution that optimizes ALL of these constraints with respect to their importance relative to the system(09:40)
brucedouglass对大家说: That's a large question (safety of an RTOS)... but the short answer is that you can't...(09:40)
umlsz对brucedouglass说: ok(09:41)
windy.j对tinyl说: Quality of Service(09:41)
brucedouglass对大家说: the problem(09:41)
brucedouglass对大家说: Chapter 3 of "Doing Hard Time" discusses this point(09:41)
bydpdwz对brucedouglass说: do you think it is a trend for using RTOS in embedded system?(09:41)
tinyl对windy.j说: thanks(09:42)
brucedouglass对大家说: definitely people are getting away from writing their own RTOS and buying them commercial. Definitely(09:42)
wys2051对brucedouglass说: How to doing hard time?(09:42)
brucedouglass对大家说: "Doing Hard Time' is a book that I wrote that was published in 1999(09:43)
brucedouglass对大家说: It is about developing real-time and embedded systems(09:43)
umlsz对brucedouglass说: architecure?(09:44)
wys2051对brucedouglass说: What's main diffrence between hard time and soft time?(09:44)
onerest对brucedouglass说: how to get it?("Doing hard time")(09:44)
bydpdwz对brucedouglass说: I can finish most of my projects with no RTOS, but I can't decide RTOS is better(09:44)
brucedouglass对大家说: You can order US books right? It's published by Addison-Wesley.(09:44)
onerest对brucedouglass说: thanks(09:45)
skyship对brucedouglass说: Do you think Rational Rose Real-Time is a good tool for development of RTOS?(09:45)
brucedouglass对大家说: Hard real-time means that if a deadline is missed, it is a system failure(09:45)
brucedouglass对大家说: Soft real-time is more concerned with average throughput, or average response time. It may be ok to even miss a few responses infrequently(09:45)
umlsz对brucedouglass说: can a soft-time OS to be used for hard-time system with high-speed CPU?(09:46)
brucedouglass对大家说: I'm not a big fan of Rose RT personally, but certainly people have used it to develop systems(09:46)
bydpdwz对brucedouglass说: is using RTOS better in embedded system ?(09:46)
brucedouglass对大家说: Fast is NOT the same as hard. That is a common misconception(09:46)
bydpdwz对brucedouglass说: regardless resource(09:46)
brucedouglass对大家说: I almost always use an RTOS myself, but then I generally build systems which are larger than single microcontrollers(09:47)
umlsz对brucedouglass说: how about distributed system?(09:47)
bydpdwz对brucedouglass说: oh , i see(09:47)
brucedouglass对大家说: What about distributed systems?(09:48)
tonyhu对brucedouglass说: comparing with MIS, how to capture and ananysis requirement for a embedded application?(09:48)
umlsz对brucedouglass说: any patterns found useful?(09:48)
umlsz对brucedouglass说: i mean multi-processor .(09:49)
brucedouglass对大家说: You can use the same approach to develop an MIS or embedded system... you just have to care more about the QoS aspects(09:49)
bydpdwz对brucedouglass说: Can you give some opinons about diffrent RTOSs(09:49)
wys2051对brucedouglass说: What about to introduce your book "Real-time UML"?(09:49)
brucedouglass对大家说: There are many ways to model distributed systems... the primary divisions being asymmetric and symmetric(09:49)
umlsz对brucedouglass说: treat them equally or some as main processor's devices?(09:50)
brucedouglass对大家说: I've used a number of RTOSes. I like VxWorks and pSOS(09:50)
bydpdwz对brucedouglass说: thanks(09:50)
brucedouglass对大家说: There are many ways to do distribution - shared memory, publish-subscribe, Broker, Proxy are all useful patterns for modeling it(09:51)
brucedouglass对大家说: You can do master-slave or peer-to-peer(09:51)
bydpdwz对brucedouglass说: do you think UML will cross all process of embed system design?(09:51)
skyship对brucedouglass说: For RTOS, which diagram is the most important in all UML diagrams?(09:51)
brucedouglass对大家说: I have a new book coming out in September "Real-Time Design Patterns" where I discuss various ways to model architectural aspects in UML for RT systems(09:52)
umlsz对brucedouglass说: ok.(09:52)
tonyhu对brucedouglass说: Which RT-UML I may mainly focus in if I am familiar with UML?(09:52)
longzhifang对brucedouglass说: what's your opinion about LynxOS ?(09:52)
brucedouglass对大家说: Most of the people I know use UML throughout the entire project when building a RT system(09:52)
onerest对大家说: do u think uml is the best choice to model distributed sys?(09:52)
umlsz对brucedouglass说: have a plan to make them tranlated into Chinese version?(09:52)
brucedouglass对大家说: I haven't used LynxOS(09:52)
onerest对brucedouglass说: do u think uml is the best choice to model distributed systems?(09:52)
brucedouglass对大家说: Yes, I think UML is the best way to model a distributed system(09:52)
brucedouglass对大家说: RT UML is translated into Japanese, and I heard of a plan to translate "Doing Hard Time" into Chinese(09:53)
brucedouglass对大家说: But I don't know when that's to happen(09:53)
brucedouglass对大家说: for the RTOS, do you mean if you're DESIGNING an RTOS?(09:54)
bydpdwz对大家说: can you give me some advice to persuade my boss to use UML in embedded system :-)(09:54)
bydpdwz对大家说: can you give me some advice to persuade my boss to use UML in embedded system :-)(09:54)
brucedouglass对大家说: In order to change technology, you must make a business case - what the benefits and what are the costs(09:55)
onerest对brucedouglass说: master-slave ?(09:55)
brucedouglass对大家说: In my experience, the proper application of UML allows you to do more in less time with fewer defects(09:55)
onerest对brucedouglass说: master-slave, any relation with client-sever?(09:55)
brucedouglass对大家说: That's a big win(09:55)
bydpdwz对大家说: yes(09:56)
brucedouglass对大家说: Master-slave is not necessarily related to client-server, but it might be used to implement a client-server architecture(09:56)
bydpdwz对大家说: less time and fewer defects , thanks(09:56)
brucedouglass对大家说: One company I worked with had to learn UML, learn C++, and had to learn to use a modeling tool (Rhapsody)(09:56)
brucedouglass对大家说: I taught them UML and they got C++ training. I also mentored them through the project, a few days per month(09:57)
brucedouglass对大家说: At the end, they reported that they had developed this new system in 30% LESS TIME than they would have had they used their previous approach(09:57)
brucedouglass对大家说: even with all the learning curves(09:57)
onerest对brucedouglass说: i think u must be a good mentor.(09:58)
brucedouglass对大家说: your "mileage may vary" of course, but people I've seen have reported productivity and quality improvments(09:58)
bydpdwz对大家说: Wa~~~, that is the UML's charm(09:58)
brucedouglass对大家说: Now I think it is definitely possible to fail when you move to UML, so you have to be smart abou tit(09:59)
brucedouglass对大家说: about it(09:59)
bydpdwz对大家说: I think I'd better to have a test(10:00)
brucedouglass对大家说: I think executable models is important too, and an executable UML tool is important(10:00)
bydpdwz对大家说: Rational Rose?(10:00)
brucedouglass对大家说: Also, using an iterative lifecycle moves testing up much earlier, so defects can be identified and fixed before they "fester"(10:00)
brucedouglass对大家说: Rational Rose is ok, but it's not an executable tool - that is you can't run or test your UML models in Rose(10:01)
onerest对brucedouglass说: what about AM(Agile Modeling)?(10:01)
brucedouglass对大家说: I think AM is a GREAT idea, but incomplete. It think it ignores the larger time scale issues(10:02)
brucedouglass对大家说: I use 3 timescales to think about projects... macro, micro and nano...(10:02)
brucedouglass对大家说: Macro is then entire length of the project - usually 1-* years(10:02)
brucedouglass对大家说: Micro is the spiral prototype - 4-6 weeks(10:02)
brucedouglass对大家说: Nano is the constant execution on the desktop.. every few minutes you
execute your model as you incrementally modify it...(10:03)
umlsz对brucedouglass说: what will be next-generation real-time OS?(10:03)
bydpdwz对大家说: Can you commend an UML tool for embedded system(10:03)
brucedouglass对大家说: the nanocycle is where AM focuses. While it's GOOD, it's insufficient(10:03)
brucedouglass对大家说: Well, I work with Rhapsody from I-Logix. I recommend that(10:04)
onerest对brucedouglass说: i c(10:04)
wys2051对brucedouglass说: What about Rhapsody?(10:04)
brucedouglass对大家说: RTOSes are including more services and becoming more scalable allowing you to optionally include services such as middleware as needed(10:05)
brucedouglass对大家说: What would you like to know about Rhapsody?(10:05)
wys2051对brucedouglass说: yes(10:05)
wys2051对brucedouglass说: feature(10:05)
brucedouglass对大家说: they are also adding better IDEs as well(10:06)
zhangzw对大家说: How design distributed fault-tolerant systems for a CORBA environment?(10:06)
bydpdwz对大家说: will middelware enlarge your need for resource?(10:06)
brucedouglass对大家说: Rhapsody is a UML compliant tool that allows you to generate deployable high-quaity code for C, C++, Java or Ada...(10:06)
brucedouglass对大家说: It allows you to execute, at the UML level, the models you construct(10:06)
brucedouglass对大家说: It has a debug system for running and identifying problems in your model(10:07)
brucedouglass对大家说: and the Test Conductor allows you to run tests in a semi-automated way to apply test suites to your system(10:07)
wys2051对brucedouglass说: what about price?(10:07)
idlecrook对brucedouglass说: a product?(10:07)
brucedouglass对大家说: I don't know about price in Asia(10:07)
tonyhu对brucedouglass说: Now we are building a video supervisory device. MAP-CA chipset + VxWorks + RTP + HTTP Server + H263/MPEG4 + model recognizing. And HTTP Server is for management.(10:07)
tonyhu对brucedouglass说: How I can use UML to design such B/S archtecture with embedded device? is Vxworks' http server a right choice, or I can porting apache ?(10:08)
brucedouglass对大家说: if you go to you can be put in touch with a sales rep and they can get back to you on that(10:08)
brucedouglass对大家说: What do you mean by B/S?(10:08)
wys2051对brucedouglass说: Have a demo edition(10:08)
bydpdwz对大家说: i think browse/server(10:08)
brucedouglass对大家说: It's a BIG download though(10:09)
brucedouglass对大家说: Ok. This is for video processing?(10:09)
wys2051对brucedouglass说: Thanks i will(10:09)
tonyhu对brucedouglass说: embedded http server in device(10:09)
tonyhu对brucedouglass说: yes video processing(10:09)
brucedouglass对大家说: I know of companies using UML (and Rhapsody) to build high-speed telecom networks, settop boxes and video processing systems(10:09)
umlchina对大家说: 提问及讨论颜色:草原之蓝(10:10)
tonyhu对brucedouglass说: and http server is for managing device(10:10)
bydpdwz对大家说: just use use case, st(10:11)
bydpdwz对大家说: statchart and sequence(10:11)
bydpdwz对大家说: ?(10:11)
brucedouglass对大家说: Rhapsody actually has "Wedify" interface that will insert an embedded web server in your application and construct web pages to allow access to view and control your syst(10:11)
brucedouglass对大家说: system(10:11)
brucedouglass对大家说: You can get by with just 3 views, but you may want more, depending on the scope of the system(10:12)
bydpdwz对大家说: thanks(10:13)
brucedouglass对大家说: If you're not using Rhapsody, you can do this manually as well, of course(10:13)
bydpdwz对大家说: which is better?(10:13)
brucedouglass对大家说: ? Which is better?(10:14)
blue_monkey对brucedouglass说: how to change SA to UML?(10:14)
tonyhu对brucedouglass说: Do you think I needn't to buy vxworks' http server (it is very expensive )if I use rhaposody?(10:14)
wys2051对brucedouglass说: what are you think the main diffrence between ROSE and Rhapsody?(10:14)
bydpdwz对大家说: manual or use Rhapsody(10:14)
brucedouglass对大家说: Hmmmm I'm not sure if you need to buy VXWorks http server or not - I'd write and ask them(10:15)
bydpdwz对大家说: I can do this all manually(10:15)
blue_monkey对brucedouglass说: how to change SA to UML?((10:15)
bydpdwz对大家说: good question(10:15)
brucedouglass对大家说: Changing from SA to UML ...(10:15)
bydpdwz对大家说: hehe(10:15)
brucedouglass对大家说: It's a mindset change... there are two approaches..(10:16)
brucedouglass对大家说: You can learn it on your own, or you can get help. It's a place where you can trade money for time(10:16)
brucedouglass对大家说: You can get training and learn the UML and then get some consulting on your first project or on a pilot to "get up to speed". That's maximally effective in terms ...(10:16)
brucedouglass对大家说: of time, but it costs money. You can do it yourself, but it will take much longer to get proficient(10:17)
blue_monkey对brucedouglass说: Are there some softs do it?(10:17)
brucedouglass对大家说: So it depends on what you want to optimize(10:17)
brucedouglass对大家说: ? Are there some softs do it? What do you mean?(10:17)
bydpdwz对blue_monkey说: I think you can use SA to help to make use case(10:18)
bydpdwz对brucedouglass说: I think no(10:18)
brucedouglass对大家说: I agree that you can take a use case model and realize it with EITHER objects or functions(10:18)
bydpdwz对brucedouglass说: their so diffrents from each other(10:18)
blue_monkey对brucedouglass说: Some softs can do this job auto(10:18)
brucedouglass对大家说: There's nothing particularly object-oriented about use cases per se(10:19)
tonyhu对brucedouglass说: Wedify? did example of cd-recoder use it ?(10:19)
brucedouglass对大家说: Do you mean are there companies that do training? Sure - lots. I do it myself quite a bit(10:19)
blue_monkey对brucedouglass说: thanks(10:19)
brucedouglass对大家说: I'm not sure what applications have deployed Webify toolkit right off hand(10:20)
tonyhu对brucedouglass说: For many embedded application, such as my video processing, use case is somewhat of no use ?(10:21)
bydpdwz对brucedouglass说: how can i judge which are the Actor in embedded system(10:21)
brucedouglass对大家说: Use cases provide a means to organize your requirements. I've never built a system where the requirements weren't important(10:22)
brucedouglass对大家说: An actor is an object outside your system that has interactions with your system that you need to model(10:22)
bydpdwz对brucedouglass说: such as system timer ?(10:23)
brucedouglass对大家说: For example an air traffic control system might have actors such as the Controller (a person), various aircraft, the National Airspace System, and so on(10:23)
brucedouglass对大家说: A system timer is part of your design. I wouldn't put it as a System-Level actor.(10:23)
smilemac对大家说: yes, it should be a attribute of your system(10:24)
brucedouglass对大家说: An automobile engine controller might have actors such as the driver, the wheels, and so on. The internals of the controller are part of its DESIGN and not actors(10:25)
bydpdwz对brucedouglass说: but some actions are toggled by timer(10:25)
brucedouglass对大家说: Not an "attribute" but an object inside your system(10:25)
windy.j对brucedouglass说: Excuse me, sir. Is there any specialties of Use Cases in a realtime system?(10:25)
brucedouglass对大家说: You don't need to specialise use cases to use them with RT systems. I have a paper on this at the I-Logix web site if you're interested.(10:25)
brucedouglass对大家说: You just care more about QoS aspects - such as end-to-end performance and so on(10:26)
smilemac对大家说: I mean the time should a dimension of the system space(10:26)
brucedouglass对大家说: You can put time in constraints that apply to the use case as a whole or internal parts of it (modeled with statecharts or sequence diagrams) ...(10:27)
brucedouglass对大家说: for a rt system you DEFINITELY want to model your timeliness requirements!(10:27)
bydpdwz对brucedouglass说: for example, I have some detectors.(10:27)
bydpdwz对brucedouglass说: system timer is used to check them periodly(10:28)
brucedouglass对大家说: What RT means is "predictable timely" so you DO need to model time for such systems(10:28)
windy.j对brucedouglass说: Qos is the most important, thank you very much.(10:28)
brucedouglass对大家说: yes, but the system timer is INSIDE your system so it's not an actor, but part of your design(10:28)
tonyhu对brucedouglass说: Doing hard time and Real Time UML are too thick, please give me some advice to rapidly read(10:29)
brucedouglass对大家说: Too thick huh? ;-)(10:29)
bydpdwz对brucedouglass说: which should be treated as actor, detectors or timer?(10:29)
brucedouglass对大家说: Well the *thinnest* book I know of is Martin Fowler's "UML Distilled"...(10:29)
tonyhu对brucedouglass说: too more(10:29)
tonyhu对brucedouglass说: and I am too busy(10:29)
brucedouglass对大家说: a good book, but doesn't talk about RT systems at all. Very basic intro(10:29)
brucedouglass对大家说: Also there are papers you can download from
tonyhu对brucedouglass说: Do you think state machine is the most inportant thing in embedded system?(10:31)
gabrial对大家说: Hi, Bruce, what woud you think about RT java? Do you think it will be a real thing in recent years?(10:32)
brucedouglass对大家说: I think statemachine are usually very important but as I said it is only one of THREE crucial views. also not all systems have state behavior(10:32)
bydpdwz对brucedouglass说: I read a paper about useing UML in sound recorder design. time is treated as an actor(10:32)
brucedouglass对大家说: I'm sorry but I think treating Time as an actor is really dumb ;-)(10:32)
brucedouglass对大家说: I've seen that before but I disagree with it strongly(10:33)
brucedouglass对大家说: (not that I'd have an OPINION or anything ;-))(10:33)
bydpdwz对brucedouglass说: :-0(10:33)
brucedouglass对大家说: RT Java is an intersting beastie alright. It's not being used very much(10:33)
brucedouglass对大家说: There are two specs - Sun's spec and the J Consortium spec(10:33)
brucedouglass对大家说: Both have problems but for rt systems, I think the J Consortium spec is better(10:34)
brucedouglass对大家说: Sub's still has the indeterminancy problem and it is serious(10:34)
brucedouglass对大家说: also Java has a big footprint and runs slower than complied C++, and that can be an issue as well(10:34)
bydpdwz对brucedouglass说: is that to say there can be some diffrent UML diagram in a same system(10:35)
brucedouglass对大家说: I *like* the Java language spec, but the virtual machine approach has problems for rt systems(10:35)
bydpdwz对brucedouglass说: Then how can judge the quality of UML design?(10:35)
brucedouglass对大家说: Please explain - is that to say there can be some diffrent UML diagram in a same system((10:35)
bydpdwz对brucedouglass说: what is the principle?(10:36)
brucedouglass对大家说: Well, how do you judge the quality of ANY design? ...(10:36)
gabrial对大家说: Yes, Although java has be heavily used in low-end device, but its performance is a barricade in embedded domain, espacially in control domain(10:36)
tonyhu对brucedouglass说: As a engineering view, which processes we may take for buidling a embedded system(10:36)
brucedouglass对大家说: Correctness, robustness, meets the requirements, and optimizes the important QoS aspects for the system(10:36)
brucedouglass对大家说: I agree. I have seen Java used in UIs attached to control systems, where the control system was done in C or C++(10:37)
brucedouglass对大家说: well, engineering requires a collaborative process among engineers, marketers, testers and so on(10:37)
gabrial对大家说: However, I heart gosling is focusing on this RT java issue. And if it is finished, it will be a true bomb.(10:38)
brucedouglass对大家说: and there are MANY different processes. I recommend ROPES, but then I invented it, so I might be biased ;-)(10:38)
brucedouglass对大家说: Yeah, people have been promising to solve the indeterminacy issue for garbage collection for 30 years now(10:38)
brucedouglass对大家说: It still isn't done(10:38)
brucedouglass对大家说: Sun promised that RT Java would include RT garbage collection(10:39)
brucedouglass对大家说: But when the actually announced it, garbage collection became a "user problem" if they wanted to address RT aspects(10:39)
tonyhu对brucedouglass说: ROPES? Described in Doing Hard Time?(10:39)
brucedouglass对大家说: In terms of quality, now that I've had a minute to think about it, I'd add Simplicity and Clarity to the list as well(10:41)
jeersoft对大家说: I'm a beginner and how I study UML well.(10:41)
gabrial对大家说: To be frankly, I like OO in embed domain. But C++ is too difficult bothing in development and portability.(10:41)
brucedouglass对大家说: There are a number good books. I'd start there or by reading papers(10:41)
smilemac对大家说: Can the RT application correctly work on a time-sharing OS like Win NT or Linux?(10:41)
gabrial对大家说: I trust Java and C# will be the last winner in this domain.(10:41)
brucedouglass对大家说: There are THOUSANDS of successful projects that use C++. However, if you like a different language, they can be used as well - including C and assembly(10:42)
brucedouglass对大家说: C# is not in the embedded domain(10:42)
tonyhu对brucedouglass说: Whitch experience is the most important ? Study in School or Work in a excellent company?(10:42)
bydpdwz对brucedouglass说: How can I treat memory in embedded sysytem as? an actor? a class?(10:42)
brucedouglass对大家说: RT applications can be done on Lunix (there is a real-time version from TimeSys Corp) and on WIndows. it just depends on what you mean by RT(10:43)
herman对smilemac说: lot of RT program working on winNT or Unix system. :)(10:43)
brucedouglass对大家说: Hard RT? Not on vanilla NT or Lunix(10:43)
herman对smilemac说: like plant certer control system or others.(10:43)
brucedouglass对大家说: Not hard real-time. There are some indeterminancy issues that need to be addressed. Embedded? Certainly, but that's an easier problem(10:43)
brucedouglass对大家说: I've implemented an anesthesia medical system on a combination of VXWorks and Windows NT, but the VxWorks box did all the RT stuff. There are some indeterminancy problem(10:44)
bydpdwz对brucedouglass说: can you tell me how can I deal with data memory in UML(10:44)
brucedouglass对大家说: s with NT(10:44)
brucedouglass对大家说: Data is stored in objects, as attributes. Collections of data are collections of objects.(10:45)
bydpdwz对brucedouglass说: I know it is easy to do this in SA(10:45)
gabrial对大家说: My idear about java and C# winner is hardware is not the most important issue.(10:45)
gabrial对大家说: and embed device will have a strong computing capability like current PC in recent five years.(10:45)
brucedouglass对大家说: If you need database storage, then there are OO databases you can use(10:45)
gabrial对大家说: IF so, java and C# will have no diffulity in embed domain. I knew Microsft is doing so.(10:45)
bydpdwz对brucedouglass说: thanks(10:45)
smilemac对大家说: But how can I prove it could always satisfy the timing requirment on a time-sharing OS.(10:46)
brucedouglass对大家说: Speed is not the issue in hard real-time. It gives you good overall throughput (if the system is compute-bound and not IO-bound)(10:46)
brucedouglass对大家说: But you don't want an aircraft to crash "ocassionally" either(10:46)
brucedouglass对大家说: There are mathemtical techinques, such as RMA (Rate Monotonic Analysis" to prove that you can always meet your deadlines(10:47)
gabrial对大家说: With Java and C#, the infrastructure has been changed.(10:48)
brucedouglass对大家说: I think the most important is work experience. School teaches you the alphabet, but work teaches you how to write a story(10:48)
gabrial对大家说: Espeically C#, The whole Windows will be refactoried with .NET that is secured in language level.(10:48)
brucedouglass对大家说: (an earlier questions)(10:48)
gabrial对大家说: I trust it will be the most secure OS so far.(10:48)
brucedouglass对大家说: I'm not sure the point you're trying to make about Java and C#(10:49)
brucedouglass对大家说: The infrastructure matters, of course, but .NET is not a RT environment(10:49)
brucedouglass对大家说: If the OS can lock up while it handles vritually memory, for example, it is difficult to use it in a realtime system(10:49)
brucedouglass对大家说: The proof comes in when you answer "Would I be willing to fly on an aircraft at 600 miles per hour at 35,000 feet with ,NET running the show"?(10:50)
brucedouglass对大家说: I certainly wouldn't be!(10:51)
herman对大家说: yes. i think so.:)(10:51)
brucedouglass对大家说: Ctrl-Alt-Del just takes you so far ;-)(10:51)
brucedouglass对大家说: The last thing I want to hear when I'm flying on an aircraft is the pilot coming on the intercom asking "Is there a programmer on board????"(10:52)
herman对大家说: hahaha.:). for RT u should take control for every thing??(10:52)
bydpdwz对brucedouglass说: how can I use statechart in embedded system(10:52)
bydpdwz对brucedouglass说: ?(10:52)
brucedouglass对大家说: What does Real-time mean? It means "Predictably timely".(10:52)
tonyhu对大家说: how to use C to develop OO RT Embedded system?(10:52)
tonyhu对brucedouglass说: how to use C to develop OO RT Embedded system(10:53)
brucedouglass对大家说: A statechart is a specification of behavior for an object(10:53)
bydpdwz对brucedouglass说: My mean is how statechar is used to write code(10:53)
brucedouglass对大家说: For example, a Sensor class might have states "Idle", "Acquiring", "Has Data", "Configuring' and so on(10:53)
brucedouglass对大家说: The transitions represent the response of this object to incoming events, such as "Here's Data" or "Configure system"(10:54)
brucedouglass对大家说: There are a number of ways that can be used to generate code from statecharts...(10:54)
brucedouglass对大家说: Nested CASE statements, a set of event hanlder operations, the "State Pattern, "State Table Pattern" and so on(10:55)
bydpdwz对brucedouglass说: is 'sensor' an object and 'idle' is attribute?(10:55)
herman对bungee_jumping说: i means for RT program, most time u can't do the kernel control by other program which is not RT program?(10:55)
brucedouglass对大家说: Idle is a STATE - a "condition of existence" for the object(10:55)
gabrial对大家说: My point about Java and C# is like the things that had occured in PC will be migrated to embed domain and RT domain.(10:55)
tonyhu对brucedouglass说: I think using c for objected-programming is difficult(10:55)
brucedouglass对大家说: It is perfectly reasonable to generate C code from an UML model. People do this all the time(10:56)
gabrial对大家说: In early PC age, we have to fit a very limited hardware resource and we have to consider how to use them to resolve our problem.(10:56)
gabrial对大家说: The drawback is the code is very difficult to write and error-prone.(10:56)
gabrial对大家说: However, currently, most PC developers will not care about this detaled issue.(10:56)
brucedouglass对大家说: I agree that embedded systems are becoming more capable as the CPUs become more powerful(10:56)
gabrial对大家说: My point is this will happen soon in RT and embed domain(10:56)
brucedouglass对大家说: however, as designers we must be careful that this doesn't BREAK the functionality of the system(10:56)
brucedouglass对大家说: It's already happening. Look at your cell phone(10:57)
night. do you want to say good bye with us?(10:57)
bydpdwz对brucedouglass说: agree(10:57)
tonyhu对brucedouglass说: generating code from an UML model is get more and more populer?(10:57)
brucedouglass对大家说: C is pretty easy for OO implementation. There are books on the topic(10:57)
brucedouglass对大家说: Generating code is becoming very popular because of all the benefits(10:58)
brucedouglass对大家说: I hope this was useful(10:58)
bydpdwz对brucedouglass说: but will generating code bring some added problem?(10:59)
brucedouglass对大家说: Thanks for all the good questions(10:59)
tonyhu对brucedouglass说: Will it decrease our program ability?(10:59)
wys2051对大家说: Thank you for your answer(10:59)
brucedouglass对大家说: Most people find NOT(10:59)
umlchina对brucedouglass说: professor, thank you very much for your help. good night.(10:59)
brucedouglass对大家说: You're welcome.(10:59)
brucedouglass对大家说: Good night(10:59)
bydpdwz对brucedouglass说: such as I can understand the code not wrriten by soft tools?(10:59)
jinfeng_wang对brucedouglass说: thanks for your answer, good night!(10:59)
bydpdwz对brucedouglass说: oh,(11:00)
tonyhu对brucedouglass说: good night(11:00)