SCXML - SCXML

Диаграмма состояний XML
Расширение имени файла
.scxml
РазработанКонсорциум World Wide Web
Последний релиз
1.0
(1 сентября 2015 г.)
Тип форматаЯзык разметки
Расширен сXML
Интернет сайтhttp://www.w3.org/TR/scxml/

SCXML расшифровывается как State Chart XML: State Machine Notation for Control Abstraction. Это XML -основан язык разметки который обеспечивает общий Государственный аппарат среда исполнения на основе Диаграммы состояний Харела.

SCXML может описывать сложные конечные автоматы. Например, в SCXML можно описать такие обозначения, как подсостояния, параллельные состояния, синхронизация или параллелизм.

Цели

Цель этого стандарта - обобщить диаграмма состояний нотации, которые уже используются в других контекстах XML. Например, ожидается, что нотации SCXML заменят Обозначения конечных автоматов используется в следующем CCXML 2.0 (стандарт XML, предназначенный для телефония поддержка VoiceXML ). Он также может использоваться в качестве языка мультимодального управления в Мультимодальное взаимодействие.

Одна из целей этого языка - убедиться, что язык совместим с CCXML и что существует простой путь для преобразования существующих сценариев CCXML в SCXML без серьезных изменений модели программирования или структуры документа (например, с помощью ан Преобразование XSL ).

Текущая версия спецификации была выпущена W3C в сентябре 2015 года.[1]

Приложения

Согласно спецификации W3C SCXML,[2] SCXML - это язык конечных автоматов общего назначения, основанный на событиях, который можно использовать разными способами, в том числе:

  • Как язык диалога высокого уровня, управляющий инкапсулированными речевыми модулями VoiceXML 3.0 (форма голоса, список выбора голоса и т. Д.)
  • В качестве метаязыка голосового приложения, где помимо функциональности VoiceXML 3.0, он может также управлять доступом к базе данных и модулями бизнес-логики.
  • В качестве мультимодального языка управления в структуре MultiModal Interaction, объединяющий диалоги VoiceXML 3.0 с диалогами в других модальностях, включая клавиатуру и мышь, рукописный ввод, зрение, тактильные ощущения и т. Д., Он также может управлять комбинированными модальностями, такими как чтение по губам (комбинированное распознавание речи и зрение). ввод с клавиатуры в качестве запасного варианта и несколько клавиатур для многопользовательского редактирования.
  • В качестве структуры конечного автомата для будущей версии CCXML.
  • В качестве расширенного языка управления центром обработки вызовов, сочетающего функции управления вызовами CCXML с интеграцией компьютерной телефонии для центров обработки вызовов, которые объединяют телефонные звонки с всплывающими окнами на экране компьютера, а также другие типы обмена сообщениями, такие как чаты, мгновенные сообщения и т. Д.
  • Как генерал контроль над процессом язык в других контекстах, не связанных с обработкой речи.

Проект W3C VoiceXML 3.0 спецификация[3] включает диаграмму состояний и представление SCXML для определения функциональности.

Мультимодальные приложения

В дизайне мультимодальных приложений могут использоваться разные методы (например, голос или сенсорный экран, клавиатура и мышь) для различных частей коммуникации, которые лучше всего подходят для этого. Например, голосовой ввод можно использовать, чтобы избежать ввода текста на маленьком экране мобильного телефона, но экран может быть более быстрым способом передачи списка или карты по сравнению с прослушиванием длинных описаний доступных опций. SCXML позволяет легко выполнять несколько операций параллельно, а приложение SCXML диспетчера взаимодействия будет поддерживать синхронизацию между голосовыми и визуальными диалогами.

Мультимодальная конфигурация

Документ W3C, посвященный разработке приложений для мультимодальной архитектуры[4] описывает мультимодальную систему, которая реализует мультимодальную архитектуру W3C, и дает пример простого мультимодального приложения, созданного с использованием различных языков разметки W3C, включая SCXML, CCXML, VoiceXML 2.1 и HTML.

Реализации

  • scxmlcc Эффективный компилятор scxml в C ++.
  • Apache Commons SCXML, чистая библиотека Java для анализа и выполнения диаграмм SCXML
  • SCION SCXML реализован в переносимом JavaScript.
  • JSSCxml реализация веб-браузера. Высокая совместимость с хорошей поддержкой событий DOM. Поддерживает только модель данных ECMAScript.
  • uSCXML Интерпретатор C / C ++ и преобразователь / компилятор с языковыми привязками для Java и C #. Полная поддержка ECMAScript через JavaScriptCore или Google v8, дополнительные модели данных LUA и Prolog, только элементарная поддержка модели данных XPath. Модель данных PROMELA для формальной проверки с помощью программы проверки моделей SPIN.
  • LXSC Интерпретатор Lua XML StateChart - анализирует и выполняет конечные автоматы SCXML с моделью данных Lua.
  • Qt SCXML Engine реализованы на C ++ и тесно интегрированы с их Сигналы и слоты концепция, с визуальным редактором, интегрированным в Qt Creator.
  • XState реализован на JavaScript.

Неактивные реализации

Следующие реализации неактивны, т.е. последнее изменение в их исходный код было внесено более двух лет назад:

  • Веб-интерфейс к экспериментальной реализации SCXML на языке программирования Oz
  • Легиан Механизм SCXML, реализованный на Java с использованием Rhino в качестве механизма Javascript. Он также поддерживает некоторые дополнительные функции, такие как библиотеки пользовательских тегов, и включает в себя. Он не полностью совместим с W3C.
  • PySCXML Python-реализация. Поддерживает широкий спектр технологий, включая веб-сокеты и SOAP. Полностью соответствует стандартам. Также поддерживает модель данных ECMAScript. (последний толчок 2013)
  • Консоль PySCXML интерактивная веб-консоль SCXML для запуска и взаимодействия с документами SCXML. Поддерживает модель данных ECMAScript.
  • SCXML4Flex Частичный порт ActionScript / Flex PySCXML.
  • SCXMLgui Визуальный редактор Java для SCXML.

Смотрите также

Рекомендации

  1. ^ "XML диаграммы состояний (SCXML): нотация конечного автомата для абстракции управления". Консорциум World Wide Web. 1 сентября 2015 г.. Получено 2 марта, 2016.
  2. ^ XML диаграммы состояний (SCXML): нотация конечного автомата для спецификации абстракции управления
  3. ^ Спецификация Voice Extensible Markup Language (VoiceXML) 3.0
  4. ^ Разработка приложений для мультимодальной архитектуры

внешняя ссылка