Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| mdd:dsl_specific [2014/06/01 17:42] – [Заключение] jshemiakina | mdd:dsl_specific [2026/08/29 07:59] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== Static analysis and testing of executable DSL specification ====== | ||
| + | Qinan Lai, Andy Carpenter | ||
| + | |||
| + | ===== Введение ===== | ||
| + | |||
| + | В статье определены 7 категорий ошибок, | ||
| + | |||
| + | ===== Актуальность ===== | ||
| + | |||
| + | Подход к разработке, | ||
| + | |||
| + | ===== Ошибки и плохие практики в спецификациях предметно-ориентированных языков ===== | ||
| + | |||
| + | * **Синтаксические ошибки** - неправильный синтаксис, | ||
| + | * **Ошибки несовместимости** - ccылки на недопустимые понятия, | ||
| + | * **Конфликты** между инвариантами мета-модели, | ||
| + | * **Ошибки дефицита** - нехватка определенных свойств, | ||
| + | * **Расширенные статические ошибки** - могут быть обнаружены при статическом анализе, | ||
| + | * **Платформо-зависимые ошибки** - использование особенностей платформ в платформо-независимой модели | ||
| + | * **Логические ошибки и ошибки во время исполнения** - определяются тестированием, | ||
| + | |||
| + | ===== Статический анализ и тестирование исполняемых спецификаций предметно-ориентированных языков ===== | ||
| + | |||
| + | WS-BPEL — это предметно-ориентированный язык, направленный на построение веб-сервисов. Синтаксис определен XML, а семантика — естественным языком. | ||
| + | |||
| + | Фреймворк использует синтаксис ALF и комментарии OCL. Мета-модель (Ecore из Eclipse BPEL Designer) является ALF программой. Ограничения OCL определены как комментарии. Поведенческая семантика определена как активности и операции. Фреймворк спецификаций разработан с помощью Xtext. Так как спецификация определена при помощи ALF, ошибки могут быть обнаружены с помощью Xtext валидаторов. Также, абстрактный синтаксис, | ||
| + | |||
| + | Xtext валидатор автоматически обнаруживает ошибки, | ||
| + | |||
| + | Большинство логических ошибок и ошибок во время исполнения сложны к обнаружению статическим анализом. Конфликтные ошибки не могут быть исправлены правилами XText валидаторов. Один из путей решения — перевести спецификацию в другую область и обратно. Фреймворк может обнаружить только простейшие ошибки дефицита. | ||
| + | |||
| + | ===== Ссылки ===== | ||
| + | |||
| + | [[http:// | ||