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 - Dave.B

Pages: [1] 2
Suggestions and Requests / case insensitive sorting
« on: October 19, 2009, 10:03:43 pm »
I notice that the alpha-numeric sorting in the project browser and diagram layout tools is sensitive to letter case, possibly because it is only sorting based on character code values. Please implement a case insensitive alpha-numeric sort.

Best Regards
Dave B.

PS currently using EA v7.5.849.
PPS I fully appreciate that consistent naming conventions are de-rigour for software, but mixed case model-element names arise when constructing analysis models with domain-specific language and terminology. (I'm using SysML for this purpose.)

Suggestions and Requests / Joined up models and notes/descriptions
« on: May 13, 2008, 12:16:27 am »
It would be very good to have the usage of every modelling element's name (including the glossary terms) automatically recognised and locked to the element's definition in any reference to it in any note field, wiki style. This would provide the following benefits:
  • automatic emphasis of the model's terms in the text (which is very important for the development of a consistent language in the model and the project)
  • automatic hyper-linking and mouse-over tool tips in certain presentation views (e.g. HTML, RTF, etc.)
  • automated refactoring when element names are changed (i.e. propagate changes)
  • reports on a term's reference usage

Hope this proves of value,
Dave B.

General Board / RTF Report Gen: how to document an elements parts
« on: October 06, 2009, 08:30:19 pm »
Does any one know how to persuade the RTF report generator to document an elements parts? That is, the parts that comprise a composite element.

I've tried the "child elements" option in the report generator template editor, but it doesn't seem to do anything in this case.

Dave B.

PS Using EA 7.5.846

General Board / Display link constraint
« on: May 19, 2008, 10:50:11 pm »
Is it possible to get EA to display an association link's constraints, as entered in the link's "constraints" properties tab? I note that if a constraint is added to a role-end that this is displayed as part of the role's cardinality.

Dave B.

General Board / Composite Structure Diagrams, etc.
« on: June 24, 2008, 01:43:34 am »
Is there any model integrity maintained by EA WRT to a class model that explicitly composes a class from other classes and a composite structure diagram of that class that seeks to give each of the compositional classes a named role?

E.g. {Class model in words:} A Car is composed of an Engine and it has 2 "front" Wheel and 2 "rear" Wheel. The Engine is associated to 2 Wheel by an "axle".
The composite structure diagram for the structured Car class can show that it has an e:engine part and two independent references (dashed boxes) to front:Wheels[2] and rear:Wheels[2] parts. Moreover the connection between the e:engine part and the front:Wheels[2] part can be made explicit as a:axle.
(This is taken from Tom Weilkiens Book "System Engineering with SysML/UML", fig's 3-24 and 3-26.)

Now it is easy to draw this in EA as a class diagram and a composite structure diagram, although the realisation of the class diagram's "axle" association as the CSD's a:axle connection is awkward.

However, EA does not seem to maintain any integrity between the class model's associations (and thereby the classes links) and the CSD. This is typified by the fact that parts must be manually determined to be "reference" parts (dashed borders) by setting the parts custom properties as opposed to letting the class models association aggregation status drive this automatically (anything other than a black diamond composition is a reference part).

In SysML I think that you are supposed to use the Block Definition Diagrams to show what blocks are aggregated together and then to use an Internal Block Diagram to reveal that compositional arrangement of these aggregated blocks. I'm assuming that UML's structured classes work the same way. In this respect it seems that EA show be able to check and even enforce the models integrity. Or do I have this all wrong?

Finally as an aside, what is the difference between a structured class on a class diagram and a structured class on a CSD? Does the CSD simply act as a hierarchical diagram for revealing a class as a structured class?

Dave B.

Bugs and Issues / Report Generator runs out of memory
« on: February 25, 2010, 03:26:47 am »
I've just submitted this bug report to Sparx Systems:
The report generator runs out of memory! It produces a pop-up dialog with title bar "FlushRtfLine(B)" and message "Ran out of memory".

I have monitored the available physical memory with Task Manager and there is more than half a gig available when this error occurs. (The machine has 2GB installed.)

The report's template has been used without problem before, but since then the model has grown in size. (Previously generated reports were about 110 A4 pages.)

Any suggested workarounds as the production of my report is on a critical path.

That's against EA version 7.5.850.

Dave B.

Bugs and Issues / SysML: maintaining BDD and IBD diagrams
« on: August 05, 2009, 02:23:20 am »
Blocks that are related to a parent block with a composite aggregate relationship (black diamond) on a block defintion diagram (BDD) are available as parts on that block's internal block diagram (IBD). Moreover the role names allocated on the relationship in the BDD are the part names in the IBD.

So far, I have not found a straightforward way of moving from a block's BDD to it's IBD (or even vice versa), such that the aggregated blocks on the BDD become parts on the IBD with the role names being the linked to the part names. (And cardinality should be respected also.)

About the only method that I have found to move from the BDD to the IBD is to add each aggregate block as a part and manually name it after the BDD's role name. Not only is this very tedious, but it would also seem that the model's integrity is not being enforced since part names and role names can be completely different.

Any suggestions? Is there a better way? Is a script available to at least add the aggregate blocks as parts?

Dave B.

Bugs and Issues / Automatic layout of a part with ports
« on: December 01, 2009, 08:24:32 am »
I'm working with SysML IBD models and have now reached the stage where I need to build a refined model that uses ports at the source and sink ends of my inter-part connectors.

EA is driving me nuts! >:(

I have created blocks with ports on them. Fine. I can add a block to a new diagram and when I do so (by dragging it from the project browser) EA prompts as to whether I want the embedded elements adding and even from which diagram it should clone the layout. Net result is a perfect copy of that block with its ports based on the supplied base diagram. Great! But not of much benefit since a simply copy-past of the block selected with its ports produces the same result.

However....  :-[
If I create a part and use one of the aforementioned blocks as its type then EA creates the part devoid of its block's ports. OK, so now using the embedded elements context menu we can add those ports by selecting the "inherit" tick box item and then select all and close. But what a mess! EA simply piles the inherited ports on to the part with no regard for layout. Moreover, having manually laid out the ports on a part of a given block type, creating another part with the same type simply puts me back to the start of laying it out all over again!!!

Is there no way to set a default layout for a prototypical part instance of a block, i.e. so that it follows the block's original layout?

I have noticed that if I size the part to be the same size as its classifying block, that sometimes EA will partially layout the ports following the block's layout. But I haven't seen it yet do it properly and completely, so I'm still left to shift them into place. And I haven't yet figured out what the influencing factors are.

Any ideas?

Thanks in advance.

Dave B.

Bugs and Issues / Very slow at adding a part to a composition
« on: September 15, 2009, 02:17:14 am »
I'm using EA Build 847 with the SysML add-on to model a complex system with many IBD's for a specific composite block. As my model has grown I'm finding that EA has progressively slowed down when a new part is created.

I'm creating a part by dragging the required block from the project browser on to the composite block in an IBD and selecting add as part in the pop-up dialog.

My guess would be that EA is churning needless through the list of existing parts rather just simply adding it. (Our model is on a MySQL database.)

I've found a short cut for adding ports with the context menu's 'embedded elements | embedded elements...' dialog. Simply click on new and in the 'Insert new embedded element' dialog uncheck the 'close dialog on OK' option. Enter the port's name and click OK. Click OK on the subsequent properties dialog, and then click cancel on the 'Insert new embedded element' when it reappears. Then... you can click on 'new' and add your next port.

This, some how, proves to be a lot quicker than the 'embedded elements | Add port' method when adding more than one port. Presumably it avoids some unnecessary SQL lookups.

Unfortunately this doesn't help when adding new parts.

My point being that it is demonstrably possible to create and add a port to an IBD far faster than the more obvious methods would do. I would guess that adding a part could be similarly quick. So why can't EA make this the general case?

Dave B.

Bugs and Issues / Find in Diagrams not reporting classifier instance
« on: October 23, 2009, 11:52:34 pm »
Just posted the following bug report to Sparx:
I have a SysML model that uses composite parts. With a block selected, the find in diagrams tool would report all the diagrams that directly (link relation) and indirectly (classifier relation) contain the block. This allowed all the diagrams that contain parts of the selected block's type to be found.

However, since upgrading from build 846 to build 849 I have found that for blocks created by build 849 that the find in diagrams tool only reports the diagrams in which the block directly appears and none of the diagrams that contain parts of its type are shown. However, for the blocks that were created prior to build 849 it does report the indirect (classifier relation) diagrams.

The defect appears to follow the new blocks in the model and not the new diagrams. (In this context "new" means created since upgrading to build 849.) Although it may actually be to do with the new parts rather then the blocks per se.

Please investigate this defect.

Dave B.

Bugs and Issues / Problem launching report generator in build 849
« on: October 14, 2009, 10:09:58 pm »
I've just submitted the following bug report to Sparx:

With build 846, launching the report generator from the project browser tool-bar caused the selected item to change from an element to the element's containing package and then the report generator dialog would open with this package displayed as the "root package".

With build 849, launching the report generator from the project browser in the same way as above does not cause the selected item to be "promoted" from element to package. (This is useful as it does not change the selected item as a result of running the report generator.) However, the report generator dialog shows the selected element as the "root package" and then fails to produce the desired report. (The report template is emitted instead.) It needs to be passed the selected element's container package instead.

The work around is to manually select the package before starting the report generator. However, given build 846's behaviour, it has taken me some time to figure out what was causing the report generator to fail (which was compounded by the fact that I had just pasted some RTF into a note field and wanted to see how it would look in the report).

Dave B.

Bugs and Issues / SysML Model Report problem
« on: October 14, 2009, 01:47:51 am »
I'm trying to produce a report for a package that contains a SysML model comprising of Block Definition Diagrams (BDD) and block elements and Internal Block Diagrams (IBD) for the composite block elements. A simple diagrams only report that contains both the BDDs and IBDs is possible. But I've found a problem when trying to also document the blocks and their composite parts.

When I have a report template that has the "diagrams" section it is possible to have the report generator document all the elements in each diagram by adding an "elements" sub-section to the diagram. (Although, I have also found that you have to set the "document elements" option on the diagram properties for it to work.) This is great for documenting the BDDs.

Conversely, when I have a report template that has an "elements section" it is possible to have the report generator output all the diagrams for each element by adding a "diagrams" sub-section to the element. It is also possible have the report generator document each part by adding an "embedded elements" sub-section. This is great for documenting the IBDs.

However, when I put both of these together in one report template, the "elements" sub-section of the "diagrams" section no longer emits anything to the report.

Is this a bug or by design?

Dave B.

PS EA version 7.5.849

Bugs and Issues / Links between VC packages getting lost
« on: October 09, 2009, 11:41:37 pm »
I'm working a project that is using EA across three distributed sites. For performance reasons each site has its own MySQL database back-end with ClearCase used to both version control and distribute (with replication) the packages between the three sites.

The problem is that we are suffering from lost links between elements in separate packages. The problem seems to be that if a package is updated in version control by one site that the EA databases used by the other two sites are not automatically updated. So if a link is made between an existing element in package A and a new element in package B and both are checked in by site 1. Then one of the other sites, say site 2, happens to check out package A (which will load the latest version of it into their model) and make a change to it and check it back in, without doing a get latest on package B beforehand. Then we seem to find that EA has dropped the link between the elements in package A and B that were previously put in by site 1.

Our guess is that when EA loads an XMI that has a linkage to an element that is not in its model that it discards it. Moreover, when EA checks-in a package, the package's XMI is completely regenerated from the current model. Hence the link(s) that were dropped are now missing from the exported XMI.

If this guess about EA's behaviour is correct then it would imply that the order of applying a get latest on out of synch packages becomes critical, and may even require two passes to ensure that a model database is correctly populated. This also implies that the problem would exist when populating a new EA project from a set of interconnected packages. Isn't this unworkable!

One answer might be to minimise the relationships between packages. But that sounds a bit limiting too.

Another one might be to apply a proper change management process so that the remote sites receive an official notification of a changed package.

It might be possible to automate the package re-synch if we can write a ClearCase event trigger script and get it to run when a package is updated by a replication event. (Not looked into that yet.)

I've done some searching through the forum achieves and found some discussion back in late 2006 (circa EA build 804). So it seems to be a long standing issue. See here:;action=display;num=1162193553;action=display;num=1163383934

I've also checked with the latest copy of the EA Deployment white paper ( - version 1.2 2009) and that seems to be mute on the difficulties that can arise from using Version Control systems to distribute packages to separate databases.

What is the best practise for running an EA project across multiple sites when a single database back-end cannot be used?

Dave B.

PS currently using EA v7.5.846

Bugs and Issues / SysML Activity diagrams
« on: September 25, 2009, 10:33:57 pm »
I'm using EA 7.4.846 with the SysML plug-in and I'm trying to build an activity diagram model of my system. However the tool is driving me mad! :'(

Apart from the fact that I can't take my BDD model as a basis, it just doesn't seem to make constructing an activity model a pleasant experience, especially when compared with how the tool works for creating IBD's. Both are after all types of compositions.

But the biggest problem is that the tool does not act as a CASE tool and will allow me to build a malformed model. For example, the pins on an action must correspond with the parameters on the action's activity specification. Yet, EA does not show the activity parameters as being available for the type of the associated action's pins.

Here's a quote from "A Practical Guide to SysML" by Sanford Friedenthal, Alan Moore, Rick Steiner. ISBN 978-0-12-374379-4. The underlining is mine:
8.4.2 Composing Activities Using Call Behavior Actions
A significant type of action is a call behavior action, which invokes a behavior when it executes. The call behavior action owns a set of pins that must match, in number and type, the parameters of the invoked behavior. The called behavior is assumed to be an activity in this chapter, although it can be other types of SysML behavior.
A call behavior action has a pin for each parameter of the called behavior and the characteristics of those pins must match the multiplicity and type of their corresponding parameters on the invoked behavior.

What are your experiences of SysML modelling with EA?

Bugs and Issues / VB scripting problem
« on: September 29, 2009, 02:30:06 am »
I thought I'd give EA's new scripting feature a go today (v7.5.846), but have run into a problem. It seems that it is not possible to create a variable with built-in VB type.
Code: [Select]
dim a as stringresults in a cryptic "Expected end of line" error message whereas
Code: [Select]
dim aon its own does not. However, in the latter case variable "a" is not a string object and I cannot therefore access any of the string object's methods or properties.

I'm now also getting cross because EA has developed a bad case of the crashes every time I try and do something with my script.

Has the built-in VB scripting support forgotten to load the VB type library? Do I give this up as bad job and write an external plug-in?

Dave B.

Pages: [1] 2