Automatic generation of software is an up-coming topic in software engineering. In order to support modularity the generated software often follows the MVC design pattern. To this end, different UML diagrams are used to define each component of the MVC model, e.g., the model, the view, and the controller. These diagrams are then transformed in several steps into code, e.g., Java code.
In a first study, a tool for Information Systems in the internet was developed which transforms UML-class models into model and controller components. As backend-software for the generator Java-Enterprise-Edition (JavaEE, former J2EE), Enterprise- Java-Beans (EJB) and JavaServer Faces (JSF) are used.
JavaEE is the platform for server programming in the Java programming language, EJB are standardized components in a JavaEE server and JSF is a framework to develop graphical web views. JSF is developed to used it with the MVC design pattern.
Nevertheless, the automated generation of the graphical user interface ? the view component ? is still missing. In the implemented components, heuristics are used to transform UML class models to EJB-models. In contrast, the model-to-code transformations do not use any heuristics but have a direct translation. Due to separate steps the control and optimization of the transformations can be handled more easily.
The goal of this bachelor thesis is to develop an ?Automatic GUI generator? which automatically transforms an EJB model into a working graphical user interface implemented in JSF. This transformation will be structured in two steps.
First, we generate JSF-code using this JSF-model. Then we transform the Enterprise-JavaBeans (EJB)-model into a JavaServer Faces (JSF)-model. For the first transformation there are two promising approaches. Either, the EJB-model can be transformed in a JSF-GenModel and then in to a JSF-model on which the GUI adaptation is based, or, the GUI adaptation is transformed from the EJB-model and then the JSF-model is generated from the GUI-adaptation-model. Both approaches have their advantages and disadvantages. The approach is an important element for this Bachelor thesis.