СЕМАНТИЧЕСКИЙ АНАЛИЗ ФУНКЦИОНАЛЬНЫХ ДИАГРАММ ИНФОРМАЦИОННЫХ СИСТЕМ СРЕДСТВАМИ ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ Морозов А.А.,
Обухов Ю.В. Email: morozov@mail.cplire.ru
Функциональные диаграммы - это графические изображения проектируемых систем, состоящие из функциональных блоков и соединяющих их дуг. Они создаются на ранних этапах проектирования систем для того чтобы помочь проектировщику выявить основные функции и составные части проектируемой системы и, по возможности, обнаружить и устранить существенные ошибки. Современные методы структурного анализа и проектирования (SADT, IDEF0 и др.) предоставляют разработчику определенные синтаксические и графические средства проектирования функциональных диаграмм информационных систем, однако существующие технологии проектирования и анализа таких систем (Design/IDEF фирмы Meta Software, BPwin фирмы Logic Works, CASE.Аналитик фирмы MacroProject и др.) обеспечивают лишь синтаксическую правильность диаграмм проектируемых систем. В докладе обсуждается задача обеспечения семантической правильности функциональных диаграмм, а именно разработки средств семантического анализа функциональных диаграмм. В понятие "семантический анализ", в отличие от синтаксического анализа, мы будем вкладывать следующий смысл. Предположим, что каждому блоку диаграммы ставится в соответствие некоторая дополнительная (неграфическая) информация - числовые параметры блока, правила его соединения с другими блоками, информация о зависимости параметров проектируемой системы от параметров рассматриваемого блока и т. п. Семантическим анализом функциональной диаграммы мы будем называть анализ, в котором используется такая дополнительная информация, поскольку она соответствует "смысловому наполнению" диаграммы. Необходимо отметить, что семантический анализ представляет особый интерес именно в контексте современных концепций проектирования, таких как объектно-ориентированное проектирование или концепция открытых систем, поскольку они, в сущности, ориентированы на использование модулей, взаимодействующих через жестко специфицированные интерфейсы, и это как раз та область, где семантический анализ может принести практическую пользу. Средствами решения задач семантического анализа являются логические модели и языки. Однако логические языки в чистом виде являются малопригодными для описания функциональных диаграмм, поскольку понятия "объект" (терм) и "связь" (отношение) в логических языках не соответствуют понятиям "объект" (функциональный блок) и "связь" (дуга связи) диаграмм. В чистом Прологе это несоответствие заключается, по меньшей мере, в том, что логические программы не структурированы, и в них отсутствует разрушающее присваивание переменных. Короче говоря, решая поставленную задачу, мы неизбежно приходим к проблеме логической интерпретации понятий из области объектно-ориентированного программирования (ООП), которая изучается в объектно-ориентированном логическом программировании. Для обеспечения корректной логической интерпретации функциональных диаграмм мы создали объектно-ориентированный логический язык - Акторный Пролог, поддерживающий основные принципы ООП (инкапсуляцию, наследование, полиморфизм). Он позволяет описывать объекты и связи функциональных диаграмм с помощью специальных синтаксических конструкций и механизмов управления, основными из которых являются классы, наследование, логические акторы, недоопределенные множества [1_4]. Программы на Акторном Прологе, описывающие функциональные диаграммы, мы будем называть "семантическими моделями". Использование перечисленных средств языка в процессе функционального моделирования основано на следующих принципах:
Определения отдельных блоков функциональной диаграммы разрабатываются проектировщиком вручную, в то же время описание связей между блоками легко построить автоматически, с помощью трансляции графической функциональной диаграммы. Объединенные между собой, они образуют готовую семантическую модель - программу на Акторном Прологе, которая может быть исполнена, и которая в процессе исполнения:
Модель системы, собранная из отдельных классов, обладает как операционной, так и декларативной семантикой и может быть однозначно выражена в терминах логики предикатов первого порядка, что позволяет обеспечивать логическую корректность проводимого анализа диаграмм. Вторым важным свойством семантических моделей является возможность обеспечивать логическую полноту проводимого анализа. Другими словами, если моделируемая система обладает некоторым (возможно, неблагоприятным) свойством, обнаружение этого свойства гарантируется, хотя для этого, возможно, придется проанализировать большое количество режимов ее работы. Таким образом, реализация в логическом языке описанных средств ООП позволяет использовать преимущества ООП при проектировании и семантическом анализе функциональных диаграмм, а именно:
Литература
|
Copyright © 1997 Интернет-центр
"ИНФОРИС" ®
All rights reserved