Object-Orientation FAQ

For additional information on MATISSE, contact

In the UNITED STATES:
ADB, Inc.  (Advanced Database)
238 Broadway
Cambridge, MA  02139 - USA
Phone:  1 (617) 354-4220
Fax:    1 (617) 547-5420
Email:  info@adb.com
In EUROPE:
ADB/Intellitic SA.
12/14, rue du Fort de Saint Cyr
Montigny le Bretonneux
78182 Saint Quentin en Yvelines Cedex - FRANCE
Phone:  33 (1) 30 14 54 35
Fax:    33 (1) 30 14 54 40
Email:  info@adb.fr
In JAPAN:
ADB/Intellitic SA.
c/o SGN Co., LTD
Urban Toranomon Building - 1-16-4 Toranomon
Minato-Ku Tokyo 105 - JAPAN
Phone:  81 (3) 3593.34.31
Fax:    81 (3) 3593.34.32
		MATISSE TECHNOLOGY BRIEF
MATISSE was designed to have an OPEN API, and not be
tightly bound to a single language (such as C++ or Smalltalk).
MATISSE can be used effectively with C++, C, and any other language.
This allows for MATISSE to be easily integrated into almost any
user application.
MATISSE is based upon the following principles and ideals:
MATISSE is first and foremost a database, whose purpose is to
always provide information in a consistent and correct format,
insuring referential integrity amidst the most complex database
modifications.  And, to provide a set of DBA tools which meet
the challenge of managing large, complex database applications.
Production quality applications require production quality databases.
This means high reliability, high scalability, no database down
time for archival/backup/restore and 24hr/7days  per week operation.
MATISSE supports these requirements.
A flexible, intelligent meta-model architecture based upon the
principles of semantic links and object technology allows for the
most effective bases for representing and managing complex, highly
interrelated data.  The MATISSE meta-model provides built in
constraint checking, user definable constraints for triggers and
daemons, and full dynamic schema and meta-schema evolution.  
Providing an architecture which is open allows for the integration
of MATISSE with any language or environment.  MATISSE is not bound
to any language.  Its 'C' API allows for its use with many
languages and environments.
The following list describes the features of MATISSE which we
believe provide the competitive advantage:
-	Mission-critical operation - 24 hour operation and fault tolerance
-	Independence from any programming language
-	Dynamic schema management and evolution
-	Flexibility of the MATISSE  meta-model
-	Historical versioning
-	Consistent reads without locking - concurrency and locking
-	Support for high level consistency and referential integrity
-	Multi-threading architecture provides for a high degree of scalability
Each of these items are described in more detail below:
Mission Critical Operation.
MATISSE is designed to support 24 hour a day / 7 day a week operation,
on multi-client / multi-server architectures.  Administration tools
offer high end features which are mandatory for legacy DB administrators.  
Independence from any Programming Language.
The MATISSE client is implemented as a library of C procedures.  As a
result, any standard language can be used to develop applications on
top of MATISSE, provided that the corresponding compiler is capable
of calling external C-functions. To date, production applications have
been built on top of MATISSE using C, ADA and C++.
Dynamic Schema Management.
Schema objects can be accessed using the same API available for data
objects. The Data Definition Language is identical to the Data
Manipulation language.  Versioning is implemented for both schema
and data objects.  Thus, any running application can modify the database
schema, provided that existing instances do not become inconsistent with
that schema.  Consistency rules are checked by MATISSE.
Flexibility of the Model.
MATISSE is compliant with the IRDS standard.  Its architecture is
highly extendible at both the Schema and the Meta-Schema level.  The
MATISSE Semantic Meta-Model is not hard-coded.  It can be updated to
conform with any OMG, ANSI, ISO, ... standard that might be issued
in the future.  MATISSE can easily adapt to changing and evolving
standards, without significant effort or re engineering.
Versioning.
Using the on-line versioning mechanism, MATISSE allows any connected
client application to dynamically access any past database version which
was marked as a version to be saved.  Access can be performed without
any particular administrative operation, and concurrently with other
on-line accesses to current or other historical  versions.
Since a database version includes both data and schema objects, a
past version is always consistent, even after schema modification.  As
a past version is accessed, so to is it's schema, and even the
appropriate meta-schema associated with the accessed version.
Consistent Reads without Locking.
Using its versioning mechanism, MATISSE offers three kinds of
database access:  
Typical transaction-based access: : as the
database migrates forwards, and updates are made, database access
occurs against the latest consistent database version.  A successful
transaction commit results in a new consistent version.  If explicitly
named, this version becomes a historical database version, which can
be accessed by its logical name in the future . 
Historical version access: the application specifies the logical
name of the historical version to be accessed. Access is read-only,
and does not require any locking mechanism.
Current Time access: : this is a very powerful and unique feature
of MATISSE.  Any application can request the latest available consistent
database version, using a reference to current time, with no
locking overhead.  The "current time" database version is based
upon the last transaction commit, and is automatically maintained by
the database.  A "current time" database version acquires no database
locks when accessed in read-only mode, thereby significantly
reducing overhead.
Through these three access modes,  MATISSE supports on-line
transaction processing and decision support requirements concurrently
within a single application, through the use of current and historical
versions.
Support for High Level Consistency.
With MATISSE, referential integrity cannot be corrupted.  MATISSE's
Semantic Links are specialized - i.e. they are specifically
established between classes, they are directional, and, inverse links
are automatically and dynamically set by MATISSE.  As a result, a
MATISSE database understands its relationships, and fully manages
all internal consistency features, insuring that no corruption occurs.  
Developers can describe very complex consistency methods and rules
using daemons and triggers.  These methods can be attached to
particular events such as, before or after creation, as well as class,
instance, attribute modification.  Daemons and triggers provide for
message propagation within your database. This results in a very
intelligent database, which can be event driven.
MATISSE Server runs on
-  Sun Sparcstation - SunOS 4.1.3
-  Sun Sparcstation - Solaris
-  VAX - VMS
-  HP9000 - HP-UX
MATISSE Client runs on
-  Sun Sparcstation - SunOS 4.1.3
-  Sun Sparcstation - Solaris
-  HP9000 - HP-UX
-  Windows NT
-  Macintosh

This document was translated by ms2html v1.8 on 01.06.95.