home *** CD-ROM | disk | FTP | other *** search
/ Danny Amor's Online Library / Danny Amor's Online Library - Volume 1.iso / html / faqs / faq / object-faq / part9 < prev   
Encoding:
Text File  |  1995-07-25  |  58.3 KB  |  1,496 lines

  1. Subject: Comp.Object FAQ Version 1.0.7 (10-27) Part 9/10
  2. Newsgroups: comp.object,comp.answers,news.answers
  3. From: Bob Hathaway <rjh@geodesic.com>
  4. Date: 29 Oct 1994 11:42:35 GMT
  5.  
  6. Archive-name: object-faq/part9
  7. Last-Modified: 10/27/94
  8. Version: 1.0.7
  9.  
  10. If you find any bugs or make modifications (e.g., ports to other thread
  11. packages) or port it to other systems, then please let me know so I can
  12. keep the sources up-to-date for other users.
  13.  
  14. The package is available via anonymous ftp from arjuna.ncl.ac.uk
  15.  
  16.  
  17. >39  commercial on cd-rom
  18.  
  19. From: jimad@microsoft.com (Jim Adcock)
  20. Subject: Re: Non-defense Ada applications - answering several requests
  21. Date: 11 Jun 93 18:56:55 GMT
  22. Organization: Microsoft Corporation
  23.  
  24.  >...
  25.  
  26. 1) Get a copy of the Computer Select Database.  [I notice the company
  27. is offering free trial copies [the database is CD-ROM based]]
  28.  
  29. 2) Select "Section: Software Product Specifications"
  30.  
  31. 3) Select "Find: C++"
  32.  
  33. Behold!  A list of 734 commercially available software packages written
  34. in C++, including some of the best known names in the software industry.
  35.  
  36.  
  37. >40  C++ Signatures (subtyping)
  38.  
  39. From: gb@cs.purdue.edu (Gerald Baumgartner)
  40. Newsgroups: comp.object,comp.lang.c++
  41. Subject: signature implementation for G++ 2.5.2 and tech report available
  42. Date: 4 Nov 1993 12:03:00 -0500
  43. Organization: Department of Computer Sciences, Purdue University
  44.  
  45. Announcing the paper
  46.  
  47.     Signatures: A C++ Extension for
  48.     Type Abstraction and Subtype Polymorphism
  49.  
  50.     by Gerald Baumgartner and Vincent F. Russo.
  51.     Tech report CSD-TR-93-059, Dept. of Computer
  52.     Sciences, Purdue University, September 1993.
  53.     Submitted to Software Practice & Experience.
  54.  
  55. and a beta release of our implementation of
  56.  
  57.     signatures for GCC 2.5.2.
  58.  
  59.  
  60.  How to Get that Stuff?
  61.  ----------------------
  62.  
  63. You can get both the paper and the implementation by ftp from
  64.  
  65.     host:        ftp.cs.purdue.edu    (128.10.2.1)
  66.  
  67.     login:        anonymous
  68.  
  69.     password:    your e-mail address
  70.  
  71.     directory:    pub/gb
  72.  
  73.     files:        COPYING            Copyright notice.
  74.  
  75.             README            This file.
  76.  
  77.             Signatures.{dvi,ps}.gz    DVI and Postscript versions
  78.                         of the paper.
  79.  
  80.             gcc-2.5.2.sig.diff.gz    Patch to upgrade GCC 2.5.2.
  81.  
  82.             test.tar.gz        Test files and script to run
  83.                         the tests.
  84.  
  85. To make GCC 2.5.2 understand signatures, just copy the context diff
  86. file into the GCC source directory, type
  87.  
  88.     gunzip gcc-2.5.2.sig.diff.gz
  89.     patch < gcc-2.5.2.sig.diff
  90.  
  91. and rebuild and install `gcc,' `cc1plus,' the man pages, and the manual.
  92.  
  93. For compiling C++ code containing signatures, you need to use the
  94. command line option
  95.  
  96.     -fhandle-signatures
  97.  
  98. We tested our extension on Sun 4 only, but since there are no changes
  99. to the compiler backend, it is expected work on other architectures as
  100. well.  To test whether it works on your architecture, unpack the file
  101. `test.tar.gz' and run the shell script
  102.  
  103.     Test
  104.  
  105. It compiles the test programs and runs them.  If everything works
  106. correctly, all the test programs (all 40 of them) should print
  107.  
  108.     Hello World.
  109.  
  110.  
  111.  What are Signatures anyway?
  112.  ---------------------------
  113.  
  114. Roughly, signatures are type abstractions or interfaces of classes.
  115. They are related to ML's signatures, categories in Axiom, definition
  116. modules in Modula-2, interface modules in Modula-3, and types in
  117. POOL-I.
  118.  
  119. The main language constructs added are signatures and signature pointers.
  120. For example, the signature declaration
  121.  
  122.     signature S
  123.     {
  124.       int foo (void);
  125.       int bar (int);
  126.     };
  127.  
  128. defines a new abstract type `S' with member functions `int foo (void)'
  129. and `int bar (int).'  Signature types cannot be instantiated since they
  130. don't provide any implementation.  Only signature pointers and signature
  131. references can be defined.  For example,
  132.  
  133.     C obj;
  134.     S * p = &obj;
  135.  
  136. defines a signature pointer `p' and initializes it to point to an object
  137. of class type `C,' where `C' is required to contain the public member
  138. functions `int foo (void)' and `int bar (int).'  The member function call
  139.  
  140.     int i = p->foo ();
  141.  
  142. executes then `obj.foo ().'
  143.  
  144. Class `C' is called an implementation of the abstract type `S.'  In
  145. this example, we could have made `S' an abstract virtual class and `C' a
  146. subclass of `S,' and we would have had the same effect.  The advantages
  147. of signatures over abstract virtual classes are
  148.  
  149.     - you can build a type hierarchy separate from the class inheritance
  150.       (implementation) hierarchy,
  151.     - subtyping becomes decoupled from inheritance, and
  152.     - signatures can be used with compiled classes, while you cannot
  153.       retrofit an abstract virtual class on top of compiled class
  154.       hierarchies.
  155.  
  156. For more information, please, see the paper.
  157.  
  158.  
  159.  What's Implemented and what's not?
  160.  ----------------------------------
  161.  
  162. Signature declarations and signature pointers are implemented and
  163. working.  For examples of what's working and how to use them you can
  164. have a look at the test files.
  165.  
  166. The following bugs are known:
  167.  
  168.       - The destructor of objects cannot be called though signature pointers.
  169.       - A signature pointer cannot point to an object of a class defined
  170.     by multiple inheritance.
  171.       - The signature conformance check does not work if the signature
  172.     contains other signature declarations or class declarations.
  173.       - Operator and conversion operator member functions of signatures
  174.     can only be called with function call syntax, such as
  175.     `p->operator+(17),' but not with operator or conversion syntax.
  176.  
  177. The following language constructs and features are not yet implemented:
  178.  
  179.       - constants in signatures,
  180.       - signature references,
  181.       - signature inheritance,
  182.       - the `sigof' (signature of a class) construct,
  183.       - views (not even the parsing is done),
  184.       - signature templates, and
  185.       - exception specifications in signature member function declarations.
  186.  
  187. The following optimization is not implemented:
  188.  
  189.       - Looking up a virtual class member function through a signature
  190.     pointer/reference requires double indirection.  This can be optimized
  191.     by memoizing, so that only the first lookup of a member function
  192.     requires double indirection and further lookups require only single
  193.     indirection.
  194.  
  195. The items above are roughly in the order in which they will be implemented.
  196.  
  197. Besides bug fixes, the main features that have been implemented since the
  198. last release are default implementations of signature member functions
  199. and opaque types.
  200.  
  201.  
  202.  Feedback
  203.  --------
  204.  
  205. Please, send your questions, comments, suggestions, and complaints to
  206.  
  207.     gb@cs.purdue.edu
  208.  
  209. --
  210. Gerald Baumgartner
  211. Dept. of Computer Sciences, Purdue University,  W. Lafayette, IN 47907
  212. Internet: gb@cs.purdue.edu, UUCP: ...!{decwrl,gatech,ucbvax}!purdue!gb
  213.  
  214.  
  215. >41 The Texas Persistent Store
  216.  
  217.   The Texas Persistent Store, version 0.1
  218.  
  219. Texas is a simple, portable, high-performance and (best of all) FREE
  220. persistent store for C++ using "pointer swizzling at page fault time"
  221. to translate persistent addresses to hardware-supported virtual addresses.
  222.  
  223. Texas is built on top of a normal virtual memory, and relies on the
  224. underlying virtual memory system for caching.  It uses user-level virtual
  225. memory protections to control the faulting of data from a persistent storage
  226. file into virtual memory.
  227.  
  228. All addresses in a page are translated from a persistent format to
  229. actual virtual addresses when the page is brought into virtual memory,
  230. and subsequent memory references (including pointer traversals) are
  231. just as fast as for non-persistent data.
  232.  
  233. Texas is easy to use, and is implemented as a UNIX library.  It is small
  234. and can be linked into applications.  It requires no special operating 
  235. system privileges, and persistence is orthogonal to type---objects may be 
  236. allocated on either a conventional transient heap, or on the persistent
  237. heap, as desired.
  238.  
  239. Texas supports simple checkpointing of heap data.  A log-structured storage
  240. module is under development, and will provide fast checkpointing of small
  241. transactions.
  242.  
  243. Texas is beta software, and the current prerelease version supports only
  244. simple single-machine operation.  Future releases will support client-server
  245. operation, a flexible access control scheme, and transaction support.
  246.  
  247. Texas currently runs under SunOS and ULTRIX, using Sun CC or GNU C++.
  248. Porting to other modern systems (e.g., OS/2, WNT, Mach) should be easy---it
  249. requires only mprotect(), signal(), and sbrk() calls (or their equivalent)
  250. to control virtual memory protection setting and trap handling.
  251.  
  252. Papers about the pointer swizzling scheme and Texas itself (referenced
  253. below) are available via anonymous ftp from cs.utexas.edu (IP address
  254. 128.83.139.9), as postscript files swizz.ps and texaspstore.ps in the
  255. directory pub/garbage.
  256.  
  257. The source code for Texas is also available, in the directory
  258. pub/garbage/texas.
  259.  
  260. References:
  261.  
  262. Paul R. Wilson and Sheetal V. Kakkad, "Pointer Swizzling at Page Fault
  263. Time: Efficiently and Compatibly Supporting Huge Address Spaces on Standard
  264. Hardware," Proc. Second Int'l. Workshop on Object Orientation in Operating
  265. Systems, Sept. 1992, Dourdan, France, pp. 364--377.
  266.  
  267. Vivek Singhal, Sheetal V. Kakkad, and Paul R. Wilson, "Texas: an Efficient,
  268. Portable Persistent Store", Proc. Fifth Int'l. Workshop on Persistent Object
  269. Systems, Sept. 1992, San Miniato, Italy, pp. 11-33.
  270.  
  271.  
  272. >42 OSE C++lib
  273.  
  274. OSE is a collection of programming tools and class libraries for C++. The
  275. core of the environment is the C++ class libraries, of which three are
  276. provided. These are:
  277.  
  278.   OTCLIB - A library of generic components, including support for error
  279.   handling, error message logging, error recovery, program debugging,
  280.   memory management, resource management, generic collections, text
  281.   manipulation, operating system interfacing and event driven systems.
  282.  
  283.   OUXLIB - A library of components which primarily extends classes in the
  284.   OTCLIB library to support features specific to the UNIX operating
  285.   system.
  286.  
  287.   OTKLIB - A library of components which builds on the OTCLIB and OUXLIB
  288.   libraries to allow integration of the TCL/TK library into applications
  289.   using the event driven systems framework provided by the OTCLIB
  290.   library.
  291.  
  292. The C++ libraries are portable to a wide range of C++ compilers on the UNIX
  293. platform. Supported C++ compilers include those from USL (CFRONT), DEC, HP,
  294. IBM, Lucid, SGI, SUN, CenterLine and ObjectStore, as well as the freely
  295. available GNU C++ compiler. If your C++ compiler does not support
  296. templates, it is possible to use a template preprocessor which is supplied
  297. with OSE. Portability to all the major variants of UNIX has been achieved.
  298. Supported platforms include BSD, HPUX, IRIX, Linux, OSF, SCO, Solaris,
  299. SunOS, SYSV and Ultrix. In addition to being available under UNIX, the
  300. OTCLIB library is portable to DOS and OS/2 using Borland and Watcom C++
  301. compilers.
  302.  
  303. OSE was winner of CODA'94, the ComputerWorld Object Developer Awards which
  304. is held in conjunction with ObjectWorld in Sydney, Australia. The category
  305. in which OSE was a winner was "Best implementation of a reusable development
  306. environment for company deployment".
  307.  
  308. OSE can be obtained via anonymous ftp from:
  309.  
  310.   Europe:
  311.  
  312.     ftp.th-darmstadt.de [130.83.55.75]
  313.     directory pub/programming/languages/C++/class-libraries/OSE
  314.  
  315.   United States
  316.  
  317.     straylight.acs.ncsu.edu [152.1.65.11]
  318.     directory /pub/ose
  319.  
  320.   Australia:
  321.  
  322.     csis.dit.csiro.au [192.41.146.1]
  323.     directory pub/SEG/ose
  324.  
  325. Documentation for OSE is available online via WWW at:
  326.  
  327.   http://www.tansu.com.au/Docs/ose/doc/ose-home.html
  328.  
  329. Questions about OSE can be directed to the author (Graham Dumpleton) at:
  330.  
  331.   ose@nms.otc.com.au
  332.  
  333. A mailing list for discussion of OSE, and a mail server providing a list of
  334. known problems and fixes is also available.
  335.  
  336.  
  337. >43 Traces,kiczales,MOP,DI
  338.  
  339. From: gregor@parc.xerox.com (Gregor Kiczales)
  340. Subject: Re: Dynamic Objects
  341. In-Reply-To: rjh@geodesic.com's message of 25 Aug 93 21:52:56 GMT
  342. Message-ID: <GREGOR.93Sep3093506@calvin.parc.xerox.com>
  343. Organization: Xerox Palo Alto Research Center
  344. References: <16C357BF0.MFARMER@utcvm.utc.edu> <1993Aug25.215256.8031@midway.uchicago.edu>
  345. Date: 3 Sep 93 09:35:06
  346.  
  347. Earlier in this series of messages, Craig Chambers and others mentioned
  348. his ECOOP'93 paper on predicate classes, which provide a powerful handle
  349. on some of the problems that have been mentioned in this series of
  350. messages, specifically, how dynamic changes to an object or its context
  351. can be harnessed to reliably effect the object's (message receipt)
  352. behavior.  As I see it, predicate classes are a key step towards solving
  353. one of the most frustrating problems of OO programming: the struggle
  354. over whether to encode some difference among objects in the value of a
  355. slot (that is one of its parts) or in the object's `method table' (class
  356. or that which it is one-of).
  357.  
  358. A closely related problem, that has also come up in this series of
  359. messages, is how so-called factory objects can dynamically select the
  360. behavior of the objects they create.  We have developed a new OO
  361. language concept called Traces, that can be used to make much more
  362. powerful factory objects, as well as handle some of the things predicate
  363. classes do.  The two ideas are similar in that they both make behavior
  364. selection a much more dynamic phenomena.
  365.  
  366. My ISOTAS'93 paper presents the concept of Traces and shows it
  367. application to some problems.  This paper is available for anonymous FTP
  368. from ftp.parc.xerox.com, in the /pub/mops directory.  The file is
  369. traces.ps.
  370.  
  371. Gregor
  372.  
  373. Following is the abstract from the paper:
  374.   
  375. Object-oriented techniques are a powerful tool for making a system
  376. end-programmer specializable.  But, in cases where the system not only
  377. accepts objects as input, but also creates objects internally,
  378. specialization has been more difficult.  This has been referred to as
  379. the ``make isn't generic problem.''  We present a new \oo{} language
  380. concept, called traces, that we have used successfully to support
  381. specialization in cases that were previously cumbersome.
  382.   
  383. The concept of traces makes a fundamental separation between two kinds
  384. of inheritance in \oo{} languages: inheritance of default implementation
  385. -- an aspect of code sharing; and inheritance of specialization, a
  386. sometimes static, sometimes dynamic phenomenon.
  387.  
  388.  
  389. >44 C++ coding standard
  390.  
  391. From: metz@iam.unibe.ch (Igor Metz)
  392. Subject: Re: C++ coding standard
  393. Organization: Dept. of CS, University of Berne, Switzerland
  394. Date: Tue, 7 Sep 1993 07:08:21 GMT
  395.  
  396. euagate.eua.ericsson.se   (Internet Address: 134.138.134.16)
  397. ~ftp/pub/eua/c++/rules.ps.Z
  398.  
  399. [Also an archive site.  E.g. Coplien includes a dir of C++ examples]
  400.  
  401.  
  402. >45 Kala Archive
  403.  
  404. From: sss@world.std.com (Sergiu S Simmel)
  405. Subject: Kala White Paper now available via anonymous ftp
  406. Message-ID: <CD4MyB.Hsn@world.std.com>
  407. Organization: Penobscot Development Corporation, Cambridge MA
  408. Date: Fri, 10 Sep 1993 07:18:11 GMT
  409.  
  410. An 8-page paper providing an overview of what Kala is and what Kala is
  411. for is now available, in PostScript format, in the Kala Archive. The
  412. file is accessible, via anonymous FTP, at the following location:
  413.  
  414.           anonymous@world.std.com:/pub/kala/TechDocs/Overview.ps
  415.  
  416. The outline is the following
  417.  
  418.         1 What is Kala For?
  419.         2 Software Infrastructure
  420.                 Persistent Data and Persistent Stores
  421.         3 Data Transfer
  422.         4 Data Visibility
  423.                 Changing Visibility
  424.                 Sharing Visibility
  425.                 Transactions
  426.                 Versions
  427.         5 Runtime and Architectural Models
  428.         6 Relationship to Other Technologies
  429.  
  430. This paper is targeted towards those who don't know anything about
  431. Kala and would like to find out a bit in 10 pages or less.
  432.  
  433. Enjoy!
  434.  
  435. P.S. For those of you who do not have FTP access and would like to
  436.      obtain this file, please send a brief e-mail message to
  437.      info@Kala.com, requesting that the file be e-mailed to you.
  438.      Beware that the file is approximately 425Kbytes long (the paper
  439.      contains 13 illustrations!).
  440.  
  441.  
  442. >46 BeBOP(seq,par,LP,OO,meta)
  443.  
  444. From: ad@munta.cs.mu.OZ.AU (Andrew Davison)
  445. Subject: BeBOP v.1.0 Available
  446. Message-ID: <9325614.15552@mulga.cs.mu.OZ.AU>
  447. Organization: Department of Computer Sci, University of Melbourne
  448. Follow-Up: comp.parallel
  449. Date: Mon, 13 Sep 1993 04:08:41 GMT
  450.  
  451.  BeBOP and bp Version 1.0 now available
  452.  ======================================
  453.  
  454.  What is BeBOP?
  455.  ==============
  456. The language BeBOP is a unique combination of sequential 
  457. and parallel Logic Programming (LP), object oriented 
  458. programming and meta-level programming. 
  459.  
  460. The LP component offers both don't know non-determinism
  461. and stream AND-parallelism, a combination not possible 
  462. with concurrent LP languages. 
  463.  
  464. BeBOP's object oriented features include object IDs, 
  465. encapsulation, message passing, state updating, and 
  466. object behaviour modification. 
  467.  
  468. The meta-level capabilities are based on the treatment 
  469. of Prolog theories as first order entities, which 
  470. enables them to be updated easily, and for fragments 
  471. to be passed between objects in messages.
  472.  
  473. BeBOP is implemented by translation down to NU-Prolog,
  474. and its parallel extension, PNU-Prolog. An unusual
  475. aspect of this is the way that object IDs are utilized 
  476. as a communication mechanism between objects.
  477.  
  478.  What is bp?
  479.  ===========
  480. The bp interactive interpreter supports BeBOP programming 
  481. by allowing the flexible invocation of objects, and 
  482. offering the means for setting up communication links 
  483. between objects at any time. An incidental benefit is 
  484. the ability to use `global' variables in queries. Since 
  485. bp is an augmentation of the NU-Prolog np system, objects 
  486. and Prolog goals can be combined, and a by-product is 
  487. that the floundering of Prolog queries is avoided.
  488.  
  489.  
  490.  Where are they?
  491.  ===============
  492. The BeBOP system (BeBOP and bp), and the PNU-Prolog 
  493. preprocessor pnp, can be found at the anonymous ftp 
  494. site munnari.oz.au (128.250.1.21), in the directory 
  495. pub as the file bebop.tar.Z. Remember to use binary 
  496. mode when copying it.
  497.  
  498. The release comes with a user manual, several papers 
  499. (in Postscript format), sample programs, and source code.
  500.  
  501.  
  502.  System requirements
  503.  ===================
  504. The BeBOP system requires the following:
  505.  
  506. * The NU-Prolog system, compiler and interpreter
  507. * The pnp preprocessor 
  508.   (this is included as part of the BeBOP system release)
  509. * GCC or similar compiler
  510. * Yacc (or Bison) and Lex
  511.  
  512.  
  513.  For more details, contact:
  514.  ==========================
  515.         Andrew Davison
  516.         Dept. of Computer Science
  517.         University of Melbourne
  518.         Parkville, Victoria 3052
  519.         Australia
  520.  
  521. Email:  ad@cs.mu.oz.au
  522. Fax:    +61 3 348 1184
  523. Phone:  +61 3 287 9172 / 9101
  524. Telex:  AA 35185
  525.  
  526.  
  527. >47 Knowledge Media, Massive cd-rom, lots of freeware
  528.  
  529. A "Resource Library" of cd-rom discs .  CDs for language/OS, graphics, multi-
  530. media, mega-media (3), and audio.  "Gathered from the resources of the
  531. Internet, CompuServe, Genie, BIX, and other BBS's".  Some shareware.  Should be
  532. available at your local software store.
  533.  
  534. From the back of the Languages CD:
  535.  
  536.   'Over 100 Languages'
  537.         ...
  538.  
  539. This is the largest collection of compilers, interpreters, libraries, and
  540. source code for standard and experimental computer languages and operating
  541. systems ever assembled.  A must for anyone interested in computer programming,
  542. this disc is just right for everyone, whether he or she is a researcher,
  543. student, or an interested hobbist.
  544.  
  545. Knowledge Media Inc.
  546. Paradise, CA  95969 USA
  547.  
  548.  
  549. >48 u++, C++ Trans. and Concry RTS
  550.  
  551. From: nat@nataa.frmug.fr.net (Nat Makarevitch)
  552. Subject: Re: 'Concurrent Objects' - Suggestions needed
  553. Date: 10 Oct 1993 02:41:15 GMT
  554. Organization: LIVIA
  555.  
  556.        u++ - uC++ Translator and Concurrency Runtime System
  557.  
  558. DESCRIPTION
  559. The u++ command introduces  a  translator  pass  over  the
  560. specified source files after the C preprocessor and before
  561. the actual C++ compilation.  The translator converts  sev-
  562. eral  new  uC++  constructs  into C++ statements.  The u++
  563. command also provides  the  runtime  concurrency library,
  564. which must be linked with each uC++ application.
  565.  
  566.                                                                  
  567. REFERENCES                                                       
  568. uC++:  Concurrency in the Object-Oriented Language C++, by      
  569. P.A.  Buhr,  G.  Ditchfield,  R.A.   Stroobosscher,   B.M.
  570. Younger, C.R.  Zarnke;   Software-Practise and Experience,
  571. 22(2):137--172, February 1992.  This paper describes  uC++
  572. v2.0, which has been significantly extended.
  573.  
  574. The  uC++  system is available via anonymous FTP
  575. from watmsg.UWaterloo.ca:pub/uSystem.  A license agreement
  576. is required to use uC++.
  577.  
  578.  
  579. >49 Real Time
  580.  
  581. From: dstewart+@cs.cmu.edu (David B Stewart)
  582. Subject: Re: Object-Oriented Systems and Realtime
  583. Organization: The Robotics Institute, Carnegie Mellon University
  584. Date: Mon, 11 Oct 1993 16:51:19 GMT
  585.  
  586. In article <1993Oct11.082519.23058@cs.tcd.ie>,
  587. Chris Zimmermann <czimmerm@cs.tcd.ie> wrote:
  588. >Hi community:
  589. >
  590. >What is the state of the art concerning real time in 
  591. >object-oriented systems (if any)? By this, I mean the
  592. >marriage of more or less traditional real time systems
  593. >(including systems concerned with "soft" real time aspects
  594. >like multimedia) with the OO paradigm.
  595. >[...]
  596.  
  597. We've done significant work in that area.  Check out the following tech
  598. report:
  599.  
  600. D. B. Stewart, R. A. Volpe, and P. K. Khosla, "Design of Dynamically
  601.     Reconfigurable Real-Time Software using Port-Based Objects," 
  602.     Carnegie Mellon University Tech Report #CMU-RI-TR-93-11, July 1993.
  603.  
  604.     Abstract: The current development of applications for sensor-based
  605.     robotic and automation (R&A) systems is typically a `one-of-a-kind'
  606.     process, where most software is developed from scratch, even though
  607.     much of the code is similar to code written for other applications.
  608.     The cost of these systems can be drastically reduced and the capability
  609.     of these systems improved by providing a suitable software framework
  610.     for all R&A sys tems. We describe a novel software framework, based on
  611.     the notion of dynamically reconfigurable software for sensor-based
  612.     control systems. Tools to support the implementation of this framework
  613.     have been built into the Chimera 3.0 Real-Time Operating System. The
  614.     framework provides for the systematic development and predictable
  615.     execution of flexible R&A applications while maintaining the ability to
  616.     reuse code from previous applications. It combines object-oriented
  617.     design of software with port-automaton design of digital control
  618.     systems. A control module is an instance of a class of port-based
  619.     objects. A task set is formed by integrating objects from a module
  620.     library to form a specific configuration. An implementation using
  621.     global state variables for the automatic integration of port-based
  622.     objects is presented. A control subsystem is a collection of jobs
  623.     which are executed one at a time, and can be programmed by a user.
  624.     Multiple control subsystems can execute in parallel, and operate
  625.     either independently or cooperatively. One of the fundamental concepts
  626.     of reconfigurable software design is that modules are developed
  627.     independent of the target hardware. Our framework defines classes of
  628.     reconfigurable device driver objects for proving hardware independence
  629.     to I/O devices, sensors, actuators, and special purpose processors.
  630.     Hardware independent real-time communication mechanisms for
  631.     inter-subsystem communication are also described. Along with providing
  632.     a foundation for design of dynamically reconfigurable real-time
  633.     software, we are also developing many modules for the control module,
  634.     device driver, and subroutine libraries. As the libraries continue to
  635.     grow, they will form the basis of code that can eventually be used by
  636.     future R&A applications. There will no longer be a need for developing
  637.     software from scratch for new applications, since many required modules
  638.     will already be available in one of the libraries.  
  639.  
  640. This report is available via anonymous FTP as follows:
  641.  
  642.     % ftp IUS4.IUS.CS.CMU.EDU    (128.2.209.143)
  643.     Name:       anonymous
  644.     Password:   yourname@yourmachine
  645.     ftp> binary
  646.     ftp> cd /usr/chimera/public
  647.     ftp> get CMU_RI_TR_93_11.ps.Z
  648.     ftp> quit
  649.     % uncompress CMU_RI_TR_93_11.ps.Z
  650.     % lpr CMU_RI_TR_93_11.ps    (must be a postscript printer)
  651.  
  652. For more information, 'finger chimera@cmu.edu'.
  653.  
  654. >50 Ada-9x (compiler, GNU)
  655.  
  656. From: stt@spock.camb.inmet.com (Tucker Taft)
  657. Subject: Re: which language to use ...?
  658. Organization: Intermetrics, Inc.
  659. Date: Mon, 1 Nov 1993 23:22:42 GMT
  660.  
  661.  >[...]
  662.  
  663. Also, there is a preliminary release of a GNU-GCC-based Ada 9X
  664. compiler available from NYU on cs.nyu.edu in pub/gnat/...
  665. The front end is written in Ada itself; the back end
  666. is the usual GCC back end (enhanced as appropriate).
  667.  
  668. S. Tucker Taft  stt@inmet.com
  669. Intermetrics, Inc.
  670. Cambridge, MA  02138
  671.  
  672.  
  673. >51 OO Course Slides
  674.  
  675. From: wellerd@ajpo.sei.cmu.edu (David Weller)
  676. Subject: Re: Slides on OOP or OMT wanted
  677. Organization: Sigma Software Engineering, Inc.
  678. Date: Fri, 5 Nov 1993 11:01:44 EST
  679.  
  680. In article <2bdot7$3nr@news-rocq.inria.fr> ziane@lolita.inria.fr (Mikal Ziane (Univ. Paris 5 and INRIA) ) writes:
  681. >
  682. >Hello netters,
  683. >
  684. >Is anybody aware of public domain slides available on an ftp site ?
  685. >I'd like slides on OO programming or OO design methods (esp. OMT).
  686. >I know I am crazy to ask for that but someone told me he saw
  687. >a very good C++ course on some ftp site ! (he does not remember which one 
  688. >unfortunatemy)
  689. >
  690.  
  691. It's true!  On WUArchive (wuarchive.wustl.edu) there is a series of
  692. slides developed in Microsoft's PowerPoint.  The course material
  693. includes lesson plans, tests, and workbooks, along with full notes
  694. accompanying each slide.
  695.  
  696. There's one _little_ catch -- it's in the Public Ada Library.  Now,
  697. the OOP course (there's three courses, one on OOD, OOP, and Software
  698. Engineering) covers both C++ and Ada.  It was designed to let the
  699. students work in both languages to get an objective opinion of the
  700. pluses and minuses of each language (gee, what a concept!).
  701.  
  702. The OOD slides do NOT cover OMT.  Some material is used from Booch's
  703. OOD book, but not the notation.  From looking at the slides, it appears
  704. very easy to insert your own notation.  The important part for students
  705. is communicating the concepts, which (for the price) these slides do
  706. a DAMN good job of. <- (Safire's Violation #45: "A perposition is a 
  707. bad thing to end a sentence with." :-)
  708.  
  709. Ah, but WHERE on WUArchive are they?  If you look under 
  710. languages/ada/crsware, I believe you'll find them.  Good luck!
  711.  
  712. dgw
  713. -- 
  714. type My_Disclaimer is new Standard.Disclaimer with record
  715.     AJPO, SEI : Cognizance := Disavow_All_Knowledge;
  716. end record;--)
  717.  
  718.  
  719. >52 GTE Distrib Reports
  720.  
  721. From: em02@gte.com (Emon)
  722. Subject: Reports Available From The Distributed Object Computing Department
  723. Date: 5 Nov 93 18:10:15 GMT
  724. Organization: GTE Laboratories, Inc.
  725.  
  726.                         REPORTS AVAILABLE FROM
  727.              THE DISTRIBUTED OBJECT COMPUTING DEPARTMENT
  728.                      GTE LABORATORIES INCORPORATED
  729.                         40 Sylvan Road, M/S 62
  730.                      Waltham, Massachusetts 02254
  731.  
  732.  
  733. For over six years, the primary focus of the Distributed Object Computing
  734. Department within GTE Laboratories has been the Distributed Object
  735. Management (DOM) project. The DOM project conducts research into
  736. object-oriented technology for integrating heterogeneous, autonomous,
  737. distributed (HAD) computer systems/resources. Major research areas include:
  738. interoperable object models; interoperable, distributed object
  739. architectures; heterogeneous, extended transaction models; and information
  740. requests in HAD environments. We are experimenting in these areas using our
  741. prototype DOM system which we have developed over the past five years. This
  742. technology is based on ideas from a number of technical areas including
  743. distributed, object-oriented, databases, multi-database systems, operating
  744. systems, and programming languages.
  745.  
  746. Permission is granted at this time for the operations and uses listed
  747. below. However, this permission is non-transferable and is subject to
  748. revocation on a report-by-report basis, due to possible copyright transfers
  749. that are normal in the publication process. Any additional copyright
  750. restrictions are noted in the reports themselves. Default permissions are
  751. for anonymous ftp, electronic viewing, and single-copy printing.
  752. Permissible uses are research and browsing. Specifically prohibited are
  753. SALES of any copy, whether electronic or hardcopy, of any of these reports
  754. for any purpose. Also prohibited is copying, excerpting or extensive
  755. quoting of any report in another work without the written permission of one
  756. of the report's authors.
  757.  
  758. Reports marked with a "*" can be retrieved in postscript(ascii) form via
  759. anonymous ftp from ftp.gte.com (132.197.8.2) in the "pub/dom" subdirectory.
  760.  
  761.  >>>>>>>>> 1994
  762.  
  763. [GEOR94a]*   Georgakopoulos, D., M. Rusinkiewicz, and W. Litwin,
  764. "Chronological Scheduling of Transactions with Temporal Dependencies," to
  765. appear in the VLDB journal, January 1994 (submitted in December 1990). 
  766.  
  767. [GEOR94b]*   Georgakopoulos, D., M. Hornick, P. Krychniak, and F. Manola,
  768. "Specification and Management of Extended Transactions in a Programmable
  769. Transaction Environment," to appear in the Proceedings of the 10th
  770. International Conference on Data Engineering, Houston, Texas, February
  771. 1994. Also published as TC-0207-02-93-165, GTE Laboratories Incorporated,
  772. February 1993.
  773.  
  774.  
  775.  >>>>>>>>> 1993
  776.  
  777. [BROD93a]*   Brodie, M.L., "The Promise of Distributed Computing and the
  778. Challenge of Legacy Information Systems," in Hsiao, D., E.J. Neuhold, and
  779. R. Sacks-Davis (eds), Proc. IFIP TC2/WG2.6 Conference on Semantics of
  780. Interoperable Database Systems, Lorne, Australia, November 1992, Elsevier
  781. North Holland, Amsterdam 1993.
  782.  
  783. [BROD93b]*   Brodie, M.L. and M. Stonebraker, "DARWIN: On the Incremental
  784. Migration of Legacy Information Systems," DOM Technical Report,
  785. TR-0222-10-92-165, GTE Laboratories Inc., March 1993.
  786.  
  787. [GEOR93a]*   Georgakopoulos, D., M. Hornick, and P. Krychniak, "An
  788. Environment for Specification and Management of Extended Transactions in
  789. DOMS," to appear in Proceedings of the 3rd International Workshop on
  790. Interoperability in Multidatabase Systems, Vienna, Austria, April 1993.
  791.  
  792. [GEOR93c]*   Georgakopoulos, D., M. Rusinkiewicz and A. Sheth, "Using
  793. Ticket-based Methods to Enforce the Serializability of Multidatabase
  794. Transactions," to appear in the IEEE Transactions on Data and Knowledge
  795. Engineering December 1993 (submitted in February 1992).
  796.  
  797. [GEOR93e]*   Georgakopoulos, D., M. Hornick, F. Manola, M. Brodie, S.
  798. Heiler, F. Nayeri, and B. Hurwitz, "An Extended Transaction Environment for
  799. Workflows in Distributed Object Computing," in IEEE Data Engineering, pp.
  800. 24-27, vol. 16, no. 2, June 1993.
  801.  
  802. [MANO93a]   Manola, F., "The Need for Object Model Interoperability,"
  803. Workshop Report, Workshop on Application Integration Architectures, Dallas,
  804. Texas, February 1993
  805.  
  806. [MANO93c]*   Manola, F. and S. Heiler, "A 'RISC' Object Model for Object
  807. System Interoperation: Concepts and Applications," TR-0231-08-93-165, GTE
  808. Laboratories, Inc., August 1993.
  809.  
  810. [MITC93a]   Mitchell, G., "Extensible Query Processing in an
  811. Object-Oriented Database," PhD Thesis, Brown University Technical Report
  812. No. CS-93-16, May 1993. Available in hard copy from Brown University,
  813. Computer Science Department, and postscript format via anonymous ftp from
  814. wilma.cs.brown.edu as file techreports/93/cs93-16.ps.Z
  815.  
  816. [NAYE93c]*   Nayeri, F., and B. Hurwitz, "Experiments with Dispatching in a
  817. Distributed Object System," GTE Laboratories, Inc., TR-0236-09-93-165, July
  818. 1993.
  819.  
  820. [NAYE93d]*   Nayeri, F., "Addressing Component Interoperability in the OMG
  821. Object Model," position paper submitted to ORB Implementors' Workshop, San
  822. Francisco, June 1993.
  823.  
  824. [NICO93a]   Nicol, J., T. Wilkes, and F. Manola, "Object Orientation in
  825. Heterogeneous Distributed Computing Systems," IEEE Computer, pp. 57-67,
  826. Vol. 26, No.6, June 1993.
  827.  
  828. [VENT93]*   Ventrone, V. and S. Heiler, "Some Practical Advice for Dealing
  829. with Semantic Heterogeneity in Federated Database Systems," Submitted to
  830. USENIX.
  831.  
  832.  
  833.  >>>>>>>>> 1992
  834.  
  835. [BGR92]*   Batra, R., D. Georgakopoulos, and M. Rusinkiewicz, "A
  836. Decentralized Deadlock-free Concurrency Control Method for Multidatabase
  837. Transactions," in Proceedings of 12th International Conference on
  838. Distributed Computing Systems, Yokohama, Japan, June, 1992.
  839.  
  840. [BRO92b]*   Brodie, M.L. and J. Mylopoulos , "Artificial Intelligence and
  841. Databases: Dawn, Midday, or Sunset?," Canadian Information Processing
  842. /Informatique Canadienne, July/August 1992.
  843.  
  844. [BROD92c]*   Brodie, M.L. and S. Ceri, "On Intelligent and Cooperative
  845. Information Systems," in International Journal of Intelligent and
  846. Cooperative Information Systems 1, 2 September 1992. 
  847.  
  848. [BUCH92]   Buchmann, A.P., M.T. Ozsu, M. Hornick, D. Georgakopoulos, F.A.
  849. Manola, "A Transaction Model for Active Distributed Object Systems," in
  850. Database Transaction Models for Advanced Applications, A.K. Elmagarmid,
  851. (ed.), Morgan Kaufmann, San Mateo, CA, Spring 1992.
  852.  
  853. [GEOR92]*   Georgakopoulos, D., "A Framework for Dynamic Specification of
  854. Extended Multidatabase Transactions and Interdatabase Dependencies,"
  855. Proceedings of Third Workshop on Heterogeneous Databases and Semantic
  856. Interoperability, Boulder, February, 1992.
  857.  
  858. [HEIL92]   Heiler, S., S. Haradhvala, B. Blaustein, A. Rosenthal, and S.
  859. Zdonik, "A Flexible Framework for Transaction Management in Engineering
  860. Environments," in Database Transaction Models for Advanced Applications,
  861. A.K. Elmagarmid (ed.), Morgan Kaufmann, San Mateo, CA, Spring 1992.
  862.  
  863. [MANO92]*   Manola, F., S. Heiler, D. Georgakopoulos, M. Hornick, M.
  864. Brodie, "Distributed Object Management," International Journal of
  865. Intelligent and Cooperative Information Systems 1, 1 March 1992.
  866.  
  867. [MANO92a]*   Manola, F. and S. Heiler, "An Approach To Interoperable Object
  868. Models," Proceedings of the International Workshop on Distributed Object
  869. Management, Edmonton, Canada, August 1992 (also in Distributed Object
  870. Management, M.T. Ozsu, U. Dayal, and P. Valduriez (eds.), Morgan Kaufmann,
  871. San Mateo, CA, 1993).
  872.  
  873.  
  874.  >>>>>>>>> 1991
  875.  
  876. [BROD91]   Brodie, M., "Distributed Object Management Research,"
  877. Proceedings of the Second Telecommunications Information Networking
  878. Architecture (TINA) Workshop, pp. 297-303, Chantilly, France, March 1991.
  879.  
  880. [BROD91a]*   Brodie, M. and M. Hornick, "An Interoperability Development
  881. Environment For Intelligent Information Systems," Proceedings of the
  882. International Workshop on the Development of Intelligent Information
  883. Systems, Niagara-on-the-Lake, April 1991.
  884.  
  885. [BUCH91]*   Buchmann, A.P., M. Tamer Ozsu, and D. Georgakopoulos, "Towards
  886. a Transaction Management System for DOM," TR-0146-06-91-165, GTE
  887. Laboratories Incorporated, June 1991.
  888.  
  889. [GEOR91a]*   Georgakopoulos, D., M. Rusinkiewicz, and A. Sheth, "On
  890. Serializability of Multidatabase Transactions Through Forced Local
  891. Conflicts," Proceedings of the 7th International Conference on Data
  892. Engineering, Kobe, Japan, April 1991.
  893.  
  894. [GEOR91b]*   Georgakopoulos, D., "Multidatabase Recoverability and
  895. Recovery," Proceedings of the First International Workshop on
  896. Interoperability in Multidatabase Systems, Kyoto, Japan, April 1991.
  897.  
  898. [GRL91]   Georgakopoulos, D., M. Rusinkiewicz, and W. Litwin,
  899. "Chronological Scheduling of Transactions with Temporal Dependencies," in
  900. the VLDB journal, available draft also as a Technical Report from the
  901. Department of Computer Science at the University of Houston, UH-CS-91-03,
  902. February, 1991.
  903.  
  904. [HEIL91]*   Heiler, S., "Extended Data Type Support in Distributed DBMS
  905. Products: A Technology Assessment and Forecast," TR-170-12-91-165. GTE
  906. Laboratories Incorporated, December 1991.
  907.  
  908. [HORN91]*   Hornick, M.F., J.D. Morrison, and F. Nayeri, "Integrating
  909. Heterogeneous, Autonomous, Distributed Applications Using the DOM
  910. Prototype," TR-0174-12-91-165. GTE Laboratories Incorporated, December
  911. 1991.
  912.  
  913. [MANO91]   Manola, F. and U. Dayal, "An Overview of PDM: An Object-Oriented
  914. Data Model," in K.R. Dittrich, U. Dayal, and A.P. Buchmann (eds.), On
  915. Object-Oriented Database Systems, Springer-Verlag, 1991.
  916.  
  917. [MANO91a]*   Manola, F., "Object Data Language Facilities for Multimedia
  918. Data Types," TR-0169-12-91-165. GTE Laboratories Incorporated, December
  919. 1991.
  920.  
  921. [MANO91b]   Manola, F., "The Third-Generation/OODBMS Manifesto, Commercial
  922. Version," SIGMOD Record, Vol. 20, No. 4, December 1991.
  923.  
  924. [RUSI91]   Rusinkiewicz, M. and D. Georgakopoulos, "Multidatabase
  925. Transactions: Impediments and Opportunities," Compcon Spring '91 Digest of
  926. Papers, San Francisco, February 1991.
  927.  
  928. [VENT91]   Ventrone, V. and S. Heiler, "Semantic Heterogeneity as a Result
  929. of Domain Evaluation," SIGMOD Record Special Issue: Semantic Issues in
  930. Multidatabase Systems, Vol. 20, No. 4, December 1991.
  931.  
  932.  
  933.  >>>>>>>>> 1990
  934.  
  935. [BREI90]   Breitbart, Y., D. Georgakopoulos, and M. Rusinkiewicz, A.
  936. Silberschatz, "Rigorous Scheduling in Multidatabase Systems," Proceedings
  937. of Workshop in Multidatabases and Semantic Interoperability, Tulsa, pp.
  938. 658-667, November 1990.
  939.  
  940. [BROD90]*   Brodie, M.L., F. Bancilhon, C. Harris, M. Kifer, Y. Masunaga,
  941. E.D. Sacerdoti, K. Tanaka, "Next Generation Database Management Systems
  942. Technology," in Deductive and Object-Oriented Databases, W. Kim, J-M
  943. Nicolas, S. Nishio, (eds.), Elsevier Science Publishers, 1990.
  944.  
  945. [HEIL90]   Heiler, S., F. Manola and S. Zdonik, "An Object-Oriented
  946. Database Approach to Federated Systems," (unpublished paper), 1990.
  947.  
  948. [MANO90]   Manola, F., "Object-Oriented Knowledge Bases," AI Expert, 5(3),
  949. 5(4), March and April 1990.
  950.  
  951. [MANO90a]*   Manola, F. and A. Buchmann "A Functional/Relational
  952. Object-Oriented Model for Distributed Object Management: Preliminary
  953. Description" TM-0331-11-90-165. GTE Laboratories Incorporated, December
  954. 1990.
  955.  
  956. [MANO90b]*   Manola, F., M. Hornick, and A. Buchmann "Object Data Model
  957. Facilities for Multimedia Data Types" TM-0332-11-90-165, GTE Laboratories
  958. Incorporated, December 1990.
  959.  
  960. [MYLO90]*   Mylopoulos, J. and M. Brodie, "Knowledge Bases and Databases:
  961. Current Trends and Future Directions," Lecture Notes in Computer Science,
  962. Vol. 474: Information Systems and Artificial Intelligence: Integration
  963. Aspects, D. Karagiannia, (ed.), Springer-Verlag, New York, 1990.
  964.  
  965. [RUSI90]   Rusinkiewicz, M., D. Georgakopoulos, and R. Thomas, "RDS: A
  966. Primitive for the Maintenance of Replicated Data Objects," Proceedings of
  967. Second IEEE Symposium on Parallel and Distributed Processing, Dallas, pp.
  968. 658-667, December 1990.
  969.  
  970. [SILB90]   Silberschatz, A., M. Stonebraker, and J.D. Ullman (eds.), M.L.
  971. Brodie, P. Buneman, M. Carey, A. Chandra, H. Garcia-Molina, J. Gray, R.
  972. Fagin, D. Lomet, D. Maier, M.A. Niemat, A. Silberschatz, M. Stonebraker, I.
  973. Traiger, J. Ullman, G. Wiederhold, C. Zaniolo, and M. Zemankova, P.A.
  974. Bernstein, W. Kim, H.F. Korth, and A. van Tilborg, (co-authors), "Database
  975. Systems: Achievements and Opportunities," ACM SIGMOD Record, 19, 4,
  976. December 1990; also appeared in Communications of the ACM, Vol. 34, No.10,
  977. pp. 110-120, October 1991.
  978.  
  979. [STON90]   Stonebraker, M. , L.A. Rowe, B. Lindsay, J. Gray, M. Carey, M.L.
  980. Brodie, P. Bernstein, and D. Beech, "Third-Generation Data Base System
  981. Manifesto," ACM SIGMOD Recored 19, 3, September 1990.
  982.  
  983. [ZERT90]   Zertuche, D.R. and A.P. Buchmann, "Execution Models for Active
  984. Database Systems: A Comparison," TM-0238-01-90-165, GTE Laboratories
  985. Incorporated, January 1990.
  986.  
  987.  
  988.  >>>>>>>>> 1989
  989.  
  990. [BROD89]   Brodie, M., D. Bobrow, V. Lesser, S. Madnick, D. Tsichritzis,
  991. and C. Hewitt, "Future Artificial Intelligence Requirements for Intelligent
  992. Database Systems" Expert Database Systems: Proceedings From the Second
  993. International Conference, L. Kerschberg (ed.), Benjamin/Cummings, Menlo
  994. Park, CA, 1989.
  995.  
  996. [BROD89a]   Brodie, M. , J. Mylopoulos, "Future Intelligent Information
  997. Systems: AI and Database Technologies Working Together," in M. Brodie, J.
  998. Mylopoulos, (eds. and contributors), Readings in Artificial Intelligence
  999. and Databases, Morgan Kaufmann, San Mateo, CA, 1989.
  1000.  
  1001. [MANO89]*   Manola, F., "Applications of Object-Oriented Database
  1002. Technology in Knowledge-Based Integrated Information Systems," GTE
  1003. Laboratories Incorporated, April 1989.
  1004.  
  1005. [MANO89a]*   Manola, F., "Object Model Capabilities For Distributed Object
  1006. Management," TM-0149-06-89-165, GTE Laboratories Incorporated, June 1989.
  1007.  
  1008. [MANO89b]*   Manola, F., "An Evaluation of Object-Oriented DBMS
  1009. Developments," TR-0066-10-89-165, GTE Laboratories Incorporated, October
  1010. 1989.
  1011.  
  1012. [WELC89]   Welch, J.L. and A.P. Sistla, "Object-Based Concurrency Control
  1013. and Recovery Mechanisms," TM-0150-06-89-165, GTE Laboratories Incorporated,
  1014. June 1989.
  1015.  
  1016.  
  1017.  >>>>>>>>> 1988
  1018.  
  1019. [MANO88]*   Manola, F., "Distributed Object Management Technology,"
  1020. TM-0014-06-88-165, GTE Laboratories Incorporated, June 1988.
  1021.  
  1022.  
  1023.  >>>>>>>>> 1987
  1024.  
  1025. [MANO87]   Manola, F., "A Personal View of DBMS Security," Database
  1026. Security: Status and Prospects, C.E. Landwehr (ed.), Elsevier Science
  1027. Publishers B.V., North Holland, 1988, 23-34; TN CS1.1, GTE Laboratories
  1028. Incorporated, December 1987.
  1029.  
  1030.  
  1031.  
  1032. _[GEOR94a]* _[GEOR94b]*
  1033. _[BROD93a]* _[BROD93b]* _[GEOR93a]* _[GEOR93c]* _[GEOR93e]*
  1034. _[MANO93a]  _[MANO93c]* _[NAYE93c]* _[NAYE93d]* _[NICO93a] 
  1035. _[VENT93]*
  1036. _[BGR92]    _[BRO92b]*  _[BROD92c]* _[BUCH92]   _[GEOR92]*
  1037. _[HEIL92]   _[MANO92]*  _[MANO92a]* 
  1038. _[BROD91]   _[BROD91a]* _[BUCH91]*  _[GEOR91a]* _[GEOR91b]*
  1039. _[GRL91]    _[HEIL91]*  _[HORN91]*  _[MANO91]   _[MANO91a]* 
  1040. _[MANO91b]  _[RUSI91]   _[VENT91] 
  1041. _[BREI90]   _[BROD90]*  _[HEIL90]   _[MANO90]   _[MANO90a]* 
  1042. _[MANO90b]* _[MYLO90]*  _[RUSI90]   _[SILB90]   _[STON90] 
  1043. _[ZERT90] 
  1044. _[BROD89]   _[BROD89a]  _[MANO89]*  _[MANO89a]* _[MANO89b]*
  1045. _[WELC89] 
  1046. _[MANO88]* 
  1047. _[MANO87]
  1048.  
  1049.  
  1050. >53  KEOBJ, OO DSP micro-kernel
  1051.  
  1052. From: clb@softia.com (Chris Bidaut)
  1053. Subject: Object kernel for DSP & RISC processors
  1054. Date: Mon, 15 Nov 1993 22:48:46
  1055. Organization: Softia, Inc.
  1056.  
  1057. This is an announcement for KEOBJ, an object-oriented micro-kernel for Digital
  1058. Signal Processors (DSP) and RISC processors.  This is also a request for 
  1059. comments from the Internet community. Feedback on the architecture and 
  1060. programming interface will be appreciated and incorporated into the next
  1061. release.
  1062.  
  1063.  
  1064. 1 DESCRIPTION
  1065. -------------
  1066.  
  1067. KEOBJ is an object-oriented micro-kernel optimized for advanced embedded 
  1068. applications, and it particularly targets Digital Signal Processors (DSP) 
  1069. and RISC processors in multimedia environments.
  1070.  
  1071. Its main features are object-orientation, real-time behavior, signal processing
  1072. support, micro-kernel architecture and scalability.
  1073.  
  1074. 1.1 Object-orientation
  1075.  
  1076. The kernel is a collection of system classes exported to the applications
  1077. (e.g Process, Thread, Memory, ...).
  1078. An object name space provides a way to locate any public object (e.g. IPC, 
  1079. memory) using a symbolic path.
  1080. The kernel is written in C++ and is easily portable.
  1081.  
  1082. 1.2 Real-time behavior
  1083.  
  1084. The design stresses fast response time and predictability to qualify for the 
  1085. real-time label. The kernel is reentrant and preeemptable.
  1086.  
  1087. 1.3 Signal processing support
  1088.  
  1089. Besides providing an architecture appropriate for most general purpose 
  1090. applications, the kernel incorporates dedicated features for signal processing
  1091. applications. This includes two phases interrupt processing, time-deadline
  1092. scheduling, Inter Process Communications, multiple memory pools, awareness of
  1093. the constraints due to a single data type (word).
  1094.  
  1095. 1.4 Micro-kernel architecture
  1096.  
  1097. Probably the most important feature of the kernel is the ability to be
  1098. extended at run-time with new services such as devices drivers, public
  1099. classes (IPC, file systems, windowing systems). Applications and system
  1100. services are dynamically loaded by a COFF compatible loader.
  1101.  
  1102. The core kernel is customizable at run-time through a personality mechanism 
  1103. to emulate other environments (Operating systems) or to tailor the processes
  1104. environments. 
  1105.  
  1106. 1.5 Scalability
  1107.  
  1108. The API supports physical and virtual memory organizations with the same 
  1109. semantics.
  1110.  
  1111. Applications source code will be portable across DSP and RISC processors.
  1112.  
  1113. The architecture supports symmetric multiprocessing and distribution (Available
  1114. by mid-1994).
  1115.  
  1116.  
  1117. 2 WHERE TO FIND THE PACKAGE
  1118. ---------------------------
  1119.  
  1120. A set of documentation about KEOBJ is available via anonymous ftp on the 
  1121. following Internet server:
  1122.         netcom.com (192.100.81.100) in file /pub/softia/keobj.zip
  1123.  
  1124.  
  1125. If you do not have access to Internet, contact me for other delivery media at:
  1126. Chris Bidaut            clb@softia.com
  1127. Telephone (408) 262-6520    Fax (408) 262-7210
  1128.  
  1129.  
  1130. >54  MindFrame for Windows
  1131.  
  1132. From: gcl@netcom.com (Geoff Lee)
  1133. Subject: "MindFrame for Windows" (freeware) application is available for ftp
  1134. Date: Tue, 16 Nov 1993 21:07:28 GMT
  1135.  
  1136.     MindFrame for Windows 1.0 Release Note
  1137.     ======================================
  1138.  
  1139. mndframe.zip (MindFrame for Windows) is available for anonymous ftp
  1140. on ftp.cica.indiana.edu. It is currently in /pub/pc/win3/uploads.
  1141.  
  1142. "MindFrame for Windows" is a freeware application developed to
  1143. teach an object modeling approach presented in the
  1144. book: "Object-Oriented GUI Application Development" Geoff Lee,
  1145. Prentice-Hall, 1993, ISBN 0-13-363086-2.
  1146.  
  1147. This application is useful in many other areas as well, for
  1148. example, in Bible studying (metaphors, parables, prophecies,
  1149. types), neural modeling, ecological modeling, and task modeling.
  1150. There are 20 sample applications covering these areas. There
  1151. are also description of each of the sample application in the
  1152. on-line Help. Read "About MindFrame..." help topic for more
  1153. information.
  1154.  
  1155. This is a copyrighted software, but you can freely redistribute if
  1156. you keep the release intact.
  1157.  
  1158. The following is the content of mdnframe.txt file in the .zip file:
  1159.  
  1160. 1. Installation Procedure:
  1161.    DOS> mkdir MndFrame
  1162.    DOS> cd MndFrame
  1163.    DOS> copy b:MndFrame.zip   (or where you kept the mndframe.zip file)
  1164.    DOS> unzip -d mndframe.zip  (extract files into subdirectories)
  1165.    DOS> copy grid.vbx \windows\systems (your local Windows system directory)
  1166.  
  1167. 2. Running the application:
  1168.    . In Windows, open your "File Manager"
  1169.    . Go to \MndFrame directory
  1170.    . Find the MndFrame.exe file
  1171.    . Drag the MndFrame.exe file icon into a "Program Manager" window
  1172.    . Open the MndFrame.exe program
  1173.  
  1174. 3. Sample applications:
  1175.    Once you are in the MindFrame application, open files in the 
  1176.    \MndFrame\Samples subdirectories. There are 20 sample files organized
  1177.    according to areas of application (e.g., object modeling, neural
  1178.    modeling, bible studying). You can also find description of each of
  1179.    these samples in the On-Line Help file.
  1180.  
  1181. 4. On-line help:
  1182.    Use the "About MindFrame..." menu item in the "Help" menu to learn more
  1183.    about this application. There is an on-line help provided for this
  1184.    application. Read through the help topics to learn about using this
  1185.    application.
  1186.  
  1187. 5. Files in this release:
  1188.    mndframe.txt: this file.
  1189.    mdnframe.exe: the executable file of "MindFrame for Windows" freeware.
  1190.    mndframe.hlp: the on-line help file for "MindFrame for Windows".
  1191.    biblnote.ps:  the PostScript file of help text on using this application
  1192.                 to study metaphors, parables, types, and prophecies in the
  1193.                 Holy Bible.
  1194.    grid.vbx:     the visual basic grid control that is necessary to run this
  1195.                 application. It must be copied into your local "system"
  1196.                 directory for Windows (\windows\system in most cases).
  1197.    samples\*:    in this directory, there are 20 samples (*.frm files) in 
  1198.                 the subdirectories for each application area 
  1199.                 (e.g., objmodel, ecology, neural, parable).
  1200.  
  1201. New MindFrame anonymous FTP Directory:
  1202.  
  1203. It has been moved to a more permanent directory: /pub/pc/win3/programr.
  1204.  
  1205. >55  ACE Lib, C++ Networking
  1206.  
  1207. From: schmidt@liege.ics.uci.edu (Douglas C. Schmidt)
  1208. Subject: Re: C++ and Semaphores
  1209. Date: 22 Nov 1993 19:27:00 -0800
  1210. Organization: University of California at Irvine: ICS Dept.
  1211.  
  1212.        THE "ADAPTIVE COMMUNICATION ENVIRONMENT" (ACE) LIBRARY:
  1213.  
  1214.       A Collection of C++ Network Programming Components
  1215.       --------------------------------------------------
  1216.  
  1217.     The ACE library is available for anonymous ftp from the
  1218. ics.uci.edu (128.195.1.1) host in the gnu/C++_wrappers.tar.Z file
  1219. (approximately .4 meg compressed).  This release contains contains the
  1220. source code, documentation, and example test drivers for a number of
  1221. C++ wrapper libraries and higher-level network programming foundation
  1222. classes developed as part of the ADAPTIVE transport system project at
  1223. the University of California, Irvine.
  1224.  
  1225.     . The C++ wrappers encapsulate many of the user-level BSD and
  1226.       System V Release 4 IPC facilities such as sockets, TLI,
  1227.       select and poll, named pipes and STREAM pipes, the mmap
  1228.       family of memory-mapped file commands, System V IPC (i.e.,
  1229.       shared memory, semaphores, message queues), and explicit
  1230.       dynamic linking (e.g., dlopen/dlsym/dlclose) using
  1231.       type-secure, object-oriented interfaces. 
  1232.  
  1233.     . The higher-level network programming foundation classes
  1234.       integrate and enhance the lower-level C++ wrappers to
  1235.       support the configuration of concurrent network daemons
  1236.       composed of monolithic and/or stackable services
  1237.  
  1238.     Many of the C++ wrappers and higher-level components have been
  1239. described in issues of the C++ Report, as well as in the proceedings
  1240. of (1) the 2nd Annual C++ World conference held in Dallas, Texas in
  1241. October, 1993, (2) the 11th Annual Sun Users Group Conference held in
  1242. San Jose, CA in December, 1993, and (3) the 2nd International Workshop
  1243. on Configurable Distributed Systems held at CMU in Pittsburgh, PA in
  1244. March, 1994.  A relatively complete set of documentation and extensive
  1245. examples are included in the release.  A mailing list is available for
  1246. discussing bug fixes, enhancements, and porting issues regarding ACE.
  1247. Please send mail to ace-users-request@ics.uci.edu if you'd like to
  1248. become part of the mailing list.
  1249.  
  1250. CONTENTS OF THE RELEASE
  1251.  
  1252.     The following subdirectories are included in this release:
  1253.  
  1254.     . apps    -- complete applications written using the ACE wrappers
  1255.     . bin      -- utility programs for building this release such as g++dep
  1256.     . build      -- a separate subdirectory that keeps links into the main
  1257.              source tree in order to facilitate multi-platform
  1258.              build-schemes
  1259.     . include -- symbolic links to the include files for the release
  1260.     . lib      -- object archive libraries for each C++ wrapper library
  1261.     . libsrc  -- the source code for the following C++ wrappers:
  1262.             ASX -- higher-level C++ network programming foundation classes
  1263.             Get_Opt -- a C++ version of the UNIX getopt utility
  1264.             IPC_SAP -- wrapper for BSD sockets
  1265.             IPC_SAP_FIFO -- wrapper for FIFOS (named pipes)
  1266.             IPC_SAP_SPIPE -- wrapper for SVR4 STREAM pipes and connld 
  1267.             Log_Msg -- library API for a local/remote logging facility
  1268.             Mem_Map -- wrapper for BSD mmap() memory mapped files 
  1269.             Message_Queues -- wrapper for SysV message queues
  1270.             Reactor -- wrapper for select() and poll()
  1271.             Semaphores -- wrapper for SysV semaphores
  1272.             Server_Daemon -- a wrapper for dynamically linking
  1273.             Shared_Memory -- wrapper for SysV shared memory
  1274.             Shared_Malloc -- wrapper for SysV/BSD shared mallocs
  1275.             TLI_SAP -- wrapper for SVR4 TLI 
  1276.     . tests -- programs that illustrate how to use the various wrappers
  1277.  
  1278.     Please refer to the INSTALL file for information on how to
  1279. build and test the ACE wrappers.  The BIBLIOGRAPHY file contains
  1280. information on where to obtain articles that describe the ACE wrappers
  1281. and the ADAPTIVE system in more detail.
  1282.  
  1283.     Also, please note that there is a companion tar file called
  1284. C++_wrappers_doc.tar.Z, which is approximately 1.5 Meg compressed.
  1285. This file is in the same ftp/gnu directory as the source code
  1286. distribution.  In this file is the following:
  1287.  
  1288.     . doc      -- LaTeX documentation (in both latex and .ps format)
  1289.     . papers  -- postscript versions of various papers describing ACE
  1290.  
  1291. COPYRIGHT INFORMATION
  1292.  
  1293.     You are free to do anything you like with this code.  However,
  1294. you may not do anything to this code that will prevent it from being
  1295. distributed freely in its original form (such as copyrighting it,
  1296. etc.).  Moreover, if you have any improvements, suggestions, and or
  1297. comments, I'd like to hear about it!  It would be great to see this
  1298. distributed evolve into a comprehensive, robust, and well-documented
  1299. C++ class library that would be freely available to everyone.
  1300. Natually, I am not responsible for any problems caused by using these
  1301. C++ wrappers.
  1302.  
  1303.     Thanks,
  1304.     
  1305.         Douglas C. Schmidt
  1306.         (schmidt@ics.uci.edu)
  1307.         Department of Information and Computer Science
  1308.         University of California, Irvine
  1309.         Irvine, CA 92717
  1310.         Work #: (714) 856-4105
  1311.         FAX #: (714) 856-4056
  1312.  
  1313. ACKNOWLEDGEMENTS
  1314.     
  1315.     Special thanks to Paul Stephenson for devising the recursive 
  1316. Makefile scheme that underlies this distribution.  Also thanks to Olaf
  1317. Kruger for explaining how to instantiate templates for shared
  1318. libraries on SunOS 4.
  1319. -- 
  1320. Douglas C. Schmidt
  1321. Department of Information and Computer Science
  1322. University of California, Irvine
  1323. Irvine, CA 92717. Work #: (714) 856-4105; FAX #: (714) 856-4056
  1324.  
  1325.  
  1326. >56  Teaching Intro to OO Slides, T. Budd
  1327.  
  1328. From: budd@daimi.aau.dk (Tim Budd)
  1329. Subject: Re: Slides on OOP or OMT wanted
  1330. Date: 8 Nov 1993 07:46:08 GMT
  1331. Organization: DAIMI, Computer Science Dept. at Aarhus University
  1332.  
  1333. >...
  1334.  
  1335. I also have a series of slides that I have developed for use with my
  1336. text ``an introduction to object-oriented programming'' (timothy budd,
  1337. addison-wesley publishers).  These can be found at cs.orst.edu
  1338. directory pub/budd/oopintro/slides/*, or there is a mail server
  1339. called almanac@cs.orst.edu and if you say
  1340.     send oopintro slides chapter1
  1341. and so on you can get them via e-mail.  Warning, it yields a lot of
  1342. e-mail, so do it one at a time.
  1343. --tim
  1344.  
  1345.  
  1346. >57  Value Dependence Graphs
  1347.  
  1348. From: Michael D. Ernst <mernst@research.microsoft.com>
  1349. Subject:  Value dependence graphs paper available
  1350. Date: Tue, 9 Nov 1993 00:59:36 GMT
  1351.  
  1352. The paper "Value Dependence Graphs: Representation Without Taxation",
  1353. which describes a new intermediate representation which is particularly
  1354. amenable to optimization, is available.  (This version corrects typos and
  1355. clarifies a few minor points that may not have been completely clear in
  1356. the version which will appear in the POPL 94 proceedings.)  You can get a
  1357. copy in three ways:
  1358.  
  1359. 1.  Via anonymous ftp, obtain file research.microsoft.com:/pub/papers/vdg.ps
  1360.     (or file vdg.ps635 if you have a HP LaserJet 4 printer).
  1361. 2.  Reply to mernst@research.microsoft.com requesting PostScript by email,
  1362.     and I will send you the PostScript file of your choice.  (The files are
  1363.     483K and 1018K bytes, respectively.)
  1364. 3.  Reply to mernst@research.microsoft.com sending me your physical mail
  1365.     address, and I will mail you a hardcopy.
  1366.  
  1367. The abstract is:
  1368.  
  1369. The value dependence graph (VDG) is a sparse dataflow-like representation
  1370. that simplifies program analysis and transformation.  It is a functional
  1371. representation that represents control flow as data flow and makes
  1372. explicit all machine quantities, such as stores and I/O channels.  We are
  1373. developing a compiler that builds a VDG representing a program, analyzes
  1374. and transforms the VDG, then produces a control flow graph (CFG) [ASU86]
  1375. from the optimized VDG.  This framework simplifies transformations and
  1376. improves upon several published results.  For example, it enables more
  1377. powerful code motion than [CLZ86, FOW87], eliminates as many redundancies
  1378. as [AWZ88, RWZ88] (except for redundant loops), and provides important
  1379. information to the code scheduler [BR91].  We exhibit a fast, one-pass
  1380. method for elimination of partial redundancies that never performs
  1381. redundant code motion [KRS92, DS93] and is simpler than the classical
  1382. [MR79, Dha91] or SSA [RWZ88] methods.  These results accrue from
  1383. eliminating the CFG from the analysis/transformation phases and using
  1384. demand dependences in preference to control dependences.
  1385.  
  1386. The paper's full citation is:
  1387.  
  1388. @InProceedings{WeiseCES94,
  1389.   author =      "Daniel Weise and Roger F. Crew and Michael Ernst and
  1390.             Bjarne Steensgaard",
  1391.     title =      "Value Dependence Graphs:  Representation Without Taxation",
  1392.     booktitle =     POPL94,
  1393.     pages =      "297-310",
  1394.     year =     1994,
  1395.     month =     jan,
  1396.     address =     "Portland, OR"
  1397. }
  1398.  
  1399. >58  Various on OO
  1400.  
  1401. I think our ftp-site should be mentioned under the PAPERS section of
  1402. appendix E of the comp.object FAQ. There are a number of interesting
  1403. papers about Object-Orientation, in particular about a new object-oriented
  1404. model, called 'Composition Filters'. Here is the uuencoded compressed
  1405. version of a postscript document that contains abstracts of the papers
  1406. which are available via ftp (ftp.cs.utwente.nl - /pub/doc/TRESE) or
  1407. WWW (http://www_trese.cs.utwente.nl - Recent Publications of the TRESE
  1408. project). You may also view this document from our WWW-site.
  1409.  
  1410. Greetings,
  1411.  
  1412. Richard.
  1413. ---
  1414. TRESE project
  1415. Email: stadt@cs.utwente.nl
  1416. TRESE WWW Server: http://www_trese.cs.utwente.nl
  1417.  
  1418. >59  ILU OMG CORBA
  1419.  
  1420. From:    Bill Janssen <janssen@parc.xerox.com>
  1421.  
  1422. ILU is a module system / object RPC system / CORBA implementation for
  1423. programming that supports object interfaces to modules.  It supports
  1424. inter-calling between modules written in different languages
  1425. (currently only C++, C, Modula-3 and Common Lisp are supported), as
  1426. well as inter-calling between modules running in different address
  1427. spaces.  It provides an implementation of object RPC compatible with
  1428. the OMG CORBA 1.2 spec (it will compile OMG IDL and generate OMG
  1429. compliant code for OMG-specified languages), as well as being
  1430. compatible with Sun RPC (existing Sun RPC services can be described as
  1431. ILU modules) and other RPC systems.  It is written in ANSI C, and
  1432. includes a metaobject protocol for configuration and flexibility.  The
  1433. source code is freely available.  More information is available at
  1434. ftp://parcftp.parc.xerox.com/pub/ilu/ilu.html.
  1435.  
  1436. Bill
  1437.  
  1438. >60 Internet Info CDROM, including FAQs
  1439.  
  1440. Walnut Creek CDROM announces the release of the Internet Info CDROM.
  1441. This CDROM contains 12,000 documents about computers and networks:
  1442.  
  1443.         * Answers to Frequently Asked Questions (FAQs).
  1444.         * Internet RFCs and IENs.  
  1445.         * Computer security Documents.  
  1446.         * Internet Network maps.  
  1447.         * Usenet technical discussion Archives.
  1448.         * Ftp sites lists and descriptions of the archives they hold.
  1449.         * Extensive bibliographies and technical book reviews.
  1450.         * documents and standards from IEEE, ISO, NIST, ANSI and others.
  1451.  
  1452. The price is $39.95.  S&H is $5 for US/Canada/Mexico, and $10 for overseas.
  1453. If you live in California, please add sales tax.  You can pay by cash, check,
  1454. money order or Visa/MC/Dis/Amex.  This CDROM is fully guaranteed, if you are
  1455. dissatisfied with this disc for any reason whatsoever, you can return it for
  1456. an exchange or refund.
  1457.  
  1458.         Walnut Creek CDROM
  1459.         1547 Palos Verdes Mall, Suite 260
  1460.         Walnut Creek, CA  94596
  1461.  
  1462.         1 800 786-9907
  1463.         1 510 674-0783
  1464.         1 510 674-0821 FAX
  1465.  
  1466.         orders@cdrom.com
  1467.  
  1468. The disc is available for FREE to anyone that has contributed any of their
  1469. own work.  This includes FAQ maintainers, RFC authors, etc.  Just email me
  1470. your name, address, and the name of the files(s) that you wrote.  Overseas
  1471. addresses are ok.
  1472.  
  1473. If you would like a more detailed list of other CDROM titles published by
  1474. Walnut Creek CDROM, you can ftp the latest list from
  1475. ftp.cdrom.com:/pub/cdrom/catalog, or send email to info@cdrom.com.
  1476.  
  1477. >61  Metrics
  1478.  
  1479. From: dcp@icd.teradyne.com (Dan Proskauer)
  1480. Subject: Re: Wanted: Data on McCabe and Halstead Comple
  1481. Organization: Teradyne, Inc. Boston MA
  1482. Date: Sat, 18 Dec 1993 20:58:33 GMT
  1483.  
  1484.     There is some publically available McCabe and Halstead analysis
  1485. software for C in gatekeeper.dec.com /pub/usenet/com.sources.unix/volume20/metrics.
  1486. I believe there is some explanation of the metrics along with it.  Some other
  1487. references are:
  1488.  
  1489.     The Art of Software Testing, Myers
  1490.  
  1491.     "An Internal Approach to Testing Horizontally Reusable
  1492.      Software", Proceedings of the 5th Annual STC Conference, 93
  1493.         Goldfedder (Overall of where McCabe fits in to A testing
  1494.         process) 
  1495.  
  1496.