This site uses cookies.
Some of these cookies are essential to the operation of the site,
while others help to improve your experience by providing insights into how the site is being used.
For more information, please see the ProZ.com privacy policy.
Freiberufliche Übersetzer bzw. Dolmetscher, Verifizierter Nutzer
Data security
This person has a SecurePRO™ card. Because this person is not a ProZ.com Plus subscriber, to view his or her SecurePRO™ card you must be a ProZ.com Business member or Plus subscriber.
Verbindungen zu Auftraggebern
This person is not affiliated with any business or Blue Board record at ProZ.com.
Ausgangstext - Deutsch PERFORMANCE DER ONLINE-PROGNOSEN FÜR ERNEUERBARE ENERGIEN MIT UML LAB VERBESSERT
»Mit UML Lab konnten wir unseren Webservice enercast.de zu einem performanten und sehr leistungsfähigen System weiterentwickeln. Das überzeugt auch unsere Kunden.«
Bernd Kratz, Chefentwickler, Gesellschafter und Geschäftsführer der enercast GmbH
»Als Prognosespezialist für Wind- und Sonnenstunden ist es für uns besonders wichtig, dass unser gesamter Datenverarbeitungsprozess schnell und effizient ist. Mit Yatta haben wir einen fachkundigen Partner für die effektive Verbesserung unseres Datenmodells gefunden. Damit haben wir uns ein kostengünstiges, schnelles und zukunftsfähiges Datenmodell für unsere Kunden gesichert.«
Bernd Kratz, Chefentwickler, Gesellschafter und Geschäftsführer der enercast GmbH
Projektbeschreibung:
Der Ausbau und der Verbrauch erneuerbarer Energien soll in den nächsten 10 Jahren verdoppelt werden. Energieträger wie Wind und Solar sind nahezu unerschöpfliche Energiequellen, deren Leistungspotenzial weit größer ist, als der deutsche Stromverbrauch.
In der Praxis ist das Einspeisen von Solar- und Windenergie in die Stromnetze jedoch ein großes Problem. Niemand weiß genau, wann der Wind bläst oder wie die Sonne scheint. Die Schwankungen belasten die Netze, führen zu erheblichem Energieverlust und lassen den Strompreis stark schwanken. Die Enercast GmbH löst dieses Problem durch eine Software-as-a-Service-Lösung zur Prognose von Wind- und Sonnenenergie.
Der Webservice enercast.de stellt vielseitige Prognosen rund um die Produktion, die Einspeisung und den Handel von Energie aus Wind- und Photovoltaik-Anlagen zur Verfügung. Er bietet einen detaillierten Überblick, an welchem Ort, zu welcher Uhrzeit und in welchen Mengen Wind- und Sonnenenergie in Deutschland produziert wird. Aus der Vorhersage europäischer Wetterdienste und satellitengestützter Strahlungsmeldungen berechnen die Algorithmen von enercast individuelle Ertragsprognosen. Das System führt die Berechnungen durch und verarbeitet hierbei Hunderte Terrabyte an Wetterdaten und Geoinformationen.
Der Prognosespezialist richtet sich damit an an Stromhändler, Netzbetreiber, Betriebsführer, Smart-Home- und Smart-Grid- Anbieter. Diese können mit enercast.de die Produktion von Wind- und Solarenergie prognostizieren und diese Energie effizient in die Netze und Energiemärkte einspeisen.
Projektaufgabe:
Für die 15-Minuten-genauen Leistungsprognosen bildet das Datenmodell von enercast.de unterschiedliche Datenstrukturen ab und setzt sie zueinander in Beziehung:
- Geoinformationen und Messdaten mit mehr als 750 Millionen Datensätzen,
- aktuelle Wetterdaten,
- Standorte von über 1.2 Millionen Wind- und Solarparks
Die hohe Nachfrage nach unterschiedlichen Webservices vergrößerte in den letzten Jahren die zu verarbeitende Datenmenge und erhöhte die hierfür benötigte Verarbeitungszeit. Deshalb wurde das enercast-Datenmodell mit JPA (Hibernate) in den letzten 4 Jahren von 8 Softwareentwicklern kontinuierlich weiter entwickelt. Das Modell bestand deshalb inzwischen aus vielen verschiedenen Teilmodulen mit über 2.000 Klassen.
enercast.de ist eine Software-as- a-Service-Lösung der enercast GmbH. Das Unternehmen mit Sitz in Kassel fokussiert sich auf komplexe Anwendungslösungen für die Energiebranche.
Der Software Engineering Prozess der enercast GmbH ist hierbei geprägt von einer engen Verbindung zur wissenschaftlichen Forschung und einer Vernetzung mit der Energiewirtschaft. Das Unternehmen arbeitet beispielsweise eng mit dem Fraunhofer-Institut für Wind- und Energiesystemtechnik (Fraunhofer IWES) zusammen,. Über die Innogy Venture ist zudem der Energiekonzern RWE an enercast beteiligt.
Technischer Hintergrund:
In Java werden die Methoden hashCode() und equals() verwendet, um die Identität von Objekten zu überprüfen. Dies übernimmt normalerweise die Java VM. Für Datenbankanwendungen, bei denen beispielsweise zwei unterschiedliche Java-Objekte dasselbe reale Objekt referenzieren, ist das unzureichend. Deshalb ist es erforderlich, beide Methoden in jeder Klasse des Datenmodells zu überschreiben und in der Implementierung die Werte der jeweiligen Attribute zu berücksichtigen. Hierzu gibt es zahlreiche Implementierungsmöglichkeiten, jede mit eigenen Vor- und Nachteilen. Im Fall von enercast hat der Projektleiter Bernd Kratz die konkrete Implementierung vorgegeben, diese sollte mit UML Lab für das gesamte Datenmodell vereinheitlicht werden.
Werden hashCode() und equals() überschrieben, sollte dies in allen Klassen auf die gleiche Weise erfolgen. Ein manuelles Vorgehen ist hierbei oftmals lästig, wenig kreativ und erfordert gleichwohl ein hohes Maß an Konzentration und Ausdauer von den beteiligten Softwareentwicklern. Darüber hinaus müssen bei einer Erweiterung der Klassen um ein Attribut, stets beide Methoden angepasst werden.
Bei der Analyse, welche Verbindung zwischen zwei Objekten bestehen bzw. ob zwei Objekte in Wahrheit dasselbe sind, werden bei der Überprüfung der Identität auch mal sehr große Teile des Datenmodells aus der Datenbank geladen. Dies führt zu einem übergroßen Speicherbedarf (Memory-Footprint) der Anwendung und deshalb zu einer schlechten Performance. Gerade für sehr große Datenbanken wie die der enercast GmbH ist ein geringer Footprint nötig.
Lösung:
Yatta Solutions unterstützte die enercast GmbH deshalb bei der Vereinheitlichung und Refakturierung ihres Datenmodells mit UML Lab. UML Lab verwendet für das Round-Trip-EngineeringNG einen Template-basierten Ansatz für Code-Modell-Transformationen. Dabei werden dieselben Templates, die üblicherweise nur für die Codegenerierung verwendet werden, auch für das Reverse Engineering genutzt. Hieraus resultiert eine äußerst flexible und leistungsfähige Lösung zum agilen Modellieren von Softwaresystemen. Die durchgeführten Arbeitsschritte bei der enercast GmbH waren im Detail:
1.Implementierungsvorgaben im Code Style spezifizieren
Die Templates für hashCode() und equals() wurden anhand der enercast Requirements in einem eigenen Code Style implementiert. Daran angeschlossen wurden sie in einem Beispielprojekt getestet und in Zusammenarbeit mit der enercast GmbH iterativ vervollständigt.
2.Templates erweitern
Im zweiten Schritt wurden die Templates erweitert, um beliebige alte Implementierungen der beiden Methoden einlesen zu können. Die Erweiterung diente dazu, die Templates mit den neuen Anforderungen zu verwenden, wenn sie auf den bestehenden Code passten. Entsprach die Implementierung nicht den Anforderungen, wird das Projekt zwar vollständig eingelesen, aber die entsprechende Methode(n) im Modell mit einem eigenen UML Keyword markiert.
«if hasKeyword(„legacyHashCode“)» ...legacy Implementierung...
«else»
...optimale Implementierung...
«endif»
3.Reverse Engineering
Der bestehende enercast Source Code wurde anschließend mit UML Lab durch das Template-basierte Reverse Engineering eingelesen. Existierende hashCode() und equals() Methoden, die nicht den Requirements entsprachen, wurden dabei im Modell – an Hand der Templates - automatisch mit dem entsprechenden Keyword („legacyHashCode“ oder „legacyEquals“) markiert. 4.Modell-basiertes Refactoring Zur Modellrefaktorierung wurde daraufhin ein kurzes Script in QVTo angelegt. Das Script entfernte beim Anwenden auf das Modell vollautomatisch alle legacy-Keywords. Daran angeschlossen wurden automatisch neue, optimierte Methodenrümpfe generiert.
Dieser Schritt kann optional auch ohne QVTo Script durch die beteiligten Entwickler manuell im Code durchgeführt werden. Die Automatisierung durch UML Lab spart jedoch mühsame Kleinarbeit. Das Ergebnis kann in jedem Fall im Modell nachvollzogen und geprüft werden.
5.Codegenerierung
Mit Hilfe des "Compare Generated Code"-Dialogs wurden die geänderten Implementierungen bearbeitet. Dabei gab es im enercast-Projekt nur Änderungen in den Methodenrümpfen von hashCode() und equals(). Entsprach der Code den Anforderungen, wurden die Änderungen durch die UML Lab Codegenerierung auf den Source Code angewandt.
Der gesamte Zyklus kann beliebig häufig wiederholt werden. Im Fall von enercast.de wurde sehr agil auf die sich ändernden Anforderungen an die Methodenimplementierung reagiert.
Technischer Nutzen
- Einfache Anpassung des UML Lab Codegenerators an spezifische Projektanforderungen
- Werkzeug-gestütztes Refactoring vereinheitlicht automatisch gewachsene Implementierung
- Einheitliche Implementierung von hashCode() und equals()
- Optimierter Speicherbedarf der Applikation
- Hoch qualitatives Datenmodell
- Hochgradig skalierbare Anwendung durch neues Datenmodell
Kundennutzen der enercast GmbH - Performantes und leistungsfähiges Softwaresystem - Kostengünstiges, schnelles und zukunftsfähiges Datenmodell
»Inzwischen benötigen wir für unsere Leistungsprognosen nur noch deutlich weniger Berechnungszeit. Der Webservice enercast.de ist damit noch performanter geworden. Das dient unseren Kunden und der Energiewende.«
Thomas Landgraf, Geschäftsführender Gesellschafter enercast GmbH

