FAQ

 

  1. What is Mia-Generation ?
  2. Does a generator that meet my needs already exist ?
  3. If I change my mind on technologies used, is Mia-Generation still interesting ?
  4. What is the difference between Architect and Developer edition ?
  5. Can we generate J2EE or DotNet code with Mia-Generation ?
  6. I wish to generate Java or C#, should I start from scratch to build my specific generator ?
  7. I already know some generators of the market, is Mia-Generation different ?
  8. I already have a modeler and a development environment, do I need Mia-Generation ?
  9. Does Mia-Generation take into account customizations and extensions of my UML models (stereotypes and tagged values) ?
  10. What is the percentage of code generated with Mia-Generation ?
  11. Is it possible to generate non oriented language (VB, Cobol, ...) ?
  12. Is-it possible to reuse part of a generator in a new one ?
  13. Can-I use Mia-Generation with WSAD ? Generally speaking, how is  Mia-Generation integrated with my own development environment ?
  14. Can I generate documentation with Mia-Generation ?
  15. Which CASE/Modeler, Mia-Generation is compatible with ?
  16. If my CASE is not a well-known one, can I use Mia-Generation anyway ?
  17. Is-it possible to use dynamic models of UML ?
  18. Does Mia-Generation check UML Model before a generation ?
  19. Is-it possible run a generation from a subset of a model (some classes for example) ?
  20. Is-it possible, for a developer, to run a generation with no access to scripts ?
  21. Does Mia-Generation updates my model from modifications of my files ?
  22. Does exist a link between Mia-Generation and configuration management tool ?
  23. How big is the training required to properly use Mia-Generation ?
  24. How long is a training course for Mia-Generation ?
  25. Is a minimum size required for a development team willing to use Mia-Generation in the development process ?
  26. I have a WEB page composer (ex : Dreamweaver), do you have a solution to integrate it with Mia-Generation ?

 

  1. What is Mia-Generation ?

 

  1. Does a generator that meet my needs already exist ?

Specific generator is the only possible answer to your need because your project/application is different from other ones.

If you whish to evaluate a generator, you must examine the following criteria :

1) Does it take into account my technical choices ?
How many generators force you to adopt such technical choice or another? In any case, you must ask yourself if the right technical choice now will be the right one tomorrow ? The generator must accommodate your needs not the opposite !

2) Does it generate with very high technical generation rate (70 to 80%).
If you generate 10 to 20%, the return on investment is not clear and you must modify the generated code by hand, loosing at the same time the benefits of generation. A good generator must produce around 70% of your application.

3) Is it easy to have your generator evolve ?
If your technical choices evolve, you generator must evolve accordingly. The adaptation must be easy and fast. To do that, you must have an easy-to use dedicated environment to always keep your generator effective.

4) Does it preserve hand-written code ?
Expect very specific cases, the generation rate is less than 100% because usually we don’t want to model everything in an application (eg business rules). Your generator must preserve hand-written code between two generations.

5) Is it independent from modeling tool ?
Again, no technical choice must be imposed in order to let you change your mind in the future if you need.

These fives criteria a fundamental for your generator. It is now known that a standard one can’t match all criteria. That’s why we designed Mia-Generation : to let you have the best generator for you because it’s a specific one !

 

  1. f I change my mind on technologies used, is Mia-Generation still interesting ?

 

  1. What is the difference between Architect and Developer edition ?

Mia-Generation Architect edition is the full function : you can create and modify your specific architecture-compliant generator.
Mia-Generation Developer edition is a run-time that execute your specific generator and can be run from your favourite IDE.

  1. Can we generate J2EE or DotNet code with Mia-Generation ?

 

  1. I wish to generate Java or C#, should I start from scratch to build my specific generator ?

 

  1. I already know some generators of the market, is Mia-Generation different ?
  1. I already have a modeler and a development environment, do I need Mia-Generation ?

 

  1. Does Mia-Generation take into account customizations and extensions of my UML models (stereotypes and tagged values) ?

 

  1. What is the percentage of code generated with Mia-Generation ?

 

  1. Is it possible to generate non oriented language (VB, Cobol, ...) ?

 

  1. Is it possible to reuse part of a generator in a new one ?

 

  1. Can I use Mia-Generation with WSAD ? Generally speaking, how Mia-Generation is integrated with my own development environment ?

 

  1. Can I generate documentation with Mia-Generation ?

 

  1. Which CASE/Modeler, Mia-Generation is compatible with ?

 

  1. If my CASE is not a well-known one, can I use Mia-Generation anyway ?

 

  1. Is it possible to use dynamic models of UML ?

 

  1. Does Mia-Generation check UML Model before a generation ?

 

  1. Is it possible run a generation from a subset of a model (some classes for example) ?

 

  1. Is it possible, for a developer, to run a generation with no access to scripts ?

 

  1. Does Mia-Generation updates my model from modifications of my files ?

No. Mia-Generation is design to generate architectured application. That implies to take into account your architecture framework and prevent from wild reverse engineering that pollutes your model with irrelevant technical information.

This development process is widely recommended and has been normalized by the OMG (Object Management Group www.omg.org) and labelled MDA (Model Driven Architecture). In this process, the reliable and long-lasting reference is the model and the generation is the means to keep it up-to-date and independent from technologies.

If the product analyses the code to create/update the model, you control neither the program nor the model that both represent the same objects in a different language but with the same level of abstraction. Generated code comes from the model and hand-written code coexists and is preserved between generations. At last, for an architectured application a useful reverse tool should take into account your architecture but no such tool exists. Thus, a reverse tool must be the exact symmetrical one of the generator meaning that if you want to customize your generator to produce and architectured code, you must modify the reverse tool as well and that required high skills about parsing.

 

  1. Does exist a link between Mia-Generation and configuration management tool ?

 

  1. How big is the training required to properly use Mia-Generation ?

 

  1. How long is a training course for Mia-Generation ?

 

  1. Is a minimum size required for a development team willing to use Mia-Generation in the development process ?

 

  1. I have a WEB page composer (ex : Dreamweaver), do you have a solution to integrate it with Mia-Generation ?