Проект - Логическое объединение информационных материалов (файлов),связанных с определенной работой пользователя в среде 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