Neuer Weg für die Entwicklung Kybernetischer Entwicklungsansatz: Mit präziser Spezifikation zum Ziel

Durch den starken kybernetischen Ansatz ist SPV für Hard- und Softwareentwickler gleichermaßen interessant - eine SPV-Blockstruktur, die symbolisch die Zuweisung von Operationen zeigt, erinnert damit den einen an eine Art Schaltplan, den anderen an eine Art Flussdiagramm.
Durch den starken kybernetischen Ansatz ist SPV für Hard- und Softwareentwickler gleichermaßen interessant - eine SPV-Blockstruktur, die symbolisch die Zuweisung von Operationen zeigt, erinnert damit den einen an eine Art Schaltplan, den anderen an eine Art Flussdiagramm.

Echte Innovationen, die das Zeug haben, die Entwicklungstätigkeit grundlegend zu verändern, kamen fast immer aus den USA. Einen starken kybernetischen Ansatz verfolgend, kommt mit der Entwicklungsmethodik »SPV« die Innovation dieses Mal aus Deutschland und eröffnet neue Perspektiven für die Hard- und Software-Entwicklung

»SPV« entstand in 15-jähriger Entwicklung und beruht auf einer rein funktionalen Entwicklungsmethodik. Das spezifizierte System ist somit Software-/Hardware-neutral und wird erst für eine Realisierung in Software- und Hardware-Komplexe aufgeteilt. Die standardmäßige Weiterverarbeitung erfolgt dabei über den SPV-Zwischen-Compiler, der die Umsetzung der Spezifikationsdatenbasis in Hochsprachen wie C und C++ für den Softwarebereich bzw. VHDL oder Verilog für den Hardwarebereich übernimmt. Für den Hardwarebereich wird dabei sogar automatisch die Ablaufsteuerung erzeugt. Damit reduziert sich der sonst übliche Entwicklungsprozess von Spezifikation, Implementierung und Test »nur« noch auf die Spezifikation. Aufgrund der textuellen Strukturen ist die Spezifikation lesbar, Review-fähig bzw. diskutierbar und damit verifizierbar und kann auch von Personen, die (noch) nicht an der Entwicklung beteiligt sind, exakt interpretiert werden.

»Durch völlig neue Eigenschaften und Automatismen der SPV-Entwicklungsmethodik wird der Entwickler optimal entlastet, der Entwicklungsaufwand mehr als halbiert und eine fehlerfreie Umsetzung der Spezifikationsdatenbasis in Hochsprachen garantiert«, erklärt Leo Anetseder, Geschäftführer von LPA-Innovations und Vater von SPV. »Durch eine weit reichende, kontrollierte Determinierbarkeit des Gesamtentwicklungskomplexes können extrem kurze Entwicklungszeiten erreicht werden.«
Als einheitliche Methode für alle Entwicklungsvorhaben bzw. -bereiche bietet »SPV« wesentliche Vorteil gegenüber dem Stand der Technik:

  • Nur eine Entwicklungsebene, die der Spezifikation, sie ist bereits die Implementierung.
  • Beliebige Aufteilbarkeit der Spezifikation in Software- und Hardware-Bereiche mit Umsetzung in entsprechende Hochsprachen (C, C++ bzw. VHDL, VERILOG) für eine Weiterverarbeitung mit Standard-Tools.
  • Automatische Zuordnung von seriellen und parallelen Datenverarbeitungsschritten unabhängig von der Reihenfolge der Eingabe von Teilspezifikationen.
  • Bei der Spezifizierung werden den Methoden/Elementen nur Daten und die Funktion für die Datenverarbeitung zugewiesen, die interne Funktionsbeschreibung der Methoden/Elemente wird dabei nicht benötigt.
  • Konsistenzüberwachung von Spezifikationsänderungen.
  • Einfache Erstellung, Erweiterung bzw. Reduzierung von Architekturen (Toplevel, Schnittstellen, Komponenten) durch automatische Pfadzuweisung (Level-/Komponenten-Nummern).
  • Kurze Entwicklungszeiten durch Aufteilbarkeit eines Gesamtentwicklungskomplexes in Einzelentwicklungskomplexe mit automatischer Konsistenzprüfung bei nachfolgender Integration.
  • Durch Bereitstellung komplexer Methoden/Elemente bzw. komplexer Komponenten können komplexe Systeme auf hohem Level schnell entwickelt werden.
  • Durch die Zusammenführung von Spezifikation und Implementierung sowie dem Wegfall der Verifikation wird der Entwicklungsaufwand stark reduziert.

