Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - Miguel

Pages: [1] 2
Bugs and Issues / Compartment Visibility Sometimes Too-Filtered
« on: April 11, 2022, 01:21:37 am »
Hi Folks,

The dialog for Compartment Visibility on a Block is filtered to show only those compartments that EA deems appropriate for a Block.  However, I sometime find this filtering to be too aggressive.  (I'm using EA15.2 1560)

My real question is if there is a way to turn off this 'feature' and to show all possible Block compartments in the dialog, so that I can choose those that I want.  Actually, I have to admit, I don't love this feature, anyway, because it causes the listing of compartments to move around each time I bring them up... I would much prefer a static, complete set to select from.

I'm going to address this through a specific example, but please keep in mind, that I'm not really looking for a discussion on the merits of this example, but rather about the compartment visibility dialog itself.

I have found cases in which the "classifier behavior" compartment is not selectable, even when there is a Classifier Behavior designated for a Block.  This is just one example where EA has determined (incorrectly) that the compartment doesn't apply.

I most often see this in the case that a State Machine is not owned by the block, but allocated to it, and designated as the Classifier Behavior.  However, in the case below, the State Machine is an owned behavior.  This is inconsistent and I don't know under what circumstances the dialog filter determines when to show or not show that compartment for selection.

Notice above that EA has determined not to allow me to select the "classifier behavior" compartment.

Is there a way to turn off this compartment EA-filtering in the dialog?

As always, thanks for your help,

General Board / Reference Association Bug? Workaround?
« on: October 04, 2021, 03:56:28 am »
Hi everyone,

It seems that there is a bug in EA 15.2 regarding the handling of Reference Associations in SysML.  I want to get your take on this and see if anyone has a good workaround.

In SysML, it's really hard to find a usable built-in distinction between Aggregation and Reference Association.  My understanding is that Aggregation is just a special type of Reference Association that allows for a custom stereotype.

However, EA doesn't handle these the same way.  Specifically, if I create an aggregation, the owning block gets a "reference" to the other object, but not so with Reference Association.  See below:

Note that Foo has a reference property to aBar but not one to aBaz.  In the model browser, it looks like this:

I'm pretty sure that this is wrong, and unfortunately, what this means is that I can't use "properties" of a Reference Association the way I can for an Aggregation.  For example, since it's not a property, working with IBDs is an issue.

Here it is in Cameo, for comparison:

One of the many fallouts is regarding the IBD for Foo, as I mentioned above.  Here's the IBD in EA:

Note, above... there just is no aBaz property for me to drag onto the IBD.


Bottom line, to me, it's a bug in EA that the block on the other end of a Reference Association is not itself a Reference Property in EA.  Your thoughts?  Anyone have a workaround?

General Board / How to find all diagrams???
« on: August 14, 2021, 12:55:14 am »
Hi folks.

Is there a way to find all the diagrams in a model?  In my case, I'm reviewing a SysML model.  Many diagram types (state machines, activities, and ibds) are nested under blocks.  Most blocks don't have these, but some do. 

I note that in the case of IBDs, a rake/spectacles symbol and link are shown on the block on BDDs.  This does help to find IBDs, although, it's still pretty indirect.  However, state machines and activities don't have a corollary. 

Finding which blocks have these diagrams just seems like a hunting exercise.  I'm just wondering if there is a "show me all the diagrams" in Sparx EA.


General Board / Adding a Region to a StateMachine
« on: July 30, 2021, 10:35:48 am »
I'm on EA 15.2 1559.

I am not able to add a Region to a StateMachine (either an existing one or a new one).

From the Sparx EA Help, this is supposed to be available through the context menu on the element:

"Right-click on element | Advanced | Define Concurrent Substates"

But, when I right-click on the StateMachine element, there is no "Advanced", let alone "Define Concurrent Substates".

Also according to the Sparx EA Help:

"It is also possible to add Regions to a State element or StateMachine element frame; right-click on the selected frame and select the 'Define Concurrent Substates' option"

However, for me, the "Define Concurrent Substate" menu item is grayed out.

Does anyone know how to do this in 15.2?


General Board / IBD: How to add Inherited Ports and Non-owned Items
« on: April 04, 2021, 11:09:46 am »
Hi Folks,

I'm having a hard time figuring out how to add two types of items to a SysML IBD: Ports and Non-owned Items.  I'm on EA 15.2v1555.

Please see the BDD below.  Foo has a port and Bar has a port of its own, but since Bar is a specialization of Foo, then Bar actually has both ports.  Additionally, Bar has a referfence association with Baz. 

I'm trying to create an IBD for Bar that looks like the following, but I can't get it do do this in EA:

Instead, when I create the IBD, I can drag and drop Bar's owned items, including its port and its part onto the IBD by selecting the item under Bar in the Project Browser:

...the dragging and dropping it onto the IBD...

However, there seems to be no way to add to the IBD the port that Bar inherited from Foo or the aBaz, which is not owned by Bar (though Bar has a reference association with Baz).  If I try to highlight the port under Foo and drag it, that doesn't work, and there is no way to find a Baz that I can drop onto the IBD as a reference.

Any help would be appreciated.


General Board / Compartment Visibility - diagram vs block level
« on: April 03, 2021, 08:34:24 am »
In EA 15.1, I used to be able to change compartment visibility for an individual block by right-clicking the block, selecting compartment visibility, and unchecking compartments I didn't want to be shown.  I notice that in 15.2, build 1555, I can not longer override the compartment visibility that is set at the diagram level.  This is kind of frustrating, because I have to go into the diagram options, uncheck everything, then go into each block and check the compartments I want to be visible.  So, a couple of questions:

- is there preference somewhere that allows me to make the individual blocks override the diagram settings?
- Is there a way to make all NEW diagrams have a pre-canned setup for Compartment Visibility?  Having to do this all on each diagram is a bummer.

Note, I rarely show ALL the compartments on any given diagram, or block.  And it's frequently the case that I'm not showing the same set of compartments for every block on a diagram.  I'm showing what makes sense for that particular diagram... so the ability to independently control Compartment Visibility per block used to be nice.

General Board / Return Values for Activities?
« on: April 03, 2021, 02:15:46 am »
Is there a way in Sparx EA to assign a return value to an Activity? 

I can assign parameters to the activity and by virtue of object flow, it's kind of obvious what the "return value" below, is the result:

But these are still both input parameters:

I'd like to have a return value on the activity.  What I'm looking for in the above is something like: "<<activity>>Process Data(in parm:Integer):Integer"

I see that if I bring up the "features" of the activity, I can access the two parameters, but there is no way to indicate in or out:

I'm on EA 15.2-1555. 


General Board / Where to Locate Interactions in a Model Hierarchy
« on: April 03, 2021, 01:38:05 am »
In SysML, where do you all tend to place your interactions/sequence diagrams within the model hierarchy?  Because they usually span multiple blocks, there often isn't a usual fit under a block in the model hierarchy, the way there is with a state machine, for example.

Thanks in advance.


General Board / Search (and Replace) Limitations
« on: August 04, 2020, 05:07:08 am »
Hi everyone.

One thing I notice about the search capability in EA (15.1) is that it has limited scope.  For example, I have text in the Properties->Notes for a diagram and when I did a global search, that text wasn't found.  If it's in a block name or a note directly on a diagram, it is found.  Lower level stuff like message properties in sequence diagrams are not found.

Any idea how to increase the search scope?

Also, there does not seem to be a search and replace option at all, which is kind of inconvenient.  Am I missing it?

I looked through past posts on this forum and found stuff from the 2000's that suggested exporting an XMI, doing the search, or doing a search & replace and then re-importing (..."export your project root package in XMI file using Roundtrip compatibility option, search & replace your function name with notepad++ for example, and finally import your corrected XMI file"...).  Is it still limited to this in 2020?

Thanks in advance for the help.

General Board / Conditional Looping in SysML Activity Diagrams
« on: July 09, 2020, 10:19:01 am »
Hi folks,

This is more of a SysML question than and EA-specific, but hoping to get some insight/suggestions.

I'm trying to figure out how to represent control logic, like a while loop in a SysML Activity Diagram.  In my case, I have a behavior I want to model in an Activity Diagram that looks at a collection of things that are candidates for some change.  There may be from zero to several items that have to change. 

I don't know how to handle that.  I do understand about IF-THEN-ELSE Decision nodes.  I just don't know how to do conditional looping in order to operate on a set of items from 0 to many. 

Sequence Diagrams have this ability, but in this case, an AD is more appropriate, because I'm not calling out to some other component/service, so there is no 'interaction'.  So, like I mentioned, I'm trying to do this as an Activity Diagram.

Here's an attempt to boil down the construct:

I think that in the above, the "get all..." action will produce a collection of one or more FOOs, which will be consumed one at a time by the "Do something..." action.  But two things that I don't know how to do:

1- how do I handle there not being any FOOs that matched the criteria?  I'd like to wind up at the "No FOOs..." SendSignal action.  I can't figure out how to get there.

2- if one or more FOOs are found, I believe that the above will "Do something..." to them one at a time, but how do I know when I am at the end of the set so that I can go on to the "At Least One..." SendSignal action, and just as importantly, how do I only get there once?

In a nutshell, at the end of the activity, I only want to send one signal; one of the two listed.

Thanks for the help...

I'm on EA15.1 build 1528.  SysML:

I keep my structural model separate from behaviors, just to make it easy to find all the behaviors together (customer desire).  I have defined a block with an operation foo().  I have a behavior in another package called foo activity.  Is there a way for me to link the foo() operation with the foo activity in SysML/EA?  I just want to indicate that this activity is what happens when foo() is called.

Similarly, I have a reception of a signal called Bar Signal on the same block.  I have another activity that will be executed upon receipt of that signal by the block.  How do I link that activity to the reception?


General Board / Showing Relationships from Parent
« on: June 27, 2020, 09:35:49 am »
Hi all.   I'm on EA15.1 build 1528.  I'm working with SysML and on a BDD, I'd like to show the composit relationship from one block to another, where that relationship is actually defined in the parent.  I can't figure out how to display it.

Here are the blocks I'm looking at.  Coin owns a part of type Coinage Year.  Quarter is Coin.

But now, on a separate BDD, I put both Quarter and Coinage Year on the diagram.  It doesn't show that Quarter owns a part of type Coinage Year.

I would like it to, though.  I realize that the relationship is defined by the parent, but in this particular diagram, I want to see the following:

But, I can't figure out how to show that in EA.  Can this be done?  If so, how?


I've looked around, but I can't find a way to put a header and footer inside the diagram frame in EA.  I'm not talking about in the generated documentation, but live, in the diagram, so that when it is viewed or copied via CTRL-B, the diagram can have the header/footer.  Anyone know a way to do that?

PS. This would be in addition to any model language header that is already part of the frame, such as in UML/SysML.


General Board / Connector Typed by an Association
« on: May 25, 2020, 08:37:34 am »
Hi everyone... I  hope someone is able to help with this one...  SysML work.  EA15.1 build 1528.

I have the following BDD:

with a "Bar" association ;-)

On the IBD, I create a connector:

But it is untyped, and there doesn't seem to be a way to specify the association model element for the type ("Type" is not selectable in Properties, and I can't find a way to do it elsewhere):

What I'm trying to do is have the connector typed by the association that is already defined, like this (which I did with Paint):

Any hints?  Thanks in advance.

General Board / Applying a Property Name to an Item Flow in IBD
« on: May 25, 2020, 08:20:14 am »
Hi all,

I can't see how to do something in EA that I see in SysML diagrams referenced elsewhere.  I'm on EA15.1 build 1528.  Specifically, I'm trying to set up an Item Flow.  Here is what I am trying to do, which was accomplished via Paint:

I can only get close.  If I have the following BDD:

and then on the IBD for Containing Block, I create a flow connector, and try to select the item flowing, I only see the types, not the properties associated with my item flow:

I select Block1, and then specify to add the realization:

and what I wind up with is this:

It's an Item Flow, of type Block1, but I can't figure out how to make it look like this:

Any ideas?


Pages: [1] 2