Community

Fulib. Macht Java Code aus Klassendiagrammen

: Am Lehrstuhl für Software Engineering der Uni Kassel entstehen Ideen für intelligente IT-Lösungen. Professor Albert Zündorf stellt uns Fulib vor.

Fulib ist eine neues leichtgewichtiges Tool zur Generierung von Java aus UML-Klassendiagrammen. Einst als Fujaba bzw. SDMLib an der Uni Kassel gestartet, wurde es inzwischen nochmal völlig neu gedacht und entsprechend weiterentwickelt.

Fulib hat keinen graphischen Editor, sondern nur eine einfache API: Man schreibt ein paar Java-Statements wie createClass(„Product“), createAttribute(product, „price“, DOUBLE) oder createAssociation(customer, product, „products“, MANY, „customers“, MANY) und lässt dann Generator.generate(classModel) drüber laufen – fertig ist die Java-Implementierung.

Features & Vorteile von Fulib im Überblick:


  • Fulib gibt es als Gradle Plugin.
  • Der generierte Code braucht KEINE Runtime Library.
  • Das Ganze funktioniert iterativ und mit GIT.
  • Der generierte Code kann mit manuellen Teilen gemischt werden.
  • Refactorings wie z. B. die Umbenennung von Klassen und Attributen sind möglich.
  • Es gibt auch eine OCL-ähnliche und eine cypher-ähnliche Query Language.
  • Query Languages werden wiederum als Java API angeboten.
  • Die API kann man aber auch selbst generieren, dann braucht man KEINE Runtime Library
  • Die Query Languages benutzen intern Reflection und brauchen nur normale Getter, d. h. das funktioniert auch auf manuell programimerten Modellen (und Modellteilen).
  • Und weil die Queries letztlich wieder nur Java Code, sind kann man sie mit Git verwalten und iterativ arbeiten.

Zum Speaker:

Albert Zündorf ist Professor für Software Engineering an der Universität Kassel.

Zur Java User Group Hessen:

Die Java User Group Hessen (JUGH) ist Teil des internationalen Netzwerkes von Java Communities, die sich der weltweiten Verbreitung von Java-Know-how verschrieben haben. Im Sommer 2009 wurde sie von Entwicklern der Micromata GmbH ins Leben gerufen und kann seither auf eine ganze Reihe spannender Workshops und Vorträge zum Thema Java zurückblicken. Die JUGH trifft sich einmal im Monat (in der Regel immer am letzten Donnerstag) in Kassel. Eine Voranmeldung ist meistens nicht nötig, der Eintritt ist frei.

Sebastian Hardt