CM-Builder: автоматизированное основанное на естественном языке CASE-средство

H. M. Harmain and R. Gaizauskas. 2003. CM-Builder: A Natural Language-Based CASE Tool for Object-Oriented Analysis. Automated Software Engg. 10, 2 (April 2003), 157-181. DOI: https://doi.org/10.1023/A:1022916028950

Эта статья описывает основанное на естественном языке CASE-средство под названием CM-Builder нацеленное на помощь во время аналитической стадии программной инженерии в объектно-ориентированном фреймворке. CM-Bilder использует устойчивые методы обработки естественного языка для анализа программных требований, написанных на английском, и для построения объединенной текстовой модели обработанного текста, представленной в виде семантической сети. Эта семантическая сеть далее используется для построения начальной классовой модели UML, представляющей классы объектов, упомянутых в тексте, и отношения между ними.

В настоящее время известно много объектно-ориентированных методов, которые помогают во время стадии анализа и дизайна программной инженерии, при этом обработка требований рассматривается как их самая важная и сложная часть, так как на результаты этой части полагаются все дальнейшие действия и зачастую требования написаны на естественном языке, который по природе своей не имеет четкой структуры. Методы искусственного интеллекта обработки естественного языка предлагают способы подхода к решению проблемы сложности обработки текстов на естественном языке. В данной статья представляются 2 вещи: CM-Builder, а также количественная методика оценивания качества CASE-средств, основанных на естественном языке, с помощью которой измеряется качество CM-Builder.

Существуют работы, которые пытаются подойти к проблеме анализа требований, но у каждой из этих работ есть недостатки, из-за которых они до сих пор не являются общеиспользуемыми: некоторые работы являются только методиками без реализации, некоторые требуют существенного контроля людьми после их применения, некоторые работы не относятся к объектно-ориентированному анализу, некоторые сужают начальные требования или требуют наличия обширной базы знаний.

CM-Builder (Class Model Builder) получает на вход документ, в котором описываются требования к ПО, и выдает 3 вещи: список кандидатов в классы, список кандидатов в отношения и концептуальную модель, представленную форматом CASE Data Interchange Format [1], которая может быть подана в графическое CASE-средство для дальнейшего улучшения аналитиками. CM-Builder подход состоит из четырех главных шагов:

  1. Получить описания требований на естественном языке.
  2. Использовать систему обработки естественного языка для синтаксического и семантического анализа текста и сохранить все промежуточные результаты.
    1. Лексический препроцессинг (токенизация, выделение предложений, тегирование частей речи, морфологический анализ)
    2. Семантическая интерпретация (используя bottom-up chart parser, реализованный в Prolog)
    3. В общую модель “мира” добавляются знания из входного текста, что дает нам новую модель, называемую discourse model
  3. Использовать результаты, полученные в 2. (discourse model) для извлечения классов, их атрибутов, и отношений между классами (учитывая их тип и кратности).
  4. Сделать начальную структурную модель системы из полученных данных в стандартном формате и далее использовать графическое CASE-средство, чтобы улучшить начальную модель.

Для измерения качества полученного подхода используется новая методология оценки качества, для того, чтобы определить эту методологию надо определить: критерии, которые важны, метрики оценки качества и метод их получения.

  • Критерий: насколько близко сгенерированная подходом модель к хорошей модели, полученной человеком (эталону)
  • Метрика:
    • полнота - отношение сгенерированных подходом сущностей, у которых есть аналог в эталоне, к количеству сущностей в эталоне
    • точность - отношение сгенерированных подходом сущностей, у которых есть аналог в эталоне, к общему количеству сгенерированных сущностей
    • переспецификация - отношение правильно сгенерированных подходом сущностей, которых при этом нет в эталоне, к количеству сущностей в эталоне
  • Метод: в качестве сущностей рассматриваются классы, атрибуты и виды связей, затем подсчитываются метрики, чем метрики ближе к единице (или к 100% при домножении метрик на 100%), тем подход ближе к хорошей модели, полученной человеком, значит, тем больше качество подхода

CM-Builder подход был оценен, используя данную методологию (но только с классами в качестве сущностей), получив в среднем полноту 73%, точность 66%, переспецификацию 62%, но не может быть сравнен ни с какими другими подходами, так как они не были оценены при помощи какой-либо методологии.

CM-Builder может облегчить и улучшить процесс построения модели классов за счет улучшения анализа требований, изложенных на английском языке. Введена методология оценивания качества построенных моделей классов, согласно которой CM-Builder показывает хорошие результаты, но не может быть справедливо сравнен с другими подходами, так как это первая введенная методология для оценки качества.

[1] J. Ernst, editor. CDIF -Integrated Meta-Model- ObjectOriented Analysis and Design Core Subject Area. Electronic Industries Association, 1996.