ОПИСАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ СТРОИТЕЛЬСТВА В ИНФ…


ОПИСАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ СТРОИТЕЛЬСТВА В ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЯХ
Описание объектов предметной области и их отношений применяется в системах автоматизированного проектирования документооборота, управления и в других информационных системах. Для строительного проектирования вопрос адекватного описания предметной области приобретает большое значение в связи с развитием кооперации большого числа проектных организаций, в том числе из разных стран. Такое описание зачастую создается авторами разработок самостоятельно, что приводит к несовместимости компьютерных программ, баз данных и электронных документов. Это вызывает значительные сложности при попытке применения различных программных продуктов в едином технологическом потоке.
Для устранения этого недостатка применяются различные способы обеспечения совместной работы информационных систем (т. н. «интероперабельности») независимо от их назначения и особенностей разработки. Одним из таких способов является применение стандартизированного языка (иначе говоря - протокола, формата данных), описывающего объекты определенной предметной области и их отношения.
При описании предметной области важным становятся как синтаксис описания, так и его семантика. Если синтаксис описаний может быть достаточно общим для различных предметных областей, то структура семантического описания существенно зависит от структуры самой предметной области. Попытки создать универсальные форматы данных, описывающих разнообразные предметные области, наталкиваются на значительные трудности. Рассмотрим возможные приложения имеющихся протоколов для предметной области строительства.
Для строительного проектирования характерно графическое представление объектов, которое может быть записано в двоичном или текстовом виде. Двоичный формат более быстрый для передачи и обработки файлов, однако может быть воспринят только предназначенными для него программами. Стандартизированные двоичные форматы используются, как правило, для изображения фона, текстур поверхности и т.п. (например, BMP, JPEG, GIF, PNG).
Текстовые файлы могут распознаваться различными программами и использоваться в качестве протоколов обмена данными. Имеются текстовые форматы, применяемые для описания геометрических моделей различных САПР. К ним относятся форматы IGES, DXF, SAT, GDL и др. В последнее время появились форматы графического представления, ориентированные на передачу изображений через сеть Интернет, например, VRML, X3D. Перечисленные форматы поддерживают трехмерное геометрическое представление объектов, однако кроме геометрии с их помощью могут быть описаны лишь данные визуализации (оптические свойства поверхности, освещение, фон, анимация и т.п.). Для строительного проектирования целесообразно использование текстового формата, поддерживающего как графическую часть, так и описание различных понятий предметной области (конструкций, ресурсов, процессов, воздействий среды и т.п.).
Международными организациями разрабатываются языки для конструкторско-технологического описания продукции (STEP), организации производства (MANDATE, P-LIB), бизнес-процессов и торговли (IDEF0, EDIFACT) для т.н. «безбумажных» технологий поддержки жизненного цикла (CALS - Continuous Acquisition and Life Cycle Support).
Наиболее мощным является, пожалуй, язык обмена данными о модели продукции STEP (STandard for the Exchange of Product model data), получивший статус международного стандарта (ISO–10303). В составе нормативов STEP имеются (или разрабатываются) части, предназначенные для описания строительных конструкций, например, «Строительные конструкции с явным использованием формы» [1], «Каркасы зданий из стальных конструкций» и др. Однако обратной стороной универсальности всегда является избыточность формата. Поэтому файлы, выполненные в формате STEP, отличает некоторая громоздкость и усложненность данных.
На основе STEP Международным альянсом по интероперабельности (IAI), в который входит около 400 организаций, работающих в области информационных технологий, выполнена работа по созданию Базовых промышленных классов (IFC) [2]. Название происходит от аналогии с известными классами MFC (Microsoft Foundation Classes), применяемыми в программировании на Visual C++.
Всего разработано свыше 500 классов. Эти классы поддерживают описание трех основных семантических сущностей: объектов, свойств и отношений, а также так называемых ресурсов. Ресурсы являются описанием вспомогательных понятий (например, единиц измерения, геометрических фигур, материалов и т.п.) и окружающих объектов (строительных организаций, должностных лиц, документов и т.п.).Семантика объекта включает, помимо конструкций, также технологические процессы, средства управления, финансовые понятия, материальные и трудовые ресурсы, а также действующих лиц, например, проектировщиков и т.д. Объект получает контекстную информацию из связей, в которые он вовлечен.
Наряду с тщательной разработкой понятий и хорошо организованной структурой классам IFC присущи некоторые недостатки. Так, слабо разработана концепция уровней значимости объектов. Недостаточно точно проведена граница между описываемыми объектами и внешним миром. Практически не описываются крупные строительные объекты (стройки, здания в целом), а также сложно структурированные объекты (арматура железобетонных конструкций, технологическое оборудование).
В последнее время на передний план выходит семейство протоколов, основанное на стандартизованном обобщенном языке разметки SGML (Standard Generalized Markup Language, ISO 8879). К ним относятся в первую очередь гипертекстовый язык разметки HTML (HyperText Markup Language) и расширяемый язык разметки XML (eXtensible Markup Language). Они созданы международным Консорциумом всемирной сети W3C (World Wide Web Consortium), основная цель которого - стандартизация спецификаций для обмена данными в Интернет [3].
Несмотря на ограниченный синтаксис, XML позволяет описывать естественную иерархическую структуру сложных систем. Документ XML является «самоописываемым», то есть содержит данные о своей структуре. С помощью XML можно также создавать общие базы данных, открыто размещенные в узлах глобальной сети.
Документ в формате XML может быть достаточно просто прочитан программой и проверен на отсутствие ошибок. В качестве шаблона для проверки используется предварительно составленная структура документа. Описание структуры документа XML может быть выполнено как с помощью схемы документа (XML-schema), так и с помощью определения типа документа (Document Type Definition, DTD). Применение схем предпочтительнее по следующим причинам:
схемы составляются по тому же синтаксису, что и документы XML; этот синтаксис более простой, чем синтаксис DTD;
схемы допускают наследование типов данных, при этом типы данных значительно разнообразнее; можно также создавать собственные типы данных;
можно соединять описания из различных схем, регулировать видимость имен в пространствах имен и др.
Определенным недостатком многих искусственных языков, в том числе XML, является обязательность использования в служебных лексемах букв латинского алфавита. В документах XML, предназначенных для чтения общими программами просмотра (например, Microsoft Internet Explorer), невозможно включение русских букв в названия элементов, атрибутов и даже в текстовые константы. В связи с этим названия в XML принято давать на английском языке, а буквы русского алфавита заменять двухбайтовыми кодами Unicode [4].
Для описания различных предметных областей с помощью языка XML создаются расширения этого языка. Например, в области проектирования и строительства разрабатываются протоколы для технического проектирования DesignXML, ландшафтного проектирования LandXML, архитектурного и инженерно-строительного проектирования aecXML (Architecture, Engineering and Construction XML), строительных конструкций bcXML (Building Construction XML), бизнес-процессов (BizTalk) и др. Разрабатывается процедура машинного перевода классов IFC на язык XML (ifcXML).
Общим недостатком этих протоколов является громоздкость текстового описания, отсутствие возможности для сокращений количества объектов или строк в описании. По оценке авторов, для описания крупного строительного объекта, содержащего порядка одного млн. деталей (в основном арматурных стержней и деталей инженерных сетей), необходимо несколько Гигабайт текста. Такой файл с трудом размещается на жестких дисках, практически не размещается целиком в оперативной памяти и время его обработки текстовыми или специализированными программами просмотра чрезмерно велико.
В то же время в строительных проектах всегда имеются повторяющиеся элементы, поэтому описание объекта можно значительно сократить без ущерба для адекватности модели. Так, обследования авторов показали, что при проектировании монолитных железобетонных конструкций зданий на одну позицию армирования приходится 20-25 одинаковых арматурных элементов, отличающихся только размещением в пространстве. Поэтому была поставлена цель создания структуры элементов языка (названного «XML-описанием строительных объектов» - Building Object Description XML, или bodXML), позволяющего значительно (в десятки раз) уменьшить объем документов и ускорить время их обработки.
Для достижения поставленной цели необходимо было решить следующие задачи:
разработать описание схемы документа, включающее лучшие стороны существующих описаний предметной области строительства;
создать минимальное разнообразие классов, позволяющее обеспечить более простое программирование приложений и стабильность по ходу распознавания объектов;
обеспечить строго иерархическую структуру схемы (без вложенных самих в себя элементов), позволяющую отображать ее с помощью любых языков программирования;
разработать структуры языка, описывающие повторяющиеся объекты;
применить связи между различными схемами, позволяющие уменьшить объем описания в одном файле и упростить процедуру изменений в них.
Для описания структуры документа был выбран в качестве основы язык XML, обеспечивающий естественную иерархичность объектов, гибкость, наглядность и расширяемость. Для описания структуры использованы правила составления схемы, опубликованные в рекомендациях Консорциума всемирной сети W3C [5].
Вся схема разделена на описание отдельных элементов, представляющих различные типы данных документа. В схеме приведены:
элементы низкого уровня (переменные, ссылки, массивы и т.п.);
специализированные элементы (геометрические, топологические и др.);
элементы высокого уровня (объекты, их совокупности, системы).

