Project
Проект - Логическое объединение информационных материалов (файлов),связанных с определенной работой пользователя в среде Stratum. Для удобства каждый новый проект создается в отдельном каталоге, (иногда, когда есть несколько связанных проектов, имеет смысл расположить их в одном).
Проект может состоять из библиотеки классов, информационных и графических ресурсов, текущих настроек среды, состояний переменных. Ресурсы проекта можно для удобства распределить по нескольким подкаталогам.
Различные проекты могут быть связаны в гиперпроект.
Файлы проекта
Под проектом подразумевается совокупность ресурсов, необходимых для работы модели. Пока проект не загружен он представляет собой набор некоторых файлов, располагающихся, в общем случае, в одной директории. Существуют следующие стандартные файлы (по расширениям):
SPJ - Файл проекта (старое расширение - PRJ), содержит различную информация о текущем состоянии модели. Существует один на проект, создается при создании проекта.
СLS - Файл имиджа, содержит описание одного имиджа. Создается при добавлении в проект нового имиджа. При редактировании всегда сохраняется его предыдущая версия с расширением BAK. При удалении из среды переименовывается в файл с расширением DEL. При необходимости его можно восстановить, переименовав обратно CLS.
STT - Файл состояния, содержит значения переменных некоторого имиджа (или всей модели). Создается при записи состояния.
VDR - Файл графического пространства. Создается при сохранении некоего графического пространства и содержит все графические объекты, в нем располагающиеся.
MAT - Файл матрицы, содержит описание и данные матрицы. Возникает при создании матрицы в модели.
Дополнительно, модель может использовать файлы различных графических форматов, звуков, баз, видео, текстов, которые рекомендуется так же расположить в каталоге проекта для поддержания целостности информации.
Классы и объекты
Объектно-ориентированный подход разработки в среде подразумевает наличие базовых понятий в виде объектов и классов. Гради Буч дает следующее определение: “Объект обладает состоянием, поведением и индивидуальностью; структура и поведение схожих объектов определяют общий для них класс. Термины “экземпляр класса” и “объект” взаимозаменяемы”. Термин "имидж" соответствует классу, а экземпляр имиджа - объекту. Для работы с классами и объектами существует ряд специальных функцийclass_functions.
Состояние объекта характеризуется перечнем всех возможных свойств (обычно статических) данного объекта и текущими значениями (обычно динамическими) каждого из этих свойств. Тот факт, что объект характеризуется состоянием, означает, что он занимает определенное пространство в памяти. Множество значений переменных, входящих в объект, образуют область состояния объекта.
Иерархия объектов
При построении модели строится список классов и дерево объектов. При создании нового класса он регистрируется в библиотеке проекта и создается соответствующий CLS файл. С объектами все немного сложнее, первый объект автоматически создается при создании нового проекта (одновременно с классом) и называется корневым.
Корневой объект - сложный объект, стоящий на вершине иерархии объектов проекта, и который сам не включен ни в один объект. С точки зрения иерархии, корневой объект является собственно моделью. С точки зрения пользователя, корневой объект это собственно прототип системы.
Все остальные объекты просто устанавливаются в схему корневого и так далее, образуя дерево иерархии объектов.
Таким образом, любой крупный объект (здесь под величиной объекта понимается число подобъектов) состоит из более мелких объектов, что с достаточной степенью точности соответствует устройству объектов реального мира.
При считывании проекта в список классов загружаются все классы из директории проекта, а также вложенных директорий. Загрузку классов из вложенных директорий можно отключить (что, например, необходимо при построении гиперпроектной системы) в меню Параметры - Параметры среды - Библиотека.
Поведение объектов
Поведение характеризует то, как объект воздействует или подвергается воздействию от других объектов с точки зрения изменения состояния этих объектов и передачи сообщений (см. Порядок вычисленийCalculate_order).
В среде Stratum 3.0 принята псевдопаралельная модель обработки объектов системы. Математические модели объектов проекта просчитываются последовательно с нижних уровней иерархии к верхним. На уровне схемы порядок вычисления объектов можно поменять с помощью меню Лист - Редактировать порядок вычислений.
Построить свою схему обработки объектов можно двумя способами.
1. Использовать специальную переменную _enable. Установка этой переменной в 0 "отключает" объект, то есть перестает вычисляться его математическая модель и подсхема, если она есть. Таким образом, передав значение для переменной _enable по связи, можно осуществлять управление работой любого объекта.
2. Использовать сообщения (см. Механизм сообщенийMessage_theorethic). Сообщения позволяют динамично менять модель обработки объектов. Например, обработать группу определенных объектов независимо от их количества или различных объектов в зависимости от модели.
Объединение проектов
Разделение большой и сложной системы на ряд проектов позволяет упростить процесс ее создания и отладки.
Все вспомогательные проекты наиболее удобно расположить в отдельных подкаталогах основного каталога, где будет располагаться основной проект. Объединение можно осуществить, непосредственно добавив в основной проект корневые объекты подпроектов, или воспользоваться системой гиперпроектов.
Удаление проектов
Осуществляется непосредственным удалением соответствующих каталогов.
Запись проекта под другим именем
Для записи проекта под другим именем необходимо в меню Файл выбрать пункт Сохранить проект как. После этого указать каталог в котором будет находится новый проект, данный каталог должен быть либо пустым, либо отсутствовать. В новый каталог будут переписаны файлы классов, проектов, состояний и всех других файлов лежащих в исходном каталоге (исключая *.cls, *.bak, *.del, *._cl).
см. Путь в имени объектаpath
Created with the Personal Edition of HelpNDoc: Save time and frustration with HelpNDoc's WinHelp HLP to CHM conversion feature