Entwickeln Sie effizienter, steigern Sie die Qualität und straffen Sie Ihre Prozesse von Anfang bis Ende

Methodik­beratung und Tool­entwicklung

Systeme werden immer gr√∂√üer und komplexer. Sie werden zunehmend von multidisziplin√§ren Teams in immer k√ľrzeren Zyklen entwickelt. F√ľr Sie wird es deshalb immer wichtiger, sich darauf zu konzentrieren, wie Sie Ihr System entwickeln.

Wir kennen Antworten auf die Fragen:

  • Welche Aspekte k√∂nnen Sie automatisieren?
  • Wie k√∂nnen Sie Probleme und Fehler in der Entwicklung fr√ľhzeitig erkennen?
  • Wie integrieren Sie alle Ihre Interessengruppen effizient, ohne in Dokumenten und Besprechungen zu ertrinken?

Wirksame Werkzeuge sind ein wesentlicher Bestandteil zur Bewältigung dieser Herausforderung.

Maß­geschnei­der­te Werk­zeuge bieten zahl­reiche Vorteile!

  • H√∂here Produk¬≠tivi¬≠t√§t durch Auto¬≠mati¬≠sie¬≠rung

    Wiederkehrende Teile des Codes, sowie jene, die von Modellen abgeleitet werden können, können von Generatoren generiert werden, die Ihre Architektur- und Code-Richtlinien respektieren.

  • Erh√∂hte Quali¬≠t√§t durch Ana¬≠lysen

    Modelle enthalten mehr Dom√§nen¬≠semantik als Code und machen so aussage¬≠kr√§ftige Analysen wesentlich einfacher. Fehler werden fr√ľher erkannt.

  • Ratio¬≠nali¬≠sierter Prozess durch Inte¬≠gration von Inter¬≠essen¬≠gruppen

    Dank benutzer¬≠freundlicher Notationen in Form von Formeln, Tabellen und Diagrammen k√∂nnen auch Nicht¬≠programmierer einen direkten Beitrag leisten, ohne dass daf√ľr zus√§tzliche Dokumente ben√∂tigt werden.

  • Langlebig¬≠keit durch ge¬≠trennte Betrach¬≠tungs¬≠weise

    Halten Sie das Kernwissen Ihrer Domäne getrennt von seiner Implemen­tierung im Quellcode, damit es leichter wieder­verwendet werden kann.

Was wir tun.

Unsere Hauptaktivit√§t ist die Entwicklung von Werkzeugen f√ľr Softwareentwickler, Systemingenieure und Gesch√§ftsanalysten, zur Erfassung und Analyse von Informationen und zur automatischen Erstellung einer Reihe von abgeleiteten Artefakten. Modelle sind das R√ľckgrat dieser Werkzeuge. Sie stellen sicher, dass die erfassten Informationen gut strukturiert sind und einem formell definierten Schema entsprechen. Diese Modelle werden mit einer auf die Dom√§ne zugeschnittenen Sprache ausgedr√ľckt, um die Ausdruckskraft und Analysef√§higkeit zu maximieren.

Language Engineering bezieht sich auf die Aktivität der Analyse einer Domäne, des Verstehens ihrer Kernabstraktionen und der anschließenden Implementierung in eine Sprache. Wir verwenden Sprach-Workbenches, um den Sprachentwicklungsprozess zu beschleunigen. Das Team steht an vorderster Front des Language Engineering und seiner Anwendung in der Industrie. Die Sprachen können grafische, tabellarische, symbolische oder textliche Notationen verwenden, je nachdem, was das Zielpublikum erwartet.

Dienstleistungen

  • Beratung - wir helfen Ihnen, Ihre Dom√§ne und Ihre Prozesse zu verstehen
  • Coaching - wir helfen Ihrem Team beim Aufbau von F√§higkeiten im Language Engineering und den entsprechenden Werkzeugen
  • Werkzeugentwicklung - wir entwickeln Komplettl√∂sungen f√ľr Ihr Unternehmen

Technologien

Wir verwenden haupts√§chlich die Jetbrains MPS- und Xtext-√Ėkosysteme. In beiden haben wir weltweit f√ľhrende Experten in unserem Team.

