РЕКЛАМА МЕТАМОДЕЛИРОВАНИЯ

РЕКЛАМА МЕТАМОДЕЛИРОВАНИЯ

sergey shishkin

Конспект текста МЕТАМОДЕЛИРОВАНИЕ Ворожцова Артема Викторовича в вики-буке, 2006-ого года.

АННОТАЦИЯ. Рекламируется «метамоделирование», которое, с одной стороны, тематическое конструирование формальных дескрипций, а с другой стороны, новый принцип организации данных в компьютерных приложениях. Метамоделирование - технология базирующаяся на логике математике и философии.

РЕТРОСПЕКТИВА. История проблемы поиска универсальных результатов. Реализация идеальных репрезентаций организации данных. Преодоление сложности конструирования и моделирования, организации данных, управления, динамики, классификации и структуризации массивов фактов. Цель - оптимизация и автоматизация с сохранением гибкости и расширяемости. Можно ли делать так, чтобы не возвращаться к реорганизации и рефакторингу? Метамоделирование имеет другие имена - семантическое моделирование, схемы расширенной информационной модели, просто описание или формализация.

ДЕФИНИЦИИ. Метамоделирование — это процесс создание метамоделей. Метамодели — это средства построения моделей (например, формальные языки или графические нотации для описания структуры классов, свойств и связей). Модели — это описание структуры данных (например, информация о том какие есть свойства и связи между объектами). Данные — это множество простейших единиц информации, которые касаются не абстрактных, а конкретных сущностей (например, значение определённого свойства определённого элемента).

Основная цель метамоделирования — описать данные, чтобы они были самодостаточными и допускали расширение и модификацию своей структуры. Аналогичным свойством хотелось бы наделить и софт, работающий с данными. При метамоделировании это происходит автоматически. Софт, основанный на метамоделировании, гибок, так как он написан не для конкретного случая данных, с конкретной структурой и с фиксированными зависимостями, а работает в общем случае. Информацию о структуре данных он читает из модели и метамодели, и автоматически подстраивается под них.

Примечание. Термин метаданные иногда используют как синоним модели данных. Но это разные вещи. Метаданные — это просто дополнительная информация, например, некоторый заголовок, прикрепляемый к документу, с информацией об источнике данных, авторе, категории документа, времени создания и тому подобном. Метаданные не содержат информации о структуре данных и ограничениях, накладываемых на данные. Это просто атрибуты, позволяющие идентифицировать и классифицировать блоки данных.

Если условия консистентности изменятся, то программиста придётся снова привлекать к работе. Это неприятно. Но от этой неприятности несложно избавится. Достаточно разработать язык (нотацию, формат) описания модели данных и разработать такой софт, который бы зачитывал эту модель и брал из неё описание структуры данных и условия консистентности данных. В следующий раз вы сами сможете менять модель данных и софт автоматически «подстроится» под изменившуюся модель. Автоматизация проверки и поддержки консистентности — это уже кое-что. При хранении данных полезно также в некотором формальном виде хранить и описание их модели.

Метамодель — это модель данных для описания данных модели данных.

При описании таких тонких материй как метамоделирование, приходится активно работать с языком. Он позволяет делать чудеса — сам он является замечательной метамоделью, которая объединяет множество предметных областей и позволяет записать самые разные знания, накопленные человечеством. Вот бы найти что-нибудь подобное по мощи, но более формальное и интерпретируемое компьютером!

Приставка мета- практически всегда имеет относительный характер и зависит от угла рассмотрения. Описание модели состоит из разнородной информации, которую неплохо было бы формализовать. Надо придумать подходящий формальный язык. Например, можно ввести несколько таблиц: таблицу со списком всех классов, присутствующих в нашей модели, таблицу со списком всех отношений, таблицу с описанием правил. Ещё нужно что-то придумать для описания свойств. Возможно, имеет смысл разработать какой-нибудь формальный язык, где всю информацию о модели записать в виде набора инструкций? Чтобы заставить софт общего назначения делать конкретные вещи, потребуется его настроить — дать описание модели его действий, указать, какие данные и как он должен интерпретировать. Это сложный момент.

ОТНОШЕНИЯ С СЕМАНТИКОЙ. Моделирование позволяет: сделать данные более семантически насыщенными, явно выразить (формально описать) скрытую семантику структуры данных. Эти свойства необходимы для расширения возможностей интерпретации данных компьютерными программами. Семантика  непосредственно связанна с метамоделированием. Она означает скрытое (в обычных базах данных) смысловое значение данных.

Чтобы компьютер стал «понимать», что отношения есть, они устанавливаются между экземплярами класса, он всё же знает про них не всё. Возможно, есть ещё кое-что, во что мы хотели бы посвятить компьютер? Нет, мы не хотим, чтобы компьютер был как человек и разбирался во всех тонкостях человеческих отношений. И нам не нужен искусственный интеллект с мощью естественного интеллекта.

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

БАЗОВЫЕ ПРИНЦИПЫ. Программисты и аналитики первыми увидели, что пришло время, наблюдая одни и те же повторяющиеся операции в разных ситуациях. Метамоделирование - абстрагирование. Баланс между сложными универсальными и примитивными простыми решениями. Это иерархическая организация данных. Метамоделирование - фундаментальный принцип, описанный в философии, математике и естествознании. Метамоделирование - базис интеграции и обобщения. Два важных базовых свойства метамоделирования, относящихся к философии и математики: замкнутость (означает, что осуществляя действия в выбранной формальной модели, мы не выйдем за её пределы и нам не встретятся неформализуемые (неописываемые) объекты) и полнота (означает, что в рамках выбранной формальной системы можно описать (задать, смоделировать) все объекты из рассматриваемого множества). В контексте компьютерных технологий эти свойства следует читать так: софт имеет тщательно проработанную архитектуру и метамодель организации данных и в результате: все возникающие задачи решаются в рамках этого софта, созданные вами в рамках этого софта данные и модели прозрачны (являются родными) для софта и могут интерпретироваться.

ПЕРСПЕКТИВА. Выражение «metamodel-driven software» - ассоциируется как единственный путь достижения нужного уровня расширяемости (адаптивности) и универсальности (общности).

20 терминов информатики

https://telegra.ph/METAMODELIROVANIE-04-18

Report Page