Диаграмма элементов схемы bodXMLПрактически все элементы наследуются от общего абстрактного прототипа, названного ProElement. Этот элемент имеет обязательный идентификатор “id”, а также необязательные атрибуты “role” (роль), “name” (наименование), “scope” (доступность). Роль, как правило, выражает назначение элемента в соответствующем классе объектов, а наименование – имя в отдельных экземплярах объекта.
Элементами нижнего уровня схемы являются “Variable” (переменная), “Reference”(ссылка) и “Substitute” (замещение). Элемент “Variable” может быть любого типа из перечисленных в схеме, например, строка, целое число, вещественное число, дата, время, а также ссылка. Этот элемент может иметь единицу измерения или ссылку на нее. Описание единиц измерения целесообразно разместить не в схеме, а в отдельной XML-базе данных, размещенной в сети. Элемент “Substitute” введен для того, чтобы исключить рекурсивное определение классов и структур, запрещенное в объектно-ориентированных языках программирования, но не запрещенное в XML. Он может использоваться также как ссылка на блок в чертеже САПР.
При программировании приложений конструктор и деструктор класса “Substitute” должны обеспечивать регистрацию объекта в системе для возможности контроля за тем, не является ли созданный замещающий объект пустым. Функции этого класса должны обеспечивать создание основного объекта и распознавание его типа. Несоблюдение правил создания вложенных объектов может привести к зацикливанию в ходе работы программы, например, при создании вложенного объекта в конструкторе класса.
Элемент “sequence” (последовательность) служит для отображения арифметической, геометрической и гармонической (синусоидальной) прогрессии различных переменных. Для переменных типа «дата», «время», «строка» и переменных перечислимого типа допустима только арифметическая прогрессия.
Для более сложных конструкций данных разработаны элементы “node”(узел) и “collection” (коллекция). Коллекция состоит из узлов и является обобщением различных совокупностей данных (массив, множество, таблица, дерево, граф, связный список и т.д.) Структура отношений узлов зависят от типа коллекции. Например, для связного списка требуется две ссылки на соседние узлы; для массива и множества взаимных ссылок не требуется; для дерева и графа требуется переменное число ссылок. Структура коллекции обеспечивает также возможность включения специальных объектов и свойств.
Для обеспечения возможности непосредственного отображения в формате XML программно реализуемых методов зарезервирован элемент “method” (метод), который может содержать в текстовом виде исходные коды процедур, функций, уравнений, формул и т.п. Представление методов не зависит от применяемых языков программирования. Метод содержит коллекции входных и выходных параметров, локальных и глобальных переменных, ресурсов, сообщений, операторов.
Перечисленные элементы позволяют создавать комплексные объекты и делают формат bodXML практически равномощным языкам программирования высокого уровня.
В связи с тем, что в моделях строительных объектов, генерируемых системами САПР, подавляющая часть информации относится к форме элементов и положению в пространстве, были разработаны элементы схемы для геометрических и топологических понятий. При этом были учтены особенности протоколов DXF, SAT, IFC, VRML и др. [2].
При представлении объектов были выделены элементы топологического, геометрического и визуального представления. Разделение понятий позволяет корректировать отдельные элементы XML-документа без изменения остальных разделов. Топологические элементы в первую очередь определяют форму тела объекта. Тела при этом разделяются на следующие основные типы:
“Solid” – объемные тела (несущие и ограждающие конструкции);
“Sheet” – поверхности (кровельные покрытия, отделочные слои и т.п.);
“ExtrudedSolid” – протяженные тела (трубопроводы, погонажные элементы);
“HalfSpace” – полупространство (грунт, основание).
Элементы более высокого уровня могут непосредственно отображать объекты и понятия предметной области. К ним в первую очередь относятся элементы “Entity” (объект), “Clone” (клон) и “System”(система). Они образованы от абстрактного класса “ProObject” и включают топологические элементы, свойства и отношения, а также структурные составляющие более низкого уровня. Элементы “Relationship”(отношение) и “Property” (свойство) входят в контекст системы или хранятся в базе данных.
Элемент “Entity” практически могут отображать отдельный объект или целый класс объектов (при хранении в базе данных в качестве таксономической единицы).
Особое значение имеет элемент “Clone”. Он позволяет лаконично представить совокупность сходных объектов, различающихся немногими параметрами (например, положением в пространстве). Для описания переменных параметров используется прогрессия или коллекция значений.
Наконец, элемент “System” представляет практически все возможные строительные системы, от детали конструкции до жилого района. Для этого используется описанная выше система замещения подсистем. Для более четкого описания иерархии систем может использоваться атрибут “Level”, который указывает принадлежность системы к определенному уровню иерархии.
Возможности языков XML и, в частности, bodXML позволяют передавать данные о моделях строительных объектов, созданных методами САПР, в различные информационные системы, например, в сметные программы или программы планирования, управления и учета. Такие языки не противоречат методам создания концептуальных моделей, например, ER-моделей, а также требованиям объектно-ориентированных языков программирования. Исходя из изложенного, можно считать текстовой формат на базе XML основным инструментом для описания предметной области строительства. Его применение позволит обеспечить совместимость различных программных средств, ускорить проектирование и строительство объектов.

Приложенные файлы

  • docx 15808222
    Размер файла: 51 kB Загрузок: 0

Добавить комментарий