Контракт з MPK
MPK — це контракт для виконання висновків, який міститься в скомпільованому архіві моделі. Це JSON-файл з назвою mpk.json або *_mpk.json, який використовується планувальником маршрутів і наступними модулями для вилучення даних. Самі архіви моделей є звичайними файлами .tar.gz, які завантажуються через Model.
На цій сторінці розглядаються два окремі аспекти:
- Архів — це
.tar.gzпакет, який містить бінарні файли, кон фігурації, ваги. і JSON-файл контракту MPK. - Контракт — це JSON-документ
*_mpk.json, який є основним джерелом інформації для логіка визначення маршруту.
Щодо правил безпеки та умов контракту на рівні байтів, див. Контракт MPK (ідентифікатор учасника).
Навіщо використовувати єдиний архів .tar.gz?
Моделі на платформі Modalix містять багато рухомих частин (скомпільований граф MLA, ядра CVU, конфігурації, ваги). Об’єднання їх в один підписаний архів .tar.gz означає:
- Атомарність — або вся модель завантажується, або жодна її частина не завантажується.
- Версіонування — контракт MPK визначає версію своєї схеми; несумісні контракти. відхиляються на ранніх етапах.
- Підтвердження походження — один артефакт, для якого обчислюється контрольна сума, створюється цифровий підпис і здійснюється доставка.
- Відтворюваність — за умови використання одного й того ж архіву та контракту MPK, планувальник у рамках цієї системи приймає ті самі рішення щодо маршрутизації.
Контракт MPK є єдиним авторитетним документом у форматі JSON.
Архів моделі може містити інші файли JSON; фреймворк розглядає лише mpk.json або *_mpk.json як контракт для здійснення висновків. Не намагайтеся визначити топологію моделі на основі інших файлів JSON в архіві — контракт передбачає, що «якщо це не вказано в контракті MPK, то цього не існує».
Це правило забезпечує детермінованість планувальника фреймворку.