1.0

1.0 | 1 rating Rate this file 20 Downloads (last 30 days) File Size: 52.1 KB File ID: #31349

BLOC - Automatic UML class diagram creator

by Thinh

 

06 May 2011

Used to create a UML class diagram from a MATLAB object oriented program.

| Watch this File

File Information
Description

Directions: open up BLOC.m, run the script, then follow the direction on the GUI.

REQUEST: please let me know if you find any bug, or have any suggestion, much appreciated.

NOTE:
the current version only includes inheritance and composition relationship, will update with more relationship later.

MATLAB release MATLAB 7.9 (2009b)
Tags for This File  
Everyone's Tags
Tags I've Applied
Add New Tags Please login to tag files.
Comments and Ratings (5)
16 May 2011 Mark Mikofski

This looks great, but I think some bugs still need to be worked out. I think a lot of people will be very happy when you get this working! Try regexpressions to look for variations of class names instead of ([' ' clsslist{k}]) and (['=' clsslist{k}]), etc. which takes a lot of space and limits the number of variations you can search for.

16 May 2011 Thinh

Thx mark, i'll try and work on it.

08 Aug 2011 Tarek

Great work, but i had a problem.
??? Undefined function or variable "TipPos".

Error in ==> UMLpanel.runUML at 209
                    compos1 = Compos(TipPos,TailPos);

Error in ==> UMLcreator>@(h,d)obj.Panel.runUML at 43
                'tag','Start','string','Start','callback',@(h,d)obj.Panel.runUML);
 
??? Error while evaluating uicontrol Callback

??? Error using ==> UMLpanel.runUML>arrow_scrolling
Too many input arguments.
 
??? Error while evaluating figure KeyPressFcn

11 Aug 2011 Thinh

This work is undergoing construction, it is inevitable that there are some (or a lot of) errors in it, thanks for letting me know, I will try and work on it ^^.

04 Nov 2011 Regis Ruelland

very interesting work...but as you are in development, it seems not to be robust enough.
my feeback :

I have the same bug of Tarek. I have tried to modify your code by putting some piece of code :
   compos1 = Compos(TipPos,TailPos);
   patch(compos1.Shape{1},compos1.Shape{2},'k');
   %create tirangles and diamonds
   patch(compos1.Shape{3},compos1.Shape{4},'k');
inside one of your for block (at line 206).

After that I had another bug :

??? Subscript indices must either be real positive integers or logicals.

Error in ==> UMLpanel.getinfo at 942
                    ischildof{ind{i}(j)}(end+1) = clssnmpar{i};

then I just add a test on the value return by ind{i}(j)

Please login to add a comment or rating.
Tag Activity for this File
Tag Applied By Date/Time
uml Thinh 09 May 2011 10:39:14
automatic Thinh 09 May 2011 10:39:14
maker Thinh 09 May 2011 10:39:14
creator Thinh 09 May 2011 10:39:14
oop per isakson 15 Jan 2012 22:27:53

Contact us at files@mathworks.com