MADS Tools

General Description
MADS Schema Editor
MADS Query Editor
MADS Query Viewer


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
Schema Builder
Schema Translator
Schema Wrapper for ArcView
Schema Wrapper for Oracle

Download the executables of the Schema Builder, either with a Java Virtual Machine (JVM) or without it
Linux
Without JVM
With JVM
Windows
Without JVM
With JVM
Generic (.jar) without JVM

Download the executables of the Schema Translator, either with a Java Virtual Machine (JVM) or without it
Linux
Without JVM
With JVM
Windows
Without JVM
With JVM
Generic (.jar) without JVM

The following Diploma Thesis realized a partial migration of the Schema Builder to Eclipse.
R. Lemaigre. Réalisation d'un éditeur de schémas pour bases de données spatio-temporelles sous Eclipse. Mémoire d'Ingénieur civil en Informatique, Université Libre de Bruxelles, Brussels, Belgium, 2004.

Download the source of the Schema Builder for Eclipse

Schema Builder

The following paper explains the Schema Wrapper for MapInfo
Stéphane Joost, Olivier Ertz. Conception de Bases de données Localisées et Temporelles (COBALT) Modélisation conceptuelle : un module de translation pour MapInfo

Download the Schema Wrapper for Map Info
Visual Basic source
Windows executable



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
Query Builder
Query Translator
Query Wrapper for Oracle

Download the executables of the Query Builder, either with a Java Virtual Machine (JVM) or without it
Linux
Without JVM
With JVM
Windows
Without JVM
With JVM
Generic (.jar) without JVM

Download the executables of the Query Translator, either with a Java Virtual Machine (JVM) or without it
Linux
Without JVM
With JVM
Windows
Without JVM
With JVM
Generic (.jar) without JVM



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

Query Viewer

The following Diploma Thesis realized a new (partial) implementation of the Query Viewer.

E. Debois. Interrogation de bases de données spatio-temporelles : Conception d'un outil de visualisation des réponses aux requêtes. Mémoire d'Ingénieur civil en Informatique, Université Libre de Bruxelles, Brussels, Belgium, 2003.

Download the source for the new implementation

Query Viewer

The following Diploma Thesis realized a partial migration of the previous implementation of the Query Viewer to Eclipse.

F. Depasse. Conception sous Eclipse d'un visualisateur de données spatio-temporelles. Mémoire d'Ingénieur civil en Informatique, Université Libre de Bruxelles, Brussels, Belgium, 2005.

Download the source of the Eclipse version

Query Viewer