Wir bauen Sprachen

Mit unseren Kunden entwickeln wir domänenspezifische Sprachen (DSLs), die benutzerfreundlich sind und zugleich die stetig steigende Systemkomplexität beherrschbar machen.

Domänenspezifische Sprachen

Die Aufgaben bei der Entwicklung von technischen Systemen und Anwendungen sind vielfältig und durch immer schneller wachsende Komplexität geprägt.

Ein bewährter Ansatz, diese Komplexität beherrschbar zu machen, ist die möglichst formale Modellierung von Anforderungen, deren Design und Umsetzung über Abteilungsgrenzen hinweg. Das Problem: Es existieren oft keine “passenden” Sprachen, Modelle oder Formalismen, mit Hilfe derer die relevanten Aspekte einer Aufgabenstellung “eineindeutig” abbildbar sind.

Language Workbenches sind moderne Werkzeuge mit Hilfe derer die effiziente Entwicklung von angepassten, domänenspezifischen Sprachen und Modellen ermöglicht wird. In Abhängigkeit von der Aufgabenstellung stehen verschiedene technische Lösungen mit individuellen Stärken zur Verfügung. Language Workbenches sind branchen- und domänenunabhängig. itemis wendet diese Methode unter anderem in den Bereichen Automotive, Industrie 4.0, Medizintechnik, IoT oder dem Versicherungswesen seit mehr als 5 Jahren erfolgreich an.

itemnis-language-l

Domänen und Anwendungsbeispiele

Domänenspezifische Sprachen haben das Potenzial, bestehende Werkzeugketten auf der Methodenebene zu ergänzen und zu erweitern. Nutzer erhalten mit DSLs die Möglichkeit, ihre Anforderungen und Design-Entscheidungen in verschiedenen Repräsentationen, einschließlich Text, Tabellen, Graphen und mathematischen Formeln auszudrücken – und das in einer einzigen, integrierten Umgebung und auf Basis der Sprachkonzepte und Notationen, die sie aus ihrer Domäne gewohnt sind. Moderne Analysemethoden wie Tracing und Model-Checking eröffnen dabei zusätzliche Möglichkeiten, die Nachvollziehbarkeit und Konsistenz der Modelle sicherzustellen.

Automotive

Die steigende Komplexität im Bereich der Entwicklung technischer Systeme macht auch vor der Automobilindustrie nicht halt.

Fahrzeuge enthalten immer mehr Schnittstellen zu internen und externen Systemen und Komponenten. Fahrerassistenzsysteme übernehmen mehr und mehr Funktionen, die zum großen Teil in Software realisiert werden. Gleichzeitig erwartet der Markt bei steigender Komplexität kürzere Produktentwicklungszyklen.

Domänenspezifische Sprachen kommen in den Phasen des Anforderungsmanagements, im Design und der Architektur zum Einsatz und unterstützen den Formalisierungsprozess von Requirements und Modellen in den frühen Phasen der Entwicklung.

DSLs unterstützen Designer und Entwickler zum Beispiel bei der Vermeidung von Fehlern und Inkonsistenzen im Bereich der Schnittstellen- und Komponentenmodellierung.

Embedded & IoT

Das Entwicklungsumfeld für Embedded-Systeme unterliegt einem schnellen Wandel. Elektronische Steuersysteme werden immer leistungsfähiger und erlauben es Entwicklern, mehr und mehr Funktionen in Software zu realisieren.

Hinzu kommt die wachsende Vernetzung von Systemelementen – nicht nur untereinander sondern auch mit dem Internet. Das Zeitalter des “Internet of Things” (IoT) hat bereits begonnen. Die Realisierung von mehr Funktionen bei gleichzeitiger Erhöhung der beteiligten Komponenten und Kommunikationspartnern führt zu einem starken Anstieg der Systemkomplexität.

