home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk1.iso / answers / object-faq / part6 < prev    next >
Text File  |  1994-09-17  |  62KB  |  1,767 lines

  1. Path: bloom-beacon.mit.edu!senator-bedfellow.mit.edu!faqserv
  2. From: Bob Hathaway <rjh@geodesic.com>
  3. Newsgroups: comp.object,comp.answers,news.answers
  4. Subject: Comp.Object FAQ Version 1.0.6 (9-15) Part 6/9
  5. Supersedes: <object-faq/part6_777166834@rtfm.mit.edu>
  6. Followup-To: comp.object
  7. Date: 17 Sep 1994 12:04:30 GMT
  8. Organization: Geodesic Systems
  9. Lines: 1747
  10. Approved: news-answers-request@MIT.Edu
  11. Expires: 31 Oct 1994 12:03:01 GMT
  12. Message-ID: <object-faq/part6_779803381@rtfm.mit.edu>
  13. References: <object-faq/part5_779803381@rtfm.mit.edu>
  14. NNTP-Posting-Host: bloom-picayune.mit.edu
  15. Summary: Frequently Asked Questions (FAQ) List and Available Systems For Object-Oriented Technology
  16. X-Last-Updated: 1994/09/15
  17. Originator: faqserv@bloom-picayune.MIT.EDU
  18. Xref: bloom-beacon.mit.edu comp.object:12655 comp.answers:7314 news.answers:25854
  19.  
  20. Archive-name: object-faq/part6
  21. Last-Modified: 9/15/94
  22. Version: 1.0.6
  23.  
  24. > Statice (Symbolics)
  25.  
  26. From: fischerm@darmstadt.gmd.de (Markus Fischer)
  27. Newsgroups: comp.databases.object,comp.lang.lisp
  28. Subject: Statice now runs on Unix
  29. Date: 15 Jun 93 14:55:48 GMT
  30.  
  31. Hi there,
  32.  
  33. since I've never seen 'Symbolics' or 'Statice' in
  34. comp.database.object, this might be interesting:
  35.  
  36. A few days ago, Symbolics announced the availability of a beta-
  37. release of their ODBMS 'Statice' on Unix platforms. It is quite
  38. powerful and tightly integrated within Common Lisp.
  39. Currently, Symbolics and LUCID are supported.
  40. People (like me) used to Symbolics' Genera development environment 
  41. can continue to use Statice there (where it has been already
  42. successfully employed in 'real world' applications)
  43. and now also use it on Unix Workstations.  (Those are the cheaper
  44. boxes, I guess). Both kinds of platforms can be freely intermixed
  45. in a network.
  46.  
  47. Statice is based on standards of Lisp: CLOS and CLIM 
  48. (Common Lisp Object System, resp. Common Lisp Interface Manager)
  49.  
  50. Here's the address of Symbolics in Germany; they're mostly 
  51. responsible for Statice on Unix:
  52.  
  53. Symbolics Systemhaus GmbH
  54. Mergenthalerallee 77
  55. 6236 Eschborn (til June 31)
  56. 65760 Eschborn (from July 1)
  57. Tel. (49) 6196-47220, Fax (49) 6196-481116
  58.  
  59. Contact person is Dr. Thomas Neumann (TN@symbolics.de).
  60.  
  61. Also:
  62.  
  63. "Update Database Schema" brings an existing database into conformance
  64. with a modified schema.  Changes are classified as either compatible
  65. (lossless, i.e., completely information-preserving) or incompatible
  66. (i.e., potentially information-losing in the current implementation).
  67. Basically, any change is compatible except for the following:
  68.  
  69.     -- If an attribute's type changes, all such attributes extant
  70.     are re-initialized (nulled out).  Note that Statice permits
  71.     an attribute to be of type T, the universal type.  Such an
  72.     attribute can then take on any value without schema
  73.     modification or information loss.
  74.  
  75.     -- If a type's inheritance (list of parents) changes, the
  76.     type must be deleted and re-created, losing all extant
  77.     instances of that type. This is Statice's most serious
  78.     current limitation.  The simplest workaround is to employ a
  79.     database dumper/loader (either the one supplied by Symbolics
  80.     or a customized one) to save the information elements and
  81.     then reload them into the modified schema.
  82.  
  83. [Lawrence G Mayka <lgm@IExist.ATT.COM>]
  84.  
  85.  
  86. > UniSQL
  87.  
  88. UniSQL offers a state-of-the-art suite of integrated object-oriented database
  89. systems and application development products which can be used separately or
  90. together to support complex development projects which use object-oriented
  91. development techniques, integrate sophisticated multimedia data, and require
  92. true multidatabase access to relational and object-oriented databases. The
  93. UniSQL product suite includes:
  94.  
  95.         UniSQL/X Database Management System;
  96.         UniSQL/M Multidatabase System; and
  97.         UniSQL/4GE Application Development Environment
  98.         User interfaces include: C++, C, Object SQL, SmallTalk, and ODBC
  99.         Database interfaces include: Ingres, Oracle, Sybase, UniSQL/X, and EDA/SQL
  100.  
  101. UniSQL offers:
  102.  
  103. - A wide selection of user interfaces including C++, SmallTalk, C, Microsoft's
  104.   ODBC, both embedded (static and dynamic) and interactive Object SQL, and UniSQL
  105.   and 3rd-party development tools.
  106.  
  107. - Mission-critical database features such as a high-level query language
  108.   (SQL/X), cost-based query optimization, automatic transaction management,
  109.   automatic concurrency control, dynamic schema evolution, dynamic authorization,
  110.   physical disk structuring options, and installation tuning parameters.
  111.  
  112. - The UniSQL Multimedia Framework which provides natural and uniform database
  113.   system support for all types of large unstructured data objects. The Multimedia
  114.   Framework also provides for seamless integration of multimedia devices such as
  115.   fax machines, CD jukeboxes, satellite feeds, image compression boards, etc.
  116.  
  117. - The UniSQL/M Multidatabase System enables developers to manage a collection
  118.   of multi-vendor databases -- Ingres, Oracle, Sybase, DB2, UniSQL/X, and others
  119.   -- as a single federated database system with full object-oriented
  120.   capabilities.
  121.  
  122. UniSQL has well over 150 customers around the world, the majority of which are
  123. using UniSQL database products for mission-critical applications which require
  124. object-oriented, multimedia, post-relational, and heterogeneous database
  125. capabilities.
  126.  
  127. A typical UniSQL customer is a Fortune 500 company, a commercial software
  128. developer, or government organization that is using UniSQL database products
  129. to:
  130.  
  131. - support mission-critical application development projects which are being
  132.   developed using object-oriented programming languages and development
  133.   techniques,
  134.  
  135. - support applications which must integrate many different types of corporate
  136.   data -- text and documents, tabular data, images and audio, engineering
  137.   drawings, GIS data, procedural data (programs), etc. -- into a single
  138.   application context.
  139.  
  140. - support the full object-oriented development paradigm using existing
  141.   relational database systems such as Ingres, Oracle, Sybase, and DB2.
  142.  
  143. - logically integrate one or more relational and object-oriented databases to
  144.   form a single, homogenized database server which supports both relational and
  145.   object-oriented facilities.
  146.  
  147. In September 1992, UniSQL was selected by the Petrotechnical Open Software
  148. Corporation (POSC) -- over more than 25 other industry vendors -- to provide
  149. database technology which is being used by POSC in their development of a new
  150. data management specification for the oil & gas industry. Also during 1992,
  151. because of its powerful multimedia capabilities, UniSQL was selected by the MIT
  152. AthenaMuse Consortium on multimedia as the consortium's multimedia database
  153. system.
  154.  
  155. During the DB/EXPO '93 Conference and Exhibition, UniSQL was chosen in
  156. competition with major industry database vendors as a finalist in the
  157. ``RealWare Awards''.  The ``RealWare Awards'' honor companies that have
  158. had a major impact in the user community.
  159.  
  160. UniSQL was founded in May 1990 by Dr. Won Kim, President and CEO, delivering
  161. the UniSQL/X DBMS in March of 1992. With its world-class database research and
  162. architectural team, UniSQL has perfected what the database industry has sought
  163. since the mid-1980s: a fully object-oriented data model that is a natural
  164. conceptual outgrowth of the popular relational model. Both the UniSQL/X DBMS
  165. and the UniSQL/M Multidatabase System represent the first of a powerful new
  166. generation of client-server database systems that support the full
  167. object-oriented paradigm yet retain all of the strengths and capabilities of
  168. relational database systems including support for ANSI-standard SQL.
  169.  
  170. UniSQL currently has 45 employees and is privately owned and managed by Dr.
  171. Kim. The company has secured long-term funding from NTT Data Communications
  172. Systems Corp. (NTT Data), a $2 billion company, which is Japan's foremost
  173. systems integrator and UniSQL's exclusive distributor in Japan.
  174.  
  175. For more information, contact:
  176.  
  177.         UniSQL, Inc.
  178.         9390 Research Blvd., II-200
  179.         Austin, Texas 78759-6544
  180.         Tel.: 512/343-7297
  181.         Tollfree: 800/451-DBMS
  182.         Fax.: 512/343-7383
  183.  
  184. And:
  185. From: jonh@unisql.UUCP (Jon Higby)
  186. Newsgroups: comp.databases,comp.databases.theory,comp.databases.object,comp.object
  187. Subject: Re: SQL3, Itasca, & UniSQL/X
  188. Message-ID: <6143@unisql.UUCP>
  189. Date: 10 Sep 93 14:26:04 GMT
  190. References: <CD1Ln5.9G3@dcs.glasgow.ac.uk>
  191. Organization: UniSQL, Inc., Austin, Texas, USA
  192.  
  193. >>...
  194. For UniSQL/X, feel free to contact me (email, snail-mail or phone).
  195.  
  196. UniSQL/X is a SQL compliant database with Object Oriented extensions
  197. (classes, inheritance, methods, etc).  We have an information packet
  198. available which includes a white-paper on our OORDMS approach.
  199.  
  200. Jon Higby
  201. Technical Services Consultant
  202.  
  203. UniSQL, Inc.
  204. 9390 Research II, Suite 200
  205. Austin, Texas  78759-6544
  206. (512) 343-7297
  207.  
  208. *****************************************************************************
  209. Standard disclaimer ... All opinions expressed are my own and not of my 
  210.                         employer.......................................
  211. *****************************************************************************
  212.  
  213.  
  214.  
  215. > Versant (Versant Object Technology)
  216.  
  217. Versant is a client/server object database management system (ODBMS) targeted at
  218. distributed, multi-user applications.  Versant runs on UNIX and PC platforms, 
  219. including Sun, IBM, HP, DEC, SGI, Sequent, OS/2, with support for Windows NT is 
  220. planned during 1993.
  221.  
  222. Versant provides transparent language interfaces from object-oriented 
  223. programming languages such as C++ and Smalltalk.  Versant also supports a C API.
  224.  
  225. Versant is built with an object-level architecture, which means that operations 
  226. are generally performed on the object (or group thereof) level.  Key Versant 
  227. features include:
  228.  
  229.  Performance
  230.  -----------
  231.  
  232. *  Object-level locking for fine granularity concurrency control
  233. *  Server-based query processing to reduce network I/O
  234. *  Dual caching to speed warm traversals
  235. *  Dynamic space reclamation and reuse
  236.  
  237.  Distribution
  238.  ------------
  239.  
  240. *  Immutable, logical object identifiers for data integrity
  241. *  Object migration (transparent relocation across nodes)
  242. *  Transparent cross-node references (distributed db)
  243. *  Automatic two-phase commit
  244.  
  245.  Other
  246.  -----
  247.  
  248. *  Schema evolution (online via lazy updates)
  249. *  Standard workgroup features (e.g., versioning, checkin/out)
  250. *  Detachable, personal databases
  251. *  DBA utilities
  252.  
  253.  
  254. Additional information available from
  255.  
  256. info@versant.com  (General information)
  257. davek@versant.com (Dave Kellogg)
  258.  
  259. Versant Object Technology 
  260. 1380 Willow Road
  261. Menlo Park, California  94025
  262.  
  263. 415-329-7500 phone.
  264. 415-325-2380 fax.
  265.  
  266.  
  267. On Schema Evolution (from original survey):
  268. We support run-time schema evolution.  It uses a lazy scheme, so
  269. schema operations are very fast.  Objects on disk may have an older
  270. `storage class' and they will be updated to the new schema when they
  271. are used.
  272.  
  273. In older releases schema evolution was allowed only on leaf classes
  274. (those with no subclasses).  In our new release 2 (going to beta test
  275. soon) you can do schema evolution on any class.
  276.  
  277. In the future we're working on more general view mechanisms so you can
  278. see a subset of the attributes in memory, or some more complicated
  279. transformation.  This goes together with support for multiple
  280. compilers and multiple languages.
  281.  
  282. [Joe Keane <osc!jgk@amd.com>]
  283.  
  284. Also: 1-800-Versant
  285.  
  286.  
  287.  
  288.  
  289. Other Models
  290. ------------
  291.  
  292. Research Systems
  293. ________________
  294.  
  295. > GRAS
  296.  
  297. --------------------------------------------------------------
  298. GRAS - A Graph-Oriented Database System for SE Applications
  299. Copyright (C) 1987-1993  Lehrstuhl Informatik III, RWTH Aachen
  300. --------------------------------------------------------------
  301.  
  302. See the GNU Library General Public License for copyright details.
  303.  
  304. Contact Adresses:
  305.  
  306.     Dr. Andy Schuerr 
  307.     Lehrstuhl fuer Informatik III,
  308.     University of Technology Aachen (RWTH Aachen),
  309.     Ahornstr. 55,
  310.     D-5100 Aachen
  311.  
  312. Email to
  313.  
  314.     andy@i3.informatik.rwth-aachen.de
  315.  
  316. GRAS is a database system which has been designed according
  317. to the requirements resulting from software engineering
  318. applications. Software development environments are composed
  319. of tools which operate on complex, highly structured data.
  320. In order to model such data in a natural way, we have selected
  321. attributed graphs as GRAS' underlying data model.
  322.  
  323. A first prototype of the GRAS (GRAph Storage) system - described
  324. in /BL 85/ - was already realized in 1985. Since this time
  325. gradually improving versions of the system have been used at
  326. different sites within the software engineering projects
  327. IPSEN /Na 90/, Rigi /MK 88/, MERLIN /DG 90/, and CADDY /EHH 89/.
  328. Based on these experiences, almost all parts of the original
  329. prototype have been redesigned and reimplemented.
  330.  
  331. Thus, nowadays a stable and efficiently working single-process
  332. version of the system GRAS with interfaces for the programming
  333. languages Modula-2 and C is available as free software for Sun
  334. workstations (the GRAS system itself is implemented in Modula-2
  335. and consists of many layers which might be reusable for the
  336. implementation of other systems):
  337.  
  338.   Via anonymous ftp from ftp.informatik.rwth-aachen.de
  339.   in directory /pub/unix/GRAS in file gras.<version-no>.tar.Z.
  340.  
  341.   There are several files containing documentation, sources, binaries,
  342.   application examples, and libraries. All binaries are for Sun/4
  343.   machines. Sun/3 binaries are shipped only if explicitly requested.
  344.  
  345.   You have to use the following sequence of operations for installing
  346.   the GRAS system at your site:
  347.  
  348.   1) 'ftp ftp.informatik.rwth-aachen.de' (with login name "anonymous"
  349.      and password equal to your mail address).
  350.   2) 'cd pub/unix/GRAS' (for changing the current directory).
  351.   3) 'binary' (command for changing ftp mode).
  352.   4) 'get gras.<version-no.>' (use 'ls' for finding the currently used
  353.       GRAS version nr.).
  354.   5) 'bye' (for exiting ftp).
  355.   6) 'uncompress gras.<version-no>.tar'.
  356.   7) 'tar xvf gras.<version-no>.tar' (creates a subdirectory GRAS_2 for
  357.      the Modula-2 implementation of GRAS including its C-interface).
  358.   8) Follow the instructions in file GRAS_2/README.
  359.  
  360.  
  361. The current version has programming interfaces for Modula-2 and C
  362. and supports:
  363.  
  364.   - the manipulation of persistent attributed, directed node- and
  365.     edge-labeled graphs (including the creation of very long
  366.     attributes and of attribute indexes).
  367.  
  368.   - the manipulation of temporary/volatile generic sets/relations/lists,
  369.  
  370.   - the coordination of graph accesses by different GRAS applications
  371.     (multiple-read/single-write access with graphs as lock units),
  372.  
  373.   - error recovery based on shadow pages and forward logs,
  374.  
  375.   - nested transactions and linear undo/redo of arbitrarily long
  376.     sequences of already committed graph modifying operations based
  377.     on forward and backward logs,
  378.  
  379.   - event-handling (with certain kinds of graph-modifications
  380.     as events and graph-modifying transactions as event-handlers),
  381.  
  382.   - primitives for version control comprising the capability
  383.     for efficiently storing graphs as forward/backward deltas to
  384.     other graphs,
  385.  
  386.   - and primitives for declaring graph schemes and for incremental
  387.     evaluation of derived attributes.
  388.  
  389. Furthermore, tools for (un-)compressing graphs and a X11R5-based
  390. graph browser are part of this release.
  391.  
  392. A multi-process version of the system GRAS supporting the inter-
  393. action of multiple client and multiple server processes within
  394. one local area network is nearby completion (version 6.0/0).
  395.  
  396. Thus, the GRAS system may be considered to be the core of a graph
  397. oriented DBMS environment. The development of such an environment
  398. based on a very high-level specifications language named PROGRES
  399. is under way (the underlying calculus of this specifcation language
  400. are so-called PROgrammed GRaph REwriting Systems).
  401.  
  402. This environment will comprise the following tools (a prerelease
  403. of this environment might be made available upon request):
  404.  
  405.   - a syntax-directed editor for graph schemes, graph rewrite rules,
  406.     and sequences of graph rewrite rules,
  407.  
  408.   - an incrementally working consistency checker,
  409.  
  410.   - an incrementally working compiler&interpreter translating
  411.     PROGRES specifications into sequences of GRAS procedure
  412.     calls (for C as well as for Modula-2),
  413.  
  414.   - and an "enhanced" graph (scheme) browser.
  415.  
  416.  
  417. References
  418. ----------
  419.  
  420. Refer to the following publications for further info about GRAS, PROGRES,
  421. and related topics:
  422.  
  423. /BL85/          Brandes, Lewerentz: A Non-Standard Data Base System within
  424.                 a Software Development Environment. In Proc. of the Workshop
  425.                 on Software Engineering Environments for Programming-in-the-
  426.                 Large, pp 113-121, Cape Cod, June 1985
  427.  
  428. /DHKPRS90/      Dewal, Hormann, Kelter, Platz, Roschewski, Schoepe: Evaluation
  429.                 of Object Management Systems. Memorandum 44, University
  430.                 Dortmund, March 1990
  431.  
  432. /Feye92/    Feye A.: Compilation of Path Expressions (in German), Diploma
  433.         Thesis, RWTH Aachen (1992)
  434.  
  435. /Hoefer92/    Hoefer F.: Incremental Attribute Evaluation for Graphs (in
  436.         German), Diploma Thesis, RWTH Aachen (1992)
  437.  
  438. /HPRS90/        Hormann, Platz, Roschweski, Schoepe: The Hypermodel Benchmark,
  439.                 Description, Execution and Results. Memorandum 53, University
  440.                 Dortmund, September 1990
  441.  
  442. /KSW92/ *       Kiesel, Schuerr, Westfechtel: GRAS, A Graph-Oriented Database
  443.                 System for (Software) Engineering Applications. Proc. CASE 93,
  444.         Lee, Reid, Jarzabek (eds.): Proc. CASE '93, 6th Int. Conf. on
  445.         Computer-Aided Software Engineering, IEEE Computer Society
  446.         Press (1993), pp 272-286
  447.         Also:  Technical Report AIB 92-44, 
  448.  
  449. /Klein92/    Klein P.: The PROGRES Graph Code Machine (in German), Diploma
  450.         Thesis, RWTH Aachen (1992)
  451.  
  452. /Kossing92/    Kossing P.: Modelling of Abstract Syntax Graphs for normalized
  453.         EBNFs (in German), Diploma Thesis, RWTH Aachen (1992)
  454.  
  455. /LS88/          Lewerentz, Schuerr: GRAS, a Management System for Graph-
  456.                 Like Documents. In Proceedings of the Third International
  457.                 Conference on Data and Knowledge Bases, Morgan Kaufmann
  458.                 Publ. Inc. (1988), pp 19-31
  459.  
  460. /Nagl89/        Nagl (ed.): Proc. WG'89 Workshop on Graphtheoretic Concepts
  461.                 in Computer Science, LNCS 411, Springer-Verlag (1989)
  462.  
  463. /NS91/          Nagl, Schuerr: A Specification Environment for Graph Grammars,
  464.                 in Proc. 4th Int. Workshop on Graph-Grammars and Their
  465.                 Application to Computer Science, LNCS 532, Springer-
  466.                 Verlag 1991, pp 599-609
  467.  
  468. /Schuerr89/     Schuerr: Introduction to PROGRES, an Attribute Graph Grammar
  469.                 Based Specification Language, in: /Nagl89/, pp 151-165
  470.  
  471. /Schuerr91a/ *  Schuerr: PROGRES: A VHL-Language Based on Graph Grammars,
  472.                 in Proc. 4th Int. Workshop on Graph-Grammars and Their
  473.                 Application to Computer Science, LNCS 532, Springer-
  474.                 Verlag 1991, pp 641-659
  475.         Also:  Technical Report AIB 90-16
  476.  
  477. /Schuerr91b/    Schuerr: Operational Specifications with Programmed Graph
  478.         Rewriting Systems: Theory, Tools, and Applications, 
  479.         Dissertation, Deutscher Universitaetsverlag (1991) (in German)
  480.  
  481. /SZ91/ *        Schuerr, Zuendorf: Nondeterministic Control Structures for
  482.                 Graph Rewriting Systems, in Proc. WG'91 Workshop in Graph-
  483.                 theoretic Concepts in Computer Science, LNCS 570, Springer-
  484.                 Verlag 1992, pp 48-62
  485.         Also: Technical Report AIB 91-17
  486.  
  487. /Westfe89/      Westfechtel: Extension of a Graph Storage for Software
  488.                 Documents with Primitives for Undo/Redo and Revision Control.
  489.                 Technical Report AIB Nr. 89-8, Aachen University of Technology,
  490.                 1989
  491.  
  492. /Westfe91/      Westfechtel: Revisionskontrolle in einer integrierten Soft-
  493.                 wareentwicklungsumgebung, Dissertation, RWTH Aachen, 1991
  494.  
  495. /Zuendorf89/    Zuendorf: Kontrollstrukturen fuer die Spezifikationssprache
  496.                 PROGRES, Diplomarbeit, RWTH Aachen, 1989
  497.  
  498. /Zuendorf92/ *  Zuendorf A.: Implementation of the Imperative/Rule Based
  499.                 Language PROGRES, Technical Report AIB 92-38, RWTH Aachen,
  500.                 Germany (1992)
  501.  
  502. /Zuendorf93/ *  Zuendorf A.: A Heuristic Solution for the (Sub-) Graph
  503.                 Isomorphism Problem in Executing PROGRES, Technical
  504.                 Report AIB 93-5, RWTH Aachen, Germany (1993)
  505.  
  506. * : All reports marked with an asterisk are available via anonymous ftp from
  507.     ftp.informatik.rwth-aachen.de in directory /pub/reports/... .
  508.  
  509. See also PROGRES documentation.
  510.  
  511. [See also APPENDIX E]
  512.  
  513.  
  514. > IRIS (HP Labs)
  515.  
  516. [Iris is a system out of HP Labs that began as a prototype and eventually
  517. became a commercial product.  I believe it was eventually incorporated into
  518. the new HP product, OpenODB. - clamen]
  519.  
  520. Long and short system summaries can be found in:
  521.  
  522. [FISH89] D.H. Fishman et. al. Overview of the Iris DBMS. In Won.
  523.          Kim and Frederick H. Lochovsky, editors,
  524.          Object-Oriented Concepts, Databases and Applications,
  525.          chapter 10, pages 219--250. Addison-Wesley, Reading,
  526.          MA, 1989.
  527.  
  528. [FBC+87] D.H. Fishman, D. Beech, H.P. Cate, E.C. Chow,
  529.          T. Connors, J.W. Davis, N. Derrett, C.G. Hock, W. Kent,
  530.          P. Lyngbaek, B. Mahbod, M.A. Neimat, T.A. Tyan, and
  531.          M.C. Shan. Iris:  An object-oriented database
  532.          management system. ACM Transactions on Office
  533.          Information Systems, 5(1):48--69, January 1987.
  534.  
  535. The abstract of the latter (written early in the project) follows:
  536.  
  537.    The Iris database management system is a research prototype of
  538.    a next-generation database management system intended  to meet
  539.    the needs of new and emerging database applications, including
  540.    office    automation and knowledge-based systems,  engineering
  541.    test and measurement, and hardware  and software design.  Iris
  542.    is exploring a rich set of  new database capabilities required
  543.    by    these   applications,   including  rich    data-modeling
  544.    constructs, direct  database support for inference,  novel and
  545.    extensible data types, for example to  support graphic images,
  546.    voice,    text,   vectors,  and  matrices,    support for long
  547.    transactions   spanning  minutes  to  many  days, and multiple
  548.    versions of data.  These capabilities are, in addition  to the
  549.    usual support for  permanence   of data, controlled   sharing,
  550.    backup and recovery.
  551.  
  552.    The   Iris   DBMS consists   of  (1) a  query   processor that
  553.    implements  the   Iris object-oriented  data    model, (2)   a
  554.    Relational Storage Subsystem (RSS) -like  storage manager that
  555.    provides  access paths and  concurrency  control, backup   and
  556.    recovery, and (3) a collection of programmatic and interactive
  557.    interfaces.  The data   model supports  high-level  structural
  558.    abstractions,  such  as  classification, generalization,   and
  559.    aggregation, as  well  as behavioral    abstractions.      The
  560.    interfaces to  Iris  include an  object-oriented extension  to
  561.    SQL.
  562.  
  563.  
  564. On Schema Evolution (from original survey):
  565. Objects in the Iris system may acquire or lose types dynamically.
  566. Thus, if an object no longer matches a changed definition, the user
  567. can choose to remove the type from the object instead of modifying the
  568. object to match the type.  In general, Iris tends to restrict class
  569. modifications so that object modifications are not necessary.  For
  570. example, a class cannot be removed unless it has no instances and new
  571. supertype-subtype relationships cannot be established.
  572.  
  573.  
  574. Commercial Systems
  575. __________________
  576.  
  577.  
  578. > IDL (Persistent Data Systems)
  579.  
  580. IDL is a schema definition language. Schema modifications are defined
  581. in IDL, requiring ad-hoc offline transformations of the database, in
  582. general.  A simple class of transformations can be handled by
  583. IDL->ASCII and ASCII->IDL translators (i.e., integer format changes,
  584. list->array, attribute addition).
  585.  
  586. [conversation with Ellen Borison of Persistent Data Systems]
  587.  
  588.  
  589. ADDITIONAL REFERENCES:
  590.         John R. Nestor. "IDL: The Language and Its
  591.         Implementation". Prentice Hall. Englewood Cliffs,
  592.         NJ., 1989.
  593.  
  594.  
  595.  
  596. > Kala
  597.                          Kala Technical Brief
  598.  
  599. Summary
  600.  
  601. Kala(tm) is a Persistent Data Server managing distributed, shared,
  602. arbitrarily complex and evolving persistent data. Kala is highly
  603. efficient and secure. Kala manages the visibility of persistent data
  604. elements to its clients, thus supporting any types of transactions,
  605. versions, access control, security, configurations. Kala does not
  606. restrict you to any particular model. Kala provides the mechanism, but
  607. imposes no policy. Usable as either a link library communicating to a
  608. server or as a standalone, Kala is compact and simple.
  609.  
  610. Kala is used for applications such as: kernel of DBMS products,
  611. substrate for extended file systems, implementation of language
  612. persistence, data manager for groupware applications as well as
  613. applications which deal with large, complex, and changing volumes of
  614. data (text databases, financial distributed transaction systems). Our
  615. current customers use Kala in applications ranging from CASE
  616. repositories to CAD systems, from document management for financial
  617. institutions to OODBMS platforms, from real-time applications to
  618. database research.  Kala is a component of broad reuse.
  619.  
  620.  
  621. Motivation
  622.  
  623. The simplest persistent data storage available to you is the file
  624. system on your disk drive. File systems have some attractive
  625. characteristics; their performance is good, they can hold any data,
  626. they're easy to use, and, of course, the price is right. Conversely,
  627. files are unreliable.  They provide no mechanism for in maintaining
  628. data consistency and only primitive data sharing facilities. Few file
  629. systems offer version control and all require that you transform data
  630. between "internal" and "external" forms all the time.
  631.  
  632. Unlike a file system, a true database management system provides
  633. mechanisms for sharing data and for ensuring the integrity of the
  634. data.  It supports transactions and version control, although the
  635. specifics of these functions may not be exactly what your application
  636. needs. Finally, a database system is scalable, and much more robust
  637. than a file when your hardware or software fails.
  638.  
  639. The downside to a database system is that, compared to a file system,
  640. it is slower by an order of magnitude or more. Also, a database system
  641. generally confines you to dealing only with the kind of data that it
  642. can handle. In addition, a database is usually very complicated,
  643. difficult to learn and use, and expensive, both in terms of your cost
  644. of operation and in the amount of system resources they consume.
  645.  
  646. Whether you choose a file system or a database manager, then, you
  647. have to sacrifice either economy or performance. Is there a happy
  648. medium?  Something with the speed and flexibility of files, the
  649. reliability, shareability and robustness of databases, and at a cost
  650. that won't break your wallet or the available hardware? Sure there is!
  651. Kala is a first in a new breed of products, persistent data servers,
  652. aimed squarely at the yawning gap between DBMSs and file systems.
  653.  
  654.  
  655. Overview
  656.  
  657. Kala is *not* a DBMS. Instead, you use Kala whenever the few canned
  658. combinations of DBMS features do not meet the needs of your
  659. application. A DBMS product constrains you to accept *its* choice of
  660. an end-user graphical interface, a query language binding, a specific
  661. high level data or object model, a particular transaction model, a
  662. single versioning scheme, etc. This either compromises your
  663. application's functionality, or forces your to spend substantial
  664. development effort and money to bridge the impedance mismatch to the
  665. application.  Instead, Kala allows *you* to develop no more and no
  666. less than the functionality you need. You build your domain specific
  667. functionality our of a small set of primitives with very little code.
  668. Your gains in productivity, efficiency, and flexibility are
  669. substantial.
  670.  
  671. To sustain this level of flexibility and reuse, Kala manages any data
  672. that you can represent in machine memory out of bits and references.
  673. Examples include records, dynamically linked graphs and lists,
  674. executable code, and object encapsulations.
  675.  
  676. Kala can handle data as small as one bit, and as large as the virtual
  677. memory and more, while being totally unaware of the data's semantics.
  678. Its stores and retrieves data efficiently, and compactly over a
  679. distributed and dynamically reconfigurable set of Stores. Upon
  680. retrieval, Kala dynamically relocates embedded references to retain
  681. the original topological structure of the data, thus preserving
  682. referential integrity. Kala also supports active data, physical store
  683. management, and automatic archiving.
  684.  
  685. Kala repackages the fundamentals and universals of data management in
  686. one reusable data server, separating them from the application domain
  687. specific models and policies. Kala defines a low level interoperabi-
  688. lity point for the data storage domain, just as X does for the display
  689. domain and Postscript does for the printing domain.
  690.  
  691. Kala has matured through four successive versions to its present
  692. industrial strength implementation and stable API. Kala is lean,
  693. compact, and portable. Kala is a high performance, low overhead
  694. system. We call it a Reduced Instruction Set Engine (RISE). Unlike
  695. large, complex, and typically bulky DBMS products, Kala is small,
  696. simple, and suitable for managing anywhere from a single diskette to
  697. terabytes of distributed data.
  698.  
  699.  
  700. Benefits
  701.  
  702. * For those who need functionality traditionally associated with
  703.   databases, but cannot tolerate the overhead and complications DBMS
  704.   products introduce, Kala offers a flexible, compact, performant,
  705.   elegant, and simple alternative.
  706.  
  707. * For those whose application domain requires data models where the
  708.   mapping to those offered by today's DBMS products is cumbersome,
  709.   introduces development and execution overhead, and is not portable
  710.   across multiple linguistic and environmental platforms, Kala offers
  711.   a data model independent interface against any data model
  712.   expressible in terms of bits and pointers can be easily built.
  713.  
  714. * For those who need DBMS functionality or qualities that no single
  715.   DBMS product now has, Kala offers the opportunity to build that
  716.   functionality now with little effort out of a simple set of
  717.   primitives, and not wait for one vendor or another to deliver
  718.   it later.
  719.  
  720. * For those who have determined that the only viable option for their
  721.   application's persistent data needs is the file system, and have
  722.   resined to the idea that they will have to build everything else
  723.   they need from scratch, Kala offers an off-the-shelf implementation
  724.   without loss of any of files' advantages.
  725.  
  726. * For those who need performance, size, portability, storage
  727.   compactness, and industrial strength that no single DBMS product can
  728.   now satisfy, Kala offers all of the above now.
  729.  
  730. * For those who realize that while object-level interoperability is a
  731.   strong desideratum, the likelihood of a single, universal such model
  732.   in the foreseeable future is quite low, Kala offers a solid, long
  733.   term alternative. Data store interoperability that brings us beyond
  734.   file systems is the best practical bet. Kala is the basis for data
  735.   store interoperability now.
  736.  
  737. * Finally, for all of you who are concerned about the economics of
  738.   software, and take the view that there are many elements that
  739.   could contribute negatively to the soundness of your business, such
  740.   as operational costs, software maintenance costs, software licensing
  741.   costs, software development and learning costs, etc., you will find
  742.   Kala an economically sound, sensible, and practical product.
  743.  
  744.  
  745. Features
  746.  
  747. - The execution architecture is that of multiple (communicating)
  748.   servers and multiple clients. Kala can also be configured in a
  749.   standalone (single process) mode. Kala's IPC is built for maximum
  750.   performance, portable to any given datagram protocol.
  751.  
  752. - The managed data elements are made out of uninterpreted bits and
  753.   references. Data elements (named `monads') are universally uniquely
  754.   identified. Bits are stored with no overhead. References,
  755.   represented in memory as native machine pointers, are stored
  756.   very compactly, introducing an average of 2.5 bytes overhead.
  757.  
  758. - Kala is a fully recoverable system, short of media damage. Recovery
  759.   from hardware failures can be supported by the layer beneath Kala.
  760.  
  761. - The Kala primitives support arbitrary transaction models, including
  762.   classic short transactions, long (persistent) transactions, nested
  763.   transactions, shared transactions, pessimistic and optimistic
  764.   policies, etc. Concurrency control is achieved through two locking
  765.   mechanisms (short-term and long-term (persistent, shared) locking),
  766.   with full support for atomicity of operations and two-phase commit.
  767.  
  768. - The Kala primitives support arbitrary versioning models, allowing
  769.   versions to co-exist in split/rejoined networks, various version
  770.   organization strategies (single-thread, tree, DAG, etc.). Kala
  771.   primitives provide mechanisms for arbitrary access and update
  772.   triggers, such as notifications, security checks upon access/update,
  773.   etc. __ with no limitations on what the trigger code does. Kala
  774.   provides protection measures against virus and other intruding
  775.   executions.
  776.  
  777. - The Kala primitives support a wide range of access control, security
  778.   and protection models, including revocable access rights, access
  779.   control without the overhead of ACL management, arbitrary access
  780.   validation routines, etc. Kala does not introduce any more security
  781.   holes than the operating environment already has.
  782.  
  783. - Kala has primitives for physical store allocation and de-allocation
  784.   management, for a wide spectrum of store administrative tasks, as
  785.   well as licensing administration. The latter includes application-
  786.   sensitive time-limited client-connect-based licensing, as well as
  787.   metered (connect/load/store) usage. Kala can be set up to do
  788.   automatic archiving and backup of its physical store.
  789.  
  790. - Kala provides a wide spectrum of licensing schemes, usable by
  791.   platforms and applications built upon Kala to their customer base.
  792.   Kala provides renewable licenses, perpetual licenses, full
  793.   protection against duplication without hardware (hostid) support,
  794.   metered (pay-by-use) usage, etc.
  795.  
  796. - And more ... not fitting on this page-long Technical Brief.
  797.  
  798.  
  799. Availability
  800.  
  801. o Kala is available now on Sun platforms (SunOS / 68K & SPARC), as
  802.   well as on 80x86/MS-DOS (both Microsoft and Borland compilers &
  803.   runtimes supported) platforms. If you are interested in a port to
  804.   your favorite platform, call us to discuss our Development and
  805.   Porting Partnership Programme.
  806.  
  807. o Kala's interface is ANSI C, also callable from C++. If you are
  808.   interested in an interface or a binding to your favorite programming
  809.   language, please call us to discuss out Development Partnership
  810.   Programme.
  811.  
  812. o For pricing and other information, please contact us by phone, fax
  813.   or via e-mail at Info@Kala.com
  814.  
  815.  
  816.  _     _     ____   _         ____ tm ____________________________________
  817.  \\   /     |    \   \       |    \       \\\\ 
  818.   \\ /__     \ __ \   \       \ __ \       \\\\ 
  819.    \\    \    \    \   \       \    \       \\\\  
  820.     \\    \    \    \   \       \    \       \\\\  No more than you need !!!
  821.      \\'   \'   \'   \'  '____'  \'   \'      \\\\  No less than you want !!!
  822.       ........................................................................
  823.       Penobscot Development Corporation                 email: Info@Kala.com
  824.        One Kendall Square Building 200 Suite 2200 Cambridge MA 02139-1564 USA
  825.         voice +1-617-267-KALA fax +1-617-859-9597 tech support +1-201-539-7739
  826.          ...............(5252) fax +1-617-577-1209.............................
  827.  
  828.  
  829.  
  830.      +---------------------------------------------------------------+
  831.      |   Copyright (c) 1992-93, Penobscot Development Corporation.   |
  832.      |   Kala is a Trademark of Penobscot Development Corporation.   |
  833.      +---------------------------------------------------------------+
  834.  
  835. On Schema Evolution (from original survey):
  836.  
  837. Kala manages an untyped persistent store, implementing the semantics
  838. of robust, distributed, secure, changing, and shareable persistent
  839. data.  Layers built upon the Kala platform can implement the semantics
  840. of objects with the same properties.
  841.  
  842. As it operates below the schema layer, Kala does not address schema
  843. evolution directly. However, It supports the building of schema'ed
  844. layers above it and below the application, and those layers can
  845. provide for schema evolution conveniently using Kala primitives.
  846. This parts-box approach requires extra work on the part of the developer
  847. compared to out-of-the-box solutions, but provides power and
  848. flexibility sufficient for relatively low cost solutions in
  849. difficult environments (e.g. graph-structured data, dynamic classing) 
  850. where no out-of-the-box solution is available.
  851.  
  852.  
  853. Contacts:
  854. Sergiu Simmel           sss@kala.com
  855. Ivan Godard             ig@kala.com
  856. general information     info@kala.com
  857. subscription to moderated newsletter    forum-request@kala.com
  858.  
  859.  
  860. REFERENCES:
  861.         Segui S. Simmel and Ivan Godard. "The Kala Basket: A
  862.         Semantic Primitive Unifying Object Transactions,
  863.         Access Control, Versions, annd Configurations
  864.  
  865.  
  866. > Pick
  867.  
  868. With Pick and its variants you only have problems if you want to
  869. redefine an existing field.  Because of the way the data are stored
  870. and the separation of the data and the dictionary you can define
  871. additional fields in the dictionary without having to do anything to
  872. the data - a facility which we have found very useful in a number of
  873. systems.
  874.  
  875. There is no general facility to redefine an existing field - you just
  876. make whatever changes are required in the dictionary then write an
  877. Info Basic program to change the data.  We have seldom needed to do
  878. this, but it has not been complicated to do.
  879.  
  880. If a field in the database is no longer used, it is often easiest
  881. simply to delete the reference to that field in the dictionary, and
  882. accept the storage overhead of the unused data.  In such cases, while
  883. the data cannot be accessed through the query language, (Pick)Basic
  884. programs can still access them.
  885.  
  886. [Geoff Miller <ghm@ccadfa.cc.adfa.oz.au>]
  887.  
  888.  
  889.  
  890. Interfaces
  891. ----------
  892.  
  893.  
  894. Research Systems
  895. ________________
  896.  
  897.  
  898. > Penguin (Stanford)
  899.  
  900. Penguin is an object-oriented interface to relational databases.
  901. Penguin has its own simple language-independent object model with
  902. inheritance for composite objects defined as views (called
  903. view-objects) of a relational database.  These view-objects represent
  904. data according to application requirements in such a way that multiple
  905. applications can share overlapping, but different, sets of data.
  906. Multiple applications may share data by having overlapping schemata
  907. with differing composite objects and differing inheritance mappings.
  908. We have a C++ binding, which supports multiple inheritance.  The
  909. result is a framework for collaboration among multiple users, each
  910. with differing perspectives about the system and its data.
  911.  
  912. For additional information, please contact ark@db.stanford.edu
  913.  
  914. References:
  915.  
  916. ``A C++ Binding for Penguin: a System for Data Sharing among
  917. Heterogeneous Object Models,'' Arthur M. Keller, Catherine Hamon,
  918. Foundations on Data Organization (FODO) 93, October 1993, Chicago.
  919.  
  920. ``Querying Heterogeneous Object Views of a Relational Database,''
  921. Tetsuya Takahashi and Arthur M. Keller, Int. Symp. on Next Generation
  922. Database Systems and their applications, Fukuoka, Japan, September
  923. 1993, to appear.
  924.  
  925. ``Updating Relational Databases through Object-Based Views,'' by
  926. Thierry Barsalou, Niki Siambela, Arthur M. Keller, and Gio Wiederhold,
  927. ACM SIGMOD, Denver, CO, May 1991.
  928.  
  929. ``Unifying Database and Programming Language Concepts Using the Object
  930. Model'' (extended abstract), Arthur M. Keller, Int. Workshop on
  931. Object-Oriented Database Systems, IEEE Computer Society, Pacific
  932. Grove, CA, September 1986.
  933.  
  934.  
  935. Commercial Systems
  936. __________________
  937.   
  938. >AllegroStore
  939.  
  940. See Databases & Development Sept. 5, 1994, p1. 
  941.  
  942. "Lisp, Smalltalk Languages Given Database Systems"
  943.  
  944. Quote:
  945. Franz, based in Berkeley, Calif., is now shipping AllegroStore, which the
  946. company calls the first object database system designed for object-oriented
  947. Lisp.
  948.  
  949. [...] The database is based on the ObjectStore engine from Object Design, also
  950. in Burlington.  It supports multiple clients and servers, [...]
  951.  
  952. Franz is at 800-333-7260 or 510-548-3600.
  953.  
  954.  
  955. > Persistence
  956.  
  957.                 PERSISTENCE(TM): BRIDGING THE GAP BETWEEN OBJECT 
  958.                     ORIENTED DEVELOPMENT AND RELATIONAL DATA
  959.  
  960. Persistence is an application development tool which provides object
  961. oriented access to existing relational data.  Persistence uses an
  962. automatic code generator to convert object models into C++ classes
  963. which know how to read and write themselves to a relational database.
  964.  
  965. Leverage existing data
  966.  
  967. Persistence enables object oriented access to existing relational
  968. databases. Applications built with Persistence can work side by side
  969. with legacy systems.
  970.  
  971. Automate database access
  972.  
  973. By generating the methods to convert relational data into objects,
  974. Persistence saves the developer from having to write literally hundreds
  975. of lines of code per class.
  976.  
  977. Speed application development
  978.  
  979. With Persistence, major changes to the application object model can be
  980. completed in minutes, not weeks.
  981.  
  982. Quality
  983.  
  984. Persistence generates tested, bug-free code. Using Persistence helps
  985. ensure the reliability and reusability of your applications.
  986.  
  987. Performance
  988.  
  989. At Runtime, Persistence manages an object cache to enhance performance
  990. while ensuring data integrity. The Persistence object cache can provide
  991. a factor of ten performance improvement for data intensive
  992. applications.
  993.  
  994. Portability
  995.  
  996. Code generated by Persistence is database independent. You can choose
  997. which database to work with at link step, increasing application
  998. portability.
  999.  
  1000.                         TECHNICAL SPECIFICATIONS
  1001.  
  1002. The Persistence Database Interface Generator converts object schemas
  1003. into C++ classes.
  1004.  
  1005.                                                 Custom
  1006.                                                 Code
  1007.                                                    |
  1008.                                                    v
  1009.  
  1010. Object schema    --->   Persistence    ---->    Generated
  1011.                         Generator               Classes
  1012.                                                    ^
  1013.                                                    |
  1014.                                                    v
  1015.                                                 Persistence
  1016.                                                 Object Cache
  1017.                                                    ^
  1018.                                                    |
  1019.                                                    v
  1020.                                                 Legacy Data
  1021.  
  1022.  
  1023. Encapsulation
  1024.  
  1025. Each class generated by Persistence maps to a table or view in the database.
  1026. - Query using ANSI SQL or attribute values
  1027. - Add custom code to generated classes
  1028. - Preserve custom code when model changes
  1029.  
  1030. Inheritance
  1031.  
  1032. Persistence supports inheritance of attributes, methods and relationships.
  1033. - Propagate superclass queries to subclasses
  1034. - Use virtual methods for polymorphism
  1035.  
  1036. Associations
  1037.  
  1038. Persistence maps associations to foreign keys in the database. Each class has methods to access related classes.
  1039. - Ensure referential integrity between classes
  1040. - Specify delete constraints for associations
  1041.  
  1042. Object Caching
  1043.  
  1044. The Persistence Runtime Object Management System caches objects during
  1045. transactions and ensures data integrity. In the object cache,
  1046. Persistence "swizzles" foreign key attributes into in-memory pointers,
  1047. speeding object traversal.
  1048.  
  1049. Transactions
  1050.  
  1051. When a transaction is committed, Persistence walks through the object
  1052. cache and writes out changes to the database.
  1053.  
  1054. Environment
  1055.  
  1056. Platforms/Operating systems
  1057. Persistence will support all major Unix and Intel platforms
  1058. - Sun/SunOS 4.x, Solaris 2.x
  1059. - HP/HP-UX 8.0, 9.0
  1060. - IBM/AIX (planned 11/93)
  1061. - Intel/NT (planned 3/94)
  1062.  
  1063. Development Tools
  1064.  
  1065. Persistence supports all major C++ compilers and integrates with GE's
  1066. OMTool, allowing developers to go straight from an object model to a
  1067. running C++ application.
  1068. - Cfront 2.1: ObjectCenter 1.0, SPARCompiler, ObjectWorks
  1069. - Cfront 3.0: ObjectCenter 2.0, SPARCompiler, Softbench C++
  1070. - GE's OMTool
  1071.  
  1072. Databases
  1073.  
  1074. Persistence provides database independence. With our Objectivity
  1075. integration, we also provide a clear migration path to object
  1076. databases.
  1077. - Oracle V6, V7
  1078. - Sybase 4.x
  1079. - Ingres 6.x
  1080. - Objectivity ODBMS
  1081. - Informix (planned 9/93)
  1082. - ODBC (planned 3/94)
  1083.  
  1084.                             CUSTOMER QUOTES
  1085.  
  1086. "We wanted to use object technology while continuing to support our
  1087. legacy systems. Persistence made this feasible by automating over 30
  1088. percent of our development cycle." Steve Hunter, Sterling Software
  1089.  
  1090. "Persistence cut our development time by approximately 40%, because we
  1091. would have had to do all the mapping functions ourselves." Jim
  1092. Adamczyk, Partner, Andersen Consulting
  1093.  
  1094. "I'm convinced we'll save weeks or months of time because of
  1095. Persistence." Mike Kubicar, SunSoft Defect Tracking Team
  1096.  
  1097. "The good thing is that you can change your object model and just
  1098. re-generate the database interface classes at the press of a button."
  1099. Richard Browett, Product manager, K2 Software Developments, Ltd.
  1100.  
  1101. "The Persistence package saved at least 25 to 50 percent of the
  1102. development time, and seemed extremely robust. Support has been nothing
  1103. short of phenomenal." Stew Schiffman, DuPont Research and Development
  1104.  
  1105.                         FOR MORE INFORMATION
  1106.  
  1107. For more information on Persistence, please contact Carl White, VP Sales:
  1108. - By phone: (415) 341-1280
  1109. - By fax: (415) 341-8432 
  1110. - By email: information@persistence.com
  1111.  
  1112. Persistent Data Systems
  1113. PO Box 38415
  1114. Pittsburgh, PA  15238-9925
  1115.  
  1116.  
  1117. > Subtlware
  1118.  
  1119. From: subtle@world.std.com (Ted p Kyriakakis)
  1120. Subject: Re: OOP access to relational databases?
  1121. Summary: C++ to SQL RDBMS Mapping Tool and Literature
  1122. Date: Mon, 25 Oct 1993 06:51:48 GMT
  1123.  
  1124. koch@eis.cs.tu-bs.de (Andreas Koch) writes:
  1125. >I am interested in approaches and examples of transparent access to
  1126. >relational databases within OOPLs such as C++ and Smalltalk. Of interest
  1127. >are pointers to literature and articles as well as ftp'able sample code.
  1128. >Any hints are appreciated.
  1129.  
  1130. There is a book out from MIS Press by Al Stevens called "C++ Database
  1131. Development" which addresses this topic in detail for C++ OO development.  The
  1132. book does a good job of describing issues with object persistence and the
  1133. implications of using a RDBMS as an object database.
  1134.  
  1135. There is also a C++ to SQL mapping product, Subtlware for C++/SQL, that
  1136. provides a tool and framework which addresses many of the issues mentioned in
  1137. the book. The tool automates the production of the code necessary to map C++
  1138. objects to a SQL RDBMS using C++ header files as input.  
  1139.  
  1140. If you want more information, you can contact me at:
  1141.  
  1142.           subtle@world.std.com
  1143.  
  1144. or you can contact Subtle Software at:
  1145.  
  1146.     (508) 663-5584 
  1147.  
  1148. > Synchronicity
  1149.  
  1150. See Databases & Development Sept. 5, 1994, p1. 
  1151.  
  1152. "Lisp, Smalltalk Languages Given Database Systems"
  1153.  
  1154. Easel's Synchronicity 2.0 is a new release of the company's business object
  1155. modeling system, fromerly known as Synchrony.  The new version, which will
  1156. run under Windows and OS/2, lets developers using Easel's Enfin development
  1157. system map Smalltalk objects to relational databases.
  1158.  
  1159. Easil is at 617-221-2100.
  1160.  
  1161.  
  1162. APPENDIX C  OBJECT-ORIENTED LANGUAGES AND VENDORS
  1163. =================================================
  1164.  
  1165. See also APPENDIX D.
  1166.  
  1167. FORMAT:
  1168.     tool name, 
  1169.     description and methods
  1170.     operating systems
  1171.     Vendor name, 
  1172.     city/state, phone (if known)
  1173.  
  1174. ACTOR ($495)
  1175. ------------
  1176. *Prototyping & Code generation (ACTOR, access to C, Pascal)
  1177. *IBM PS/2, PC AT/XT
  1178. The Whitewater Group Inc.
  1179. 600 Davis, Evanston, IL 60201
  1180.  
  1181. Allegro CL
  1182. ----------
  1183. *Advanced Object Oriented Development System based on CLOS.  Incremental
  1184.  compiler; automatic memory management; integrated editor, debugger class
  1185.  browsers, and profilers; multiple inheritance, method combination, multiple
  1186.  argument discrimination, meta-object protocol.
  1187. *Unix workstations (Sun/Sparc, IBM RS/6000, HP, Silicon Graphics)
  1188.  PCs with Microsoft Windows
  1189. Franz Inc.
  1190. 1995 University Avenue
  1191. Berkeley, CA 94704
  1192. (510) 548-3600, FAX (510) 548-8253
  1193. Email info@franz.com
  1194.  
  1195. Bootcon
  1196. -------
  1197. *DOS
  1198. Modular Software System
  1199.  
  1200. CaseVision
  1201. ----------
  1202. *Browser, Static Analysis, no compiler (yet), Editor Debugger, Profiler, ... 
  1203. Silicon Graphics
  1204.  
  1205. Classic-Ada
  1206. -----------
  1207. *Object-Oriented Ada Environment (to Ada translator)
  1208. Software Productivity Solutions
  1209. (407) 984-3370.
  1210.  
  1211. Comeau C++ 3.0.1 With Templates
  1212. -------------------------------
  1213. * compiler
  1214. * many OS's (MS-DOS, AmigaDOS, UNIX (SVR4, SPARC, UNIX 386, etc), etc)
  1215. Comeau Computing
  1216. 91-34 120th Street
  1217. Richmond Hill, NY 11418-3214
  1218. 718-945-0009, comeau@csanta.attmail.com
  1219.  
  1220. Distributed Smalltalk (HP)
  1221. --------------------------
  1222. *ParcPlace's VisualWorks Extension, world's first complete implementation of
  1223. *the OMG CORBA 1.1.
  1224. European Knowledge Systems Centre (HP's European software tools specialists)
  1225. ph:    44 272 228794
  1226. email: wjb@hplb.hpl.hp.com
  1227.  
  1228. Energize (5 $16250, single $4250, lcc 1500)
  1229. -------------------------------------------
  1230. *Debugger, Class Language Calltree Error Project Browsers
  1231. *SunOS 4.1
  1232. Lucid
  1233. 707 Laurel St.
  1234. Menlo Park, CA 95025
  1235. (415) 329-8400
  1236.  
  1237. Frameworks 3.1 ($495.)
  1238. ----------------------
  1239. *IDE, Browser, Debugger, Compiler, ...
  1240. *DOS, Windows
  1241. Borland International
  1242. 1800 Greenhills Road
  1243. Scotts Valley, CA  95067
  1244. 800-331-0877
  1245.  
  1246. FUSE ($1560 C++, $1944 FUSE)
  1247. ----------------------------
  1248. *Distr Builds, Editor, Debugger, Profiler, Call Graphs, Call Tree Animation,
  1249.  Browser, ...
  1250. *Ultrix RISC, OSF/1 AXP  (planned to alpha NT)
  1251. DEC
  1252. 14475 Northeast 24th St.
  1253. Bellvue, WA 98007
  1254.  
  1255. GNU GCC (g++)
  1256. -------------
  1257. *C++ compiler, (non-graphical) debugger.
  1258. *Unix
  1259. prep.ai.mit.edu:/pub/gnu/gcc-2.4.5.tar.gz
  1260.  
  1261. GNU GCC (g++)
  1262. -------------
  1263. *C++ compiler, (non-graphical) debugger.
  1264. MS-DOS
  1265. grape.ecs.clarkson.edu:/pub/msdos/djgpp/djgpp.zip 
  1266.  
  1267. Hamilton C-Shell
  1268. ----------------
  1269. *A shell
  1270. *OS/2, Windows
  1271. Hamilton Labs
  1272.  
  1273. HighC/C++ (basic $795, w/Phar Lap $995)
  1274. ---------------------------------------
  1275. *Editor, Debugger, Windows ADK, Unix Utilities, Speedkit
  1276. *Unix
  1277. MetaWare Inc.
  1278. 2161 Deleware Ave.
  1279. Santa Cruz, CA  95060
  1280. (408) 429-6382
  1281.  
  1282. Iconix Power Tools
  1283. ------------------
  1284. *Multiuser, OO development toolset
  1285. *Macintosh
  1286. Iconix Software Engineering
  1287. Santa Monica, Ca.
  1288.  
  1289. MetaC
  1290. -----
  1291. *testing tool, code coverage, lint-style chking, C, C++, tests mem alloc errors
  1292.  QASE (Quality Assured Software Engineering)
  1293. 938 Willowleaf Dr.
  1294. Suite 2806
  1295. San Jose, CA 95128
  1296. (408) 298-3824 ext. 5
  1297.  
  1298. MKS Toolkit
  1299. -----------
  1300. *Make, ...
  1301. *PC (Unix-Like)
  1302. MKS
  1303.  
  1304. NEXPERT
  1305. -------
  1306. *GUI-type builder, rule based, objects, classes, subclasses, rule inheritance,
  1307.  embedded, but you can call external routines. 
  1308. Neuron Data Elements 
  1309. From: jrp@accint.com (Jason R. Pascucci)  (abstract from a post)
  1310.  
  1311. NextStep
  1312. --------
  1313. *Application, DB, Windows, Indexing, 3D Graphics Kits, Project and Interface
  1314.  Builder, Viewers, Modelers, Compilers/Debuggers, Performance, PostScript, ...
  1315. *Next, 486, ???
  1316. Next Computer, Inc.
  1317. 900 Chesapeake Drive
  1318. Redwood City, CA 94063
  1319. 800-TRY-NEXT
  1320.  
  1321. ObjectCenter
  1322. ------------
  1323. *C++ programming environment, high quality graphics, browser, debugger,
  1324.  interpreter.
  1325. *Sun, ???
  1326. CenterLine
  1327. (kendall@)centerline.com
  1328.  
  1329. ObjectIQ
  1330. --------
  1331. *OO devel environ. Objects, rules, debugger, browser, GUI builder, more.
  1332. *RAD and intelligent decision support applications.
  1333. European Knowledge Systems Centre (HP's European software tools specialists)
  1334. ph:    44 272 228794
  1335. email: wjb@hplb.hpl.hp.com
  1336.  
  1337. ObjectWorks, VisualWorks
  1338. ------------------------
  1339. *Smalltalk programming environment from the Smalltalk people.
  1340. ParcPlace Systems, Inc.
  1341. 999 E. Arques Avenue
  1342. Sunnyvale, CA 94086
  1343. email:    info@parcplace.com
  1344. fax:    1-408-481-9095
  1345. voice:    1-800-759-PARC
  1346.  
  1347. OpenTalk
  1348. --------
  1349. *Smalltalk to C++ and C Translator.
  1350. TNI Industries (Techniques Nouvelles d'Informatique)
  1351. ZI du Vernis
  1352. 29200 Brest
  1353. France
  1354. tel 98 05 24 85, fax 98 49 45 33
  1355.  
  1356. OST/Look
  1357. --------
  1358. *C++ program animator.
  1359. *Suns, PCs, others coming.
  1360. Admiral Software
  1361. 193-199 London Road
  1362. Camberley
  1363. Surrey
  1364. UK
  1365. Tel: (44) (276) 692269
  1366. Fax: (44) (276) 677533
  1367.  
  1368. Prograph
  1369. --------
  1370. *OO visual programming environment
  1371. *Macintosh
  1372. TGS Systems
  1373. Halifax, Nova Scotia
  1374. 902-455-4446
  1375.  
  1376. SDE WorkBench/6000 ($918 - $7350)
  1377. ---------------------------------
  1378. *Editor (syntax Highlighting), Browser, Flow Grapher, Make, Test Coverage
  1379.  Analysis, Debugger, Profiler, ...
  1380. *HP Apollo 9000, Sparcstations
  1381. IBM, Canada
  1382. PRGS Toronto Laboratory
  1383. 895 Don Mills Road
  1384. North, York
  1385. Ontario, Canada, M3C 1W3
  1386. 800-IBM-CALL
  1387.  
  1388. SNAP
  1389. ----
  1390. *Template based devel. environment for building distributed OO applications
  1391. Template Software Inc.
  1392. 13100 Worldgate Drive, Suite 340
  1393. Herndon, VA  22070-4382
  1394. (703) 318-1000
  1395.  
  1396. SNiFF+
  1397. ------
  1398. *C/C++ development environment with fuzzy parser, Emacs integration and code
  1399.  browsers, free to universities.  See APPENDIX E, TOOLS AND CASE
  1400. *SunOS 4.x, Solaris 2.x, AIX 3.2, HP/UX 8.0/9.0
  1401. takeFive Software
  1402. Jakob-Haringer-Strasse 8
  1403. 5020 Salzburg, AUSTRIA
  1404. phone: +43 662 457 915
  1405. fax:   +43 662 457 915 6
  1406. email: sniff@takefive.co.at
  1407.  
  1408. SoftBench ($1785 C++, $4500 Softbench)
  1409. --------------------------------------
  1410. *C++ class constructor, CASE (graphically modify C++), Browser, Analyzer,
  1411.  Editor, Builder, Debugger, ...
  1412. HP
  1413. 3404 E. Harmony Rd. MS 81
  1414. Fort Collins, CO 80525
  1415. 800-845-0070
  1416. or
  1417. Cupertino, Ca.
  1418. 800-752-0900 ext. 2707
  1419. or 303-229-2255
  1420.  
  1421. SparkWorks ($1995, $995 C++)
  1422. ----------------------------
  1423. *Debugger, Profiler, Source Browser, File Merge, MakeTool
  1424. *Suns
  1425. SunPro
  1426. 2550 Garcia Ave.
  1427. Mountain View, CA 94043
  1428. (800) 926-6620
  1429.  
  1430. Zortech C++ v. 3.1 ($499)
  1431. -------------------------
  1432. *Debugger, Workbench, Resource Workshop
  1433. *PCs?
  1434. Symantec Corp
  1435. 10201 Torre Ave.
  1436. Cupertino, CA 95014
  1437. (408) 253-9600
  1438.  
  1439.  
  1440. APPENDIX D  OBJECT-ORIENTED CASE (OOA/D/P TOOLS) AND VENDORS
  1441. ============================================================
  1442.  
  1443. See also APPENDIX C.
  1444.  
  1445. Below is a list of available OO CASE environments.  Many thanks to James Odell
  1446. <71051.1733@compuserve.com> for his extensive list and to Ron Schultz
  1447. <ron@bse.com> for a list posted to comp.object on 9/13/92.  Many additional
  1448. entries have been added and additional entries are encouraged; please send
  1449. additions and updates to the author of the FAQ (and/or to James and Ron).
  1450.  
  1451. Second is a collection of articles, products, and papers on CASE systems.
  1452. These appeared as posts to comp.object.
  1453.  
  1454. I. graphic-only OO-CASE
  1455. ╖    EasyCASE
  1456. ╖    HOOD Toolset
  1457. ╖    Model 5w
  1458. ╖    Stood
  1459. ╖    TurboCASE
  1460.  
  1461. II. OO-CASE with some code generation (1 to 60%)
  1462. ╖    AdaVantage
  1463. ╖    Bachman/Analyst
  1464. ╖    BOCS
  1465. ╖    EiffelCase
  1466. ╖    HOMSuite
  1467. ╖    I-CASE OMT
  1468. ╖    IE\O (canceled)
  1469. ╖    ILOG KADS Tool
  1470. ╖    MacAnalyst/Designer
  1471. ╖    ObjectCraft
  1472. ╖    Objecteering
  1473. ╖    ObjecTime
  1474. ╖    ObjectModeler
  1475. ╖    ObjecTool
  1476. ╖    ObjectOry
  1477. ╖    ObjectTeam
  1478. ╖    OEW
  1479. ╖    OMTool
  1480. ╖    OOSD
  1481. ╖    Prosa/om
  1482. ╖    Rational Rose
  1483. ╖    S-CASE
  1484. ╖    Select/OMT
  1485. ╖    SES/Objectbench
  1486. ╖    System Architect
  1487. ╖    VIEWS-SF
  1488. ╖    001
  1489.  
  1490. III. Meta OO-CASE (CASE that builds CASE)
  1491. ╖    Envision
  1492. ╖    Excelerator II
  1493. ╖    GraphTalk
  1494. ╖    MetaEdit
  1495. ╖    Object Maker
  1496. ╖    Paradigm Plus
  1497. ╖    Toolbuilder
  1498.  
  1499. IV.  Full execution OO-CASE
  1500. ╖    BridgePoint
  1501. ╖    Ptech
  1502. ╖    OMW
  1503.  
  1504. Available CASE Systems
  1505.  
  1506. FORMAT:
  1507.     tool name, 
  1508.     description and methods
  1509.     operating systems(price, if known)
  1510.     vendor name, 
  1511.     vendor contact information
  1512.  
  1513. 001
  1514. ---
  1515. *Object-oriented, full life cycle CASE
  1516. *VAX/VMS, Unix ($24,000)
  1517. Hamilton Technologies Inc
  1518. 17 Inman St., Cambridge MA  01239
  1519. (617) 492-0058
  1520.  
  1521. AdaVantage ($1095--$1780)
  1522. -------------------------
  1523. *analysis, design (Ada) Generators: production code, Ada compiler and tool set
  1524.  reusable components library
  1525. *PC AT/XT, Mac, Unix Workstations
  1526. Meridian Software Systems, Inc.
  1527. 23141 Verdugo Dr., Ste 105, Laguna Hills CA 92653
  1528.  
  1529. Bachman Data Analyst
  1530. --------------------
  1531. *Data Modeling and analysis with OO support
  1532. *PC-DOS, OS/2, Unix
  1533. Bachman Information Systems
  1534. 8 New England Executive Park, Burlington, MA  01803
  1535. (617) 273-9003
  1536.  
  1537. BOCS
  1538. ----
  1539. *Semantic Nets, Object-Message Diagrams, State Transition Diagrams, Petri-Nets
  1540. *Generates C++
  1541. *PC-DOS, OS/2, Windows Macintosh ($595)
  1542. Berard Software Engineering 
  1543. 902 Wind River Lane, Suite 203
  1544. Gaithersburg, MD  20878
  1545. 301-417-9884
  1546.  
  1547. BridgePoint
  1548. -----------
  1549. *Shlaer/Mellor notation
  1550. *general purpose code generator from"Action Language" psuedo code
  1551. *based on user-defined templates
  1552. *simulation tool
  1553. *Unix ($6,000)
  1554. Objective Spectrum
  1555. 901 Kildaire Rd
  1556. Cary, NC  27511
  1557. (919) 460-1500
  1558. (919) 380-6463 (fax)
  1559.  
  1560. EasyCASE
  1561. --------
  1562. *Parts of Shlaer/Mellor method plus lots of other non-OO notations
  1563. *Windows, DOS ($495 to $1,295)
  1564. Evergreen CASE Tools, Inc
  1565. 8522 154th Ave NE
  1566. Redmond, WA  98052
  1567. (206) 881-5149
  1568. (206) 883-7676 (fax)
  1569.  
  1570. EiffelCase
  1571. ----------
  1572. *ISE's BON (Better Object Notation)
  1573. *Generates Eiffel class templates
  1574. *Unix, Windows NT ($1,995)
  1575. Interactive Software Engineering, Inc
  1576. 270 Storke Road, Suite 7
  1577. Goleta, CA  93117
  1578. (805) 685-1006
  1579. (805) 685-6869 (fax)
  1580.  
  1581. Envision
  1582. --------
  1583. *Methodology independent, user defined.  Meta-CASE.  Template code
  1584.  generation.  Examples include BPR, Yourdon/ER, OMT.
  1585. *Windows,NT,OS/2,(Chicago),Network Servers (8,000 Single, Multiple discounts).
  1586. Future Tech Systems (Leon Stucki)
  1587. 824 E. Main
  1588. Auburn, Washington 98002
  1589. (206) 939-7552
  1590. (206) 735 6763 (fax)
  1591.  
  1592. Excelerator II
  1593. --------------
  1594. *Odell/Martin, Rumbaugh, Jacobson, and Wirfs-Brock notation
  1595. *Can customize and mix parts of on approach with another in a user-friendly manner
  1596. *LAN, meta-CASE with customizable graphics and rules
  1597. *OS/2, Windows NT ($9,500)
  1598. Intersolv, Inc
  1599. 3200 Tower Oaks Blvd
  1600. Rockville, MD  20852
  1601. (301) 230-3200
  1602. (301) 231-7813(fax)
  1603.  
  1604. GraphTalk
  1605. ---------
  1606. *many notations (IE, NIAM, HOOD, Merise, SADT)
  1607. *configurable meta-CASE tool
  1608. *executable code generation of C (via enhanced pseudo code) and GQL
  1609. *Sun, DEC, RS6000, UNIX, Motif, PS/2, PC 386, OS/2
  1610. Rank Xerox
  1611. AI & CASE Division
  1612. 7, rue Touzet Gaillard
  1613. 93586 Saint-Ouen Cedex
  1614. France
  1615. +33 (1) 494 85085
  1616.  
  1617. HOMSuite
  1618. --------
  1619. *responsibility-driven design
  1620. *Generates C++ and Smalltalk/V
  1621. *Windows ($595)
  1622. Hatteras Software Inc
  1623. 208 Lochside Dr
  1624. Cary, NC  27511
  1625. (919) 851-0993
  1626.  
  1627. HOOD Toolset (design only)
  1628. --------------------------
  1629. *HOOD notation
  1630. *Unix, DOS
  1631. CASET Corporation
  1632. 33751 Connemara Dr
  1633. San Juan Cap., CA  92693
  1634. (714) 496-8670
  1635.  
  1636. I-CASE OMT  
  1637. ----------
  1638. *Rumbaugh notation
  1639. *generates SQL and C++
  1640. *multi-developer
  1641. *WIndows
  1642. Westmount Technology
  1643. 1555 Wilson Blvd
  1644. Arlington, VA  22209
  1645. (703) 875-8799
  1646. (703) 527-5709 (fax)
  1647.  
  1648. IE\O IEF (IE\O canceled)
  1649. ------------------------
  1650. *OO version of IEF.  IEF now handles some OO CASE?
  1651. *OS/2 
  1652. Texas Instruments
  1653. 1-800-336-5236
  1654.  
  1655. ILOG KADS Tool
  1656. --------------
  1657. *knowledge-based system (KBS) approach named KADS, part is OO to
  1658. *capture knowledge, part involves rules that capture decision-making logic,
  1659. *generates C++
  1660. *Unix, DEC VMS
  1661. ILOG
  1662. 2, ave Gallieni, BP 85
  1663. 94523 Gentilly Cedex
  1664. France
  1665. +33 1 4663-6666
  1666. +33 1 4663-1582 (fax)
  1667.  
  1668. LOV/Object Editor
  1669. -----------------
  1670. *Rumbaugh notation
  1671. *generates C++
  1672. *interfaces with Verilog product suite
  1673. *Unix, OSF/Motif
  1674. Logiscope, Inc.
  1675. 3010 LBJ Freeway, Suite 900
  1676. Dallas, TX  75234
  1677. (214) 241-6595
  1678. (214) 241-6594
  1679.  
  1680. MacAnalyst and MacDesigner
  1681. --------------------------
  1682. *various notations
  1683. *screen prototyping
  1684. *Macintosh ($995-2,590)
  1685. Excel Software
  1686. PO Box 1414
  1687. Marshalltown, IA
  1688. (515) 752-5359
  1689. (515) 752-2435 (fax)
  1690.  
  1691. MetaEdit
  1692. --------
  1693. *Analysis and design tool that supports most available structured
  1694.  and OO analysis and design methods, and can be easily be customized. 
  1695.  OO methods supported: Booch, Coad/Yourdon, Demeter, Rumbaugh, OSA and MOSESA.  
  1696. *MetaEdit is available for MS-Windows 3.1 (499$ - 1500$).
  1697. MetaCase Consulting OY
  1698. P.O. Box 449
  1699. Ylist÷nmΣentie
  1700. FIN-40101 JyvΣskylΣ
  1701. Finland
  1702. tel. & fax. +358-41-650 400
  1703.  
  1704. [The shareware version can be found from Simtel, Cica, and their mirrors. The
  1705.  version 1.0 is shareware but the latest version 1.1 is fully commercial.]
  1706.  
  1707. [MetaEdit 1.1 - MetaCase Consulting Oy - metacase@jsp.fi
  1708.                 shareware version "metaed10.zip" can be ftp'd from ftp.funet.fi
  1709.                 (other sites also have the file, check archie)]
  1710.  
  1711. Model 5w 
  1712. --------
  1713. *prototype, free with purchase of OOA text "The Problem Space".
  1714.  GUI front end for integrated repository supporting OO requirements
  1715.  analysis, including events, rules, participants, and locations.
  1716. *Windows 3.X under DOS or OS/2
  1717. Dan Tasker Consulting
  1718. Sydney, Australia
  1719. Phone/Fax +61 2 909-8961
  1720. dant@swdev.research.otc.com.au
  1721.  
  1722. ObjectCraft
  1723. -----------
  1724. *OOT's own graphic notation
  1725. *Generates C++ 
  1726. *DOS ($99)
  1727. Object-Oriented Technologies
  1728. 2124 Kittredge St,  Suite 118
  1729. Berkeley,  CA  94704
  1730. (415) 759-6270 (voice/fax)
  1731.  
  1732. Objecteering
  1733. ------------
  1734. *Softeam's "Class Relation" approach notation
  1735. *Generates C++ ("up to 60%"), open with multiple, concurrent user
  1736. *Sun, DEC, HP, RS6000, Unix, X Windows/Motif ($9,500)
  1737. Softeam
  1738. One Kendall Square, #2200
  1739. Cambridge, MA  02139
  1740. (617) 621-7091
  1741. (617) 577-1209 (fax)
  1742.  
  1743. ObjecTime  
  1744. ---------
  1745. *ROOM methodology (Real-Time Object-Oriented Modelling) notation
  1746. *OO state charts with methods specified in own Smalltalk-like language or C++
  1747. *generates Smalltalk, C, C++ and interfaces with C++ environment
  1748. *internally used product  by Bell-Northern for several years
  1749. *Unix  ($20,000 includes training and support)
  1750. ObjecTime Limited
  1751. 340 March Road, Suite 200
  1752. Kanata, Ontario,
  1753. Canada K2K 2E4
  1754. (613) 591-3400
  1755.  
  1756. ObjectMaker
  1757. -----------
  1758. *supports many diagramming notations
  1759. *customize methods, checking, and semantics with external rules
  1760. *configurable meta-CASE tool
  1761. *Cobol, Ada, C, and C++ generation (shell) and reverse engineering
  1762. *Macintosh, VAX, Windows 3, X Windows/Motif ($8,000 to $25,000)
  1763. Mark V Systems Ltd
  1764. 16400 Ventura Blvd
  1765. Encino, Ca.
  1766. (818) 995-7671
  1767.