Hahn, M.:
MDBDA
Model-driven Big Data Analytics. University of Kassel, Masterarbeit, 2014
[Volltext] [Kurzfassung]
[BibTeX]
Die Verarbeitung großer Datenmengen, sehr heterogener Daten und/oder mit
einem hohen Datendurchsatz wird unter dem Begriff Big Data zusammengefasst
und ist ein großer Trend in der Informatik und Wirtschaft[1][2]. Der weltweite
Big Data Markt soll jährlich um 36% wachsen[3]. Qualifizierte Experten sind in
dieser relativ neuen Technologie noch schwer zu finden. Analysen dieser Daten
gestalten sich für den Anwender noch recht schwierig, da viel Programmierarbeit
in die Erstellung von Analysealgorithmen gesteckt werden muss. Zusätzlich müs
sen Entwickler dieser Algorithmen sowohl domänenspezifisches Wissen über die
Daten, als auch Erfahrungen mit den eingesetzten Technologien und Techniken
mitbringen. Im Rahmen dieser Arbeit soll eine Möglichkeit aufgezeigt werden,
wie die Erstellung von Auswertungsalgorithmen für Massendaten und heterogene
Daten durch den Einsatz eines modellgetriebenen Vorgehens vereinfacht werden
kann. Dadurch soll es möglich werden, Analysen mit wenig Wissen über die ein
gesetzten Technologien und Techniken zu erstellen. Eine Entwicklungsumgebung
soll es schließlich einem Domänenexperten erlauben, mithilfe eines graphischen
Editors Analysen zu erstellen. Dabei soll er während der Erstellung durch eine
stetige Konsistenzanalyse, die durch den definierten Entwicklungsworkflow vorge
gebenen ist, gemäß dem Test-first Prinzip unterstützt werden. Der Einsatz eines
graphischen Editors bringt dem Experten nicht nur Vorteile bezüglich Übersicht
lichkeit der Analysen, sondern bietet auch eine steilere Lernkurve im Vergleich
mit einer textuellen Domain-Specific Language (DSL)[4]. Schlussendlich lassen
sich die erstellten Diagramme leicht Entscheidungsträgern nahebringen und die
nen einer gut verständlichen Dokumentation.
Hahn, M.:
Entwicklung des DRUGSTORE Framework. Uni Kassel, 2013
[BibTeX]
Eickhoff, C.; Geiger, N.; Hahn, M. & Zuendorf, A.: Developing Enterprise Web Applications using the Story Driven Modeling approach. In: Melia, S. (Hrsg.): 2011
[BibTeX]
Geiger, N.; George, T.; Hahn, M.; Jubeh, R. & Zündorf, A.: Using Actions Charts for Reactive Web Application Modelling. In: LNCS (Hrsg.): 2010
[Volltext] [Kurzfassung]
[BibTeX]
Building a rich internet application (RIA) requires the programming of various callbacks and listeners. AJAX like server requests require callback handler objects that react to the asynchronous server response. Active GUI elements like buttons or menu entries require action handlers. Using a timer queue requires appropriate event handlers, too. Programming all these handlers is tedious and error prone. Subsequent steps of e.g. initialization or of a protocol of server requests are scattered over multiple separated blocks of code. The control flow between these blocks is hard to retrieve. Some common variables have to be introduced in order to pass the application state between the different handler blocks. To overcome these problems, we propose to use an extension of UML statecharts, called action charts, dedicated to the modeling of callbacks and listeners. All kinds of handlers are modeled in a common uniform statechart notation. States become actions or handlers. Transition represent the flow of execution. Variables are shared between actions providing a simple mechanism for passing the application state from one handler to the next. From such action charts we generate GWT compliant Java code that facilitates validation and debugging of the modeled behavior. This is implemented as part of the open source CASE tool Fujaba.
Hahn, M.; Jubeh, R. & Zündorf, A.: Verteiltes WebCoObRA Framework - Ein wolkiger Ausblick. In: Weisemöller, R. A. I. & itemis AG Lisa Fedoryan (Hrsg.): 2010
[Volltext] [Kurzfassung]
[BibTeX]
Wir verwenden seit geraumer Zeit erfolgreich das CoObRA Persistenz Framework innerhalb des Fujaba-Projektes als Persistenzschicht für modellgetrieben entwickelte Anwendungen. Im Kontext von größeren Web-Anwendungen zeigen sich jedoch Probleme - das Instanz-Modell wird als komplette Einheit betrachtet und sowohl auf dem Server als auch allen Clients vollständig im Speicher gehalten. Es gibt nur eine zentrale Instanz, welche die Daten persistiert. Fein granulare Rechte und Sichtbarkeiten, z.B. für verschiedene Nutzerrollen, sind nicht möglich. Wir möchten einen Ausblick auf geplante Aktivitäten in unserer Forschungsgruppe geben, das CoObRA-Framework fit für verteilte Web-Anwendungen zu machen. Dabei ist uns besonders wichtig, dass bestehende Anwendungen einfach migriert werden können und der strikt modellgetriebe Ansatz fortgeführt wird.
Aschenbrenner, N.; Dreyer, J.; Hahn, M.; Jubeh, R.; Schneider, C. & Zündorf, A.: Building Distributed Web Applications based on Model Versioning with CoObRA: an Experience Report.
Proc. 2009 Intl. Workshop on Comparison and Versioning of Software Models. ACM, 2009, S. 19-24
[Volltext] [Kurzfassung]
[BibTeX]
Originally, model versioning has been developed to enable teams of developers to work on common model data, concurrently. We have the idea to use the same techniques to facilitate the collaboration of collaboration applications. Multi threaded applications share a common main memory. Thus, all threads have access to the full data structures and each thread may query and update the data structures, concurrently, in order to fulfill its tasks. In distributed applications, each distributed process has access only to its own share of the data model. In order to query and update remote data structure parts, the process has to send an appropriate request to the process, that owns that data. Transferring complex data structures, e.g. as query result, from one process to the other requires tedious data serialization and deserialization mechanisms. To overcome these problems, this paper proposes to replicate model data for each process and to use model versioning techniques to synchronize the different model data replicas. We have built a web based workflow editor and a web based version of a Ludo game to validate this idea. This paper reports about our experiences with the data replication approach and our experiences in using it for web applications.
Geiger, N.; Eickhoff, C.; Hahn, M.; Witzky, I. & Zündorf, A.: Future Web Application Development with Fujaba. In: Gorp, P. V. (Hrsg.):
Proceedings of the 7th International Fujaba Days. 2009, S. 51-55
[BibTeX]
Hahn, M.:
The Google Web Toolkit a deeper look & Extensions for GWT. , 2008
[Volltext] [Kurzfassung]
[BibTeX]
Das Google Web Toolkit (GWT) ist ein Framework zur Erstellung dynamischer
Webanwendungen mit einer Hochsprache wie zum Beispiel Java. Das Problem für einen
Entwickler, eine solche Anwendung zu schreiben, ist das zur Erstellung einer WEB2.0-Applikation
benötigte Detailwissen über die Anwendung und das Zusammenwirken der unterschiedlichsten
Technologien wie CSS, JavaScript und HTML. Genau an diesem Punkt setzt GWT an. Mit GWT ist
es möglich eine WEB2.0- Anwendung ausschließlich in einer nahezu beliebigen Hochsprache zu
definieren. Der Einsatz von GWT bei der Entwicklung von WEB2.0-Projekten bietet nicht nur eine
große Unterstützung bei der Implementierung, sondern beginnt schon beim Design, fortgesetzt mit
der Einbindung von getesteten Eigen- und einer Vielfalt von vorhandenen Fremdbibliotheken, der
Verwendung von guten Entwicklungsumgebungen und der hier integrierten Testumgebung.