Войти



Поиск

Реклама

пенал Runo

Полезное:

Новые статьи

Опечатка?

Выделите текст и нажмите Shift+Enter.
И мы в ближайшее время ее исправим!

Счетчики


Концепция абстрактных типов данных

В широком классе данных различных типов, использующихся в описаниях вычислительных систем, можно выделить основные (базовые) типы, а также конструкторы данных, с помощью которых можно построить данные других типов. По существу базовые типы данных языков рассматриваемой группы подобны тем, которыми располагают языки программирования для целочисленных вычислений. Как минимум в языке должны быть целые и булевские переменные, а также конструкции: сигнала, контакта, регистра, массива регистров (т. е. памяти), субрегистра (подмножества разрядов регистра), объединения регистров.

Как показано в работе, другие необходимые типы данных, как, например, триггеры, дешифраторы, мультиплексоры, шины и т. п., могут быть построены из базовых. Существенно, что данные рассматриваются вкупе с набором допустимых операций над ними, т. е. находятся в соответствии с концепцией абстрактных типов данных. Эта концепция чрезвычайно плодотворна для языков рассматриваемой группы, так как позволяет получать разные типы данных одной и той же внутренней структуры, но различающиеся набором операций (сдвиговый регистр, регистрсчетчик и т. п.).

Заметим, что допустима и противоположная ситуация, когда разные типы данных имеют одинаковый (по смыслу) набор операций, но различные внутренние структуры. Именно так и реализуется возможность преобразования объектов данных с одного уровня на другой.

Перейдем теперь к анализу методов интерпретации моделей. Во-первых, следует отметить, что языки описания вычислительных систем могут строиться как по процедурному, так и понепроцедурному принципам. В процедурных языках выполнение операторов производится в последовательности их записи и лишь иногда изменяется операторами управления. В непроцедурных языках порядок просчета определяется истинностью разрешающих выполнение оператора условий. Непроцедурные языки более удобны для описания моделей структурного плана, а процедурные для описания поведения устройств. Поэтому во многих языках совмещаются процедурный и непроцедурный подходы.

Во вторых, для описания работы моделей во времени существенны такие понятия, как задержка, ожидание, асинхронный и синхронный параллелизм и т. п. Естественно, что все они базируются на определенной концепции имитации модельного времени, которая должна быть согласована между различными языками, использующимися в одном проекте.

Итак, из проведенного рассмотрения становится ясно, что концепция абстрактных типов данных позволяет создать согласованное по интерфейсам и объектам данных семейство языков

моделирования вычислительных систем.

Заметим, что попутно решается и отмеченная выше проблема формального описания семантики языков, так как конструирование абстрактных типов данных строится именно на базе таких описаний.



 
Главная Страница Контактная Информация Поиск по сайту Контактная Информация Поиск по сайту