объектная модель для параметризованных правил преобразования - PullRequest
1 голос
/ 18 января 2012

Я задавал подобный вопрос ранее, но задал его как вопрос для конкретного языка. Я понял, что моя проблема на уровне моделирования.

Как мне представить следующее в объектной модели:

У меня есть:

  • Объекты данных
  • Объекты параметров
  • Правила объектов

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

Правило написано не на каком-то пользовательском языке, который кто-то должен анализировать; скорее он просто состоит из кода, который должен быть выполнен. Это может звучать как решение для реализации перед проектированием, но на самом деле это одно из требований (системные пользователи - программисты, которые хотят иметь возможность писать свои собственные правила и легко добавлять их в систему).

Основная деятельность происходит, когда встречаются объект данных, объект параметра и объект правила; в это время объект данных изменяется.

Пользователь сообщает системе, какому правилу, какому параметру и какому объекту данных он хочет соответствовать, и ожидает возврата измененного объекта данных.

UPDATE:

Примеры объектов данных:

Все объекты данных могут быть логически представлены в виде таблиц SQL.

Идентификатор объекта данных # 7: таблица SQL

Идентификатор объекта данных # 13: таблица SQL

Примеры объектов параметров:

Все объекты параметров имеют одинаковую разметку: текстовый файл, где каждая строка выглядит как

<PARAMETER_NAME> = <VALUE>

Идентификатор объекта параметра # 52:

RULE = 'регрессия'

DATA ID = 7

Y = 'стоимость'

X = «максимальная скорость»

R = 'ошибка в оценке стоимости'

Объект параметра # 59:

RULE = 'Average'

DATA ID = 13

КОЛОННЫ = 'минимальная скорость', 'максимальная скорость'

AVERAGE = 'средняя скорость'

Примеры объектов правил:

Правило объекта 'регрессия':

Выполняет линейную регрессию; параметры с именами «Y» и «X» определяют имена столбцов, которые будут использоваться в качестве зависимых и независимых переменных; параметр с именем 'R' указывает имя столбца, который будет добавлен в таблицу, которая будет содержать остатки от регрессии.

Правило объекта «средний»:

Вычисляет среднее число, указанное в столбцах, перечисленных в параметре 'COLUMNS', и сохраняет результат в столбце, указанном в параметре 'AVERAGE'.

1 Ответ

1 голос
/ 18 января 2012

Определите их как стереотипы UML.Создайте метакласс для ваших трех мета-типов.DataObject, ParameteObject и RulesObject.Добавьте конкретные детали к метаклассу, затем примените этот стереотип метакласса к объектам реальных элементов в вашей модели.

...