Формальное представление моделей прикладных предметных областей в понятиях унифицированной метамодели объектно-ориентированных приложений баз данных
Аннотация
Представлено формальное описание объектных моделей в понятиях унифицированной метамодели объектно-ориентированных приложений баз данных, разрабатываемой автором и независящей от предметной области. Описанная метамодель реализована автором в собственной среде разработки SharpArchitect RAD Studio. В начале статьи подробно проанализированы имеющиеся работы сходной тематики. Анализ показал, что чаще всего авторы используют теорию множеств и исчисление предикатов для представления элементов объектно-ориентированных языков программирования и проектирования объектных моделей. Этот же подход использован в данной статье.
В работе представлена метамодель, разработанная автором для проектирования и реализации объектно-ориентированных приложений баз данных. Уделено внимание иерархии выделенных классов, присутствующих в прикладных предметных областях. Также подробно описаны состав и структура классов, позволяющих представить как атомарные литеральные типы, так и классы атрибутов, значениями которых выступают экземпляры классов и коллекцию экземпляров. Уделено внимание реализации динамической составляющей с помощью описания методов (с поддержкой параметров) и событий классов.
На основе представленной метамодели с применением теории множеств предложен формальный подход к описанию моделей прикладных предметных областей. Для анализа применимости предложенного подхода была разработана унифицированная модель тестирования инструментов разработки объектно-ориентированных приложений. Описаны критерии оптимальности этой модели, а также её реализация на языке C# с представлением всех ключевых классов, присутствующих в ней. Предложенный формальный подход был протестирован на описанной модели. Были описаны классы предметной области, атрибуты, ассоциации и образованные иерархии. Это позволило подтвердить корректность предложенного формального решения.
В заключение статьи сделаны предположения о направлениях дальнейшего развития предложенного подхода.