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 - fwoolz

Pages: 1 ... 4 5 [6] 7
76
Bugs and Issues / SysML View acts like a data table element
« on: June 06, 2009, 11:56:39 am »
In the SysML View element properties dialog, there is a tab "View Details" that has entries for database version (which appears to be disabled) and tablespace, which seems to have a default value filled in already (it looks like the TABLESPACE field gets set to the element position number in the list of diagram objects or something similar; it gets put in the PDATA1 field in the corresponding row in t_object). Once this is clicked on, the View element automatically gets an additional tagged value "TABLESPACE". In addition, the General tab has a field for filling in the associated database. In other words, EA is treating the view as a database table. Is this behavior intentional?

77
Bugs and Issues / SysML Viewpoint tagged values
« on: June 06, 2009, 03:35:37 am »
The Viewpoint attributes required by SysML 1.1 use the Notes field of the associated tagged value (with the exception of "purpose.") There is also an associated control for opening a popup to type in text in the Tagged Values tab. The diagram, however, shows only "<memo> or "<memo>*" as the value for these attributes, and the "*" isn't displayed consistently (in one case it showed only for the first item in the list, "concerns"), even though text had been added to all the fields. In addition, it takes several diagram refreshes to get all the "<memo>" annotations to show up on the diagram.

Suggestions/requests:

1) Improve tag display updating.
2) Allow tag text to wrap in its element compartment, for all element types with a tag compartment.
3) Use the tag's value field, not notes field, to hold the text for viewpoint attributes.
4) Display the actual text in the tags compartment of a Viewpoint instead of the "<memo> placeholder, as shown in the SysML 1.1 specification.
5) Provide an editing popup for all tagged value text, in general.

Cheers,

78
Bugs and Issues / SysML Connector Properties - how to connect??
« on: June 03, 2009, 12:32:07 pm »
SysML connector properties are equivalent to an association class, yet there is no option on the SysML palette to add an "association property" between elements in an internal block diagram. It is possible to use the UML class diagram palette to add an association class, then set the stereotype of the associated class to connectorProperty to get an associated connector property, but this seems kind of like, well, cheating. It would be better, IMHO, to have the ability to add an association with an associated connectorProperty attached on the SysML palette.

79
Bugs and Issues / SysML Internal Block Diagrams - Layout Fail
« on: June 03, 2009, 01:34:02 am »
In addition to being resistant to copying and pasting, it seems SysML properties (which are essentially UML parts) on an internal block diagram refuse to be laid out. None of the layouts on the layout palette work in such a case, nor does the older layout command.

80
Bugs and Issues / Parts and SysML Properties: Paste as New
« on: May 31, 2009, 03:13:28 am »
Is there a reason why copy + paste as new doesn't seem to work for UML parts and SysML properties?

81
Bugs and Issues / Exploding Ports
« on: May 30, 2009, 01:00:58 am »
Best explained by describing the scenario:

In this particular case, I set the property type of a SysML flow port to that of a class with the stereotype DataElement. All seemed to work nicely, except that EA changed the port stereotype from flowPort to DataElement. Upon trying to reposition the port, however, the port rectangle "blew up" to what looked like the default size of a class element and thereafter refused to be resized. I then changed the stereotype back to flowPort, and voila! the port went back to its normal size and behavior.

I haven't tried this with other stereotyped classes or old-fashioned UML ports, but I suspect there may be a basic glitch in applying graphical properties based on an associated stereotype.

PS: Bug report will be filed as well.

