Delta Software Technology

Unser Angebot

Copy-Paste-Adapt ist die verbreitetste Methode, um ähnliche Aufgaben zu lösen oder Varianten eines Systems zu erstellen (der Einfachheit halber wird im Folgenden von Systemfamilien gesprochen, wenn ähnliche Aufgaben oder eine Menge von Varianten eines Systems gemeint sind, einzelne Mitglieder der Familie werden entweder als Instanz oder Variante bezeichnet). Der Nachteil dieser Methode ist jedoch, dass Aufgaben wie Fehlerkorrekturen, Änderungen, Erweiterungen, etc. für jede einzelne Variante wiederholt werden müssen. Dieser Weg ist sehr zeitaufwändig, fehleranfällig und kann ebenso teuer sein.

Dieses kann durch die Verwendung von Generatoren und domänenspezifischer Sprachen (DSLs) vermieden werden.

I would rather write programs
to help me write programs
than write programs.
Dick Sites

Allerdings setzten die meisten Generatortechnologien entsprechende Vorkenntnisse des Entwicklers voraus. Oft werden Generatoren von Softwareentwicklern nicht akzeptiert, da die Generierung nicht beeinflusst werden kann und der generierte Code nicht oder nur schwer lesbar und wartbar ist. Nur selten erfüllt der Code unternehmensspezifische Richtlinien zur Programmierung.

HyperSenses KonzeptDie Entwicklung einer DSL wird zumeist als eine kleine Fingerübung gesehen. Sobald jedoch DSL und Generator gemeinsam entwickelt werden müssen, damit sie zusammen spielen, und die DSL auch zu einem späteren Zeitpunkt noch erweitert oder geändert werden kann, wird aus der einfachen Übung eine zeitintensive Aufgabe für einen erfahrenen Entwickler. Soll die DSL nicht nur durch ihren Entwickler, sondern auch durch weitere Personen im Unternehmen verwendet werden, so ist häufig ein hoher Aufwand für die Erlernung dieser neuen Sprache erforderlich.

Erst, wenn der Generator und die DSL vollständig entwickelt wurden, erhält man ein testbares System. Dies hat zur Folge, dass (konzeptuelle) Fehler erst zu einem sehr späten Entwicklungszeitpunkt gefunden werden und im schlimmsten Fall nur mit großem Aufwand korrigiert werden können. Darüber hinaus verhindert es auch, dass Generatoren und DSLs in Kombination mit agilen Methoden verwendet bzw. Generator und DSL verteilt entwickelt werden können.

Aus den genannten Gründen scheuen viele Unternehmen den Einsatz von Generatoren und DSLs.

Anforderungen

Das Ziel bei der Entwicklung von HyperSenses war deshalb eine Generatortechnologie,

  • Die die schrittweise und verteilte Entwicklung von Generatoren und DSLs erlaubt und auch in Kombination mit agilen Methoden einsetzbar ist
  • Die die mühsame Programmierung eines Generators und einer dazu passenden erweiterbaren DSL vereinfacht und automatisiert und kein oder nur wenig Vorwissen bzgl. Generatorbau oder der Entwicklung von DSLs erfordert
  • Deren Eingaben gut lesbar und wartbar sind
  • Die DSLs unterstützt, die einfach und ohne große Einarbeitung verwendet werden können
  • Die es ermöglicht, Expertenwissen wiederzuverwenden und möglichst vielen Entwicklern zur Verfügung zu stellt
  • Die Code generiert, der für Menschen gut lesbar ist, vom Entwickler akzeptiert wird und ggf. im Unternehmen vorhandene Programmierrichtlinien einhält Für alle Projektgrößen effizient einsetzbar ist

Um diese Ziele zu erreichen, führt HyperSenses das Konzept „Model-Driven Meta-Development“, kurz MD2, ein. Während andere Vorgehensweisen Generatoren und DSLs für die modellgetriebene Entwicklung und generative Programmierung von Anwendungen benutzen, verwenden wir durchweg modellgetriebene Entwicklung und generative Programmierung, um Generatoren und DSLs zu entwickeln.

White Paper - HyperSenses

White Paper zu HyperSenses: HyperSenses vereinfacht die Entwicklung von Generatoren und DSLs und ermöglicht deren schrittweise und verteile Entwicklung. Erste Ergebnisse sind innerhalb von Stunden oder wenigen Tagen statt wie üblich in Wochen verfügbar, testbar und reproduzierbar. Deshalb ermöglicht HyperSenses die Verwendung von Generatoren und DSLs auch in Kombination mit agilen Methoden.

Weiterlesen...

Download

 

LiveZilla Live Chat Software