ISA Dialog Manager A.06.02.g with numerous innovations

Die aktuelle Version A.06.02.g des ISA Dialog Managers bringt eine Reihe neuer Funktionen und Verbesserungen für Entwickler und ihre Anwendungen. Im folgenden finden Sie eine Auswahl der wichtigsten Neuerungen:

Neue Plattformen

  • Der ISA Dialog Manager ist nun auch für die Plattform RHEL 7.6 (32- & 64-Bit) mit dem Compiler GCC 4.8.5 und den Toolkits Motif 2.3.4 und Qt 5.9 erhältlich.
  • Der IDM für Windows ist nun auch für Windows 10 mit Microsoft Visual Studio 2017 erhältlich.

Neues Werkzeug für die Analyse von Tracedateien

Der neue „Tracefile Analyzer“ erleichtert die Auswertung von Tracedateien und leistet damit effektive Hilfestellung bei der Fehler- und Problemsuche in IDM-Anwendungen. Der „Tracefile Analyzer“ bietet spezielle Funktionen für die Navigation in der Trace-Hierarchie, zwischen Fehlern und benutzerdefinierten Lesezeichen sowie einen Navigationsverlauf.

Neben praktischen Hilfsmitteln wie Filtern, Suche, Lesezeichen und Aufrufstapel erleichtern farbliche Hervorhebungen und Inhaltstypisierung den Umgang mit großen und unübersichtlichen Datenmengen. Außerdem ermöglicht der „Tracefile Analyzer“ das parallele Arbeiten an mehreren Tracedateien oder an verschiedenen Stellen derselben Tracedatei.

Stark erweiterte Fehleranalyse in der Regelsprache

Die erweiterte Prüfung hat das Ziel, fehlerhaften Regelcode schon vor der Ausführung zu erkennen und den Entwickler auf die Fehlerstelle hinzuweisen. Dabei handelt es sich um eine semantische Prüfung von eingesetzten Datentypen bei Regelcode, der ansonsten syntaktisch korrekt ist. Die Prüfung erkennt beispielsweise

  • ob der Datentyp des Ausdrucks bei return und pass zum Rückgabetyp der Regel passt,
  • ob Anzahl und Datentyp von Parametern beim Aufruf von eingebauten Funktionen, vordefinierten Methoden und benannten Regeln, Funktionen und Methoden korrekt sind,
  • Division oder Modulo durch 0,
  • inkompatible Datentypen bei Zuweisungen an lokale und globale Variablen.

Auf Basis einer Kontrollflussanalyse werden fehlende return-Anweisungen erkannt und entsprechende Warnungen ausgegeben. Die Analyse umfasst benannte Regeln, Ereignisregeln, Simulationsregeln und Methoden (benutzerdefiniert und redefiniert). Sie berücksichtigt auch pass- und throw-Anweisungen, die ebenfalls zum Beenden einer Regel führen.

Erleichterte Modularisierung mit „use“

Zusätzlich zum bisherigen Weg, auf ein Modul über ein Import-Objekt zuzugreifen, kann das Schlüsselwort use genutzt werden um den Umgang mit Imports, Modulen, Interface- und Binärdateien zu erleichtern. Im Gegensatz zum Import erfolgt die Auswahl des Moduls nicht durch einen Dateipfad zur Interface-Datei, sondern über einen Bezeichner-Pfad, den sogenannten „Use-Pfad“.

Die Entkopplung von einem Interface- oder Modul-Dateinamen hat mehrere Vorteile:

  • Die Verwendung von eigenen Umgebungsvariablen für den Ort der Interface- und Binärmodule entfällt.
  • Die Erzeugung der Interface- und Binärdateien wird vereinfacht.
  • Das Laden von Modulen ohne Interface-Datei ist nun möglich, da ein zentraler Suchpfad für Interfaces, Module und Binärmodule vorhanden ist.

Module, die über use angezogen werden, sind im Dialog immer nur einmal geladen. Dies erleichtert die Verwendung von Basismodulen, da nicht versehentlich durch eine fehlerhafte Import-Kette ein Modul mehrfach geladen wird. Eine weitere Besonderheit ist die Vorgabe von Dateiendungen für Quelltext-Dateien (.dlg und .mod), Interface-Dateien (.if) und Binärdateien (.bin).

Für modularisierte Dialoge, die use verwenden, gibt es einfache Kommandos, um alle Interface- und Binärdateien in einem Schritt zu erzeugen:

  • -compile
    Erneuert alle Interface- und Binärdateien für geänderte Module und Dialoge.
  • -recompile
    Erzeugt alle Interface- und Binärdateien neu.
  • -cleancompile
    Löscht alle Interface- und Binärdateien.

Für ein dynamisches Laden und Entladen von Modulen stehen die neuen Methoden :use() und :unuse() zur Verfügung.

Reguläre Ausdrücke

Im ISA Dialog Manager können nun reguläre Ausdrücke über die neue Funktion regex() und als Format verwendet werden. Dafür bindet der IDM die freie Bibliothek PCRE (Perl Compatible Regular Expression) ein. Mit der regex()-Funktion können die Operationen „Mustersuche“ und „Ersetzung“ auf Sammlungen (list, hash, matrix, vector) und Strings ausgeführt werden.

Asynchroner Methodenaufruf

Mit der neuen eingebauten Funktion sendmethod() und C-Schnittstellenfunktion DM_SendMethod() können Methodenaufrufe in die Ereignis-Warteschlange gestellt werden und asynchron aus der Ereignisschleife heraus ausgeführt werden.

Laden und Speichern von Konfigurationsdateien

Die Funktionen zur Handhabung von Konfigurationsdateien (profiles) wurden vervollständigt. Mit der C-Schnittstellenfunktion DM_SaveProfile() können nun die aktuellen Werte von konfigurierbaren Records und globalen Variablen in einer Konfigurationsdatei gespeichert werden. Mit den eingebauten Funktionen loadprofile() und saveprofile() ist das Laden und Speichern von Konfigurationsdateien nun auch aus der Regelsprache heraus möglich.

Neue eingebaute Funktionen für Sammlungen und Strings

Es gibt mehrere neue eingebaute Funktionen für die Arbeit mit Sammlungen und Strings in der Regelsprache:

  • append() zum Anhängen von Elementen bzw. Zeichen
  • insert() zum Einfügen von Elementen bzw. Zeichen
  • exchange() zum Vertauschen von Elementen bzw. Zeichen
  • delete() zum Löschen von Elementen bzw. Zeichen

Unterstützung von SSH und SSL im DDM

Die Netzwerkschnittstelle des ISA Dialog Managers unterstützt nun SSL für eine verschlüsselte Kommunikation zwischen Darstellungsseite (Client) und Anwendungsseite (Server) sowie SSH für einen sicheren Start der Anwendungsseite.

List of corrections and changes

12964, 12960, 12957, 12938, 12935, 12925, 12915, 12881, 12843, 12831, 12828, 12355, 12289 und 12284

en_GB