| | | | |
|
MADS Tools
|
General Description
| |
MADS is a spatio-temporal model with multi-representation
features. Its most important characteristics are: 1) it is a
conceptual data model, focusing on taking into
account modeling requirements of real-word applications;
2) it provides a rich set of constructs in four complementary
modeling dimensions, i.e., for modeling data structures,
spatial features, temporal features, and multi-representation
features; 3) it adopts an orthogonal perspective among the
different modeling dimensions in order to achieve maximal expressive
power; and 4) it has associated data manipulation and query languages.
More details about the MADS model can be found in
the following book.
|
|
Conceptual Modeling for Traditional and Spatio-Temporal Applications
The MADS Approach
Christine Parent, Stefano Spaccapietra, Esteban Zimányi
2006, 466 p., 115 illus., Hardcover
ISBN: 3-540-30153-4
|
In the context of the MurMur project several tools were developed
for proving the viability of the MADS approach. These tools,
developed in Java, are prototype tools and are by not means
mature products.
Due to numerous requests we have made available these tools
in open source released under the terms of the
LGPL
(GNU Lesser General Public License) license.
We hope that this will allow to enhance these tools by the open source
community for the benefice of all.
This software is provided “as is”, without expressed
or implied warranty.
For any information please contact Esteban Zimanyi by mail
at the address ezimanyi@ulb.ac.be.
|
MADS Schema Editor
| |
The Schema Editor allows designing the conceptual schema of
the application in a graphical and user-friendly way. When the
user chooses a target implementation platform (either a GIS
or a DBMS) the editor translates the conceptual specifications
and generates the particular schema definition scripts for
the chosen target. Targets that have already been realized are
Oracle 9i, ArcView, and MapInfo.
This translation process uses an intermediate logical model,
called MADSLog, containing all concepts of MADS and a few
logical concepts such as the reference attribute. For each
target implementation platform X, a data model MADSLogX is
defined, as a subset of the MADSLog data model. It contains
all the concepts of MADSLog that have an equivalent in the
target data model X. In other words MADSLogX is the model of
X expressed in terms of MADSLog.
The general architecture of the Schema Editor is composed
of three types of modules:
- The Schema Builder gives the user the ability to create
MADS schemas. It manages both the structure of the schema and
its graphical layout. Once its definition is completed, the
resulting schema is validated and saved in both its structural
and graphical formats.
- The Schema Translator. Many MADS concepts (e.g., multiple
inheritance, temporal and multi-representation features) cannot
be directly implemented in current GISs or DBMS. The Schema
Translator takes as input the conceptual MADS schema (embedded
into an XML file) and generates an equivalent MADSLog schema
removing any concept that does not exist in the target data model.
As stated, this translation is achieved by the application of a
set of transformation rules in some relevant order.
- The Schema Wrappers take as input (also embedded into an
XML file) a MADSLog schema targeted for a particular GIS or
DBMS and generate the corresponding schema definition scripts.
Their work is basically a rewriting (change of syntax) task.
Such scripts are then sent to the target GIS or DBMS. There is
one Schema Wrapper per target DBMS and GIS.
An important aspect of this translation process is the preservation
of the original semantics of the conceptual MADS schema into
the target schema implemented in the GIS or DBMS. As the
data models of implementation platforms are semantically
poorer than MADS, often integrity constraints have to be added
to the target structure to avoid semantic loss. Unfortunately,
current GIS and DBMS sometimes provide very little support
for integrity constraints. Complementary techniques have to be
used (e.g., stored procedures). As these heavily depend on
the target platform, work is still ongoing to come up with
a solution that completely preserves the semantics of
the conceptual schema.
Download the sources
Download the executables of the Schema Builder, either with a Java Virtual Machine (JVM) or without it
Download the executables of the Schema Translator, either with a Java Virtual Machine (JVM) or without it
The following Diploma Thesis realized a partial migration of the
Schema Builder to Eclipse.
Download the source of the Schema Builder for Eclipse
The following paper explains the Schema Wrapper for MapInfo
Download the Schema Wrapper for Map Info
|
MADS Query Editor
| |
The Query Editor provides users with the functionality to specify
queries and visualize their results in an easy way, without the
burden of learning a textual query language. Further, the
definition of queries is done on the conceptual schema rather
than on the physical schema of the implementation platform.
The users who will most benefit from this tool are those who
are able to understand the MADS schema of an application,
and who have to query the database interactively. Typically,
they are GIS operation managers, GIS expert users, and
database administrators.
By offering a visual interface, the Query Editor allows its
users to focus on the semantics of their queries, and relieves
them of writing syntactically correct textual queries. It is
well known that most SQL users fail to write a correct query
as soon as a join of several tables is required. With the
Query Editor this should no longer happen: Joins are implicitly
specified by pointing, in the schema displayed on the screen,
at the relationships that must be used for the query.
Finally, following common practice in GIS systems, geographic
queries may also be specified directly on a map displayed
by the Query Viewer.
The general architecture of the Query Editor is composed of three
types of modules:
- The Query Builder supports visual formulation of arbitrary
assertional queries. Its output is a syntactically correct
MADS algebra expression embedded in an XML file.
- The Query Translator performs the first step
in the translation of the MADS algebra expressions into queries
or programs containing queries for the target system. It transforms
a MADS algebra expression defined on a MADS schema S into an
equivalent MADS algebra expression defined on the MADSLog schema
that is the transformation of the S schema. The output expression
is embedded in an XML file too.
- The Query Wrappers translate the algebra expression generated
by the Query Translator into the particular query language of the
target DBMS or GIS (e.g., SQLPlus and/or PL-SQL for an Oracle DBMS).
As the data model of the target system is often less powerful than
MADS, the result of the translation is usually a script containing
several target queries (embedded in an XML file).
Download the sources
Download the executables of the Query Builder, either with a Java Virtual Machine (JVM) or without it
Download the executables of the Query Translator, either with a Java Virtual Machine (JVM) or without it
|
MADS Query Viewer
| |
The Query Viewer allows the visualization of the query results and
query formulation based on interactive maps. Following GIS common practice,
the current version of the prototype allows users to display two views of
a geographical database (or of a subset of the database): A map view,
displaying the spatial features, and a thematic view, showing the attribute
values in a tabular format.
The viewer implements a time travel facility. It allows displaying
the evolution of time-varying attributes. The user may choose to view
the map and the associated thematic view at some particular time instant
by entering the desired instant or by using a slider. Alternatively,
(s)he may choose to animate the view. This is realized using dynamic
maps, i.e., a screen map and its associated thematic view that change
their appearance in real time, a sort of a "movie-map" having
VCR-like functionalities.
Download the executables for Windows
The following Diploma Thesis realized a new (partial) implementation of
the Query Viewer.
Download the source for the new implementation
The following Diploma Thesis realized a partial migration of the previous
implementation of the Query Viewer to Eclipse.
Download the source of the Eclipse version
|
|