Das GeneSEZ Generator Framework
Oliver Arnold
Georg Beier
Gerrit Beine
Wolfgang Golubski
Frank Grimm
Tobias Haubold
Nico Herbig
Robert Meichsner
André Pflüger
Copyright © 2006, 2007, 2008, 2009, 2010 GeneSEZ
Table of Contents
I.
Getting Started
1.
Hintergrund und Idee von GeneSEZ
1.1.
MDA und MDSD in Kürze
1.2.
Idee des GeneSEZ Ansatzes
1.3.
Überblick des GeneSEZ Ansatzes
2.
Installation von GeneSEZ
2.1.
Konfiguration des Workspace
2.2.
Art der Installation
2.3.
GeneSEZ Eclipse Plug-In
2.4.
Abhängigkeiten zu anderen Eclipse Plug-Ins
2.5.
GeneSEZ Repository
2.6.
GeneSEZ Eclipse Plug-In Projekte
3.
GeneSEZ: Just Try It Out
3.1.
Checkout Beispielprojekt
3.2.
Projektstruktur
3.3.
Ausführen des Workflows
3.4.
Workflow Details
3.5.
Generierter Quellcode
II.
Benutzer-Referenz
4.
Generierung von Zugriffsfunktionen
4.1.
Spezifikation im Modell
4.2.
Auswertung
4.3.
Konfiguration der Modelltransformation
4.4.
Beispiel
5.
GeneSEZ Workflow Komponenten
5.1.
Allgemeine Workflow Komponenten
5.2.
Plattformspezifische Workflow Komponenten
6.
Type Mapping
6.1.
Konzept des Type-Mapping
6.2.
Aufbau einer Type-Mapping Datei
6.3.
Verwendung des Type-Mappings
6.4.
Zusammenhang Type-Mapping + Naming Conventions
7.
Externe Typen im Metamodell
7.1.
Definition im UML-Modell
7.2.
Definition im Workflow
7.3.
Umgang in xPand-Templates
7.4.
Beispiel
8.
Das GeneSEZ-Logging-Konzept
8.1.
Java
8.2.
Skripten + Templates
8.3.
Konfiguration
9.
GeneSEZ UML Profil
10.
Statistik-Komponente
10.1.
Funktionsumfang
10.2.
Workflow-Konfiguration
10.3.
Logging
10.4.
Hinweis zu den Diagrammen in der Statistik
10.5.
Statstik-Übersicht am Beispiel
III.
Plattform Projekte
11.
PHP Plattform Projekt
11.1.
Beispielprojekte
11.2.
Modellierung für PHP
11.3.
PHP5
11.4.
MDSD für das Dynamic Data Model (DDM)
11.5.
QuickForm
11.6.
Weitere Frameworks
12.
Java Plattform Projekt
12.1.
Beispielprojekte
12.2.
Modellierungshinweise zur Verwendung der Plattform-Erweiterungen
12.3.
JPA (Java Persistence API)
12.4.
EJB 3 (Enterprise JavaBeans)
12.5.
Seam 2
IV.
Weitere GeneSEZ Projekte
13.
metaframework
13.1.
Yet Another PHP Framework?
13.2.
Anwendungsarchitektur
13.3.
Gliederung einer Anwendung
13.4.
Infrastruktur-Konzepte
13.5.
Konzepte zur Anwendungsentwicklung
13.6.
Weitere Konzepte zur effektiven Anwendungsentwicklung
List of Tables
11-1.
PHP Plattform Features
11-2.
Unterstützung der Abbildung von UML Konzepten in PHP
12-1.
Java Plattform-Erweiterungen
List of Figures
1-1.
Vereinfachte Darstellung generativer, modellgetriebener Ansätze
1-2.
Schematischer Überblick des GeneSEZ Ansatzes
4-1.
Plattformunabhängige Teil des GeneSEZ UML Profils
4-2.
Auswertung der Modellierungsmöglichkeiten
4-3.
Auswertung des Stereotyps
accessor
6-1.
Das GeneSEZ Typ-System
10-1.
Übersicht zur Quellcode Zusammensetzung
10-2.
Details zu den einzelnen Quellcodedateien
10-3.
Zusammensetzung Quellcodeverzeichnis
10-4.
Statistik zum Quellcode ohne Tests
11.
Übersicht zur aktuellen Plattformunterstützung
11-1.
UML Profil für die PHP Plattform
11-2.
UML Profil für das DDM
12-1.
Mapping des Stereotypen "jpaPersistent" auf die Annotationen "@Entity"
12-2.
UML-Profil der Java Plattform-Erweiterung JPA
12-3.
Persistent Entity mit den Stereotypen "jpaPersistentEntity" und "jpaPrimaryKey"
12-4.
Persistent Entity mit unique-Attribut und ohne jpaPrimaryKey
12-5.
Persistent Entity ohne technischen Primärschlüssel
13-1.
Architektur einer Anwendung basierend auf dem metaframework
13-2.
URL-Pattern zur Gliederung einer Anwendung
13-3.
UML Modell der Klasse
Context
13-4.
UML Modell des Plug-In Konzepts
13-5.
UML Modell der Service Registry
13-6.
UML Modell der Plug-In, Interceptor und Extension Registry
13-7.
UML Modell des Resolvers
13-8.
UML Modell des Locators
13-9.
UML Modell der Request Handler
13-10.
UML Modell der Datentransferobjekte
13-11.
UML Modell des Rendering
13-12.
UML Modell der Interceptoren
13-13.
Definition der Composite-Struktur von Request Handlern in UML
13-14.
UML Modell des Decorate Request Handlers
Next
Getting Started