Список разделов О факультете Специальности факультета Контакты

Раздел 3: Express-X

Семантически эквивалентные прикладные объекты и элементы могут фигурировать в разных моделях. Естественно, что авторы этих моделей, работающие независимо друг от друга, могут использовать разные средства для их описания (например, разные идентификаторы). Если же независимо созданные модели потребуется использовать совместно и соединить в некоторой общей модели, то необходимо описать имеющиеся соответствия параметров. Для таких описаний разработан язык Express-X, вошедший в качестве стандарта ISO 10303-14 в лингвистическое обеспечение STEP.

Приводимый пример характеризует способ установления соответствия между сущностями и атрибутами двух моделей на языке Express.
SCHEMA  Old_data; 
  ENTITY Metadata; 
    faculty : STRING; 
    lecturer : STRING; 
    volume : STRING;
    annotation  : STRING;  
  END_ENTITY; 
  ENTITY Subject;
    name : STRING; 
    info: Metadata; 
  END_ENTITY; 
END_SCHEMA; 

SCHEMA  New_data; 
  ENTITY Course; 
    title : STRING; 
    tutor : STRING; 
    preface : STRING; 
  END_ENTITY; 
END_SCHEMA; 
 
SCHEMA_Map Data_Mapping; 
  GLOBAL 
    DECLARE source INSTANCE OF SOURCE_SCHEMA  Old_data; 
    DECLARE target INSTANCE OF TARGET_SCHEMA  New_data; 
  END_GLOBAL; 
  MAP lecture FOR tgtInstance:target::Course; 
    FROM (srcInstance:source::Subject)WHEN TRUE; 
    BEGIN_MAP 
      tgtInstance.title := srcInstance.name;
      tgtInstance.tutor := srcInstance.info.lecturer;
      tgtInstance.preface := srcInstance.info.annotation;  
    END_MAP; 
END_SCHEMA_MAP; 
СПБГУАП,
Санкт-Петербург, 2011 год