Language Workbenches sind Tools zur effizienten Erstellung von externen domänenspezifische Sprache.
Seminar: Aktuelle Themen der Softwaretechnologie
von Prof. Dr. Christoph Reichenbach
an der Goethe-Universität Frankfurt am Main
Rex ist ein Tool zur Automatisierung von Applikations- und Konfigurationsrollouts. Die gewünschte Umgebung wird mittels eines Script (Perl) beschrieben und kann somit auf unterschiedlichen Systemen ausgeführt werden. Rex verbindet sich per SSH auf das Zielsystem und führt die entsprechenden Arbeiten aus.
In diesem Vortrag wird zunächst auf die Basis von Rex eingegangen. Dann wird gezeigt, wie man mit Hilfe von Rex sich und seinem Team schnell eine Testumgebung mit VirtualBox zur Verfügung stellen kann, und wie man – in Zusammenarbeit mit den Systemadministratoren – die gleichen Scripte zum Aufbau und dem Deployment der Produktionsumgebung verwenden kann.
Chemical cleaning uses chemicals to remove various types of scaling, sludges and deposits from equipment and piping. It is commonly used to prevent harm and maintain effectiveness by removing these deposits that form over time from liquids being processed. The document provides examples of different types of chemical cleaning agents like acids for removing mineral deposits and degreasers for removing greasy soils. It discusses how lack of regular chemical cleaning can lead to issues like microbial contamination of fuels. It also explains how chemical cleaning helps systems like district cooling and heat exchangers work more efficiently.
The document discusses EDTA cleaning of boilers. It explains that EDTA is a strong chelating agent that forms complexes with metal ions like iron and copper to remove deposits from boiler surfaces. The document outlines BHEL's experience using EDTA cleaning for 43 projects since 2003. It describes the full EDTA cleaning process used by BHEL, which includes alkali flushing, EDTA pickling and passivation, rinsing, and inspection stages. The process aims to improve boiler efficiency and minimize corrosion and failures.
The document discusses differences between American and European standards for project phases in engineering projects. In American standards, mechanical completion involves conformity checks and static de-energized testing, while precommissioning involves dynamic verification, on-line testing, and pre-startup activities. Commissioning then involves initial plant startup introducing hydrocarbons. In European standards, these phases are referred to differently as precommissioning, commissioning, and startup. The document also provides a diagram showing typical project phases in European terminology from pre-project engineering to routine operation.
The document provides information on the commissioning process for a boiler. It involves several key steps: air leakage and hydro testing, ensuring boiler auxiliaries are ready, gas distribution testing, light up of the boiler, alkali boil-out and passivation to clean the boiler, steam blowing of piping, safety valve testing, and finally coal firing. The commissioning aims to make the boiler and its systems available for safe, smooth, and reliable operation after erection is completed.
World Class Manufacturing:Plant Start Up and Commissioning Procedure HIMADRI BANERJI
The document provides an overview of plant commissioning and start-up procedures. It discusses the commissioning process which includes preparation and planning, mechanical completion and integrity checking, pre-commissioning and operational testing, start-up and initial operation, performance and acceptance testing, and post-commissioning. It then goes into more detail on specific aspects of the commissioning process such as developing start-up procedures, commissioning utilities, pressure testing, cleaning and flushing, and pre-commissioning operational testing.
Domain-Specific Languages (DSLs) entwickeln und anwendenRoland Ewald
Vortrag für die Java User Group Rostock (https://sites.google.com/site/jughro) am 16. 1. 2013 zu DSLs im Allgemeinen und dem Buch "Domain-Specific Languages" von Martin Fowler (http://martinfowler.com/dsl.html).
Rex ist ein Tool zur Automatisierung von Applikations- und Konfigurationsrollouts. Die gewünschte Umgebung wird mittels eines Script (Perl) beschrieben und kann somit auf unterschiedlichen Systemen ausgeführt werden. Rex verbindet sich per SSH auf das Zielsystem und führt die entsprechenden Arbeiten aus.
In diesem Vortrag wird zunächst auf die Basis von Rex eingegangen. Dann wird gezeigt, wie man mit Hilfe von Rex sich und seinem Team schnell eine Testumgebung mit VirtualBox zur Verfügung stellen kann, und wie man – in Zusammenarbeit mit den Systemadministratoren – die gleichen Scripte zum Aufbau und dem Deployment der Produktionsumgebung verwenden kann.
Chemical cleaning uses chemicals to remove various types of scaling, sludges and deposits from equipment and piping. It is commonly used to prevent harm and maintain effectiveness by removing these deposits that form over time from liquids being processed. The document provides examples of different types of chemical cleaning agents like acids for removing mineral deposits and degreasers for removing greasy soils. It discusses how lack of regular chemical cleaning can lead to issues like microbial contamination of fuels. It also explains how chemical cleaning helps systems like district cooling and heat exchangers work more efficiently.
The document discusses EDTA cleaning of boilers. It explains that EDTA is a strong chelating agent that forms complexes with metal ions like iron and copper to remove deposits from boiler surfaces. The document outlines BHEL's experience using EDTA cleaning for 43 projects since 2003. It describes the full EDTA cleaning process used by BHEL, which includes alkali flushing, EDTA pickling and passivation, rinsing, and inspection stages. The process aims to improve boiler efficiency and minimize corrosion and failures.
The document discusses differences between American and European standards for project phases in engineering projects. In American standards, mechanical completion involves conformity checks and static de-energized testing, while precommissioning involves dynamic verification, on-line testing, and pre-startup activities. Commissioning then involves initial plant startup introducing hydrocarbons. In European standards, these phases are referred to differently as precommissioning, commissioning, and startup. The document also provides a diagram showing typical project phases in European terminology from pre-project engineering to routine operation.
The document provides information on the commissioning process for a boiler. It involves several key steps: air leakage and hydro testing, ensuring boiler auxiliaries are ready, gas distribution testing, light up of the boiler, alkali boil-out and passivation to clean the boiler, steam blowing of piping, safety valve testing, and finally coal firing. The commissioning aims to make the boiler and its systems available for safe, smooth, and reliable operation after erection is completed.
World Class Manufacturing:Plant Start Up and Commissioning Procedure HIMADRI BANERJI
The document provides an overview of plant commissioning and start-up procedures. It discusses the commissioning process which includes preparation and planning, mechanical completion and integrity checking, pre-commissioning and operational testing, start-up and initial operation, performance and acceptance testing, and post-commissioning. It then goes into more detail on specific aspects of the commissioning process such as developing start-up procedures, commissioning utilities, pressure testing, cleaning and flushing, and pre-commissioning operational testing.
Domain-Specific Languages (DSLs) entwickeln und anwendenRoland Ewald
Vortrag für die Java User Group Rostock (https://sites.google.com/site/jughro) am 16. 1. 2013 zu DSLs im Allgemeinen und dem Buch "Domain-Specific Languages" von Martin Fowler (http://martinfowler.com/dsl.html).
Am 8. April 2008 fand in den Räumlichkeiten des Kosaido International Golfclubs in Düsseldorf die zweite Veranstaltung zum Thema modellgetriebene Softwareentwicklung (MDSD) statt. Unter dem Titel "MDSD - Chance und Herausforderung für IT-Organisationen" lag der Schwerpunkt der Vorträge dieses Mal auf den Organisatorischen Rahmenbedingungen, in denen MDSD erfolgreich betreiben.
Weitere Vorträge, die wir auch gern in Ihrem Unternehmen halten, finden Sie unter: https://www.iks-gmbh.com/impulsvortraege
Using openArchitectureWare 4.0 in domain "registration"joergreichert
Some retro: This presentation dated 2006 shows how to do model driven software development with openArchitectureWare 4.0 in the example domain "registration".
Although openArchitectureWare is now superseded by Xtext, Xtend2 and Xbase it is always good to remember the principles of model driven software development.
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer InfrastrukturQAware GmbH
JAX 2017, Mainz: Vortrag von Josef Fuchshuber (@fuchshuber, Cheftechnologe bei QAware) und Tobias Placht (@knacht, Software Ingenieur bei QAware).
Abstract: Wie oft kannst du ein neues Feature releasen? Jede Woche? Jeden Tag? Jede Stunde? Continuous Delivery ist einer der wesentlichen Treiber, warum wir Cloud-native Anwendung bauen. Für Software-driven Organisationen ist das der Schlüssel für eine sicherere, stabilere Software bei minimiertem Risiko und kurzen Feedbackschleifen. Die Herausforderung dabei ist, aus jeder Codeänderung möglichst schnell eine lauffähige und gründlich getestete Software zu machen. Das ist für viele Firmen ein wesentlicher Wettbewerbsvorteil. Wir zeigen in diesem Vortrag eine Werkzeugkette, mit der Continuous Delivery nicht nur für Cloud-native Anwendungen, sondern auch auf Cloud-nativer Infrastruktur möglich ist. Ganz im Gedanken von „Everything is Code“ betrachten wir dabei nicht nur das Bauen und Testen von Software, sondern auch die Automatisierung der Infrastrukturbereitstellung, der Deployments und Roll-outs. Dabei treffen alte Bekannte (z.B. Jenkins, SonarQube) auf Cloud-Computing-Technologien wie z.B. Docker für Betriebssystemvirtualisierung und DC/OS für das Clustermanagement.
Hier können Sie sich die Präsentationsfolien von Daniel Brockmann, Leiter Produktmanagement, SDL Language Technologies, vom 3. SDL Information & Networking Day
in Zürich ansehen.
.NET Core, .NET Standard & ASP.NET Core - Eine ÜbersichtJürgen Gutsch
.NET Core 2.0 ist seit kurzem released, ebenso wie ASP.NET Core 2.0 und der .NET Standard 2.0.
Aber was ist das genau?
Was ist der .NET Standard und was hat er für Auswirkungen auf die Entwicklung mit .NET?
In diesem Vortrag möchte ich euch zeigen was das .NET Core ist, was für Chancen und Möglichkeiten ASP.NET Core bietet und was der .NET Standard damit alledem zu tun hat.
Konzepte, Werkzeuge und Ideen aus der Praxis für bessere und erfolgreichere .NET-Softwareprojekte:
Klassen/Objekte/Komponenten, Mehrschichtige .NET-Anwendungen, Bibliotheken und Pattern, Frameworks und Tools, Unit Testing und Codeanalyse, Continous Integration und Versionsverwaltung, Dokumentation und Instrumentation
Slides from my presentation about application architectures for .NET Core applications. It covers desktop application, web applications, mobile applications as well as container-based applications. It's a roundup of the Microsoft Architecture Guides.
Was Sie schon immer über barrierefreie PDFs wissen wolltenMarkus Erle
Vortrag von Markus Erle, Wertewerk auf der Fachtagung "Aufbereitung barrierefreier Dokumente" im Rahmen der Daisy2009-Konferenz in Leipzig am 22.09.2009
Am 8. April 2008 fand in den Räumlichkeiten des Kosaido International Golfclubs in Düsseldorf die zweite Veranstaltung zum Thema modellgetriebene Softwareentwicklung (MDSD) statt. Unter dem Titel "MDSD - Chance und Herausforderung für IT-Organisationen" lag der Schwerpunkt der Vorträge dieses Mal auf den Organisatorischen Rahmenbedingungen, in denen MDSD erfolgreich betreiben.
Weitere Vorträge, die wir auch gern in Ihrem Unternehmen halten, finden Sie unter: https://www.iks-gmbh.com/impulsvortraege
Using openArchitectureWare 4.0 in domain "registration"joergreichert
Some retro: This presentation dated 2006 shows how to do model driven software development with openArchitectureWare 4.0 in the example domain "registration".
Although openArchitectureWare is now superseded by Xtext, Xtend2 and Xbase it is always good to remember the principles of model driven software development.
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer InfrastrukturQAware GmbH
JAX 2017, Mainz: Vortrag von Josef Fuchshuber (@fuchshuber, Cheftechnologe bei QAware) und Tobias Placht (@knacht, Software Ingenieur bei QAware).
Abstract: Wie oft kannst du ein neues Feature releasen? Jede Woche? Jeden Tag? Jede Stunde? Continuous Delivery ist einer der wesentlichen Treiber, warum wir Cloud-native Anwendung bauen. Für Software-driven Organisationen ist das der Schlüssel für eine sicherere, stabilere Software bei minimiertem Risiko und kurzen Feedbackschleifen. Die Herausforderung dabei ist, aus jeder Codeänderung möglichst schnell eine lauffähige und gründlich getestete Software zu machen. Das ist für viele Firmen ein wesentlicher Wettbewerbsvorteil. Wir zeigen in diesem Vortrag eine Werkzeugkette, mit der Continuous Delivery nicht nur für Cloud-native Anwendungen, sondern auch auf Cloud-nativer Infrastruktur möglich ist. Ganz im Gedanken von „Everything is Code“ betrachten wir dabei nicht nur das Bauen und Testen von Software, sondern auch die Automatisierung der Infrastrukturbereitstellung, der Deployments und Roll-outs. Dabei treffen alte Bekannte (z.B. Jenkins, SonarQube) auf Cloud-Computing-Technologien wie z.B. Docker für Betriebssystemvirtualisierung und DC/OS für das Clustermanagement.
Hier können Sie sich die Präsentationsfolien von Daniel Brockmann, Leiter Produktmanagement, SDL Language Technologies, vom 3. SDL Information & Networking Day
in Zürich ansehen.
.NET Core, .NET Standard & ASP.NET Core - Eine ÜbersichtJürgen Gutsch
.NET Core 2.0 ist seit kurzem released, ebenso wie ASP.NET Core 2.0 und der .NET Standard 2.0.
Aber was ist das genau?
Was ist der .NET Standard und was hat er für Auswirkungen auf die Entwicklung mit .NET?
In diesem Vortrag möchte ich euch zeigen was das .NET Core ist, was für Chancen und Möglichkeiten ASP.NET Core bietet und was der .NET Standard damit alledem zu tun hat.
Konzepte, Werkzeuge und Ideen aus der Praxis für bessere und erfolgreichere .NET-Softwareprojekte:
Klassen/Objekte/Komponenten, Mehrschichtige .NET-Anwendungen, Bibliotheken und Pattern, Frameworks und Tools, Unit Testing und Codeanalyse, Continous Integration und Versionsverwaltung, Dokumentation und Instrumentation
Slides from my presentation about application architectures for .NET Core applications. It covers desktop application, web applications, mobile applications as well as container-based applications. It's a roundup of the Microsoft Architecture Guides.
Was Sie schon immer über barrierefreie PDFs wissen wolltenMarkus Erle
Vortrag von Markus Erle, Wertewerk auf der Fachtagung "Aufbereitung barrierefreier Dokumente" im Rahmen der Daisy2009-Konferenz in Leipzig am 22.09.2009
7. !7
DSL
•
Domain Specific Language
•
Auf eine „Domäne“ zugeschnitten
•
Hohe Abstraktion
•
Wunsch: Soll von Domänenexperten (nichtProgrammierern) verwendet werden
•
z.B. mittels einfacher Syntax
8. !8
DSL
konkreter Syntax!
-
Repräsentation des abstrakten Syntax
abstrakter Syntax!
-
interne Darstellung der Syntax für weitere
Prozesse
-
z.B. Anwendung von Generatoren auf den
AST
9. !9
DSL
Interne DSL!
-
Vollwertige IDE bereits vorhanden
-
An Syntax des Hosts gebunden
-
„Laien“ können durch Funktionsumfang „erschlagen“ werden
Externe DSL!
-
Syntax frei wählbar, an „Laien“ anpassbar
-
Jedoch:
-
keine IDE
-
keine Interpreter usw.
10. !10
DSL
Vorteile!
-
Effizient - wenn gut umgesetzt
-
Steile Lernkurve
-
Reduktion von Kommunikationsaufwänden
Nachteile!
-
Entwicklungsaufwand:
‣
Konzeption (Schema)
‣
Parser, Interpreter, etc. (Generator)
‣
Komfortable Entwicklungsumgebung (Editor)
➡ Language
Workbench
16. !16
Language Workbench Challenge
•
Wettbewerb, um aktuelle Language Workbenches
(LW) untereinander zu vergleichen
•
Seit 2011 wird jedes Jahr eine Aufgabe gestellt, die
mit einem LW zu lösen ist.
29. !29
Spoofax
•
IDE auf Eclipse Basis
•
Dateien auf Textbasis
•
Stratego als mächtiges Werkzeug (Analyse,
Transformation und Generierung von Code)
•
Strategien und dynamische Regeln
•
Konkrete und abstrakte Syntax kombiniert
•
Sprachen können kombiniert werden
34. !34
Xtext
•
IDE auf Eclipse Basis
•
EMF Metamodell und konkrete Syntax in einer
Grammatik
•
Transformationen mit Kontrollstrukturen
•
Generiert Java-Klassen aus Grammatik
39. !39
Xtext
•
Steile Lernkuve für Java-Entwickler
•
•
•
Weniger formale schreibweise
Viel Java(-ähnlicher) Code —> lesbarer
Auch hier: viele IDE Features implementiert
42. !42
Fazit
•
Language Workbenches sind ein mächtiges
Entwicklungswerkzeug
•
Für wiederkehrende und sicherheitskritische
Aufgaben
•
Mit LW lassen sich Domain Sprachen effizient
entwerfen und erweitern