View-Primitive-Data-Model framework (VPDMf)

The VPDMf is the underlying framework on which the rest of the system has been buiilt. The VPDMf operates on a UML model, and then uses a locally defined ‘View Specification’ (an XML design conforming to our own internal specification) to encapsulate elements from the schema together into ‘views’. A view is a collection of entities that have a certain relationship between them. Views enable complex composite objects to be represented and manipulated as single entities. In this representation, views may be connected together in a network of nodes and edges (a ‘graph’).  Information may then be embedded into the edges as ‘relations’. This provides a richly expressive representation that is built from object oriented principles and is therefore well-supported by object-oriented programming approaches. We implemented a modular design based on the UML structure of ‘packages’ so that changes could be made to one part of the model without affecting other parts.

The VPDMf has programmatic access to the schema’s design, and can therefore transform it to other configurations. Thus, we transform a UML model into a relational database schema and then generate the necessary scripts in the structured query language (SQL) to create the database. The system can also load preliminary data from an Excel spreadsheet into another set of SQL scripts that then loads it into the system automatically. This provides a set of files that may be acted on to fully instantiate a relational database capable of representing the desired schema from scratch. The system automatically builds a Java-based object to instantiate the schema within the NeuroScholar system, providing all necessary information to query, insert and edit data within the schema database.

The VPDMf is implemented as a Perl application and can be run as a command-line tool or with a graphical user-interface. Perl is a good candidate for this purpose because it can serve as a rapid prototyping method with excellent text processing capabilities (for source parsing and generation) as well as strong support for system administration.

We explored and implemented many other possible functionalities of the VPDMf. At the simplest level, we performed feasibility studies to generate databases on different platforms, including relational (Microsoft Access, SQL Server, Oracle), object-relational (Informix) and object-oriented (Objectivity) databases. We also generated preliminary source code output in Javascript, Perl, XML, RDFS and OWL. Due to scripting versatility of Perl, we were also able to have the system interface with other software to provide powerful support for documentation and visualization. This included the automatic generation of in-house object-oriented documentation in Microsoft Word; and the capability to export the VPDMf model to Rational Rose ( for viewing. Additionally, the text processing capabilities of Perl allowed us to write a preliminary reverse engineering program that outperformed the reverse-engineering methods within Rational Rose for our source code.

Future Development
The VPDMf will be useful to assist with the processing of OWL ontologies in the next phase of the project. Moreover, we want to extend the VPDMf so that it can be fed a model written in RDF notation thereby providing us with more flexibility. Currently, the system operates only from a UML model. This approach lends itself very well to integration with other open-source projects.

The VPDMf demo can be accessed here.

Software Downloads
The VPDMf system loader can be downloaded from here.