From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: f849b,48e9a4384a329aa X-Google-Attributes: gidf849b,public X-Google-Thread: 109fba,48e9a4384a329aa X-Google-Attributes: gid109fba,public X-Google-Thread: f4e50,48e9a4384a329aa X-Google-Attributes: gidf4e50,public X-Google-Thread: 1108a1,48e9a4384a329aa X-Google-Attributes: gid1108a1,public X-Google-Thread: 115aec,48e9a4384a329aa X-Google-Attributes: gid115aec,public X-Google-Thread: 103376,2ccbce6c5ad05bfd,start X-Google-Attributes: gid103376,public From: Richard Riehle Subject: Re: Can OO be successful in real-time embedded systems? Date: 1996/05/07 Message-ID: #1/1 X-Deja-AN: 153641803 references: <316BF0C5.1FE1@condat.de> <31749A27.3949@ag01.kodak.COM> <4lggff$r56@gaia.ns.utk.edu> <4mhh3m$h8m@globe.indirect.com> content-type: TEXT/PLAIN; charset=US-ASCII organization: National University, San Diego mime-version: 1.0 newsgroups: comp.object,comp.lang.c++,comp.lang.ada,comp.realtime,comp.dcom.telecom.tech,comp.arch.embedded Date: 1996-05-07T00:00:00+00:00 List-Id: On 5 May 1996, Paul Carlton wrote: > Absolutely!!! And recommended!!! > > We have a full-blown real-time predictive dialer designed with > Raumbaugh/CRC techniques and implemented in c++. Runs like a > screaming demon!! Agree. Used carefully, and selectively, object technology can be an excellent approach to embedded systems. The question is whether all aspects of OO technology are appropriate. Also, OO technology has been used on countless Ada embedded, real-time, safety-critical projects for years. In fact, this has been a niche market for Ada in which OO has achieved a fair amount of respectability. The new Ada 95 standard raises the ante, and makes OO technology even more attractive for embedded systems. Already, OOP projects, using Ada 95, are in process in both the defense and non-defense domain. A key question for Ada developers has been the reliability associated with dynamic binding. That issue comes in two flavors. 1) Is it possible to dynamically invoke a wrong or non-existent method, 2) Can we predict with certaintly that we will always meet hard deadlines. The first issue is easily accomodated under the rules of the new Ada standard. The second is more difficult. Since a method is selected at run-time, it is impossible to guarantee the deterministic properties one requires for hard, real-time schedules. The consequence of the above issue is that many embedded systems developers approach dynamic polymorphism with great caution -- even avoid it altogether. Fortunately, for those of us in the Ada community, we can benefit from all the other capabilities of OOP, such as inheritance and encapsulation, while choosing to not to use dynamic polymorphism when it could be dangerously non-deterministic. Richard Riehle