Der Einsatz von domänenspezifischen Sprachen in den frühen Phasen des Entwicklungsprozesses unterstützt Anwender bei der Modellierung und Analyse komplexer Systeme. Dies führt zu einem besseren Systemverständnis auf der Strukturebene, der Verhaltensebene sowie bezüglich nicht-funktionaler Eigenschaften. Auf Basis der domänenspezifischen Modelle erfolgen beispielsweise Schnittstellen-Analysen oder die Bewertung der Security-Eigenschaften des Systems.

Medizintechnik

Auch im Medizin- und Healthcare-Bereich hat die Digitalisierung große Auswirkungen.

Die Komplexität von medizinischen Geräten und Anwendungen nimmt stetig zu. Konfigurationsoptionen müssen inzwischen hunderte oder tausende von Parametern berücksichtigen.

Es entstehen zudem neuartige mobile Applikationen, die zum Beispiel Ärzte und Patienten während einer Langzeitbehandlung begleiten.
Geräte und Applikationen unterliegen medizinischen Normen und aufwändigen Zertifizierungsprozessen.

DSL-basierte Werkzeuglösungen unterstützen Hersteller im Entwicklungsprozess, in den Bereichen Design, Implementierung, Test und Dokumentation. Durch (teil-)automatisierte Prozessschritte können Zeiten, Aufwände und Kosten in der Entwicklung stark reduziert werden.

Textbasierte DSLs – Sprachentwicklung mit Xtext

Xtext ist seit vielen Jahren der de facto Standard unter den Language Workbenches für Softwerker. Das frei verfügbare Open-Source-Framework wurde von itemis ins Leben gerufen und seither stetig weiterentwickelt, so dass es heute in den verschiedensten Branchen, Bereichen und Projekten unterschiedlichster Form erfolgreich eingesetzt wird. Mit Xtext werden Sprachen und Entwicklungsumgebungen für Ingenieure und Softwareentwickler effizient realisiert. Auch DSLs für Fachexperten werden erfolgreich mit Xtext umgesetzt.

Als textbasiertes Werkzeug gliedert sich Xtext und damit auch alle Xtext-Sprachen nahtlos in bestehende Workflows und Tools ein. Unter der Haube kommen mit dem Eclipse Modelling Framework (EMF) und der Eclipse Platform ausgereifte und robuste, frei verfügbare Technologien zum Einsatz. Dies bietet wiederum zahlreiche weitere Integrationsmöglichkeiten.

Als treibende Kraft hinter Xtext verfügt itemis über entsprechend langjährige Erfahrungen im Bereich der DSL-Entwicklung und unsere Experten stehen jederzeit mit Rat und vor allem auch mit tatkräftiger Unterstützung zu Seite. Wir helfen dabei, geeignete Abstraktionen zu finden, effiziente und pragmatische Lösungen zu implementieren und Stolperfallen zu vermeiden. Gemeinsam kommen wir schneller ans Ziel!

Projizierende Editoren – Sprachentwicklung mit MPS

MPS (Meta Programming System) ist eine Language Workbench von Jetbrains, mit der DSLs auf Basis eines projizierenden Editors entwickelt werden. Als Jetbrains Entwicklungspartner verfügt itemis über umfassende Expertise in der Verwendung von MPS.

Viele Modelle und Spezifikationen profitieren von der Möglichkeit, unterschiedliche Darstellungsformen kombinieren zu können. Texte, Tabellen, Grafiken, Entscheidungsbäume und Formeln sind nur einige Beispiele. Projizierende Editoren erlauben die flexible Kombination verschiedener Darstellungsformen in einem Werkzeug innerhalb des gleichen Modells.

In den letzten Jahren hat itemis eine Vielzahl von DSL-Projekten in verschiedenen Branchen erfolgreich durchgeführt.
Aufbauend auf den Basisfunktionen von MPS kann itemis daher heute spezielle MPS-Erweiterungen in Projekte einbringen. Dazu gehört zum Beispiel die Modellierung von komponentenbasierten Systemen, das Management von Varianten oder die Simulation von Performance-Eigenschaften modellierter Systeme.