Book a Demo

Author Topic: AssemblyBrowserXMI - need help feedback/testing  (Read 6944 times)

fluxtah

  • EA User
  • **
  • Posts: 144
  • Karma: +0/-0
    • View Profile
AssemblyBrowserXMI - need help feedback/testing
« on: January 29, 2004, 05:47:32 pm »
Hiya,

If there is anyone else out there that would really like the .NET framework model in EA to the best that it could be then I have started coding a little application that I need some feedback/testing/help with.

You can download the app here:

http://www.sunmoonsystems.com/downloads/AssemblyBrowserXMI.zip (v0.6 latest version)

just unzip it to a directory and run.

for now you can open a .NET assembly file and it will display a tree of the namespaces and classes, you can then select a class and it will show the XML in a browser pane.

There is an option under the file menu to export the entire assembly to an xml file which you can then import into EA.

At the moment my knowledge of XMI syntax is 0 so I just tried to copy EA's export style as close as possible.

There are a few problems i need help with :( :

- datatypes wont import (? position of DataType tags? ids to long?)
- enum fields not importing (will add these v soon)

Hope the software might help someone as it is me, it is far from complete so I hope someone can help me with the xml syntax and corrections to the way it generates as I am new to UML also.

- fluxtah

-----------------------------------------------------------------------

Updated with the following features:

- DataType uid's now have a short generated unique id
- Added Generalizations
- Added enum fields
« Last Edit: February 01, 2004, 02:50:51 pm by fluxtah »

DaveEchols

  • EA Novice
  • *
  • Posts: 13
  • Karma: +0/-0
  • !
    • View Profile
Re: AssemblyBrowserXMI - need help feedback/testin
« Reply #1 on: January 30, 2004, 06:48:22 am »
Hi Fluxtah,
    I am interested in using EA with .NET as well, and have tried a couple of tools. I would like to test your tool and see what it has to offer. Iwill download it and look at it this weekend.
   Dave

fluxtah

  • EA User
  • **
  • Posts: 144
  • Karma: +0/-0
    • View Profile
Re: AssemblyBrowserXMI - need help feedback/testin
« Reply #2 on: January 30, 2004, 07:04:07 am »
Hi Dave,

that would be great, you should be able to open any .NET dll file with it and then export as an xml file then use EA To import the xml file, as a summary here are the folllowing features so far of the app:

- exports EA specific XMI (but far from standard! need help here :])
-  exports classes (adds <enumeration> stereotype for enums)
- exports interfaces
- exports class public/protected operations with parameters
- export event handlers as operations with <multicast> stereotype
- exports class constructor operations
- exports class attributes (with accompanying <property> stereotyped operation)
- exports class generalizations.
- exports interface realisations

stuff it needs:

-a stylesheet to display the classes in the browser nicely (adding a switch to switch between xml/xml with stylesheet)
-right click menu on nodes to export single namespaces
-option to export class in browser pane

problems:
-DataTypes don't import properly
-If I change the  <XMI.exporter> from 'Enterprise Architect' to anything else it does'nt import some features :( I guess this is due to EA specific XMI


« Last Edit: January 30, 2004, 09:39:01 am by fluxtah »

AdamHearn

  • EA User
  • **
  • Posts: 58
  • Karma: +0/-0
    • View Profile
Re: AssemblyBrowserXMI - need help feedback/testin
« Reply #3 on: January 30, 2004, 06:44:54 pm »
Error generated:
Code: [Select]
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.Runtime.InteropServices.COMException (0x800704C7): The operation was canceled by the user.
  at SHDocVw.IWebBrowser2.Navigate(String URL, Object& Flags, Object& TargetFrameName, Object& PostData, Object& Headers)
  at AxSHDocVw.AxWebBrowser.Navigate(String uRL, Object& flags, Object& targetFrameName, Object& postData, Object& headers)
  at AssemblyBrowserXMI.Form1.treeAssembly_AfterSelect(Object sender, TreeViewEventArgs e)
  at System.Windows.Forms.TreeView.OnAfterSelect(TreeViewEventArgs e)
  at System.Windows.Forms.TreeView.TvnSelected(NMTREEVIEW* nmtv)
  at System.Windows.Forms.TreeView.WmNotify(Message& m)
  at System.Windows.Forms.TreeView.WndProc(Message& m)
  at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m)
  at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m)
  at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
   Assembly Version: 1.0.5000.0
   Win32 Version: 1.1.4322.573
   CodeBase: file:///c:/winnt/microsoft.net/framework/v1.1.4322/mscorlib.dll
----------------------------------------
AssemblyBrowserXMI
   Assembly Version: 1.0.1490.31586
   Win32 Version: 1.0.1490.31586
   CodeBase: file:///C:/AssemblyBrowserXMI.exe