82
Bugs and Issues / Synchronizing SysML tags
« on: May 25, 2009, 12:32:09 am »
Back when SysML was a separate add-in, synchronizing tags was a straightforward matter of using the built-in profile synchronization feature. Now, however, with SysML built-in, there is no corresponding profile in the Resources window to permit synchronization. Thus when an element stereotype is changed to one of the built-in SysML stereotypes (e.g. valueType), there is no mechanism (at least none I'm aware of) to apply the associated tagged values to the element.

83
Bugs and Issues / SysML tag glitch in RTF reports
« on: May 16, 2009, 03:22:03 am »
One glitch in the EA implementation of SysML relates to how Xref'd tags are rendered in RTF reports. By way of example, this is seen when reporting on SysML valueType elements with dimension and unit tags linked to dimension and unit objects - the element (object) GUID is displayed instead of the element name. Note that similar issues exist when copying valueType elements as new - the new element displays the GUIDs, and the popup for picking the desired dimension and unit object does not work.

BTW - I have EA 7.5 844, Ultimate Edition.

84
Uml Process / Thesis and UML
« on: December 11, 2002, 03:26:44 pm »
Hey,

I am working on my thesis and am going to attempt to build an industrial process control fieldbus gateway app from start to finish in UML using EA... (in fact, I've already started).  Would members of this forum have any interest in reviewing/critiquing the work as it proceeds?  Any input from others would be greatly appreciated and will, of course, receive full credit in the final document.

Thanks,
Fred Woolsey
fwsbcon@fwsbcon.com

85
One shortcoming of the automation interface (AI) is the lack of properties and methods for setting/modifying the visual attributes of diagrams and diagram objects. For example, how do you set a diagram automatically generated by the AI to display element aliases using only the AI? Or, how do you set an AI-generated diagram object to display using rectangle notation, again using only the AI?

There are workarounds for these examples, but they are less than optimal. For the first case, you can modify the key-value pair in the diagrams' ExtendedStyle attribute to UseAlias=1. However, it seems that ExtendedStyle is empty when the diagram is first created by the AI, so it is necessary to set the complete ExtendedStyle string, e.g.
Code: [Select]
diagram.ExtendedStyle = "HideRel=0;ShowTags=1;ShowReqs=0;ShowCons=0;OpParams=1;ShowSN=0;ScalePI=0;PPgs.cx=1;PPgs.cy=1;PSize=119;ShowIcons=1;SuppCN=0;HideProps=0;HideParents=0;UseAlias=1;HideAtts=0;HideOps=0;HideStereo=0;HideEStereo=0;FormName=;"in order to accomplish this. (Note that the example also turn tags on and sets the page size to 11x17.)

For the second example, there is an undocumented DiagramObject method SetStyleEx. Rectangle notation can be turned on for a diagram object as follows:
Code: [Select]
diagramObject.SetStyleEx("UCRect", "1")But it is unclear whether this is a "for Sparxians only" method or if the documentation hasn't yet caught up. Note that setting the StyleEx property directly is not straightforward since EA stores a DUID field, unique for each diagram object, in the StyleEx column.

Sparx should provide documented SetStyleEx methods (or equivalent) for both diagrams and diagram objects that allow any diagram/diagram object attributes that can be set in the GUI to be set using the AI.

86
Automation Interface, Add-Ins and Tools / EA.App and ASP.NET
« on: September 19, 2010, 11:06:26 am »
All,

I have been working on an add-in for a while now and am tinkering with a web-based interface to EA. I am able (with the VS 2010 development sever at least) to create an instance of EA.App, start an instance of EA, and access App's members, but I can't seem to be able to get EA to close when I end a session. Neither Repository.Exit nor Project.Exit shut down the EA instance started by the web app, and EA continues to run even after the session is killed.

Note that I'm using a session variable to persist the handle to the running instance of EA.

TIA,
Fred

87
When "copying" tags from a base class to a derived class via the AI, I learned that, although the tag name and value copy just fine, the copied tag loses its connection to its parent profile. After doing some poking around to try and figure out how EA manages to track the namespaces of tagged values (e.g, SysML1.1::requirement::id), I noticed, by sheer dumb luck, that the first 16 digits in the PropertyGUID (ea_guid in t_objectproperties) remain constant for any and all instances of a given tag from a given profile; only the last 16 digits change. I confirmed that this was the "trick" EA uses to match tags to profiles by altering one of the first 16 digits and confirming that the link to the profile was lost ("SysML1.1::requirement::id" becomes plain vanilla "id"), then changing it back and verifying that the link was restored ("id" changes back to "SysML1.1::requirement::id")**. I haven't yet figured out HOW the connection is made, but it seems pretty clear that is how the link is specified.

** Actually I created a test profile with a stereotype "schmutz" and attributes aTag and bTag since the SysML profile is buried in my EA edition. That minor quibble notwithstanding, the link to the profile came and went as described.

Perhaps the Sparxians can lend us their decoder ring so we can figure out the method to this (clever) madness? 8-)

Cheers,
Fred W

88
I just had the need to do just what is described in the subject, so I cooked up a quick VBScript to do the job. I thought I'd post it for anyone who might be interested:

Code: [Select]
' AddDocs.vbs
' Script to create RTF documents for each element in a package from element Notes

!INC Local Scripts.EAConstants-VBScript

dim pkg as EA.Package
dim elem as EA.Element
dim fileSystemObject
dim inputFile
dim outputFile

sub main
      set fileSystemObject = CreateObject("Scripting.FileSystemObject")
      ' Contents of file RTFSampleStripped: "{\rtf1\ansi\deflang3081\ftnbj\uc1\deff0\plain @\par}"
      ' @ is a placeholder, to be replaced by Notes text
      set inputFile = fileSystemObject.OpenTextFile("C:\\Users\\fred\\Projects\\Specifyx\\RTFSampleStripped.rtf")
      rtf = inputFile.ReadAll()
      inputFile.Close
      set pkg = Repository.GetPackageByGuid("{C1444569-06CC-470d-8CD6-9FDB42D8A6A3}")
      for each elem in pkg.Elements
            notes = elem.Notes
            srtf = Replace(rtf,"@",notes)
            set outputFile = fileSystemObject.OpenTextFile("C:\\Users\\fred\\Projects\\Specifyx\\RTFSampleStuffed.rtf", 2, True)
            outputFile.WriteLine(srtf)
            outputFile.Close
            ok = elem.LoadLinkedDocument("C:\\Users\\fred\\Projects\\Specifyx\\RTFSampleStuffed.rtf")
            elem.Update
      next
end sub

main

Each Notes field is a single paragraph in this case; otherwise, paragraphs would need to be delimited by inserted RTF '\par' command words for paragraphs to break properly in the linked document.

Note that the variable rtf (contents read from the input file) could just as easily be stored in the code itself as a string (but don't forget to escape the backslashes!). Use of a file has the advantage that the rtf can be changed in the file without editing the script itself; also, you don't need to worry about escaping backslashes. Note also that only bare-bones (but correct!) RTF is required to successfully load RTF from a file into an EA element.

This would all be MUCH simpler if Sparx would make it possible to load a linked document directly from a string!

89
In Microsoft's Office object model, it's often possible to navigate upwards to an object's parent, as in, say, Range.Document. It would be quite helpful if Sparx added similar functionality to its object model, so that one could get to the Repository object by invoking, for example, Element.Repository. This would simplify things like static method calls; instead of having to pass a Repository reference in addition to the object involved, one could pass just the object and get the associated Repository as described above.

FEATURE REQUEST ADDED with same title as the subject of this post.

90
This is one for the Sparxians-

Is the table t_xrefuser available for arbitrary use by user add-ins?

Cheers,
Fred W

Pages: 1 ... 4 5 [6] 7