Konzepte

Generativ - intentional - alles nur ein Ritual?

Mit Sicherheit nicht. Gegenwärtig kursieren im Bereich der Software-Entwicklung zahlreiche Schlagworte, von denen sich viele tatsächlich immer schwerer voneinander und gegenüber früheren abgrenzen lassen. Hier sei nur andeutungsweise auf den methodisch-organisatorischen Bereich von XP (eXtreme Programming) bis zu "agiler" Software-Entwicklung verwiesen. Dies trifft jedoch keineswegs auf alle neuen Begriffe zu: Gerade im Bereich der Software-Entwicklung und –Programmierung tut sich einiges, was eine genauere Betrachtung verdient. Für Delta Software Technology stehen dabei die beiden Begriffe "Generative Programming" (GP) und "Intentional Programming" (IP) im Mittelpunkt. Ein immer wiederkehrendes Thema bei der Entwicklung von Generatoren ist ferner "Aspect-Oriented Programming" (AOP).

Wann ist der Einsatz von Generatoren generativ?

Die generative Programmierung hat die Entwicklung von Software-Systemfamilien zum Ziel. Der Kern dieses Ansatzes wird durch das sogenannte generative Domänenmodell beschrieben, in dem eine Abbildung von Informationen einer Anwendungsdomäne, bereichert um Konfigurationswissen, auf die Ebene der Implementierung, den sogenannten Lösungsraum, erfolgt. Dieser Abbildungsprozess ist automatisierbar und wird daher durch Generatoren bewerkstelligt. Werden Generatoren in diesem Sinne eingesetzt, so kann man zu Recht von generativer Programmierung sprechen.

 

Delta Software Technology bietet mit der ANGIE Frametechnologie und dem auf ANGIE basierenden Werkzeug Pattern By Example eine technische Basis zur praktischen Umsetzung generativer Programmierung an. Dabei wurde die Brauchbarkeit von ANGIE zur GP nicht nur in einer umfangreichen Technikprojektion wissenschaftlich nachgewiesen. Gerade der erfolgreiche Projekteinsatz dieser Technologie zur Entwicklung von Systemfamilien im Produkt SCORE Adaptive Bridges liefert das entscheidende Gütesiegel der Praxis. Powered By ANGIE

 

Wie entwickelt man intentional?

Das Ziel der intentionalen Programmierung besteht in der Zusammenführung der beiden Ebenen des Designs und der Implementierung von Software. Im Idealfall ist ein Programm identisch mit seinem Design, und dieses ist nur eine bestimmte Sicht auf das Programm. Zentraler Punkt der IP ist es daher, verschiedene Sichten auf ein Programm anzubieten, die verschiedene Abstraktionen repräsentieren. Diese Sichten (auch: "Renderings") sind technisch jedoch gleichwertig, d.h. man kann beispielsweise Manipulationen auf allen Sichten durchführen, die in gleicher Weise unmittelbar das Programm verändern. Das Design ist damit nicht einem vorgelagerten Werkzeug vorbehalten, sondern nur eine weitere Sicht auf dasselbe Programm.

Graphisches, semigraphisches und textuelles Rendering mit HyperSenses-Technologie

Graphisches, semigraphisches und textuelles Rendering mit HyperSenses-Technologie

Basierend auf dem erfolgreichen Werkzeug Pattern By Example und der ANGIE-Frametechnologie wurde bei Delta Software Technology die brandneue HyperSenses-Technologie entwickelt, um intentionale Programmierung in die Praxis umzusetzen.