|
||||
Меню:
Главная
Форум
Литература: Программирование и ремонт Импульсные блоки питания Неисправности и замена Радиоэлектронная аппаратура Микросхема в ТА Рубрикатор ТА Кабельные линии Обмотки и изоляция Радиоаппаратура Гибкие диски часть 2 часть 3 часть 4 часть 5 Ремонт компьютера часть 2 Аналитика: Монтаж Справочник Электроника Мощные высокочастотные транзисторы 200 микросхем Полупроводники ч.1 Часть 2 Алгоритмические проблемы 500 микросхем 500 микросхем Сортировка и поиск Монады Передача сигнала Электроника Прием сигнала Телевидиние Проектирование Эвм Оптимизация Автомобильная электроника Поляковтрансиверы Форт Тензодатчик Силовые полевые транзисторы Распределение частот Резисторные и термопарные Оберон Открытые системы шифрования Удк |
[1] назовем область определения p. Пусть в точке d программа p определена, тогда вычислительный процесс c = fvm(p,d) будет называться •завершенным, если существует n :Z, такое что с (i) = c(j) для каждого i,j > n. •периодическим (?????), если существует последовательность x : Z-inflist и l: Z для которых sbr = sbrf(c, x(i), l) :- i isin Z Пример периодического вычислительного процесса Сидит негр за окном FAR и, нажимая (F6, (Alt, R), TAB), поет: I like move it, move it, move it... Напомним, что в монографии [4] понятие потока данных использовалось для декомпозиции на модули с заданными характеристиками, такими как прочность модуля, сцепление с другими модулями и т.д. Обсуждение упомянутых характеристики модуля можно найти в [2] , а метод, напоминающий декомпозицию Майерса, в [8] . Такая декомпозиция приложения достаточно формально приводила к разделению приложения на модули с заданными характеристиками. Причем, своей формальностью, этот процесс отчасти напоминает процесс нормализации отношений ( [7] ) в системах реляционных баз данных. Причем, как нетрудно заметить, поток данных подразумевается однонаправленным - от входа приложения к выходу. Таким образом, из трех основных типов программных систем, выделенных в [9] (согласно обзору [1] ): •преобразующие системы - это системы, завершающие свое выполнение после преобразования входных данных (например, архиватор, компилятор). В таких системах обычно входные данные известны и доступны на момент запуска системы, а выходные данные доступны после ее завершения; •интерактивные системы - это системы, взаимодействующие с окружающей средой в режиме диалога (например, текстовый редактор). Характерной особенностью таких систем является то, что они могут контролировать скорость взаимодействия с окружающей средой - заставлять окружающую среду <ждать>; •реактивные системы - это системы, взаимодействующие с окружающей средой посредством обмена сообщениями в темпе, задаваемом средой. декомпозиция Майерса решала вопросы проектирования первого типа систем. Хотя реактивые системы (другой термин - системы реального времени) и интерактивные системы ( системы общего назначения) с точки зрения анализа потоков данных не слишком отличаются друг от друга, Да и вообще не очень отличаются [6] , будем считать, что обсуждаются только интерактивные системы. Приложение и пользователь рассматриваются как два множества одновременно работающих процессов, которые обмениваются сообщениями через абстрактные каналы данных. Хотя таким образом было нетрудно описать потоки данных небольшого приложения (см. [11] ), но сложность описания реального интерактивного приложения быстро возрастала. Описание становилось нечитабельным. Главными идеями, позволившими формально записать интерактивное взаимодействие пары человек - компьютер, были -формальное выделение нескольких уровней абстракции; -на каждом уровне абстракции представление более абстрактного процесса как множества независимых более конкретных процессов; -на каждом уровне абстракции декомпозицию всего потока данных на множество независимых потоков (каналов данных), которые соответствуют различным процессам. В результате описание взаимодействия удалось разбить на небольшие и достаточно понятные схемы языка RSL. При переходе от более абстрактного уровня спецификации (назовем схема A) к более конкретному (схема B) использовались возможности языка RSL по автоматическому контролю соответствия следующей спецификации предыдущей (см. отношение реализации схем - implementation relation). Автоматически проверяется, что схема B содержит все сущности схемы A (типы, значения, переменные, каналы и обьекты) с теми же именами с теми же максимальными типами. В случае обьектов - с теми же классами. ( см. [10] стр. 55, 59 ) В качестве приложения рассматривается приложение •позволяющее просматривать таблицы и обзоры РСУБД; •позволяющее редактировать отдельные записи и отношения один ко многим; •после каждой операции редактирования БД выполняет операцию commit; •имеющее мультидокументный интерфейс. 2 APPLICATION-USER DATA FLOW Для простоты будем считать, что приложение не меняет своего состояния, пока ждет команды пользователя. То есть, эти две группы процессов работают строго последовательно: приложение получает команду от пользателя, выполняет некоторые действия, выдает результат своей работы пользователю. Результат работы приложения, кроме всего прочего, включает некоторое множество команд S, из которого пользователь может выбрать следующую команду и дать ее на выполнение приложению. Пользователь читает результат, выполняет некоторые действия над ним, выдает следующую команду (выбранную из множества S) для приложения. Процессы обмениваются информацией через каналы данных. Считается, что пользователь может выбрать команду из множества, которое ему послало приложение. Приложение может выводить свои данные во много каналав, пользователь читает данные изо всех каналов, а пишет команды только в один канал. Следующее упорядоченнное множество обьектов (условное название -линейка маштабирующих обьектов) позволяет естественным образом выделить различные уровни абстракции в описании приложения: 1.операционная система (operational system) - множество автоматов; 2.приложение (application) - автомат; 3.форма (панель, panel) - состояние автомата; 4.окно данных (record window) - множество; 5.запись (record) - элемент; 6.поле (field)- атрибут; 7.байт (byte). Сразу оговоримся, что обьекты операционая система, приложение, байт, поле и запись введены в расмотрение только для иллюстрации и законченности описания. Введенное множество обьектов позволяет выделить уровни абстракции и, соответственно им, разделить множество программ на группы (слои) программ. Кроме этого, множество каналов данных тоже естественным образом разделятся на соответствующие группы по признаку использования одним из перечисленных обьектов: • Уровень операционная система (множество автоматов): Операционная система имеет каналы osIn, osOut. В состояние операционной системы включается список работающих приложений. через этот канал от пользователя идут команды выбора работающего приложения (следующее, предыдущее), команда на выполнение заданного приложения, команда принудительной остановки текущего работающего приложения. |
Среды: Smalltalk80 MicroCap Local bus Bios Pci 12С ML Микроконтроллеры: Atmel Intel Holtek AVR MSP430 Microchip Книги: Емкостный датчик 500 схем для радиолюбителей часть 2 (4) Структура компьютерных программ Автоматическая коммутация Кондиционирование и вентиляция Ошибки при монтаже Схемы звуковоспроизведения Дроссели для питания Блоки питания Детекторы перемещения Теория электропривода Адаптивное управление Измерение параметров Печатная плата pcad pcb Физика цвета Управлении софтверными проектами Математический аппарат Битовые строки Микроконтроллер nios Команды управления выполнением программы Перехода от ahdl к vhdl Холодный спай Усилители hi-fi Электронные часы Сердечники из распылённого железа Анализ алгоритмов 8-разрядные КМОП Классификация МПК История Устройства автоматики Системы и сети Частотность Справочник микросхем Вторичного электропитания Типы видеомониторов Радиобиблиотека Электронные системы Бесконтекстный язык Управление техническими системами Монтаж печатных плат Работа с коммуникациями Создание библиотечного компонента Нейрокомпьютерная техника Parser Пи-регулятор ч.1 ПИ-регулятор ч.2 Обработка списков Интегральные схемы Шина ISAВ Шина PCI Прикладная криптография Нетематическое: Взрывной автогидролиз Нечеткая логика Бытовые установки (укр) Автоматизация проектирования Сбор и защита Дискретная математика Kb радиостанция Энергетика Ретро: Прием в автомобиле Управление шаговым двигателем Магнитная запись Ремонт микроволновки Дискретные системы часть 2 | ||