Chapter 1. Introduction

Contents

What is Jamda?
Why do I need Jamda?
Jamda - features at a glance
Acknowledgements

What is Jamda?

Jamda is a framework for building model compilers (or code generators) for use in development that follows the OMG's Model Driven Architecture approach. It is also the basis for a library of reusable model compiler components. A Jamda model compiler takes as input a UML model of the core business classes, and transforms it into any system that the developer has extended and configured it to create. The developer will usually write code for the application-specific business logic, which can be merged into the generated application. In a typical application, it is expected that the developer-written code would be around 20% of the total.

Why do I need Jamda?

The simple answer is: it can you save you a huge amount of time! A Jamda model compiler can automatically generate most of the code for you in a typical application, saving you the weeks or months it would have taken to write and debug that code.

But as well as saving time, a Jamda model compiler will:

  • Create a system with a solid architecture, using "best-practice" designs
  • Use a simple and consistent style throughout, making future maintenance easier
  • Allow you to concentrate on the important business functions of the application, while it takes care of the tedious "plumbing"
  • Allow you to change the architecture without massive code changes, or even to move to a completely different platform

And because Jamda is a framework rather than a fixed code generator, you can tailor it to produce the exact architecture that your system needs .

Jamda - features at a glance

  • Provides a rich, simple-to-use API for accessing and creating UML metamodels
  • Allows you to extend the API with metamodel elements relevant to your architecture
  • Provides a framework for creating transformations and chaining these together to form the full model compiler
  • Generates code for most parts of a Java class automatically

Acknowledgements

This product uses several other open source products, and we would like to thank the developers for making these available. The full conditions can be found in the Licence section.

Specific acknowledgements:

  • This product includes software developed by the Apache Software Foundation (http://www.apache.org/). This includes the Jakarta Commons libraries distributed with this product.

    Copyright (C) 1999 The Apache Software Foundation. All rights reserved.

  • This product includes the Novosoft Metadata Framework and Novosoft UML1_4 library. Source code for these libraries is available from http://nsuml.sourceforge.net

  • This product includes the JUnit test framework library. Source code for this library is available from http://junit.org