Метамодель

При создании и работе с метамоделью следует учитывать следующие особенности:

Для работы с моделью через язык Fore предназначен интерфейс IMsMetaModel. Используя его свойства и методы можно сформировать цепочку расчета и задать параметры метамодели.

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

Для метамодели можно задать параметры, которые будут влиять на расчет моделей, входящих в цепочку. Для работы с параметрами метамодели предназначен интерфейс IMsModelParam.

Для расчета всей цепочки метамодели с учетом последовательности элементов, циклов, условий и параметров предназначена задача моделирования.

Создание метамодели

После создания модели следует создать метамодель, содержащую модель «Сальдо торгового баланса, млрд.долл.США» для расчета.

Для выполнения модуля по созданию метамодели необходимо добавить ссылки на сборки «Ms», «Metabase».

Sub Main;

Var

MB: IMetabase;

KMDesc: IMetabaseObjectDescriptor;

CrInfo: IMetabaseObjectCreateInfo;

MObj: IMetabaseObject;

Meta: IMsMetaModel;

Model: IMsModel;

Root: IMsCalculationChainEntries;

Begin

MB := MetabaseClass.Active;

KMDesc := MB.ItemById("MODEL_SPACE");

// Создаем метамодель

CrInfo := MB.CreateCreateInfo;

CrInfo.ClassID := MetabaseObjectClass.KE_CLASS_MSMETAMODEL;

CrInfo.Id := "META_MODEL_BALANCE";

CrInfo.Name := "Метамодель для расчета сальдо";

CrInfo.Parent := KMDesc;

MObj := MB.CreateObject(CrInfo).Edit;

Meta := MObj As IMsMetaModel;

// Добавляем в цепочку расчета модель «Сальдо торгового баланса, млрд.долл.США»

Model := MB.ItemByIdNamespace("BALANCE_MODEL", KMDesc.Key).Bind As IMsModel;

Root := Meta.CalculationChain;

Root.AddModel(Model);

MObj.Save;

Debug.WriteLine("Создана метамодель '" + MObj.Name + "' с идентификатором '" + MObj.Id + "'");

End Sub Main;

После выполнения модуля будет создана метамодель «Метамодель для расчета сальдо» с идентификатором «META_MODEL_BALANCE», информация об этом будет выведена в окно консоли.

Следующим шагом будет создание и расчет задачи моделирования.

См. также:

Общие принципы программирования с использованием сборки Ms