View-Primitive-DataModel framework

VPDMf Application Usage

We recommend using the system to build VPDMf-enabled components (such as databases, java-libraries and action script libraries) and then deploy and use these components within your applications. We recommend downloading an appropriate installation package from the BMKEG Software page and then using the following commands to generate, unpack and use VPDMf functionality.

Note: this work is still unpublished and has not been offically released in its latest form. All systems are subject to change and we take no responsiblity for the system's use.

Command Line Usage

Building a VPDMf archive

  • generateVPDMfArchive <dir> <MagicDraw-filename> <viewSpecs-dirname> <zip-filename> <data-file/dir>

<dir> - Choose the top level file path
<MagicDraw-filename> - name of the UML model file
<viewSpecs-dirname> - director name of where the vpdmf specification files are
<zip-filename> - target name of the output zip file
<data-file/dir> - directory name (or excel spreadsheet name) of where pre-existing data tables are kept (enter 'null' to leave blank)

Dumping a VPDMf archive file into a database

  • generateDbFromVPDMfArchive <path-to-zip-file> <dbName> <login> <password>

<path-to-zip-file> - The path to the vpdmf archive being instantiated
<dbName> <login> <password> - MySQL login parameters

Maven-based data modeling functions

Creating a Maven Project that captures a Java-based Instantiation of a UML data model

  • generateJpaMavenProject <dir> <MagicDraw-filename> <viewSpecs-dirname> <zip-filename>

<dir> - Choose the top level file path
<MagicDraw-filename> - name of the UML model file
<viewSpecs-dirname> - director name of where the vpdmf specification files are
<zip-filename> - target name of the output zip file

Building and deploying a Maven Project that captures a Java-based Instantiation of a UML data model

  • deployJpaMavenProject <dir> <MagicDraw-filename> <viewSpecs-dirname> <repositoryId> <repositoryUrl>

<dir> - Choose the top level file path
<MagicDraw-filename> - name of the UML model file
<viewSpecs-dirname> - director name of where the vpdmf specification files are
<repositoryId> - name of remote maven repository as it appears in local maven settings.xml
<repositorUrl> - url of remote maven repository

Installing and removing a local copy of Maven for use by VPDMf

The system uses Maven as a plugin library, but executes it through the command line (since Maven's CLI interface has been discontinued). These two commands will either unpack or remove a local copy of the Maven application within the VPDMf application directory.

  • embedMaven
  • removeEmbeddedMaven

Mini Tutorial

As a starting point for understanding the possible use of the system, we here provide a simple walkthrough to test if the system basics are working. If you encounter difficulties, please send us mail to 

  • Download this file: ooevv.zip
  • Unpack it somewhere
  • Run the following Commands

    • generateJpaMavenProject <path-to-unpacked-ooevv-dir> ooevv.xml ooevv-vw temp.zip
    • generateVPDMfArchive <path-to-unpacked-ooevv-dir> ooevv.xml ooevv-vw temp.zip null
    • generateDbFromVPDMfArchive <path-to-vpdmf-archive> <dbname> <login> <password>

If successful, you have just managed to build a JPA Maven library and a VPDMf archive from a UML model file and then executed the scripts necessary to convert the archive into an underlying MySQL database.

MySQL Configuration Notes

The default value of the MySQL max_allowed_packet parameter might not be sufficiently large to support the VPDMf engine. If that is the case you might get an exception like the following one:

com.mysql.jdbc.PacketTooBigException: Packet for query is too large (1176221 > 1048576).

You can change this value on the server by setting the max_allowed_packet' variable. There are several option for overwriting the default value of the max_allowed_packet parameter. One option is to set this parameter in the MySQL server startup configuration file named my.cnf. The location of this file dependes on the OS.

Location of the my.cnf file For the Mac OS X: /etc/mysql/my.cnf.

Setting the max_allowed_packet parameter This parameter has to be specified in the server (or mysqld) section of the my.cnf file. If this file doesn't exists, you may create it yourself. The access privileges for this file should not allow writing to everybody and should allow reading to the user running the mysql server. The following is an example of the content of this file:

[mysqld]
max_allowed_packet = 16M

Groups: