SCXML

Status Diagramm XML
Dateiname Erweiterung
.Scxml
Entwickelt von World Wide Web Konsortium
Neueste Erscheinung
1.0
1. September 2015
Art des Formats Auszeichnungssprache
Erweitert von Xml
Webseite http://www.w3.org/tr/scxml/

Scxml steht für State Diagramm XML: State Machine Notation zur Steuerabstraktion. Es ist ein Xml-basierend Auszeichnungssprache das liefert ein generisches Zustandsmaschine-basierte Ausführungsumgebung basierend auf Harel StateCharts.

SCXML kann Komplex beschreiben endliche Staatsmaschinen. Zum Beispiel ist es möglich, Notationen wie Unterzustände, parallele Zustände, Synchronisation oder Parallelität in SCXML zu beschreiben.

Ziele

Das Ziel dieses Standards ist es zu generieren Zustandsdiagramm Notationen, die bereits in anderen XML -Kontexten verwendet werden. Zum Beispiel wird erwartet, dass SCXML -Notationen die ersetzen werden Zustandsmaschinen Notationen im nächsten verwendet Ccxml 2.0 Version (ein XML -Standard für die Bereitstellung Telefonie unterstützen VoiceXml). Es könnte auch als multimodale Kontrollsprache in der verwendet werden Multimodale Interaktionsaktivität.

Eines der Ziele dieser Sprache ist sicherzustellen, dass die Sprache mit CCXML kompatibel ist und dass vorhandenen CCXML ein XSL -Transformation).

Die aktuelle Version der Spezifikation wurde im September 2015 vom W3C veröffentlicht.[1]

Anwendungen

Nach der W3C SCXML -Spezifikation,,[2] SCXML ist eine allgemeine ereignisbasierte staatliche Maschinensprache, die auf viele Arten verwendet werden kann, einschließlich:

  • Als hochrangige Dialogsprachsprache kontrollieren die eingekapselten Sprachmodule von VoiceXML 3.0 (Sprachform, Voice Picklist usw.).
  • Als Voice Application Metalanguage kann es zusätzlich zu VoiceXML 3.0 -Funktionalität auch Datenbankzugriffs- und Geschäftslogikmodule steuern.
  • Als multimodale Kontrollsprache im multimodalen Interaktionsgerüst, die VoiceXML -Dialoge mit Dialogen in anderen Modalitäten wie Tastatur und Maus, Tinte, Vision, Haptics usw. kombinieren, kann es auch kombinierte Modalitäten wie Lipreading (kombinierte Spracherkennung und Vision) kontrollieren Geben Sie mit Tastatur als Fallback und mehreren Tastaturen für die Bearbeitung von Mehrbenutzern ein.
  • Als staatlicher Maschinenrahmen für eine zukünftige Version von CCXML.
  • Kombinieren Sie als erweiterte Call Center Management-Sprache die Kombination von CCXML-Anrufsteuerungsfunktionen mit Computer-Telephony-Integration für Call-Zentren, die Telefonanrufe in Computerbildschirm-Pops sowie andere Arten von Nachrichtenaustausch wie Chats, Instant Messaging usw. integrieren.
  • Als General Prozesssteuerung Sprache in anderen Kontexten, die nicht Sprachverarbeitung betreffen.

Der Entwurf W3C VoiceXml 3.0 Spezifikation[3] Enthält State -Diagramm und SCXML -Darstellung, um die Funktionalität zu definieren.

Multimodale Anwendungen

Multimodale Anwendungsdesigns können unterschiedliche Modalitäten (z. B. Voice vs. Touchscreen vs. Keyboard und Maus) für verschiedene Teile einer Kommunikation verwenden, die am besten geeignet ist. Zum Beispiel kann die Spracheingabe verwendet werden, um zu vermeiden, dass Sie auf dem kleinen Bildschirm eines Mobiltelefons eingeben müssen. Der Bildschirm ist jedoch möglicherweise eine schnellere Möglichkeit, eine Liste oder Karte zu kommunizieren, im Vergleich zu langen Beschreibungen der verfügbaren Optionen. SCXML erleichtert es einfach, mehrere Dinge parallel zu machen, und die Interaktionsmanager SCXML -Anwendung behält die Synchronisation zwischen Sprach- und visuelle Dialoge bei.

A multimodal configuration

Die W3C -Dokumentautorierungsanwendungen für die multimodale Architektur[4] Beschreibt ein multimodales System, das die multimodale W3C -Architektur implementiert, und gibt ein Beispiel für eine einfache multimodale Anwendung, die unter Verwendung verschiedener W3C -Markup -Sprachen verfasst wird, einschließlich SCXML, CCXML, VoicexML 2.1 und HTML.

Implementierungen

  • SCXMLCC Ein effizienter SCXML zu C ++ - Compiler.
  • Apache Commons scxml, eine reine Java -Bibliothek, um SCXML -Diagramme zu analysieren und auszuführen
  • Scxmlgui Java Visual Editor für SCXML.
  • SPROSS SCXML in tragbarem JavaScript implementiert.
  • JSSCXML eine Webbrowser -Implementierung. Sehr konform, mit guter Unterstützung für DOM -Ereignisse. Unterstützt nur das ECMascript -Datamodel.
  • USCXML C/C ++ Interpreter und Transformator/Compiler mit Sprachbindungen für Java und C#. Vollständige ECMAScript -Unterstützung über JavaScriptcore oder Google V8, zusätzliche LuA- und Prolog -Datamodelle, nur rudimentäre Unterstützung für XPath Datamodel. Promela Datamodel für die formale Überprüfung mit dem Spin-Modellprüfgerät.
  • LXSC LUA XML StatechArt Interpreter - Parses und führt SCXML -Statusprogramme mit einem LUA -Datenmodell aus.
  • QT SCXML -Motor implementiert in C ++ und eng integriert in ihre Signale und Slots Konzept, mit einem visuellen Editor integriert in Qt Creator.
  • Xstate implementiert in TypeScript.

Inaktive Implementierungen

Die folgenden Implementierungen sind inaktiv, d. H. Die letzte Änderung ihres Quellcodes wurde vor mehr als zwei Jahren vorgenommen:

  • Webschnittstelle zu einer experimentellen SCXML -Implementierung in der OZ -Programmiersprache
  • Legian Eine SCXML -Engine, die in Java mit Rhino als JavaScript -Engine implementiert ist. Es unterstützt auch einige zusätzliche Funktionen wie benutzerdefinierte Tag -Bibliotheken und umfasst. Es ist nicht vollständig w3c konform.
  • Pyscxml Eine Python-Implementierung. Unterstützt eine breite Palette von Technologien, einschließlich WebSockets und Seife. Sehr standardmäßig konforme. Unterstützt auch das ecmascript datamodel. (Last Push 2013)
  • Die pyscxml -Konsole Eine webbasierte interaktive SCXML-Konsole zum Ausführen und Interaktion mit SCXML-Dokumenten. Unterstützt das ECMascript -Datamodel.
  • SCXML4FLEX ActionScript/Flex Partial Port von Pyscxml.

Siehe auch

Verweise

  1. ^ "Status -Diagramm XML (SCXML): Statusmaschinennotation zur Steuerabstraktion". World Wide Web Konsortium. 1. September 2015. Abgerufen 2. März, 2016.
  2. ^ Status -Diagramm XML (SCXML): Zustandsmaschinennotation für die Spezifikation der Steuerabstraktion
  3. ^ Voice Extensible Markup Language (VoiceXML) 3.0 Spezifikation
  4. ^ Autoring -Bewerbungen für die multimodale Architektur

Externe Links