Author Topic: EA Query to find Implementing Interface Operation on Sequence Flow  (Read 3821 times)

potterm

  • EA User
  • **
  • Posts: 126
  • Karma: +0/-0
    • View Profile
In our design model we have sequence diagrams showing components receiving sequence messages.  The components do not have operations themselves, but implement interfaces defined within our model.  I want to write an EA query which returns the interfaces and the operations on those interfaces that are invoked by each sequence message on each sequence diagram.  However I don't know which table/attribute in the EA internal data model holds this information.

For example:

ComponentA implements Interface1 which specifies Op1, Op2 and Op3.  I have a sequence diagram which includes a message from another component invoking Op2 on ComponentA.  From my query I can see that the t_connector table contains an entry for this sequence with the name "Op2()", but I can't see how to navigate from there to find Interface1 and Op1 (i.e. which table/attribute holds the information).

I would expect it to be in t_connector, but nothing in that table seems to record the classifier and operation that is the target of the sequence message.  I know that EA holds this information because when I double click on the message in the diagram and select the message pull-down I can see the fully qualified name selected in the list (i.e. "Interface1::Op2").

Does anyone know?

Thanks,
Martin

qwerty

  • EA Guru
  • *****
  • Posts: 13584
  • Karma: +396/-301
  • I'm no guru at all
    • View Profile
Re: EA Query to find Implementing Interface Operation on Sequence Flow
« Reply #1 on: December 22, 2016, 04:16:01 am »
You find the relevant information in t_connectortag where the according operation GUID is stored. t_connectortag.ElementID is the connectorId.

q.
« Last Edit: December 22, 2016, 04:18:23 am by qwerty »

potterm

  • EA User
  • **
  • Posts: 126
  • Karma: +0/-0
    • View Profile
Re: EA Query to find Implementing Interface Operation on Sequence Flow
« Reply #2 on: December 22, 2016, 04:46:36 am »
That did it  :)

Thanks very much qwerty!