Пакет стандартных библиотек пользователя системы имитационного моделирования мелкозернистых алгоритмов и структур WinALT
Назначение. Пакет стандартных библиотек пользователя - это набор динамически подключаемых библиотек dll (dynamic link library). В библиотеках находятся интерфейсные функции, которые наиболее часто используются в самых разнообразных имитационных моделях. Кроме того, каждая библиотека содержит функцию инициализации библиотеки и шлюзовые функции, которые реализуют возможность вызова интерфейсных функций из WinALT.
Разработка программы поддержана проектом Президиума РАН 13.6.
Функциональные возможности. Пакет содержит следующий набор: altio.acl, altobj.acl, console.acl, io.acl, math.acl, standard.acl.
Краткое описание набора.
altio.acl – содержит множество функций для консольного ввода/вывода. Функции обеспечивают ввод с клавиатуры и печать на экран строковых значений, целых и дробных чисел, вызов редактора текстовой строки и ряд других. Перечень функций: WriteLn, ReadLn, ReadString, WriteString, WriteStringLn, WriteInteger, WriteIntegerLn, ReadInteger, WriteFloat, WriteFloatLn, Write1, Write1f, ReadFloat, WriteCharacter, WriteCharacterLn, ReadCharacter, WriteBoolean, WriteBooleanLn, ReadBoolean, GetYesNo, ShowMessage, ShowErrorMessage, responseRETRY, responseABORT, EditString, EnableCharBuffer. Библиотека используется как в консольной, так и в графической версиях системы WinALT, например, для печати промежуточных или конечных результатов моделирования, трассировки при отладке модели и т.д.
altobj.acl – содержит множество функций для работы с объектами данных (клеточными объектами), их отдельными клетками и группами клеток. Функции позволяют создавать и удалять объекты, менять их размеры и размерность, присваивать клеткам значения, присваивать значения группам клеток. Перечень функций: CreateObject, RemoveObject, CopyObject, GetDescriptor, CreateAlias, CreatePartial, CloseDescriptor, ResizeObject, GetObjectSizeX, GetObjectSizeY, GetObjectSizeZ, GetObjectName, GetCellName, SetCellName, GetIntCell, SetIntCell, SetIntRect, SetIntFilledRect, SetIntLine, SetIntCircle, SetIntFilledCircle, DupRect, SwapRects, ReflectXRect, ReflectYRect, ReflectZRect, RotateSquare.
console.acl – содержит множество функций для управления текстовой консолью. Перечень функций: Init, Deinit, Get, Release, SetTitle, SetAttr, foreBlue, foreRed, foreGreen, foreIntensity, backBlue, backRed, backGreen, backIntensity, GotoXY. Библиотека используется в моделях, ориентированных на исполнение в консольной версии системы WinALT.
io.acl – содержит множество функции файлового ввода-вывода. Эти функции в существенной степени повторяют функции стандартной библиотеки Си (как по названию, так и по составу параметров). Перечень функций: fopen, fclose, fread, fwrite, fgets, fputs, fputi, fputf, fputfsci, fgetc, fputc, feof, fseek, ftell, ferror, fflush, clearerr. Библиотека используется для ввода и вывода данных из файлов, форматы которых не имеют встроенной поддержки в системе WinALT.
math.acl – содержит множество математических функций. Названия функций полностью заимствованы из Си. Фактически библиотека состоит из математических функций, импортированных из стандартной библиотеки Си. Перечень функций: sin, cos, tan, asin, acos, atan, atan2, sinh, cosh, tanh, exp, log, log10, pow, hypot, sqrt, floor, ceil, fmod, j0, j1, jn, y0, y1, yn, fabs.
standard.acl – содержит разнообразные часто используемые константы и функции. Основная группа функций служит для работы с типами данных – определение типа переменной или клетки. Прочие функции позволяют получить размер клеточных массивов, произвести замеры времени, затрачиваемого на этап моделирования и т.д. Перечень функций: null, Null, NULL, typeInteger, typeBoolean, typeString, typeVoid, typeFloat, typeCharacter, succ, pred, abs1, max2, max3, min2, min3, cond, cond2, cond3, cond4, cond5, cond6, cond7, cond8, cond9(10), StringLength, StringEqual, Integer, Float, String, Pointer, TypeOf, typeof, SizeX, SizeY, SizeZ, Time, StartTimeCounter, StopTimeCounter.
Вызов библиотек из моделирующей программы осуществляется с помощью операторов use и import языка моделирования системы WinALT. При использовании оператора use для вызова библиотеки пользователь может использовать в моделирующей программе имена функций, представленные выше. При использовании оператора import для вызова библиотеки пользователь должен использовать в моделирующей программе имена функций, у которых собственно имени функции предшествует префикс, состоящий из имени библиотеки. В этом случае обеспечивается страховка от использования совпадающих имен функций в разных библиотеках в связи с тем, что пакет открыт для пополнения.
Инструментальные средства создания. Библиотеки создаются в среде Microsoft Visual Studio. Исходные тексты интерфейсных функций либо берутся из некоторой стандартной библиотеки (например, языка Си), либо создаются разработчиком библиотеки. Создание библиотеки содержит три шага. С помощью специально разработанной утилиты stg генерируется файл на языке Си, в котором содержатся шлюзовые функции, делающие доступными интерфейсные функции в моделирующих программах. В Visual Studio создается проект, в который включаются все необходимые для компиляции интерфейсных функций исходные тексты и файл, сгенерированный на предыдущем шаге. Затем осуществляется компоновка dll файла в проекте Visual Studio. При стандартной установке системы WinALT на диск C библиотеки пакета размещаются в директории C:\alt\acllib.
Минимальные требования к системе, использующей пакет библиотек: ОС – Windows NT 4.0 или Windows 2000, ЦП – Pentium 75МГц, объем ОЗУ – 256Мб. Конфигурация системы, позволяющая комфортно работать с пакетом библиотек, зависит от размера данных в используемых моделях и характера их обработки. Рекомендуемая конфигурация – ОС Windows XP или 7, ЦП Pentium 4 c 3ГГц и выше, ОЗУ 2ГБ и выше.
Вложение | Размер |
---|---|
stdlibs.1.ppt | 176 КБ |