Студопедия КАТЕГОРИИ: АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Моделью управляемое проектирование⇐ ПредыдущаяСтр 12 из 12
реализуется через: - Scade – инструмент манипуляции Lustre-моделями, - Lustre – синхронный язык спецификации реактивных систем. В синхронной модели предполагается, что все вычисления выполняются одновременно в каждом тике. В синхронной модели часы идут регулярно. Пример: каждый тик происходит обновление значения выражения d’ = -d if x=0 else d x’ = x + d x: -10 1 0-10 1 d: 11-1-1 11-1 Обновление переменных происходит параллельно каждый тик: - читаются x и d - формируются d’ и x’.
Базовые понятия: - Поток – данные: последовательность однотипных значений; - Узел – код (как преобразуется поток). Lustre функциональный язык, каждый узел определяет функцию, которая получает входной поток и формирует выходной поток; - Цикл – один шаг исполнения (позволяет точно определить динамику программы).
===== 2.4 Правила тактирования
Пусть ω(тактирование окружающей среды) есть функция от переменных тактирования. Обозначим CK(E,ω) – тактирование выражения E в окружении ω. • Для равенства X=E сохраняется ω(X)=CK(E,ω) . • Пусть ⊥ неопределенное тактирование и Τ ошибочное тактирование, тогда ck ≤ ck'⇔(ck =⊥ ∨ck'= Τ∨ ck ≡ ck') • Для любой константы k, CK(k,ω)=true (базовое тактирование). • Для любой переменной X, CK(X, ω)= ω(X) . • Синхронные операторы: CK (op(E1, E2,…, En ,ϖ))= Ui=1…n CK (Ei,ϖ), где ∪ обозначает оператор наименьшей верхней границы. • Понижающая дискретизация: операнды оператора when должны быть с одинаковым тактированием CK(E when ck,ω)=ck . • Повышающая дискретизация: пусть ck тактирование E, ck ≠ true: CK(current(E),ω)=ck . • Тактированием экземпляра узла является тактирование его входов. • Проблема инициализации: поток current(X when C) существует, но не определен (nil) до тех пока C не станет равным true. • Условия активизации – способ решения проблемы тактирования в SCADE (не является частью LUSTRE): • Макроопределение, а не оператор. • x = CONDACT(OP, clk, args, dflt) эквивалентно x = if clk then current(OP(args when clk)) else (dflt -> pre(x)).
|
||
Последнее изменение этой страницы: 2018-04-12; просмотров: 201. stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда... |