Как создать пользовательские атрибуты в EMF Ecore Modeling Framework - PullRequest
0 голосов
/ 24 июня 2019

В нашем проекте мы стремимся смоделировать систему с серией компонентов, каждый из которых имеет список входов и выходов.Мы хотим дифференцировать входные и выходные данные, поэтому мы не хотим, чтобы это был большой список EFloats, скорее мы хотим создать пользовательский тип данных, который определяет свойство как вход или выход, а также содержит единицу измерения длязначение.

Мы создали собственные классы данных в модели Ecore, но не можем назначить их компонентам, поскольку список атрибутов содержит атрибуты Ecore по умолчанию.

Поиск «пользовательских атрибутов ecore» возвращает результатыобщей информации о моделировании Ecore, которая не совсем отвечает на наш вопрос.

Ответы [ 2 ]

1 голос
/ 26 июня 2019

Если «пользовательские классы данных», которые вы создали, являются EClasses, то вы можете назначить их компонентам через «EReference». Если это пользовательские типы данных, вы можете назначить их через «EAttribute». Это помогает?

0 голосов
/ 28 июня 2019

Я нашел ответ здесь в посте, который пропустил ранее.

Как создать EAttribute, тип данных которого не является классом EMF?

Вы можете добавить тип данных в модели eCore, вручную добавив запись eClassifiers в файл * .ecore.(Мне не удалось найти механизм для этого через интерфейс Eclipse.)

Например:

<eClassifiers xsi:type="ecore:EDataType"
 name="MyClass" instanceClassName="my.package.MyClass"/>

Это сделает класс доступным в качестве опциидля EType в редакторе свойств для EAttributes.По-видимому, он не доступен для EReferences.

...