Wir tragen auch zur Entwicklung der Plattformen selbst bei, zum Beispiel √ľber die MPS Erweiterungen.

Ausgewählte Kunden und Projekte.

  • F√ľr Voluntis haben wir eine Reihe dom√§nenspezifischer Sprachen (DSLs) f√ľr die Entwicklung von Algorithmen f√ľr die Gesundheitsf√ľrsorge f√ľr digitale therapeutische Anwendungen entwickelt.

    Sehen Sie sich f√ľr weitere Informationen das Dokument "Using language workbenches and domain specific languages for safety-critical software development" an.

    Voluntis Logo
  • Mit DATEV arbeiten wir an der Entwicklung von dom√§nenspezifischen Sprachen (DSL) f√ľr Steuerberechnungen sowie Lohn- und Gehaltsabrechnungs-Anwendungen.

    Lesen Sie diese Vorabver√∂ffentlichung f√ľr weitere Details.

    DATEV Logo
  • Wir helfen Workday bei der Entwicklung ihrer internen Programmiersprache und der dazugeh√∂rigen Werkzeuge.

    Dieses Video bietet einen √úberblick, ebenso wie diese Folien.

    Workday Logo
  • F√ľr Z√ľrich haben wir einen Word-basierten Entwicklungsprozess in eine DSL, mit nachgeschalteter Codegenerierung nach C, formalisiert.

    Z√ľrich Logo
  • Wir unterst√ľtzen SIGI bei der Entwicklung einer DSL f√ľr administrative Webanwendungen.

    Sigi Logo

Ihr nächster Schritt.

Sie wissen jetzt, was wir tun und wie wir Sie bei der Entwicklung Ihrer Systeme unterst√ľtzen k√∂nnen. Nehmen Sie jetzt Kontakt mit uns auf, um konkrete L√∂sungen zu diskutieren.

Jetzt R√ľckruf anfordern Nachricht senden
Ihr Ansprechpartner f√ľr Methoden und Tools: Dr. Klaus Birken, itemis AG

Weitere Aktivitäten und Ressourcen.

Kommer­zielle Produkte und Open-Source-Projekte

  • Security Analyst ist ein kommerzielles Produkt zur Analyse von Security Threads in technischen Systemen.
  • mbeddr (Homepage, GitHub) ist eine erweiterbare Version von C, die in MPS implementiert ist, sowie eine Reihe von mehr als 30 Erweiterungen von C, f√ľr die Entwicklung eingebetteter Software.
  • IETS3 ist eine Reihe von Sprachen f√ľr das Systems-Engineering, die im Rahmen eines Forschungsprojekts entwickelt wurden.
  • KernelF (Github als Teil von IETS3, Dokument) ist eine funktionale Sprache, die wir als Grundlage f√ľr viele der von uns entwickelten DSLs verwenden.
  • Mit Modelix entwickeln wir eine Cloud-basierte Sprach-Workbench.

Aktive For­schungs­pro­jekte

In allen unseren aktiven Projekten verwenden wir MPS, um innovative Ansätze zu verfolgen. SAFE4I und SecForCARS werden beide vom deutschen BMBF gefördert.

  • SAFE4I: Beschleunigung der Entwicklung funktional sicherer Software durch werkzeugunterst√ľtzte Automatisierung.
  • SecForCARs: Sicherheit f√ľr vernetzte, autonome Fahrzeuge.

Siehe auch die Liste aller Forschungsprojekte unter itemis.

Ausge­wählte Publika­tionen und Vor­träge

  • "Build your own language - why and how" (Video). Markus V√∂lter, GOTO Amsterdam 2018.
  • "Using C language extensions for developing embedded software - a case study" (Paper). Voelter, van Deursen, Kolb, Eberle. OOPSLA 2015.
  • "Using language workbenches and domain-specific languages for safety-critical software development" (Paper). Voelter, Kolb, Birken, Tomassetti, Alff, Wiart, Wortmann, Nordmann. SOSYM Journal 2018.
  • "Automated testing of DSL implementations - experiences from building mbeddr" (Paper). Ratiu, VoŐąlter, Pavletic. 2017
  • "Fusing modeling and programming into language-oriented programming" (Paper). Voelter. 2018.