Anwendung des Test-Driven Developments auf den Entwicklungsprozess von Modelltransformationen
Ausgangspunkt:
Zunehmend komplexe Data-Warehouse-Architekturen stellen höhere Anforderungen an das Metadatenmanagement. Insbesondere die Verknüpfung fachlicher und technischer Metadaten sowie die Visualisierung von Zusammenhängen sind essenziell. Im Rahmen des Forschungsprojekts „Computer-Aided Warehouse Engineering“ wurde ein modellgetriebenes Entwicklungsparadigma konzipiert, welches ein vollständiges Forward-, Reverse- und Re-Engineering sowie die automatische Generierung fachlicher und technischer Dokumentation von Data-Warehouse-Systemen ermöglicht.
In diesem Kontext sind eine Reihe von Modelltransformationen zu erstellen und zu warten. Aufgrund sich ständig ändernder Anforderungen sowie projektspezifischer Bedürfnisse ist in deren Entwicklungsprozesses die Anwendung der agilen Praktik des Test-Driven Developments (TDD) hilfreich.
Zielstellung:
Die Bachelor-Arbeit gibt einen Überblick zum TDD sowie bereits existierenden Ansätze in der Entwicklung von Modelltransformationen. Anschließend erfolgt eine Übertragung der Erkenntnisse, sodass folgende Aspekte am konkreten Beispiel der Transformation von Entity-Relationship-Modellen in relationale Datenbankmodellen (und vice versa) untersucht werden:
- Wie sieht das allgemeine Vorgehen bei der Anwendung von TDD bei der Entwicklung von Modelltransformationen aus (Testdatengenerierung bzw. -verwaltung etc.)?
- Wie können schrittweise im Entwicklungsprozess der Transformationen Tests aufgebaut werden?
- Wie können aus Metamodellen analytisch Testmodelle hergeleitet werden? Bestehende Ansätze, welche das Kreuzprodukt von Metamodell-Elementen bilden, sind ein Ausgangspunkt der Untersuchung. Wie wird das entsprechende Zielmodell daraus abgeleitet?
- Wie kann nachgewiesen werden, dass eine Modelltransformation mit allen möglichen Konstrukten eines Input-Modells umgehen kann?
Beistellung:
E-Learning-Kurs zur Einarbeitung in die modellgetriebene Software-Entwicklung am Beispiel von Entitiy-Relationship-Modellen sowie relationalen Datenbankmodellen. Die Transformation erfolgt mithilfe der Eclipse Modeling Workflow Engine (MWE) sowie den dort zur Verfügung stehenden Sprachen Xtend (für Modelltransformationen) sowie Check (zum Prüfen von Modellen).
Quellen:
- T. Stahl, M. Völter, S. Efftinge, und A. Haase, Modellgetriebene Softwareentwicklung – Techniken, Engineering, Management, 2nd Aufl. Heidelberg: dpunkt, 2007.
- G. Pietrek u. a., Modellgetriebene Softwareentwicklung. MDA und MDSD in der Praxis, 1st Aufl. Entwickler.Press, 2007.
- Brottier, E., Fleurey, F., Steel, J., Baudry, B., & Traon, Y. (2006). Metamodel-based Test Generation for Model Transformations: an Algorithm and a Tool. 17th International Symposium on Software Reliability Engineering (pp. 85-94). IEEE. Retrieved February 6, 2011, from http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=4021974.
- Fleurey, F., Baudry, B., Muller, P.-A., & Traon, Y. L. (2007). Qualifying input test data for model transformations. Software & Systems Modeling, 8(2), 185-203. Springer Berlin / Heidelberg. Retrieved November 5, 2010, from http://www.springerlink.com/content/f2521064241207u5/.
- Küster, J., Gschwind, T., & Zimmermann, O. (2009). Incremental Development of Model Transformation Chains Using Automated Testing. In A. Schürr & B. Selic (Eds.), Model Driven Engineering Languages and Systems (Vol. 5795, pp. 733-747). Berlin, Heidelberg: Springer Berlin Heidelberg. Retrieved February 6, 2011, from http://www.springerlink.com/content/c48q07381314v5q0/.
- Mottu, J.-M., Baudry, B., & Le Traon, Y. (2006). Reusable MDA Components: A Testing-for-Trust Approach. In O. Nierstrasz, J. Whittle, D. Harel, & G. Reggio (Eds.), Model Driven Engineering Languages and Systems (Vol. 4199, pp. 589-603-603). Berlin, Heidelberg: Springer Berlin Heidelberg. Retrieved February 7, 2011, from http://www.springerlink.com/content/m250qt0213717705/.
- Sen, S., Baudry, B., & Mottu, J.-M. (2009). Automatic Model Generation Strategies for Model Transformation Testing. In R. F. Paige (Ed.), Theory and Practice of Model Transformations (Vol. 5563, pp. 148-164). Berlin, Heidelberg: Springer Berlin Heidelberg. Retrieved February 6, 2011, from http://www.springerlink.com/content/83j028822lh2qm72/.
















