In den heutigen Systemen ist der Quellcode für Bedingungsüberprüfung (Constraint) oft mit anderen Quelltexten vermischt (z.B. mit dem Code der Geschäftslogik). Der Ansatz mit expliziten Constraint-Klassen ist hingegen flexibler. Metadata werden eingesetzt um diese Constraint-Klassen zu managen und für Applikationen unterschiedlicher Zwecken anzupassen. Im Rahmen dieser Diplomarbeit wird ein Code-Generator erforscht und implementiert, um MDA-Unterstützung (Model Driven Architecture) für ein Software-Toolkit, das auf EJB (Enterprise Java Bean) und explizite Integritätsbedingungen basiert, anzubieten. Dieser Code-Generator unterstützt den Trade-off-Ansatz zwischen Verfügbarkeit und Konsistenz, nach dem im Rahmen des europäischen Forschungsprojekts DeDiSys geforscht wird. Infolgedessen unterstützt das Tool, dass während dieser Diplomarbeit entwickelt wurde, Metadata-Spezifikation für Constraints mit der Möglichkeit EJB-Quelltexte, explizite Constraint-Klassen und Metadata-Konfigurations-Informationen zu erzeugen.<br />Die Evaluierungsergebnissen zeigen, dass das generierte Code vom neuen implementierten Codegenerator hilfreich ist, aber weitere Erweiterungen, wie zum Beispiel Performanceverbesserung für das generierte Code, nötig sind um ein Codegenerator in ein Produktionssystem unbesorgt einsetzen zu können. Die generierte Constraints während der Evaluierungsphase waren direkt anwendbar ohne jegliche Änderungen, insbesondere jene Constraints mit einfachen Bedingungsanweisungen. Jedoch, wenn in Bedingungsanweisungen Schleifen oder komplexe Datentypen verwendet wurden, war der generierte Code zu langsam bei einer immer weiter steigenden Menge von eingefügten Objekten. Die Evaluierung zeigt, dass eine manuelle Optimierung nötig war um die Effizienz zu erhöhen. Eine weitere Möglichkeit ist andere Transformationssprachen zu verwenden wie zum Beispiel SQL, das vom implementierten "OCL-to-stored routines"-Transformer unterstützt wird. Der erreichte Effekt war, dass die Evaluierungsdauer linear mit der Anzahl der eingefügten Objekte stieg oder auf ein Maximum für jede einzelne Constraint-Validation begrenzt werden konnte.<br />
de
dc.description.abstract
In today's systems, the code for constraint checking is often tangled with other code (e.g. the code for the business logic). However, the approach with explicit constraint classes is more flexible. Metadata can be used to manage and to customize these constraint classes on applications with different purposes. In this diploma thesis, a code generator is investigated and implemented that provides MDA (Model Driven Architecture) support for a software development toolkit building upon EJB (Enterprise Java Bean) and explicit integrity constraints. This code generator supports the trade-off between availability and consistency as investigated by the European research project DeDiSys.<br />Consequently, the tool produced within this diploma thesis supports metadata specification for constraints along with the ability to generate EJB source code, explicit constraint checking classes and metadata deployment information.<br />The evaluation results illustrate that the generated code of the new build code generator is helpful, but many enhancements such as performance improvement of the generated code are necessary to use the code generator in a production system without worrying. The generated constraints during the evaluation phase were ready-to-use without any changes, particularly the constraints with simple condition statements.<br />However, when condition statements used loops or complex data types, the generated code was too slow with the increasing number of added objects.<br />The evaluation shows that manual optimization was necessary to increase the efficiency. Another possibility is using other transformation languages such as SQL that is supported by the implemented OCL-to-stored-routines transformer. The reached effect was that the evaluation duration increased linearly with the number of added objects or could be limited to a maximum for each constraint validation.
en
dc.language
English
-
dc.language.iso
en
-
dc.rights.uri
http://rightsstatements.org/vocab/InC/1.0/
-
dc.subject
dedisys
de
dc.subject
mda
de
dc.subject
uml
de
dc.subject
ocl
de
dc.subject
code generator
de
dc.subject
ocl to java
de
dc.subject
ocl to stored routines
de
dc.subject
ocl to stored functions
de
dc.subject
constraints
de
dc.subject
constraint checking
de
dc.subject
dedisys
en
dc.subject
mda
en
dc.subject
uml
en
dc.subject
ocl
en
dc.subject
code generator
en
dc.subject
ocl to java
en
dc.subject
ocl to stored routines
en
dc.subject
ocl to stored functions
en
dc.subject
constraints
en
dc.subject
constraint checking
en
dc.title
MDA support for constraint checking framework in EJB