What exactly is meant by real-time?
There are _several_ definitions of real-time, most of them contradictory.Unfortunately the topic is controversial, and there doesn't seem to be 100%agreement over the terminology.
1. The canonical definition of a real-time system (from Donald Gilliesmailto:gillies@ee.ubc.ca ), is the following:
"A real-time system is one in which the correctness of the computations notonly depends upon the logical correctness of the computation but also uponthe time at which the result is produced. If the timing constraints of thesystem are not met, system failure is said to have occurred."
Others have added:
"Hence, it is essential that the timing constraints of the system areguaranteed to be met. Guaranteeing timing behavior requires that the systembe predictable. It is also desirable that the system attain a high degree ofutilization while satisfying the timing constraints of the system."
A good example is a robot that has to pick up something from a conveyorbelt. The piece is moving, and the robot has a small window to pick up theobject. If the robot is late, the piece won't be there anymore, and thus thejob will have been done incorrectly, even though the robot went to the rightplace. If the robot is _early_, the piece won't be there yet, and the robotmay block it.
Another example is the servo loops in an airplane when on auto-pilot.The sensors of the plane must continuously supply the control computer withproper measurements. If a measurement is missed, the performance of theairplane can degrade, sometimes to unacceptable levels.
David Sonnier ( mailto:dps@devnull.mpd.tandem.com ) adds the distinction:
In the robot example, it would be hard real time if the robot arriving latecauses completely incorrect operation. It would be soft real time if therobot arriving late meant a loss of throughput. Much of what is done in realtime programming is actually soft real time system. Good system design oftenimplies a level of safe/correct behavior even if the computer system nevercompletes the computation. So if the computer is only a little late, thesystem effects may be somewhat mitigated.
2. POSIX Standard 1003.1 defines "real-time" for operating systems as:"Realtime in operating systems: the ability of the operating system toprovide a required level of service in a bounded response time"
3. One will occasionally see references to "real-time" systems when what ismeant is "on-line", or "an interactive system with better response time thanwe used to have". Often, this is just marketing hype. For instance, althoughsome have queried whether running "rn" is real-time, it is not, as it isinteracting with a human who can tolerate hundreds of milliseconds of delayswithout a problem. Similarly, on-line stock quotation systems interact withhumans.
4. One will also see references to "real-time" systems when what is meant isjust "fast". It might be worth pointing out that "real-time" is notnecessarily synonymous with "fast"; that is, it is not the latency of theresponse per se that is at issue (it could be of the order of seconds), butthe fact that a bounded latency sufficient to solve the problem at hand isguaranteed by the system. In particular, frequently, algorithms thatguarantee bounded latency responses are less efficient overall thanalgorithms that don't.
5. One will also occasionally see discussions of "soft" vs. "hard" real-timesystems. In many of these discussions, "hard" real-time means the type ofreal-time system discussed above, and "soft" real-time means systems whichhave reduced constraints on "lateness" but still must operate very quicklyand repeatably. However, the definition is controversial, as some mean by"hard" and "soft" the degree of time constraints. For instance, a real-timeprocess attempting to recognize images may have only a few hundredmicroseconds in which to resolve each image, but a process that attempts toposition a servo-motor may have tens of milli-seconds in which to processits data.
6. Robert Bristow-Johnson adds the following distinction (in the case ofDSP):In a real-time DSP process, the analyzed (input) and/or generated (output)samples (whether they are grouped together in large segments or processedindividually) can be processed (or generated) continuously in the time ittakes to input and/or output the same set of samples independent of theprocessing delay.
Consider an audio DSP example: if a process requires 2.01 seconds to analyzeor process 2.00 seconds of sound, it is not real-time. If it takes 1.99seconds, it is (or can be made into) a real-time DSP process.
A common life example I like to make is standing in a line (or queue)waiting for the checkout in a grocery store. If the line asymtotically growslonger and longer without bound, the checkout process is not real-time. Ifthe length of the line is bounded, customers are being "processed" andoutputted as rapidly, on average, as they are being inputted and thatprocess _is_ real-time. The grocer might go out of business or must at leastlose business if he/she cannot make his/her checkout process real-time (soit's fundamentally important that this process be real-time).The last definition (5) is the one used for real-time audio and video, forphone call over Internet, and so on. It means that the processing time isless than the time to get a sample. Note that in the case of Internet it iseasy to get starvation because the sample arrivals depend on the bandwidth.
------------------------------ What is POSIX 1003.1b (formerly 1003.4)? Where is it available?
POSIX 1003.4 was the working name for what is now the 1003.1b standard..
The ratified POSIX standards that generally pertain to real-time OS'sconsist of: 1003.1 (OS, process, filesystem and device API), 1003.2(utilities), 1003.1b (real-time), and 1003.1c (threads). POSIX 1003.1d(which defines some additional real-time extensions like standardizedinterrupt handler support) is not yet ratified, although some OS's alreadysupport portions of it.
The best way to get the most current status is to refer to some of thesetexts and contacts:The POSIX 1003.1 standard is ISBN 1-55937-061-0. A good O'Reilly text is"POSIX Programmer's Guide: Writing Portable UNIX Programs". Donald Lewine.ISBN: 0-937175-73-0
For other standards, the IEEE's address is:Secretary, IEEE Standards Board445 Hoes LaneP.O. Box 1331Piscataway, NJ 08855-1331USAhttp://cs-www.bu.edu/pub/ieee-rts/Home.htmlMany of the POSIX draft standards can also be obtained by calling the IEEEDraft Standards Office. Credit card in-hand, phone +1 202 371 0101 to placean order.
Another contact is the IEEE-USA Customer Service Center at 800 678 4333(+1 908 981 1393 for outside of 800 zone); fax: +1 908 981 9667.
------------------------------ What makes an OS a RTOS?
1. A RTOS (Real-Time Operating System) has to be multi-threaded andpreemptible.2. The notion of thread priority has to exist as there is for the moment nodeadline driven OS.3. The OS has to support predictable thread synchronisation mechanisms4. A system of priority inheritance has to exist5. OS Behaviour should be knownSo the following figures should be clearly given by the RTOS manufacturer:1. the interrupt latency (i.e. time from interrupt to task run) : this hasto be compatible with application requirements and has to be predictable.This value depends on the number of simultaneous pending interrupts.2. for every system call, the maximum time it takes. It should bepredictable and independent from the number of objects in the system;3. the maximum time the OS and drivers mask the interrupts.The following points should also be known by the developer:1. System Interrupt Levels.2. Device driver IRQ Levels, maximum time they take, etc.
------------------------------ What is a good RTOS?
A good RTOS is not only a good Kernel ! A good RTOS should have a gooddocumentation, should be delivered with good tools to develop and tune yourapplication. So even if some figures like the Interrupt latency, Contextswitch time are important, there are a lot of other parameters that willmake a good RTOS. For example a RTOS supporting many devices will have moreadvantages than a simple very good nano-kernel.
------------------------------What is RMA? "Rate-Monotonic Analysis" is a term coined by researchers at CMU. Itrefers to the real-time performance analysis of a system design that usesstatic-priority driven scheduling, in particular, the "rate-monotonic"static priority assignment, where tasks with shorter periods get the higherpriorities, in a typical static-priority driven real-time operating systemlike pSOS VxWorks VRTX etc.Research (mostly) from CMU and U-York and Illinois gives you themathematical tools to answer "what if I designed it this way???" analysis onyour system workload. You need to break your software into "tasks" with"periods" and "deadlines" (relative to the period) and you must be able toguess or prototype a rough "execution time" for each task. Also, for moreprecise analysis, it helps to know all the critical sections and theirruntimes and who shares them, or at the least, the length of the longestcritical section in all of your software.You can plug all this data into a "schedulability analyzer" tool (PERTS,MIMOSA, Scheduler 1-2-3 (CMU), Software Engineer(?s) Notebook (CMU, newer)),or even the back of an envelope "Utilization Test" or "Formula Test" andfind out if your workload will meet all its different deadlines.If you workload does not meet deadlines, the better tools can help you toexplore changes to your workload, in order to meet all the deadlines.
======================================================III- PUBLICATIONS COVERING REAL-TIME TOPICS------------------------- Here are some references to the theory and practice
Several people recommended as a starting place the article "Tutorial on HardReal-Time Systems", edited by John A. Stankovic and Krithi Ramamritham, IEEEComputer Society reprint series, Computer Society order number 819.Kopetz, H.: Real-Time Systems, Design Principles for Distributed EmbeddedApplications. Kluwer Academic Publishers, Massachusetts, 1997.A good book indeed. It covers:Real-Time Environment, Distributed Solutions, Global Time, ModelingReal-Time Systems, Real-Time Entities and Images, Fault Tolerance, Real-TimeCommunication, The Time-Triggered Approach, Input/Output, Real-TimeOperating Systems, Real-Time Scheduling, Validation, System Design, TimeTriggered Architecture
PRACTITIONER'S HANDBOOK FOR REAL-TIME ANALYSIS: Guide to Rate MonotonicAnalysis for Real-Time Systems. Klein,Mark; et al, Year 1993, Definitivedeveloper's guide. Ten chapters in 4 parts: Introduction;Concepts &Techniques; Analyzing Real-Time Systems; & Using the Handbook on RealisticSystems. KLUWER ACADEMIC, Pages 712, ISBN: 0-7923-9361-9STRATEGIES FOR REAL-TIME SYSTEM SPECIFICATION, Hatley,D.J. & Pirbhai, I.A,Year 1988, Casebook & practical reference for modeling requirements &architecture. Topeics include: Process; Control; Finite State Machines,Timing; Dictionary; & Examples, DORSET HOUSE, Pages 408, ISBN: 0-932633-11-0
STRUCTURED DEVELOPMENT FOR REAL-TIME SYSTEMS, Combined Version, Vols 1,2 &3., Ward, P.T. & Mellor, S. J., Year 1987, PRENTICE HALL, Pages 468, ISBN:0-13-854654-1
Caxton Foster's "Real-Time Programming: Neglected Topics," despite thetitle, is a very good introduction to the basic topics of real-time control,starting with simple things like interrupts and debouncing switches, all theway through digital filters. It's a thin paperback (Addison WesleyMicroBooks), and a (somewhat) experienced programmer can get through it in acouple of days.
iRUG. Proceedings of the Intel Real-Time User's Group. Annual, back copiesavailable from iRUG, P.O. Box 91130, Portland, OR 97291, (800) 255-4784.Annual conference proceedings dealing primarily with Intel's family ofreal-time OSs, iRMX.
Books references in The Online Real-Time Encyclopaedia(there is always acomment there) http://www.realtime-info.be/encyc/techno/publi/books.htmJ.E. Cooling, Software Design for Real-time Systems, SBN 0-412-34180-8,published by Chapman and Hall.Yann Hang Lee and C.M. Krishna, Readings in real-time systems, ISBN0-8186-2997-5, 1993, published by IEEE Computer Society Press.Mathai Joseph, Real-Time Systems, University of Warwick, ISBN 0-13-455297-0,1996, published by Prentice Hall Professional Technical Reference.Krishna M. Kavi , Real-time systems, abstractions, languages and designmethodologies, ISBN 0-8186-3152-X, 1992, published by IEEE Computer SocietyPress.Phillip Laplante, Real-time systems design and analysis, an engineer'shandbook, ISBN 0-8186-3107, 1993, published by IEEE Computer Society PressDavid L. Ripps, An implementation guide to real-time programming, ISBN0-13-451873-X, 1989, published by Yourdon Press, Prentice-Hall Building, nowout of print!Ken Shumate and Marilyn Keller, Software specification and design, adisciplined approach for real-time systems, ISBN 0-417-53296-7, 1992,published by John Wiley and Sons, Inc.Another list of books with comments http://www.realtime-os.com/rtresour.htmlA publisher: http://www.powells.com
---------------------------------Peter Desnoyers <mailto:peterd@merlin.dev.cdx.mot.com> sends along:The classic reference in the area of timers is:
George Varhese and Tony Lauck, "Hashed and Hierarchical Timing Wheels: DataStructures for the Efficient Implementation of a Timer Facility", OperatingSystems Review 21, no. 5 (Proceedings of 11th ACM Symposium on OperatingSystems), 1987.Their results show O(1) times for insert and delete of 13 and 7 instructionsfor one of the schemes, and decent performance with large numbers ofoutstanding timers.
---------------------------------Christian Ebner mailto:ebner@vmars.tuwien.ac.at sends along a classicreference in priority inheritance algorithm:Sha, L., Rajkumar, R. and Sathaye, S.: Priority Inheritance Protocols: AnApproach to Real-Time Synchronization. IEEE Transactions on Computers, Vol.39(9). pp.1175-1185.Analysis shows that the priority inheritance protocol can lead to chainedblocking and deadlocks. To solve this problem, the priority ceiling protocolwas developed by L. Sha, R. Rajkumar and S. Sathaye.
---------------------------------Here are some other suggestions from various net.sources, in publishing dateorder:Mellichamp, D. A. Real-Time Computing. New York: Van Nostrand Reinhold,1983. 552 pp.Twenty chapters by 11 authors on topics ranging from signal processing tomanaging real-time computing facilities.
A. K. Mok, The Design of Real-time Programming Systems Based on ProcessModels, in Proc. 1984 Real-Time Systems Symposium, Dec.1984, pp5-17.
E. Kligerman and A. Stoyenko, Real-Time Euclid: A Language for ReliableReal-Time Systems, in TOSE, Sep. 1986, pp 941-949, vol SE-12.
D. W. Leinbaugh and M.-R. Yamini, Guaranteed Response Times in a DistributedHard-Real-Time Environment, in TOSE, Dec.1986, vol SE-12.
A. Stoyenko, A Real-Time Language With A Schedulability Analyzer, ComputerSystems Research Institute, University of Toronto, Dissertation, Dec. 1987.
Lawrence, P. D. and Mauch, K. Real-Time Microcomputer System Design. NewYork, McGraw-Hill, 1987. 568 pp.The emphasis is on the design of I/O circuits and assembly languageinterfaces for small microprocessors used for embedded systems.
H. Kopetz and A. Damm and Ch. Koza and M. Mulazzani and W. Schwabl and Ch.Senft and R. Zainlinger, Distributed Fault-Tolerant Real-Time Systems: TheMARS Approach, in IEEE Micro, vol.9, Feb.1989, pp25-40.
Burns, A. and Wellings, A. Real-Time Systems and Their ProgrammingLanguages. Wokingham: Addison-Wesley, 1990. 575 pp.Ada, Modula-2, and occam 2 are used throughout the book, which covers topicsranging from basic programming techniques, fault tolerance, exceptionhandling, concurrency, resource management, and distributed designs.
Vickery, C. Real-Time and Systems Programming for PCs. New York:McGraw-Hill, 1993. 604 pp. The thesis is that the development environmentfor real-time systems is ideal for studying systems programming, too. Aftersome introductory material, the book deals exclusively with Intel's iRMXoperating systems, with particular emphasis on iRMX for Windows.
------------------------- Real-Time and Embedded Systems related magazines
List from The Real-Time Encyclopaediahttp://www.realtime-info.be/encyc/techno/publi/magazine.htm* Embedded Systems Engineering: Embedded Systems Engineering is a UK basedmagazine dedicated to embedded systems and development tools. Althoughhighly focused on embedded systems this publication also covers real-timeproducts. For more info email to Jeremy Kenyon.(mailto:100142.1323@compuserve.com)* Details: 10 issues/year, 60 pages, English.* Embedded Systems Programming: Embedded Systems Programming is the leadingmagazine on embedded systems design in the US. Although covering mostlyembedded systems, a lot of the editorial is dedicated to real-time systems.* Details: 12 issues/year, 106 pages, English.* Mezzanines: Mezzanines is the official publication from GRoupIPC, theinternational user & manufacturer group promoting IP & PMC mezzaninesolutions. This fancy publication contains technical articles, applicationnotes and offers a new products section besides a currently updated productdirectory.* Real-Time Magazine: Real-Time Magazine is THE European reference magazinefor the real-time systems developer. Each magazine is dedicated to a specialtheme, such as Buses (VME, PMC, CompactPCI,...), RTOS, Tools (debugging,monitoring, simulation, design, bus hardware analyzers), Real-Time Networks,etc. A must for real-time engineers who don't have the time (and money) tospend on courses and workshops. The magazine also contains Real-TimeGazette, the supplement which contains new products information.* Details: 4 issues/year, 124 pages (+16 page supplement), English.* Real-Time Systems: Real-Time Systems is a journal on time-criticalcomputing systems. Although very real-time focused, this publication is verytheoretical and more targeted toward researchers.* Details: 6 issues/year, 320 pages A5, English.* RTC Magazine: The RTC Magazine (before "The Real-Times"), not to confusewith Real-Time Magazine, is a more commercial publication which supports theRTC shows in the US and Europe. The magazine helps the exhibiting companiesto better promote their products.* Details: 6 issues/year, 92 pages, English.* VITA Journal: The VITA Journal is a VMEbus related publication and theofficial publication from VITA, the VMEbus International Trade Association.As VME is an important standard in real-time, we shouldn't omit thispublication in our list.* Details: 4 issues/year, 46 pages, English.
------------------------------ What other net.resources are available on real-time systems?
There are at least two other newsgroups devoted exclusively to a particularvendor's real-time operating system:
news:comp.os.lynx The LynxOX real-time operating system.news:comp.os.os9 Discussions about the os9 operating system.news:comp.os.qnx The QNX real-time operating system.news:comp.os.vxworks The VxWorks real-time operating system.news:comp.sys.harris The Harris NightHawk & CX/UX & CX/RT operating systems.
Here are some other related newsgroups:news:alt.industrial.computingnews:comp.arch Computer architecture.news:comp.arch.bus.vmebus Hardware and software for VMEbus Systems.news:comp.os.misc General OS-oriented discussion not carried elsewhere.news:comp.robotics All aspects of robots and their applications.news:comp.sys.m68k Discussion about 68k's.news:sci.engr.control The engineering of control systems.news:sci.engr.manufacturing
There are too many other newsgroups devoted to computer operating systemsthat support some form of real-time scheduling to list here. The interestedreader is advised to check the "newsgroups" file on her or his localmachine.
There is a realtime-related mailing list for embedded computer systemsdevelopers. It is not strictly real-time, but there is some overlap. Tosubscribe, send your email address to mailto:embed-request@synchro.com.
A mailing list for discussions concerning the use of Futurebus+ now exists.Appropriate topics include the design, implementation, integration andoperation of the hardware and software that are related to Futurebus+. Tosubscribe, send the one-line email message (in the body of the message, notthe header; the Subject line is ignored) as shown below tomailto:majordomo@theus.rain.com.
subscribe fbus_users
To get more information about the mailing list, send the one-line commandshown next to mailto:majordomo@theus.rain.com:
info fbus_users
The info page is automatically sent when you subscribe.
A mailing list intended for the discussion of topics relating to thepSOSystem and other products of Integrated Systems Inc., Software ComponentsGroup, has been started. Send articles to mailto:psosuser@isi.com andadministrative (subscription) requests to mailto:listserver@isi.com. Thelist administrator is Radek Aster who can be reached atmailto:raster@isi.com.
Russ Hersch <mailto:sibit@datasrv.co.il> is now maintaining two _extensive_FAQs about specific microcontroller families, and one about microcontrollersin general. Here's the pointers:
Subject: 68hc11 microcontroller FAQSummary: This article is a collection of information sources on the Motorola68hc11 line of microcontrollers.Archive-name: 68hc11-microcontroller-faqPosting-Frequency: monthly
Subject: 8051 microcontroller FAQSummary: This article is a collection of information sources on the Intel8051 line of microcontrollers (and variants).[He's working on the archiving of this one.]Posting-Frequency: monthly
Subject: Microcontroller Primer FAQSummary: This article is a primer and general FAQ about microcontrollers.[He's working on the archiving of this one.][Posting-Frequency: monthly, I think]
He also states that Tom Kellett is working on a FAQ on the PICmicro-controller line, and adds that "hopefully, this will lead towards amuch needed collection of microcontroller FAQs."
------------------------------ Which Web Sites give information about real-time?
The Real-Time Encyclopaedia about everything you want to know aboutReal-Time (http://www.realtime-info.be)E. Douglas Jensen Web Site (http://www.realtime-os.com/rtresour.html)Frank Miller Resource list http://www.cs.umd.edu/~fwmiller/etc/realtime.htmlEEToolbox Resource link list http://www.cera2.com/realtime.htmThe RTC Group (http://www.rtcgroup.com)Embedded Systems (http://www.embedded.com/net.htm)VITA (http://www.vita.com)GRoupIPC (http://www.groupipc.com)A good collection of links(http://www.ifi.unizh.ch/groups/ailab/embedded.html)
======================================================IV- POLEMIC TOPICS------------------------------ Is Windows NT (or windows 95, or even Windows CE now) a Real-TimeOperating System?
This question appears repeatedly in this news group. Here are the keypoints:- Despite a real-time class process, the Win32 API is not suitable to beused for a Real-Time System:1. Too few priorities for processes and threads2. No priority inheritance mechanism3. Some calls are synchronous with process from the Dynamic Class- Despite a good interface to hardware for CLASSICAL applications, thisinterface is not suitable to develop a Real-Time System:1. Most of the job in a device driver is done at the DPC level. And mostCOTS DD take too much time in the DPC.2. The DPC problem could have been avoided by increasing the number of DPClevels, but this is not the case.3. Pentium Power Management interrupt can preempt your system for anunpredictible amount of time (depending of the BIOS)- Real-Time clockThere is a lack of programmable timer.
For a more complete view, look at article:http://www.realtime-info.be/encyc/magazine/97q2/winntasrtos.htmSome companies are now providing Real-Time Extensions to fill up the holelet opened by Microsoft. (cf the RTOS list)To do so three main approaches exists: include NT as the lowest levelprocess in an existing RTOS, put a WIN32 API on top of an existing RTOS,make NT coexists with a RTOS by modifying the HAL. For complete view, lookat article:http://www.realtime-info.be/encyc/magazine/97q2/winntext.htmOne might also be interested in the vendors proposing such productshttp://www.qnx.com/whitepaper/qnxwin32.htmlhttp://www.vci.comhttp://www.radisys.comhttp://www.imagination.com/http://www.lp-elektronik.com
------------------------------ Which methodology should I use to design a Real-Time System?
At least you should use one. It is high time people are convinced of theinterest of building a house with the plan. It is very strange that peoplestill think that Software development is equal to writing or even hackingcode. There are at least three big classes of methodologies :- The one related to Ada (Booch)- The one based on data flows- The OO Methodology (OMT)One could add the formal approach too (SDL, MSC).The choice will be based on the inhouse knowledge, level of education andthe client knowledge of software development. For each methodology you havetools that are more or less good.
------------------------------ Which programming language should I use to develop a Real-Time System?
Of course you can choose to use assembler. You can always use tools from theAncient Age. Nevertheless it would be much better to use a higher levelprogramming language. Most of them will fit. The Ada Community will alwaystry to convince you their language is the best to use in any cases. Here isnot the news group to argue about this (news:comp.lang.ada is THE place).Others will try to convince you to use an OO language. Then you have to becarefull with the memory management unpredicitbility (Is there a garbagecollection ? Is it under the developpers control?). The best solution is toavoid the use of dynamic object creation. Just create them at startup. Youhave to know that the most used languages are (in alphabetical order) :Ada, C, C++ for realtime system development.Most of the time small parts of the system are still written in assembler(small parts of Device Driver).
------------------------------ What kind of processor should I use for my Real-Time System ?
CISC vs RISC: there has been a lot of discussion in the past about thisissue. Because of the high number of registers in a RISC processor, peoplesaid the context switch was not compatible with real-time systemsrequirements. This is not true as compilers can optimise the use ofregisters to reduce the size of the context switch. A lot of points could beadded here, but as a conclusion we can say that both can be used forReal-Time System.PowerPC 60x versus 40xThe PowerPC 60x family is well suited for calculation, but to deal with theexternal world (through Hardware Interrupt) the family 40x should beprefered as the interrupt management is much more oriented to hardwarewhereas in the 60x family it is more oriented to software.
------------------------------ What kind of bus should I use for my Real-Time System ?
VMEbus vs Compact PCIJust remember these few things :1. you can have 21 boards on the same VME bus.2. you have 7 priority levels for Interrupting on the bus3. you have 4 level to take the bus4. last but not least: the installed VME bus based applications is huge.The Compact PCI offers a bigger bandwidth, is based on a widely spreadstandard and the boards should be less expensive to produce (the interfacechips are cheaper).Other busses:The choice is big : FutureBus+, Multibus, VXIbus, PCI, ISA, ...The choice will depend on the type of application, the type of hardware touse (price/performance) and the target maket.
------------------------------ What Mezzanine technology should I use ?
Industry Pack, PMC, M-Module, S-Bus ...For IP and PMC, a good place to look at is http://www.groupipc.com/For M-Modules, CXC Modules, a good place to look at ishttp://www.vita.com/mezzprod/mezzdirindex.htmlIt should finally be noticed that the choice will depend on the type of I/Oyou deal with. If the key point is price, then IP or M-Modules is theanswer, if performance is the key PMC or S-Bus Module should be choosen.Another point is the availability of the products: here PMC and IP is THEchoice. They are much more widespread than any other. They are alsosupported by a usergroup organisation : GRoupIPC
------------------------------ What real-time network should I use for my real-time system?
Here the choice is huge and the standardization efforts still poor (but thisis changing quickly):PROFIBUS, BITBUS, WorldFIP, FIELDBUS, CAN, MIL-STD-1553, ATM, ReflectiveMemory, ...The choice will depend on the price (MIL-STD-1553 is quite expensive, ATMalso), on the availability of controllers, drivers, PLC, ...
------------------------------ Dedicated Systems and year 2000: what are the risks?
Martin Timmerman from Real-Time Consult explained:There can be two causes of year 2000 problems: hardware and softwareSoftware:---------The problem is there if you use somewhere only a two-digit system in thesoftware. Therefore you should check all time data structures the softwareuses.Most real-time systems do not use the absolute time for decision making,they work with relative time. However if a time delay is computed startingfrom 2 absolute times then you have a problem.If the time is used only for time stamping then there is no problem. Theyear 2000 will be 00.The message here is: for each individual system one should look if absolutetime is used. If yes, wherefore it is used - are computations based on it?Hardware:---------- Most Time Of Day (TOD) ICs have only two digit year codes.In this case the software, should use something like:if TODyear < 60 add 2000else add 1900Problem could be with leap years (1900 is not a leap year, but 2000 is. youneed to check IC spec)- GPS can have problems (not at 2000, but on another date: this was error inGPS specifications)- Other HW: See TOD (remark that some Time interfaces do not have any yearinformation at all: IRIG-B for instance)Special note for black boxes:- Check the Interfaces with your system (if time is used) (use the ISD:Interface Specification Document) or check with the Black box manufacturer(if he is still alive.....)Rule: everywhere time is used by the system, there is a potential year 2000problem.Remark: this may generate a lot of work. Subsystem by subsystem should beexamined. You need good documentation for the subsystems, which might not beavailable. Having the design documentation is almost imperative and this mayalso be a fundamental problem for older systems.
======================================================V- MARKET------------------------------ Where can I find information related to real-time products?
Product directories :VME Products Directory http://www.vita.com/vmeprod/prodir.htmlIndustry Pack and PMC Products Directoryhttp://www.groupipc.com/products/products.htmChips Products Directory http://www.xs4all.nl/~ganswijk/chipdir/ULC Buyer's Guide http://www.cera2.com/ulc.htmRTOS :http://www.cs.arizona.edu/people/bridges/oses.htmlhttp://www.realtime-info.be/encyc/market/rtos/rtos.htm
New Products :http://www.vita.com/npgallery/npgallery.htmlhttp://www.embedded.com/prod.htmhttp://www.realtime-info.be/encyc/market/chronic/chronic.htm
------------------------------ Where can I find information about real-time Conferences, Workshops andTradeshows?
http://www.realtime-os.com/rtresour.html#olconfhttp://www.realtime-info.be/encyc/market/calendar/calendar.htm
------------------------------ International organization for standards?
List from Real-Time Encyclopaediahttp://www.realtime-info.be/encyc/techno/asso/standard/standard.htm
ANSI: American National Standards InstituteIEC: International Electrotechnical CommissionIEEE: Institute of Electrical and Electronics EngineersISO: International Organization for StandardizationOMG: Object Management GroupOSF: Open Software FoundationX/Open
------------------------------ International User and Manufacturer Groups?
List from Real-Time Encyclopaedia:http://www.realtime-info.be/encyc/techno/asso/user/user.htmVITA VMEbus International Trade Association (http://www.vita.com)GRoupIPC Association promoting Mezzanines Solutions(http://www.groupipc.com)PICMG Association promoting the Compact PCI bus (http://www.picmg.com)Profibus (http://www.profibus.com)
------------------------------ RTOS Market Study (Mainly Japan Market)
Because we could received only a few responses from outside Japan in regret,only the responses from Japan have been tabulated and analyzed. You canaccess the result from the following URL:http://tron.um.u-tokyo.ac.jp/TRON/ITRON/survey97/result-e.htmlOther Market studies are available (not for free) from some companies. Oneof them is http://www.realtime-consult.com
======================================================VI- RESEARCH AND FREE PRODUCTS------------------------------ Which Research Institute and Universities are involved in the Real-Timefield?
Here is a link to a page describing activities of Universities and ResearchInstitutes:http://www.realtime-info.be/encyc/techno/research/research.htm
This list includes the following Universities and Research Institutes:* Carnegie Mellon University, Pittsburgh, USA* Computer Science Department at Boston University* Cornell University, USA* DIRECT-Distributed Real-Time Control of the Research Division ofResponsive System, GMD,* National Research Center for Computer Science in Germany.* DIstributed and Real-Time systems group at University of North Carolina,Chapel Hill, USA* Florida State University, Florida, USA* Information Systems Engineering at University of Western Australia* Kansas State University, USA* Real-Time and Distributed Systems Group at Carleton University in Ottawa,Canada* Real-Time Systems Group at University of Pennsylvania, USA* Real-Time Systems Laboratory (RTSL) at University of Illinois, UrbanaChampaign, USA* Real-Time Systems Research Group at University of York, England* Tenet Group at University of California, Berkeley, USA* The Centre for Autonomous, Real-Time Systems (CARTS) at University ofMassachusetts, Amherst* The Experimental Real Time Group at Uppsala University, Sweden* The Real-Time Systems research group at University of Texas, Austin, USA* University of Maryland, USA* University of Michigan, Ann Arbor, USA* University of Pittsburgh, USA* University of Virginia, USA* VTT Electronics* your research group could also be added to this list.List of links to research centershttp://www.cs.umd.edu/~fwmiller/etc/realtime/research.html
------------------------------ Free Real-Time Product lists
Here is a collection of links towards free productshttp://www.eg3.com/realxrto.htm
======================================================VII- CONTRIBUTIONS AND FAQ LOCATION------------------------------ Where can I get the current copy of the FAQs?
The FAQs are posted every 4 weeks to comp.realtime, comp.answers, andnews.answers.It is available in html format at :http://www.realtime-info.be/encyc/techno/publi/faq/rtfaq.htmhttp://www.groupipc.com/rtfaq.htmhttp://www.faqs.org/faqs/realtime-computing/faq/http://www.cis.ohio-state.edu/hypertext/faq/usenet/realtime-computing/top.htmlThey are also available for anonymous FTP on rtfm.mit.edu inpub/usenet/comp.realtime:ftp://rtfm.mit.edu/pub/usenet/comp.realtime/Comp.realtime:_A_list_of_real-time_operating_systems_and_tools_(LONG)Comp.realtime:_Frequently_Asked_Questions_(FAQs)Comp.realtime:_Welcome_to_comp.realtime
For those without direct FTP access, there is also a mail-server. Address amessage to mail-server@rtfm.mit.edu; leave the subject blank and include inthe body: send help. It will return the instructions for proper use.------------------------------Contributions to comp.realtime FAQs.The following net.folks, among others, have contributed to this posting:
Martin Timmerman <mailto:mtimmerman@realtime-info.be>Luc Perneel <mailto:lper@rtusi.com>Sebastien Deleersnijder <mailto:seb@rtusi.com>Christian Ebner <mailto:ebner@vmars.tuwien.ac.at>Thomas M. Breuel <mailto:tmb@best.com >Tim Chambers <mailto:tbc@col.hp.com>Chuck Cox <mailto:chuck@synchro.com>Peter Desnoyers <mailto:pjd@midnight.com>Kevin Driscoll <mailto:driscoll@src.honeywell.com>Kurt Fuchs <mailto:fs_fuchs@rcsw56.rcvie.co.at>Milt Fulghum <mailto:fulghum@vss.fsi.com>Donald Gillies <mailto:gillies@ee.ubc.ca>Jean-Christophe Monfret <mailto:jeanchristophe.monfret@barco.com>Marcelo C Mourier <mailto:mmourier@atmsys.com>David L. Oseas <mailto:doseas@americasttv.com>Alan F. Perry <mailto:alanp@eng.sun.com>David B. Stewart <mailto:dstewart@cmu.edu>John Theus <mailto:john@theus.rain.com>Alexander Vrchoticky <mailto:alex@vmars.tuwien.ac.at>Christopher VickeryLee BrownA. Lester BuckDavid HansenRuss HerschRob LesieurDave Lungermailto:alex@vmars.tuwien.ac.at
I welcome reactions, additions, and corrections to these postings viamailto:b.van.beneden@dedicated-systems.com
Dedicated Systems Experts NVGerechtsstraat 211070 BrusselsBELGIUMTel: +32-2-520 5577Fax: +32-2-520 8309mailto:b.van.beneden@dedicated-systems.comhttp://www.dedicated-systems.com
没有评论:
发表评论