Вектор состояния модели предметной области
В процессе функционирования ППП происходит изменение состояния модели предметной области: от начального, определяемого вводом данных, до конечного, определяемого поставленной целью. Это изменение происходит за счет выполнения модулей ввода данных и обрабатывающих модулей. Каждый такой модуль может изменять значения данных. Тогда состояние модели предметной области, или состояние вычислительного процесса, можно характеризовать бинарным вектором состояния МПО , где – число данных (элементов множества ), а компоненты определяются по следующему правилу: (2.4) Если пользователь вводит значение данного , то оно получает новое значение. При этом должны быть проверены связи по определению, и если они не удовлетворяются, значение этого данного станет неопределенным. Если пользователь требует выполнить некоторый обрабатывающий модуль и все входные данные этого модуля известны, то выходные данные этого модуля получают новые значения. Таким образом, функционирование пакета отображается на модели предметной области изменением вектора состояния модели. Если в начале работы с пакетом пользователь установил значения некоторых данных и модель оказалась в состоянии , то при выполнении обрабатывающих модулей модель будет последовательно проходить состояния . В модели предметной области, содержащей данных (переменных), возможны 2n различных состояний. В действительности, из-за наличия связей по определению и функциональных связей, число реально осуществимых состояний будет значительно меньшим. Возможные состояния модели и связи между ними могут быть представлены графом переходов, узлы которого соответствуют состояниям модели, а дуги – выполняемым модулям пакета.
Пример. Пусть модель включает данные с именами a, b и c, связи по определению отсутствуют, а функциональные связи определяются четырьмя обрабатывающими модулями , которые задают функциональные зависимости: 1) ; 2) ; 3) ; 4) . Возможны восемь состояний (23 = 8) модели предметной области. Соответствующий этой модели граф возможных состояний показан на рис. 2.2. Узлы обозначены списком известных данных и порядковым номером, а дуги – именами обрабатывающих модулей (функциональных связей).
В графе переходов каждому узлу соответствует список выполнимых модулей (реализуемых функциональных связей), в некоторых узлах этот список может быть пустым. Часть выполнимых модулей приводит к переходу МПО в новое состояние, т.е. позволяет вычислить хотя бы одно ранее неизвестное данное. Такие выполнимые модули и соответствующие им связи будем называть эффективными в данном состоянии. В конечных узлах графа отсутствуют эффективные модули. В общем случае переходу из начального состояния S0 в некоторое состояние Sk может соответствовать несколько путей на графе переходов. Множество функциональных связей должно быть выбрано так, чтобы при любом начальном состоянии S0 и фиксированных значениях известных данных переход в любое другое состояние Sk по любому из возможных путей приводил бы к вычислению одних и тех же значений данных. Отметим, что при решении вычислительных задач понятие «одно и то же значение» требует уточнения: значения, вычисленные по разным путям, должны различаться не более чем на некоторое фиксированное число , характеризующее допустимую погрешность вычислений. Это требование можно рассматривать как требование непротиворечивости функциональных связей.
Популярное: Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (324)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |