Я задавал подобный вопрос ранее, но задал его как вопрос для конкретного языка. Я понял, что моя проблема на уровне моделирования.
Как мне представить следующее в объектной модели:
У меня есть:
- Объекты данных
- Объекты параметров
- Правила объектов
Правило определяет, как модифицировать объект данных, который он получает; это требует, чтобы дополнительные параметры были полностью определены. Правило может использовать другие правила (либо ссылаться на них внутри, либо получать указание сделать это в объекте параметра).
Правило написано не на каком-то пользовательском языке, который кто-то должен анализировать; скорее он просто состоит из кода, который должен быть выполнен. Это может звучать как решение для реализации перед проектированием, но на самом деле это одно из требований (системные пользователи - программисты, которые хотят иметь возможность писать свои собственные правила и легко добавлять их в систему).
Основная деятельность происходит, когда встречаются объект данных, объект параметра и объект правила; в это время объект данных изменяется.
Пользователь сообщает системе, какому правилу, какому параметру и какому объекту данных он хочет соответствовать, и ожидает возврата измененного объекта данных.
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'.