Mathematical Systems Inc. Logo

Mathematical Systems Inc.: More Data Makes More Cars Safer

Mathematical Systems Inc.'s "Honda Car Test Database System" gives Honda an innovative system that uses many elements to help Honda design safer cars.

In the past, car manufacturers have had to rely on simple numerical data to analyze the damage that car accidents cause. Now, thanks to Mathematical Systems' application, Honda can utilize a variety of data to better analyze the impact of such an event.

The system uses Allegro CL, AllegroStore (Franz Inc.'s object oriented database system, based on Object Store) and Allegro ORBLink (Franz Inc.'s fully CORBA compliant CORBA ORB); and allows Honda engineers to browse numerical, photo and movie data inside the intranet.

The system is used by engineers, car designers and test drivers—most of whom have limited systems knowledge. By using Allegro ORBLink, Mathematical Systems was able to utilize a Java applet for the client programs to create an easy-to-use interface.

Car Test Database Screen

A CL-HTTP server forwards the Java classes to the browser, once a user inputs the URL address to access the application. CGI programs are used to exchange local files between the server and the client. CL-HTTP was selected over Apache because it better controls the CGI programs.

Hisao Kuroda, Chief Architect of the system says that the sheer size of the database—over one terabyte—mandated the use of an object oriented database system. "A relational database would not have given us sufficient flexibility and performance," states Kuroda. He chose AllegroStore because it was easy to interface with Allegro CL and it was powerful enough to support the datatypes.

Kuroda believes Common Lisp is the most powerful programming language available, offering both a strict specification and practical programmer interfaces. He is impressed with the flexibility that Allegro CL and AllegroStore provides as well. Database-schema changes have been made to the original applications several times to support additional user needs; yet they never had to stop the server to make the changes. Further, they recently ported the system to Windows/NT from a Sun/Solaris (for demo purposes) without needing to change any of the source code.

Future Development

Future versions of the application will be easy to implement as well. Because AllegroStore is a server/client DBMS, Kuroda can add servers without needing to make changes to the source code. He was also able to develop the server and client portions of his application separately by using CORBA (Allegro ORBLink).

Benchmarks

As part of the development process, Kuroda developed and ran several benchmark studies between AllegroStore/Allegro CL (using Windows NT) and Oracle/SQL and JDBC (using Linux). The AllegroStore/Allegro CL combination out-performed both Oracle options in nearly every test. AllegroStore required a much lower overhead versus Oracle, because it is native to Allegro CL (unlike RDBMS). Oracle required one terabyte of overhead, whereas AllegroStore required only 200 gigabytes.

Category A: Lines of Code: Because AllegroStore is native to Allegro CL, fewer lines of code were needed vs. Oracle.

Benchmark #1: Number of lines of code needed to store and retrieve 80 megabytes of binary large object data:

task Oracle 8 (SQL) Oracle 8 (JDBC) AllegroStore (Allegro CL)
Storage (80MB)     30     150       4
Retrieval (80MB)     30     150       5

 

Benchmark #2: Number of lines of code needed to store and retrieve 10,000 objects:

task Oracle 8 (SQL) Oracle 8 (JDBC) AllegroStore (Allegro CL)
    9     64       12

 

Category B: Speed: Although AllegroStore was slightly slower when storing the data, the retrieval rate was significantly faster. Plus, binding to the programming language (AllegroCL) and AllegroStore was more stable than with Oracle.

Benchmark #3: Number of mili-seconds needed to store and retrieve 80 megabytes of binary large object data:

 

task Oracle 8 (SQL) Oracle 8 (JDBC) AllegroStore (Allegro CL)
Storage (80MB)     n/a    89,210     115,548
Retrieval (80MB)     n/a  30,000,000     65,712

 

Benchmark #4: Number of mili-seconds needed to store and retrieve 10,000 objects:

task Oracle 8 (SQL) Oracle 8 (JDBC) AllegroStore (Allegro CL)
    n/a    10,300       111

 

For more information about Mathematical Systems Inc., please contact Hisao Kuroda at kuroda@msi.co.jp or visit http://www.msi.co.jp.

Copyright © 2023 Franz Inc., All Rights Reserved | Privacy Statement Twitter