Book a Demo

Author Topic: puzzling receptions  (Read 2676 times)

TvdS

  • EA Novice
  • *
  • Posts: 7
  • Karma: +0/-0
    • View Profile
puzzling receptions
« on: January 22, 2019, 01:07:25 pm »
I'm a first time poster on this forum, so please bare with me, even though my language can be a bit rough, my intentions are nothing but friendly.

I'm trying to use the reception compartment in a class following the directions in the user guide here: https://sparxsystems.com/enterprise_architect_user_guide/14.0/model_domains/reception.html .

The proposed steps doesn't seem to result in a class with signals in its receptions compartment.  I tried:
While having a class selected,  the button in the features pane under "receptions"  to raise the select dialog is not activated while I've created a number of Signals (using the toolbox) on the same diagram. Neither it is possible to enter a name in the name field for the reception.

Suggestions on the forum by sparx systems staff  propose to create an operation and attach a "signal" stereotype to it:

For a Reception, create an Operation and give it the «signal» stereotype.

This doesn't result in an entry in the receptions compartment either, it only adds a "<<signal>> operation()" to the operations compartment of the class. While this is conform UML 2, in the context of a reception compartment in the UIF of EA as well as the existence of a user guide entry on the subject describing something else is confusing to say the least!

Moreover, there is a semantical problem.  It seems that it is not possible to use this "signal stereotyped operation" as a proper signal in a sequence diagram nor is it possible to establish a relation between a proper signal (as created with the toolbox or as a class with the "Signal" type) and a "signal stereotype signal".

While UML 2 is pretty straightforward to use when specifying asynchronous message (no, not in the OO sense, but in data comm sense) handling, EA seems to be difficult to use.

Can anyone help me to get this working:

Creating a class with proper (UML 2) receptions actual using the signals specified using the toolbox and use these signals in a sequence diagram, without using the "operations workaround". Simply because operations are not signals.

I know this subject has come up a few times before, but the solutions provided do not answer the main issue: signals are classifiers and operations are features, and never the twain shall meet!

I'm looking for some help in modelling an asynchronously communicating distributed system using UML with signals and receptions throughout the model. As I'm planning to generate code. Google Protobuffers for the signal structures and Java Akka for the (active) classes.

Thanks for reading
Twan


Eve

  • EA Administrator
  • EA Guru
  • *****
  • Posts: 8110
  • Karma: +119/-20
    • View Profile
Re: puzzling receptions
« Reply #1 on: January 22, 2019, 01:17:22 pm »
What version/build of EA are you using?

The quoted suggestion was accurate at the time, but it was 2008. Back then that was the best you can do.

 The first step is to create one or more signal elements. You can find them in the Class toolbox. Add attributes to them if you want.

Open the Features docked window to the receptions page. Click the ellipsis (...) button next to "new reception" and select an existing signal. Your reception is created, and the parameters match the attributes in the signal as required by UML.

In a sequence diagram, you can now select this in the dropdown.

TvdS

  • EA Novice
  • *
  • Posts: 7
  • Karma: +0/-0
    • View Profile
Re: puzzling receptions
« Reply #2 on: January 23, 2019, 01:30:37 am »
Hi Eve,

Thanks for  responding.  I'm using 14.2

I've an update on experiments.  It turns out that in a brand new project repo everything works as described in the manual! However in the project repo I'm currently work on, it doesn't work whatever I try ?!?

May be there is some inconsistency in the repo? Is there a way to check its (logical) integrity?
I ran "Project Integrity" and two duplicate GUID where found and I let EA resolved it for me. It didn't work either.

I'ld be quite disheartened if I needed to do everything over as you can imagine.

Twan