Come posso progettare un collegamento in EMF
-
13-10-2019 - |
Domanda
Ho un modello di campi elettromagnetici, come quello successivo:
HardwareVerification -1-*-> Driver
HardwareVerification -0-*-> Environment
Environment -1-1-> Driver
Ogni volta che creo un'istanza del modello FEM devo creare un driver per l'ambiente e, l'altro nel HardwareVerification, ma quello che mi serve è avere lo stesso driver in entrambi i luoghi.
Ad esempio:
h1 -> driver 1
h1 -> env1
env1 -> driver1
La mia domanda è: Come dovrei modellare questo? * Ho letto che a gestire i collegamenti in EMF è possibile utilizzare un altro EClass con il fonte e obiettivo di attributo.
Soluzione
EReferences possono essere modellati come contenimento o riferimenti non di contenimento. Se si utilizzano i riferimenti non di contenimento, allora si può fare riferimento allo stesso oggetto che è contenuto nel modello da qualche altra parte.
Supponendo che l'ambiente "possiede" il conducente, che poi sarebbe il riferimento di contenimento.
E l'HardwareVerification sarebbe solo "l'uso" il conducente, che poi sarebbe il riferimento non di contenimento. testuale "UML" schema potrebbe essere la seguente (il
env1 <x>-----> driver1
^
|
h1 <>--------------
Altri suggerimenti
Credo che il link si sta parlando è l'Eriferimento.
Quando si aggiunge un Eriferimento ad un EClass nel file di Ecore, è possibile specificare la cardinalità utilizzando la proprietà limite inferiore e limite superiore del Eriferimento.
Nel tuo caso, è possibile impostare lowerbound = 1, upper bound = -1 (infinito) per rappresentare -1 - * ->