Категории
Войти
Поиск
Реклама
пенал RunoПолезное:
Новые статьи
Опечатка?
Выделите текст и нажмите Shift+Enter.
И мы в ближайшее время ее исправим!
Счетчики
| Концепция абстрактных типов данных |
|
В широком классе данных различных типов, использующихся в описаниях вычислительных систем, можно выделить основные (базовые) типы, а также конструкторы данных, с помощью которых можно построить данные других типов. По существу базовые типы данных языков рассматриваемой группы подобны тем, которыми располагают языки программирования для целочисленных вычислений. Как минимум в языке должны быть целые и булевские переменные, а также конструкции: сигнала, контакта, регистра, массива регистров (т. е. памяти), субрегистра (подмножества разрядов регистра), объединения регистров. Как показано в работе, другие необходимые типы данных, как, например, триггеры, дешифраторы, мультиплексоры, шины и т. п., могут быть построены из базовых. Существенно, что данные рассматриваются вкупе с набором допустимых операций над ними, т. е. находятся в соответствии с концепцией абстрактных типов данных. Эта концепция чрезвычайно плодотворна для языков рассматриваемой группы, так как позволяет получать разные типы данных одной и той же внутренней структуры, но различающиеся набором операций (сдвиговый регистр, регистрсчетчик и т. п.). Заметим, что допустима и противоположная ситуация, когда разные типы данных имеют одинаковый (по смыслу) набор операций, но различные внутренние структуры. Именно так и реализуется возможность преобразования объектов данных с одного уровня на другой. Перейдем теперь к анализу методов интерпретации моделей. Во-первых, следует отметить, что языки описания вычислительных систем могут строиться как по процедурному, так и понепроцедурному принципам. В процедурных языках выполнение операторов производится в последовательности их записи и лишь иногда изменяется операторами управления. В непроцедурных языках порядок просчета определяется истинностью разрешающих выполнение оператора условий. Непроцедурные языки более удобны для описания моделей структурного плана, а процедурные для описания поведения устройств. Поэтому во многих языках совмещаются процедурный и непроцедурный подходы. Во вторых, для описания работы моделей во времени существенны такие понятия, как задержка, ожидание, асинхронный и синхронный параллелизм и т. п. Естественно, что все они базируются на определенной концепции имитации модельного времени, которая должна быть согласована между различными языками, использующимися в одном проекте. Итак, из проведенного рассмотрения становится ясно, что концепция абстрактных типов данных позволяет создать согласованное по интерфейсам и объектам данных семейство языков моделирования вычислительных систем. Заметим, что попутно решается и отмеченная выше проблема формального описания семантики языков, так как конструирование абстрактных типов данных строится именно на базе таких описаний.
Newer news items:
Older news items:
|
