Text statt C++: Automatisierung des Systementwurfs mit Hilfe ...

Automatisierung des Systementwurfs mit Hilfe natürlicher Sprachverarbeitung. Rolf Drechsler, Mathias Soeken, Robert Wille. Universität Bremen & DFKI Bremen ...
112KB Größe 4 Downloads 262 Ansichten
Text statt C++: Automatisierung des Systementwurfs mit Hilfe natürlicher Sprachverarbeitung Rolf Drechsler, Mathias Soeken, Robert Wille Universität Bremen & DFKI Bremen GmbH Bibliothekstr. 1 28359 Bremen [email protected] [email protected] [email protected]

Zusammenfassung: Programmiersprachen stellen eine Schnittstelle zwischen Mensch und Maschine zur Verfügung. Es gibt heutzutage kaum ein elektronisches System, eine Hardwarekomponente oder Software, welche nicht durch Sprachen wie C++, Java, SystemC oder anderen beschrieben wird. Dabei haben Programmiersprachen den erheblichen Nachteil, dass sie spezielles Expertenwissen erfordern. Wäre es möglich Systeme direkt in natürlicher Sprache zu beschreiben und automatisch umzusetzen, würden viele technische Hürden fallen. Doch natürliche Sprachen leiden an der nicht vorhandenen Eindeutigkeit. So ist z.B. bei dem Satz „Jede Komponente wird durch eine Fernbedienung gesteuert“ zunächst unklar, ob alle Komponenten durch die gleiche Fernbedienung gesteuert werden oder ob jede Komponente ihre „eigene“ Fernbedienung hat. Im Rahmen dieses Tutorials werden Techniken und Methoden eingeführt, mit denen sich die Lücke zwischen Mensch und Maschine beim Entwurf von elektronischen Systemen schließen lässt. Dabei finden insbesondere aktuelle Fortschritte der natürlicher Sprachverarbeitung (engl.: Natural Language Processing, kurz: NLP) Anwendung. Generell ist es zwar nicht möglich, in allen Fällen die korrekte Semantik von natürlichsprachlichen Sätzen zu ermitteln, allerdings lassen sich trotzdem wichtige Informationen daraus ableiten. So können z.B. mit einer einfachen grammatikalischen Analyse wesentliche Komponenten einer Systembeschreibung ermittelt werden: Aus Subjekt, Verb und Objekt eines Satzes lassen sich Akteure, Methoden bzw. Komponenten eines Systems ableiten. Adjektive, die ein Objekt näher beschreiben, lassen sich als Attribute von Komponenten identifizieren. Diese Informationen erlauben es, aus einem Text automatisch erste formale Beschreibungen z.B. in der Unified Modeling Language (UML) zu erzeugen. Dies führt zwar noch nicht zu einer automatischen Übersetzung von Text nach C++, erlaubt aber bereits Laien formale Beschreibungen eines gewünschten Systems zur Verfügung zu stellen.

151