Übersetzung - Englisch PERFORMANCE OF ONLINE FORECASTS FOR RENEWABLE ENERGIES IMPROVED WITH UML LAB
"With UML Lab we have been able to further develop our web service enercast.de into a high- performance and very efficient system. Our customers are certainly convinced of this."
-Bernd Kratz, Chief Developer and Managing Director of enercast GmbH
"As experts in the forecasting of wind and sunshine hours, it is especially important to us that our entire data processing workflow be fast and efficient. We have found Yatta to be an expert partner for the effective improvement of our data models. With this partnership we have ensured a cost-effective and fast data model which will be able to serve our customers for many years to come."
-Bernd Kratz, Chief Developer and Managing Director of enercast GmbH
Project Description:
The development and use of renewable energy will likely double in the next ten years. Energy sources such as wind and sunshine are nearly inexhaustible resources, whose potential capacity is far greater than the entire consumption of electricity in Germany.
In practice, however, feeding solar and wind energy into the grid is rather difficult. Nobody knows exactly when there will be wind or sunshine. Natural fluctuations in wind and sunshine put a strain on the grid, leading to substantial energy losses, as well as wildly fluctuating energy prices. Enercast GmbH resolves this problem through a Software- as-a-Service solution for wind energy forecasts.
The web service enercast.de provides a wide variety of forecasts regarding the production, supply, and pricing of available energy from wind and photovoltaic facilities. The service offers a detailed overview of the location, time of day, and amount of wind and solar energy produced in Germany. For its energy production prognoses, the system's algorithms make use of forecasts provided by various European weather agencies as well as satellite measurements of solar radiation, performing calculations on hundreds of terabytes of weather and geospatial data.
The forecast specialist caters to energy traders, network operators, and operations managers, as well as to providers of smart home and smart grid services. With enercast.de, traders and operators can forecast the production of wind and solar energy, and efficiently feed this energy into the grid and into energy markets.
Project Specifications:
Producing energy capacity forecasts with a time resolution of fifteen minutes, the enercast.de data model establishes relationships between a wide variety of data structures, including:
- Measurements and geospatial data from over 750 million datasets
- Current weather data
- Locations of over 1.2 million wind and solar parks
The high demand for various web services in the last ten years has led to increasing data
processing volume as well as longer processing times. To meet this demand, over the last four years the enercast data model has been continually developed with JPA/Hibernate by eight software developers. The model consisted of many different submodules with over two thousand classes.
enercast.de is a Software-as-a- Service solution provided by enercast GmbH. Based in Kassel, Germany, the company focuses on solutions to complex problems for the energy sector.
The software engineering process used by enercast GmbH includes close relationships with academic research as well as with the energy industry. As an example, the company works closely with the Fraunhofer Institute for Wind Energy and Energy System Technology (Fraunhofer IWES) in Kassel and Bremerhaven.
Moreover, enercast has also taken part in the RWE energy group's Innogy venture.
Technical Background:
The Java methods hashcode() and equals() will be used in order to verify the identity of the objects. This typically makes use of the Java VM. For certain database applications, however, for example those which reference a single object with two different Java objects, this is insufficient. It is thus necessary to overwrite both methods in every class of the data model, and to account for the value of the respective attribute in the implementation. There exist many appropriate alternatives for implementation, each with individual advantages and disadvantages. In the case of enercast, Project Leader Bernd Kratz has stipulated that the entire data model should be standardized using UML Lab.
If hashCode() and equals() are overwritten, this should be carried out in the same manner in all classes. A manual approach is often tedious, is rather uncreative, and requires a great deal of concentration and endurance on the part of the software developer. Moreover both methods must be made to be compatible with one another if an attribute is to be added to the classes.
In the analysis of which connections exist between two objects or whether two objects are in fact identical, large portions of the data model are often imported from the database. This leads to an excessive memory footprint of the application and thus to poor performance. A smaller footprint is especially needed for large databases such as that maintained by enercast GmbH.
Solution:
For this reason, Yatta Solutions provided support to enercast GmbH for the standardization and refactoring of their data model with UML Lab. For its Round Trip Engineering NG, UML Lab uses a template-based approach for code- model transformations. These same templates, which are normally used only for code generation, are also used for reverse engineering. This results in an extremely flexible and capable solution for agile modeling of software systems.
In detail, the stages of production at enercast GmbH were:
1. Specification of implementation requirements in the code style scheme In accordance with the enercast requirements, templates for hashCode() and equals() were implemented in their own code style scheme. These were tested in a sample project, and completed in iterative fashion in cooperation with enercast GmbH.
2. Expansion of templates
In the second step, the templates were expanded to be able to import arbitrary legacy implementations of both methods. The expansion enables use of the templates with the new requirements, as long as they are compatible with the existing code. In cases where an instance was inconsistent with the requirements, the project was still completely imported, but the uncompliant method(s) were marked with their own UML keyword.
if hasKeyword('legacyHashCode') ...legacy implementation...
else
...optimal
implementation... endif
3. Reverse engineering
The enercast source code was subsequently imported using UML Lab's template-based reverse engineering. Existing hashCode() and equals() methods which did not meet requirements were automatically marked in the model with the appropriate keyword ("legacyHashCode" or "legacyEquals").
4. Model-based refactoring
For model refactoring, a short script in QVTo was created. Upon execution, the script removed all legacy keywords from the model. Moreover, new and optimized method bodies were automatically generated.
This step can also be carried out manually by the developer, without the use of a QVTo script. However automation through UML Lab saves the developer from tedious and redundant tasks. In any case the result can be reproduced and tested in the model.
5. Code generation
The modified implementations were handled using the "Compare Generated Code" dialog. In the enercast project, only the method bodies of hashCode() and equals() were modified. When the code was found to meet the requirements, the modifications were applied to the source code using the UML Lab code generation.
The complete cycle can be repeated often and in any order. In the case of enercast.de there was a very agile response to the changing requirements of method implementation.
Technical benefits
- Simple conformance of the UML Lab code generators to specific project requirements
- Application-supported refactoring simplifies automatically generated implementation
- Uniform implementation of hashCode() and equals()
- Optimized storage requirements of the application
- Highly qualitative data model - Highly scalable application through a new data model
Customer benefits for enercast GmbH
- High performance and high capacity software system
- Cost-effective, fast, and future-oriented data model
"Our energy capacity forecasts now require substantially less computation time. The web services of enercast.de now offer better performance than ever. This better serves not only our customers, but also the entire energy revolution."
- Thomas Landgraf, Managing Director of enercast GmbH
More
Less
Erfahrung
Übersetzungserfahrung in Jahren: 12. Angemeldet bei ProZ.com seit: Jun 2013.
memoQ, Microsoft Excel, Microsoft Word, Trados Studio
Lebenslauf
German (primary) and Italian, Spanish > English Translator with translation experience in law, IT, marketing, tourism, and PR.
Native English Speaker / Muttersprache Englisch
German language competency certified by Goethe Institut examinations.
B.S. Atmospheric Science (Meteorology), University of California at Davis
4 years experience as translator
4 years living/working experience in German and Italian speaking countries
2 Years as Research Fellow / Instructional Assistant in Department of Geosciences, Princeton University
2 Years as Research/Laboratory Assistant at University of California at Davis Stable Isotope Geochemistry Laboratory, Lawrence Livermore National Laboratory Center for Accelerator Mass Spectrometry, and University of California at Irvine Keck Center for Accelerator Mass Spectrometry
Research experience in software development, laboratory chemistry, numerical modeling for applied physics/meteorology/climatology/oceanography, field meteorology.
Five years of experience as science and mathematics teacher, including chemistry, physics, biology, algebra, geometry, calculus.
Experience as science test item writer for US online university.
I provide translations and proofreading, working with legal, business, scientific, and other types of documents.