Основы систематизации языков моделирования
Алгоритмические языки при моделировании систем служат вспомогательным аппаратом разработки, машинной реализации и анализа характеристик моделей. Каждый язык моделирования должен отражать определенную структуру понятий для описания широкого класса явлений. Выбрав для решения задачи моделирования процесса функционирования системы конкретный язык, пользователь получает в распоряжение тщательно разработанную систему абстракций, предоставляющих ему основу для формализации процесса функционирования исследуемой системы. Высокий уровень проблемной ориентации языка моделирования значительно упрощает программирование моделей, а специально предусмотренные в нем возможности сбора, обработки и вывода результатов моделирования позволяют быстро и подробно анализировать возможные исходы имитационного эксперимента с моделью.
Язык программирования представляет собой набор символов, распознаваемых ЭВМ и обозначающих операции, которые можно реализовать на ЭВМ. На низшем уровне находится основной язык машины, программа на котором пишется в кодах, непосредственно соответствующих машинным действиям (сложение, запоминание, пересылка по указанному адресу и т.д.). Следующий уровень занимает автокод (язык АССЕМБЛЕРА) вычислительной машины. Программа на автокоде составляется из мнемонических символов, преобразуемых в машинные коды специальной программой – ассемблером.
Компилятором называется программа, распознающая инструкции, написанные на алгоритмическом языке высокого уровня, и преобразующих их в программы на основном языке машины или на автокоде, которые в последнем случае транслируются еще раз с помощью ассемблера. Интерпретатором называется программа, которая, принимая инструкции входного языка, сразу выполняет соответствующие операции в отличии от компилятора, преобразующего эти инструкции в запоминающиеся цепочки команд. Трансляция происходит в течении всего процесса работы программы, написанной на языке интерпретатора. В отличие от этого компиляция и ассемблирование представляют собой однократные акты перевода текста с входного языка на объектный язык машины, после чего полученные программы выполняются без повторных обращений к транслятору.
Программа, составленная в машинных кодах на языке ассемблера, всегда отражает специфику конкретной ЭВМ. Инструкции такой программы соответствуют определенным машинным операциям и, следовательно, имеют смысл только в той ЭВМ, для которой они предназначены, поэтому такие языки называются машинно-ориентированными.
Большинство языков интерпретаторов и компиляторов можно классифицировать как процедурно-ориентированные языки, которые качественно отличаются от машинно-ориентированных языков, описывающих элементарные действия на ЭВМ и не обладающих проблемной ориентацией. Все процедурно-ориентированные языки предназначены для конкретного класса задач, они включают в себя инструкции, удобные для формулировки способов решения типичных задач соответствующего класса, при этом необходимые алгоритмы формируются в обозначениях общего вида, т.е. не связанных напрямую ни с какой определенной ЭВМ.
Язык имитационного моделирования (ЯИМ) представляет собой процедурно-ориентированный язык, обладающий специфическими чертами. Основные языки моделирования разрабатывались в качестве программного обеспечения имитационного подхода к изучению процесса функционирования определенного класса систем. Целесообразность использования ЯИМ вытекает из двух основных причин: 1) удобство программирования модели системы; 2) концептуальная направленность используемого языка на класс исследуемых систем. Наиболее серьезные недостатки ЯИМ проявляются в том, что в отличие от языков общего назначения (ЯОН), трансляторы с которых включены в поставляемое изготовителем математическое обеспечение всех современных ЭВМ, языки моделирования, за редким исключением разрабатывались отдельными организациями для своих узко специализированных потребностей, т.е. их трансляторы плохо описаны и приспособлены для эксплуатации.
Дата добавления: 2015-08-21; просмотров: 1200;