----------------------------------------
System.Windows.Forms
   Assembly Version: 1.0.5000.0
   Win32 Version: 1.1.4322.573
   CodeBase: file:///c:/winnt/assembly/gac/system.windows.forms/1.0.5000.0__b77a5c561934e089/system.windows.forms.dll
----------------------------------------
System
   Assembly Version: 1.0.5000.0
   Win32 Version: 1.1.4322.573
   CodeBase: file:///c:/winnt/assembly/gac/system/1.0.5000.0__b77a5c561934e089/system.dll
----------------------------------------
AxInterop.SHDocVw
   Assembly Version: 1.1.0.0
   Win32 Version: 1.1.0.0
   CodeBase: file:///C:/AxInterop.SHDocVw.DLL
----------------------------------------
System.Drawing
   Assembly Version: 1.0.5000.0
   Win32 Version: 1.1.4322.573
   CodeBase: file:///c:/winnt/assembly/gac/system.drawing/1.0.5000.0__b03f5f7f11d50a3a/system.drawing.dll
----------------------------------------
Interop.SHDocVw
   Assembly Version: 1.1.0.0
   Win32 Version: 1.1.0.0
   CodeBase: file:///C:/Interop.SHDocVw.DLL
----------------------------------------
Accessibility
   Assembly Version: 1.0.5000.0
   Win32 Version: 1.1.4322.573
   CodeBase: file:///c:/winnt/assembly/gac/accessibility/1.0.5000.0__b03f5f7f11d50a3a/accessibility.dll
----------------------------------------
smartFOCUS.ObjectManagement.Interfaces.Server
   Assembly Version: 1.0.1490.38036
   Win32 Version: 1.0.1490.38036
   CodeBase: file:///D:/Dev/SFBinaries/Bin/smartFOCUS.ObjectManagement.Interfaces.Server.dll
----------------------------------------
System.Xml
   Assembly Version: 1.0.5000.0
   Win32 Version: 1.1.4322.573
   CodeBase: file:///c:/winnt/assembly/gac/system.xml/1.0.5000.0__b77a5c561934e089/system.xml.dll
----------------------------------------

************** JIT Debugging **************
To enable just in time (JIT) debugging, the config file for this
application or machine (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
   <system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the machine
rather than being handled by this dialog.

Clicking on any of the types in the assembly causes this..

1st up is a pop-up "Cannnot find 'C:\\tmp.xml'. Make sure path...."
Then OK, and you get the exception trace.

It exported the whole assembly out without issue although no time this morning to load it into EA for a look!

Hope this helps!

fluxtah

  • EA User
  • **
  • Posts: 144
  • Karma: +0/-0
    • View Profile
Re: AssemblyBrowserXMI - need help feedback/testin
« Reply #4 on: January 31, 2004, 07:06:03 am »
cool cheers that does :] I was trying to get away from having to use 'tmp.xml' but unfortunately I have to write a temporary xml file to send to the browser component every time the user clicks on a node in the assembly list.

Thanks again, fixing now :]

- Fluxtah

-------------------------------------------------------------
Update:

I have tested this with some System.web.dll and System.Data.dll and I can't reproduce the error, however I re-compiled it and uploaded, now version 0.51a  , let me know what assembly dll your loading into it, I am going to try with a few more of my own assembly dll's

- Fluxtah
« Last Edit: January 31, 2004, 08:28:21 am by fluxtah »

AdamHearn

  • EA User
  • **
  • Posts: 58
  • Karma: +0/-0
    • View Profile
Re: AssemblyBrowserXMI - need help feedback/testin
« Reply #5 on: February 02, 2004, 12:59:12 pm »
Still a problem m8! (downloaded 0.6)

Just double click on *any* type. I used one of my own assemblies and one from ChartFX.

Load in assembly, expand the 1st tree node, double click the 1st child. It crashes.

Hope that helps!

fluxtah

  • EA User
  • **
  • Posts: 144
  • Karma: +0/-0
    • View Profile
Re: AssemblyBrowserXMI - need help feedback/testin
« Reply #6 on: February 02, 2004, 01:19:35 pm »
Ello, I am testing the program on a few other computers in the house right now, I guess you extracted the zip to a folder of its own, try deleting the tmp.xml file if it exists, this file should be created by the application.

I am using Application.StartupPath +"\\tmp.xml" for the tmp.xml file when reading and writing to it, maybe this method does'nt work as expected on all domains?

nm, I will look into it, thanks for testing!

Did your exported XMI file import into EA ok?

- Fluxtah

awex

  • EA Novice
  • *
  • Posts: 1
  • Karma: +0/-0
    • View Profile
Re: AssemblyBrowserXMI - need help feedback/testin
« Reply #7 on: May 18, 2004, 02:18:05 pm »
hi,

your domainname is offline...
where can i get the file now ?

thanks!