Einige der Punkte lassen sich mittels Spezial-Tools auch für die herkömmlichen Entwicklungsprozesse realisieren, allerdings bedeutet dies meist auch eine Umstellung der Arbeitsprozesse und einen teilweise hohen Integrationsaufwand in die bestehende Werkzeugkette. SPV bietet hingegen eine einheitlich Methodik, die nicht nur das Top-Down- sondern auch das Buttom-Up-Entwicklungsprinzip erlaubt und so der Philosophie aller Entwickler gerecht wird.

SPV nutzt dazu eine neuartige Organisation des Operatings in Verbindung mit der automatischen Generierung neuartiger Parameter bei der Spezifizierung der Komponentendatenverarbeitung. Hierdurch können für jede Basis-Operation, entsprechend vorliegender Kriterienkombinationen, Basis-Operations-Varianten spezifiziert werden. Die Spezifizierung einer Basis-Operations-Variante erfolgt dabei durch entsprechende Änderung von Datenverarbeitungsknoten einer Referenz-Operation, beispielsweise der Basis-Operation oder einer bereits bestehenden Basis-Operations-Variante. Dabei wird bei jeder Änderung eines Datenverarbeitungsknotens auf Konsistenz nachfolgender Datenverarbeitungsschritte geprüft und im Korrekturfall die entsprechend zu korrigierenden Datenverarbeitungsknoten angezeigt, so dass mit Abschluss der Spezifizierung einer Basis-Operations-Variante alle operativ beteiligten Datenverarbeitungsknoten fehlerfrei sind.

Die SPV-Spezifikationsdatenbasis wird nach Aufteilung in Software-/Hardware-Komplexe durch einen SPV-Zwischen-Compiler in Hochsprachen (C, C++ bzw. VHDL, Verilog) umgesetzt. Dabei werden für die Hochsprachen-Datenbasis  die »If-Then-Else«-Konstrukte jedem Datenverarbeitungs-Knoten automatisch zugeordnet. Für Hardware-Komplexe erzeugt der SPV-Zwischen-Compiler automatisch die Datenverarbeitungs-Ablaufsteuerung. Die Entwicklung des SPV-Zwischen-Compilers basiert auf einfachen Parametern, die von der SPV-Spezifikation generiert werden. Deshalb ist die Entwicklung des SPV-Zwischen-Compilers vollständig funktional verifizierbar bzw. testbar, so dass seine Compilierungs-Ergebnisse fehlerfrei zur Verfügung stehen, d.h. die SPV-Spezifikationsdatenbasis ist fehlerfrei in der compilierten Hochsprache abgebildet - ein echtes Novum an dem bislang alle ähnlich gelagerten Entwicklungsmethodiken scheiterten.

Durch die Zusammenführung von Spezifikation und Implementierung sowie dem Wegfall der Verifikation wird der Systementwicklungsaufwand stark reduziert. Darüber hinaus kann SPV einen Gesamtentwicklungskomplex ohne Schnittstellenprobleme in Einzelentwicklungskomplexe aufteilen und einzelnen Entwicklern zuweisen. Bei anschließender Integration der Einzelkomponenten in den Gesamtentwicklungskomplex wird automatisch auf Funktionskonsistenz geprüft. Die SPV-Toolchain gliedert sich dazu in vier Programme:

  • Instanziieren (Projekt-Toplevel, Komponenten)
  • Verbinden (Toplevel-/Komponenten-Ports)
  • Operating (Operations-Zuweisung)
  • Datenverabeitung (Methoden-Ergebnis-Zuweisung)

Für die Realisierung der Entwicklungs-Tools kooperiert LPA-Innovations (www.lpa-innovations.de) mit Fraunhofer ESK München. Es werden aber noch Kooperationspartner aus der Industrie gesucht. »Eine Chance besonders für deutschsprachige Mittelständler«, betont Anetseder. SPV wurde in DPA/PCT zum Patent angemeldet.