Redlein, A. (2010). Optimization of an integrity constraints generator [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://resolver.obvsg.at/urn:nbn:at:at-ubtuw:1-32167
Diese Diplomarbeit befasst sich mit der Optimierung eines Java Code Generators in den Bereichen Model-Driven Architecture (MDA) und verlässlichen verteilten Systemen. Der generierte Java Code stellt Constraint-Validierungs Code dar, der von OCL Constraints generiert wird. Diese OCL Constraints werden innerhalb eines UML Modelles definiert. Dieser Java Code-Generator generiert nicht immer den effizientesten Code in Bezug auf die Validierungs-Performanz wegen tiefer Verschachtelungen von Schleifen. Zu diesem Zweck wurde ein OCL to SQL Transformator implementiert, der SQL Code generiert, welcher Contraints auf Datenbankebene prüft. Weiters präsentiert diese Arbeit einen Transformationsalgorithmus der es erlaubt OCL Constraints in deren unzusammenhängende Teile zu splitten und diese Teile getrennt voneinander zu transformieren. Dadurch kann ein Constraint mittels Java und SQL geprüft werden. Zum Abschluss zeigt eine Evaluierung der Laufzeit-Performanz des generierten Java Codes, dass die Performanz erheblich verbessert wurde.<br />
de
This thesis addresses the optimization of a Java code generator in the fields of Model-Driven Architecture (MDA) and dependable distributed systems. The generated Java code represents integrity constraint validation code, which is generated from OCL constraints that are defined on a UML model. This Java code generator does not always produce the most efficient code with respect to its run-time performance, because of deep nested loops. For this purpose, a OCL to SQL transformer was implemented that generates SQL code validating constraints on the database layer. Furthermore, this work introduces a transformation algorithm that allows to split OCL constraints into their incoherent parts and to transform these parts separately. Hence, it is possible to validate one constraint using Java and SQL. Finally, an evaluation of the run-time performance of the generated Java constraint validation code shows that the performance is considerably increased.