Welcome to jMDA

To generate software automatically has been a strong ambition since the early days of software development.

jMDA is a new approach in this area. It streamlines proven, widely known and accepted open source technologies into a most comprehensible and easy to use set of Java libraries that are extremely powerful and flexible at the same time. The main purpose of jMDA is

  • to leverage a comprehensible and easy to use modelling environment,

  • to provide convenient and complete access to modelling information and

  • to make available easy to use software generator facilities.

The introduction will briefly explain the main drivers behind this project, the jMDA book provides more detailed information about the most important concepts and the open source software is available here.

Friday 22 June 2012

Create / update jaxb.index files

Creating or Updating jaxb.index files with jMDA JAXB sample tools is as easy as this:


    Map<File, Set<String>> indexData =
        JAXBIndexDataBuilder.build(rootDirectory);
    
    for (File packageDirectory : indexData.keySet())
    {
      FileUtils.writeLines(
          new File(packageDirectory, "jaxb.index"),
          indexData.get(packageDirectory));
    }
The updated the .zip file contains the JAXBIndexFileWriter class which does pretty much the same as what is shown above.

Saturday 16 June 2012

New jMDA based tools help to keep JAXB index files and package lists in sync

A new "getting started" example has just been published. It describes how jMDA makes it extremely easy to develope tools that help to accomplish some tedious maintainance tasks when working with JAXB. The tools use information provided by a simple jMDA processor.

Update of jmda.core available

A new version of jmda.core (jmda.core-0.8.1) is available. For a summary of new features and improvements see release-notes.txt inside the downloadable zip archive.

Sunday 3 June 2012

What has been going on with jMDA in the recent year?

When I discussed about jMDA with colleagues and friends in the past it became obvious that one thing is missing. Textual models such as Java source code files in jMDA are fine but graphical models often are sooo muuuch mooore expressive!

I could not disagree with that and because I'm a huge UML fan I started looking around for appropriate Java to UML reverse engineering tools. It soon turned out that it was not easy to find any. Existing products often are extreme heavy weights, clumsy to use, expensive and so on. So I started playing around with an own solution. With jMDA at hand I had everything necessary to find out anything about a given jMDA model so the only thing to do was to bring that model information into an appealing graphical representation. First results looked very promising (at least in my eyes).

But soon some really nasty problems occured. The biggest among them being myself and my lacking knowledge and experience in developing software with a huge amount of obviously non mainstream graphical requirements. I started with a Java Swing approach but got frustrated about a lot of features that seem to be missing.

Then I decided to try JavaFX 2.0. Again first results looked promising but missing basic features were a big disappointment.

After all I spent a lot of time in these investigations during the last year without satisfying results. However recently I became to know UML Explorer which does most of the things I was looking for very nicely in an eclipse environment. So I gave up or at least postponed my plans for an own solution. This will allow to concentrate on developing new and improving existing features for the actual jMDA products.

Saturday 2 June 2012

New blog started for jMDA

More than one and a half year after publishing jMDA as an open source project I start this blog today. The blog is meant to provide up to date information about hopefully interesting things related to jMDA. It will replace the old project home page which will be discontinued soon.
With this blog I hope to increase community interest and participation in jMDA and would be happy to receive comments and feedback. In the jMDA project I'd like to collaboratively improve and extend jMDA technology. I plan to discuss and publish new libraries that address particular application fields for jMDA.
Finally this blog wants to be a place for the community to share ideas and discuss jMDA related topics.
Some initial information about jMDA is already available here.