1.2. Motivation of using HuGo
Aus Hugo Doku
The motivation of a generator is in principle the automation of the software writing process.
Automation in principle has the following advantages instead of a manual process:
*Increasing quality by avoiding oversights (copy-paste- forgotten replace).
*Increasing quality because of schematic software design (a schema is the precondition for generating)
*Increasing the time to application
*Reducing cost because of higher quality and faster time to application
The motivation of writing an individual generators instead of using a closed tool is
*Increasing usability.
The model has a domain specific language, that is geared to the application engineers and their own domain language.
*Optimized usage of resources.
Because you write the template code, you determine how the generated codes looks like and which resources (e.g. memory) are used.
*Cost effectiveness.
A common tool must mainly be adapted to your needs. It could be more convenient to write your own generator than using a adopted tool.
The motivation of using the HuGo generator framework
*HuGo uses a Java Meta Language.
The meta language is a language which is set on base of Java, i.e. it extends the java language. When the generator is built, there is first a transformation to java code classes before javac compiles this classes to java executable code (for details please refer to section Section 2.1). For the domain engineer this leads to an easy to learn language, which has always the full Java language range, e.g. object oriented, hash maps and all the current used Java provides.
*Generators are runable on multi plattform.
Because the build generators are Java executables, they run on all plattforms which support Java.
*XML as syntax for parameter language.
XML is a widely spreaded format. It has the advantage, that the tag-names are not fixed, thus you can choose them domain specific, but that many systems and tools support XML, thus data exchange is possible.
*Any target language possible
The target "code" in the Frames can be of any target language. Because on the point of view of HuGo the code is only text, i.e. source code text. Thus HuGo just prints the parameterized text with corresponding values. The compilation of the code is a step after the generating process.
*HuGo supports a process, including different parts of generating
*There is a GPL License of HuGo.
Next: 1.3. Limitation
