API for drawing sequence diagrams?

hello everyone,
I am designing a call path trace utility. One of requirements is that the trace result be presented in sequence diagram. I am wondering if there is 3pp API out there to do it?
Your help is appreciated as always.

yeah it does help
although i had come across it myself. Im aware of the fact that its courtesy to google your problem before hitting the forums, but I thought that they're might be a range of tools out there for this purpose, and to get people's opinions on the pros and cons of each, before i begin.
Thank you.

Similar Messages

  • Where can i find the chassis file for import in MAX for drawing connection diagram before purchasing

    where can i find the chassis file for import in MAX for drawing connection diagram before purchasing
    chassis: NI PXIe-1078
    thx

    This board is for an obsolete product called Measure - an add-on for Excel. Please repost with details on exactly what you mean by 'chassis file'.

  • Open source UML tool for Code ----- Sequence Diagram ?

    Are there any open source / free tools which can generate sequence diagram from java code ?
    Thanks in Advance
    Ratheesh

    check-out www.logsequencer.com - it is a very cool tool and is only $19.
    It generates sequence diagrams from log files.

  • Reducing the width of a sequence diagram

    Does anyone know how to reduce the width of a reverse-engineered sequence diagram?
    Studio sequence diagrams are very wide in relation to their height. This is because horizontal messages are separated by only small amounts, but the vertical lifelines are separated by large amounts, especially if the objects have long names and class names.
    This feature causes problems when trying to export diagrams to A4 landscape pages.
    In other UML editors, I could overcome this problem by arranging the objects as in two rows of "bricks" along the top of the page. The first object would be in a "normal" position. The second object was positioned high enough to partially overlap the first object. The third object was placed in the "normal" position, but partially below the second object. And so on.
    This allowed the width of a sequence diagram to be reduced to almost half of its original width.
    This is not possible in Studio, because:
    1) The objects cannot be moved vertically.
    2) Even if they could be moved vertically, they will not allow themselves to overlap another object. This is because the bounding box of the objects extends right down to the foot of the lifeline. (I don't know if "bounding box" is the correct term. I mean the box with the sizing handles.) When one object is dragged to the left so that it overlaps another object, any objects to the left of the dragged object immediately jumpfurther to the left.
    Another possibility to reduce the width would be to allow the object name and class name to be on two lines. Such as:
    objectName:
    ClassName
    This happens by default in some UML editors.

    petersl wrote:
    Found a better way to duplicate the sequence diagram
    as a workaround for the Save As function.Great suggestion! Thanks!
    Because of the estimated large amount of sequence diagrams that I need to do, your tip will save me hours of work. Even if "Save As" is implemented, it will not be much faster than your method.
    Here is an interesting feature of your suggestion.
    All my experimentation is done using the BankAccount tutorial. I have several "copies" of the same operation. Each copy was produced using "Reverse Engineer Operation" on the class operation in the dependency diagram. I then modified each "copy" beyond all recognition.
    If I now invoke "Create Diagram from Selected Elements" on the sequence diagram interaction node for each copy, each new diagram is the same as the original reverse-engineered diagram :)
    BTW, here is my non-techie solution for copying. No LOL please.
    In the project file location, there are two files for each sequence diagram. For example:
    mainSD_1168604900517.etld
    mainSD_1168604900517.etlp
    These files can be copied. However, they must be copied to file names that are registered by studio.
    1) Copy the two files, using arbitrary file names.
    1) Reverse engineer a new sequence diagram simply to get two more file names.
    2) Rename the two copies to these new file names :)
    3) In the project tree in studio, this would produce duplicate diagram names. So in the ETLP file rename the diagram using the <diagramInfo> tag.
    You might wonder why I go to so much trouble to produce a copy, rather than simply reverse-engineer as many copies as I need. The answer is that on the first sequence diagram, I would like to make changes that persist in every other copy of that diagram, even after messages and lifelines are removed to split the diagram.
    Compared with my method, your method will allow me to take a couple of months off, and still produce the same amount of work :)

  • Creating UML sequence diagrams using UML Modeler

    Has anyone tried to generate UML sequence diagrams using JDev's Modeler utility. Is there a workaround for creating sequence diagrams. Does Oracle have an very near-term plans for supporting sequence diagrams.
    Thank you.
    Antonio

    While I've done a bit of work with UML, I'm by no means an expert, so this may be a dumb question...
    Isn't the point of UML (and other modeling languages) to abstract the design of a system away from the implementation? I'm hard pressed to think of a situation where a UML diagram would change based on the language chosen for implementation.
    Justin

  • Paint Tools API For flex

    Hello Flex Friends! I was wondering if anyone knew of a good
    (free preferably ) API that has the basic paint options that you
    could find in MS Paint (or more). I know how to make a rectangle,
    and circle, and draw lines and all that jazz, I am looking more on
    how to create spray paint cans, and complex erasing etc.
    I have seen
    http://www.flexibleexperiments.com/Flex/PrimitiveExplorer/Flex2PrimitiveExplorer.html
    and that has been the best so far. Any additional thoughts would be
    greatly appreciated. Thanks!

    Thanks JeffHourser this looks really cool and is deffineatly
    a resource I will keep in my bag, however this is a bit complex for
    our current needs. What I am really interested in is an API that
    can do:
    Lines
    Basic Shapes
    fills
    spray paint (like mspaints)
    other basic art tools
    I know i can do most of these using flex's built in API for
    drawing, however, it seems that there is no point in recreating the
    wheel if someone else has already done it.
    Thanks!
    -A

  • Please can someone do a Sequence Diagram for this code

    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    public class Bgame extends JFrame implements ActionListener
         Map map;
         Location location = new Location();
         Player[] player = new Player[2];
         int playeri = 0;
         Player playerx;
         Image boardi = null;
         Image bcar = null;
         Image gcar = null;
         JButton spinButton = new JButton("Spin");
         JLabel spun = new JLabel("");
         JButton houseButton = new JButton();
         JButton carButton = new JButton();
         JButton playersButton = new JButton();
         JButton bankButton = new JButton();
    public Bgame()
         addWindowListener(new WindowAdapter()
         public void windowClosing(WindowEvent ev)
                   dispose();
                   System.exit(0);
         setBounds(1,1,800,600);
         getContentPane().setLayout(null);
         loadImages();
         map = new Map(boardi);
         map.setLocation(111,0);
         getContentPane().add(map);
         createCpan();
         player[0] = new Player(bcar,Color.black);
         player[1] = new Player(gcar,Color.green);
         map.add(player[0]);
         map.add(player[1]);
         setVisible(true);
         playerx = player[playeri];
         playerx.spin();
         monitor();
    private void monitor()
         Timer timer = new Timer(1000, new ActionListener()
              public void actionPerformed(ActionEvent e)
                   if (playerx.hasToGo)
                        //getToolkit().beep();
                        if (spun.getForeground() == playerx.color)
                             spun.setForeground(Color.gray);
                        else spun.setForeground(playerx.color);
                        return;
                   if (playerx.hasToSpin)
                        if (spinButton.getBackground() == playerx.color)
                             spinButton.setBackground(Color.lightGray);
                        else spinButton.setBackground(playerx.color);
                        return;
              playeri++;
              if (playeri == 2) playeri = 0;
              playerx = player[playeri];
              playerx.spin();
              spun.setText("");
              spinButton.setEnabled(true);
              spinButton.setBackground(playerx.color);
         timer.start();
    private void loadImages()
         boardi = getToolkit().getImage("Game.gif");
         bcar = getToolkit().getImage("blackCar.gif");
         gcar = getToolkit().getImage("blueCar.gif");
         MediaTracker tracker = new MediaTracker(this);
         tracker.addImage(boardi,0);
         tracker.addImage(bcar,0);
         tracker.addImage(gcar,0);
         try {tracker.waitForID(0);}
         catch (InterruptedException e){}
    private void createCpan()
         JPanel pan = new JPanel();
         pan.setLayout(null);
         pan.setBounds(0,0,110,500);
         pan.setBackground(Color.pink);
         spinButton.setBounds(10,34,90,30);
         spinButton.addActionListener(this);
    pan.add(spinButton);
         spun.setBounds(10,64,90,30);
    pan.add(spun);
         getContentPane().add(pan);
    public void actionPerformed(ActionEvent e)
         if(e.getSource() == spinButton)
              int spin = (int)(Math.random()*3+1);
              spun.setText("Total spun = "+spin);
              spun.setForeground(playerx.color);
              spinButton.setBackground(Color.lightGray);
              int togo = playerx.location+spin;
              playerx.go(togo,location.getX(togo),location.getY(togo));
              spinButton.setEnabled(false);
    public static void main (String[] args)
         new Bgame();
    import java.util.*;
    public class Location
         Space[] spaces = new Space[29];
    public Location()
         spaces[0] = new Space(1,238,135,"Start Career");
         spaces[1] = new Space(2,346,135,"Pay Day");
         spaces[2] = new Space(3,417,135,"Rent a Flat Pay 5,000");
         spaces[3] = new Space(4,492,167,"Raffle Prize Collect 10,000");
         spaces[4] = new Space(5,500,218,"PAY DAY");
         spaces[5] = new Space(6,570,269,"STOP Get Married LIFE");
         spaces[6] = new Space(7,570,344,"Wedding Reception Pay 10,000");
         spaces[7] = new Space(8,517,344,"Extra Tuition Pay 5,000 to Teacter");
         spaces[8] = new Space(9,465,344,"Win Quiz Show Collect 95,000");
         spaces[9] = new Space(10,407,344,"PAY DAY");
         spaces[10] = new Space(11,352,344,"Sponsor Golf Pay 35,000 to Athlete");
         spaces[11] = new Space(12,300,344,"Play a family game LIFE");
         spaces[12] = new Space(13,246,344,"Buy Furniture PAY 10,000");
         spaces[13] = new Space(14,183,344,"Visit in laws LIFE");
         spaces[14] = new Space(15,118,344,"STOP Buy a house");
         spaces[15] = new Space(16,68,344,"PAY DAY");
         spaces[16] = new Space(17,10,356,"Swap Salary Cards with any other player");
         spaces[17] = new Space(18,10,412,"Sponsor an athletee Pay 35,000 to Athlete");
         spaces[18] = new Space(19,61,412,"Taxes Due PAY Accountant");
         spaces[19] = new Space(20,115,412,"Baby Girl LIFE");
         spaces[20] = new Space(21,175,412,"Move to a new city PAY 10,000 to Pilot");
         spaces[21] = new Space(22,235,412,"Help the homeless LIFE");
         spaces[22] = new Space(23,304,412,"Win the Lottery Collect 50,000");
         spaces[23] = new Space(24,369,412,"Art auction Pay 20,000 to Artist");
         spaces[24] = new Space(25,434,412,"Invest in a theatre PAY 5,000 To Actor");
         spaces[25] = new Space(26,489,433,"Taxes Due Pay Accountant");
         spaces[26] = new Space(27,518,470,"PAY DAY");
         spaces[27] = new Space(28,519,529,"Night School PAY 10,000 To Teacher");
         spaces[28] = new Space(29,385,529,"RETIRE");
    public int getX(int i)
         return(spaces.x);
    public int getY(int i)
         return(spaces[i].y);
    public String getText(int i)
         return(spaces[i].txt);
    public class Space
         int n,y,x;
         String txt;
    public Space(int n, int x, int y, String txt)
         this.n = n;
         this.y = y-82;
         this.x = x+14;
         this.txt = txt;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    public class Map extends JPanel
         Image board;
         JLabel txt = new JLabel("");
    public Map(Image i)
         board = i;
         setLayout(null);
         setSize(board.getWidth(null),board.getHeight(null));
         addMouseListener(new MouseAdapter()
              public void mouseReleased(MouseEvent m)
                   System.out.println(""+m);
         txt.setBounds(456,04,200,24);
         txt.setBackground(Color.lightGray);
         txt.setOpaque(true);
         add(txt);
    public void setText(String s, Color c)
         txt.setText(s);
         txt.setForeground(c);
    public void paint(Graphics g)
         super.paint(g);
         g.drawImage(board,0,0,null);
         paintComponents(g);
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.awt.image.BufferedImage;
    public class Player extends JLabel
         int location = -1;
         Color color;
         boolean hasToGo = false;
         boolean hasToSpin = false;
         Point sloc;
         int tox,toy;
         int mx,my;
         boolean inPlace = false;
    public Player(Image car, Color c)
         super();
         setIcon(new ImageIcon(trans(car)));
         color = c;
         setBounds(10,10,car.getWidth(null),car.getHeight(null));
         if (getWidth() < 1) setSize(40,40);
         addMouseListener(new MouseAdapter()
         {     public void mousePressed(MouseEvent m)
                   sloc = getLocation();
                   mx = m.getX();
                   my = m.getY();
              public void mouseReleased(MouseEvent m)
                   if (getBounds().contains(tox,toy)) hasToGo = false;
                        else setLocation(sloc);
                   inPlace = false;
                   repaint();
         addMouseMotionListener(new MouseMotionAdapter()
         {     public void mouseDragged(MouseEvent m)
                   if (! hasToGo) return;
                   int x = getX() + m.getX() - mx;
                   int y = getY() + m.getY() - my;
                   if (x < 0) x = 0;
                   if (y < 0) y = 0;
                   setLocation(x,y);
                   if (getBounds().contains(tox,toy)) inPlace = true;
                   else inPlace = false;
                   repaint();
    public void go(int l ,int x, int y)
         hasToGo = true;
         hasToSpin = false;
         tox = x;
         toy = y;
         location = l;
    public void spin()
         hasToSpin = true;
    public void paint(Graphics g)
         super.paint(g);
         g.setColor(color);
         if (inPlace)
              g.setColor(Color.red);
              g.fillRect(8,8,16,16);
         else
              g.setColor(color);
              g.drawRect(0,0,36,38);
              g.drawRect(1,1,34,36);
    public BufferedImage trans(Image img)
         int w = img.getWidth(null);
         int h = img.getHeight(null);
         if (w < 1) w = 40;
         if (h < 1) h = 40;
         BufferedImage to = new BufferedImage(w,h,BufferedImage.TYPE_4BYTE_ABGR);
         to.getGraphics().drawImage(img,0,0,null);
         int r1 = to.getRGB(0,0);
         for (int x=0; x < w; x++)
              for (int y=0; y < h; y++)
                   if (to.getRGB(x,y) == r1) to.setRGB(x,y,0);
         return(to);

    To be fair to Phil, the person wasn't asking how to do a sequence diagram, they just wanted one given to them. I'm sure they would have got a more friendly/informative reply if they had actually asked how to do one.

  • How to generate Sequence Diagrams for existing code

    Hi,
    I have a web application written in Java/Jsp's. I am looking to generate sequence diagrams automatically for the existing source code using this tool. I am not sure if this is possible using this tool. Can some one please explain me if that is possible using this IDE tool? If so can you please let me know how this can be done?
    Any response is greatly appreciated.
    Thanks in advance.
    Vijay

    Hi,
    Yes, you can reverse engineer operations and create sequence diagrams using Java Studio Enterprise.
    Just right-click on the operation in the UML model that has the source file associated with it, and select "Create Diagram from Selected elements" or "Reverse Engineer Operation".
    Thanks!

  • Generating a sequence diagram for an ADF/BC project

    hi folks,
    is there an automatic way to produce a sequence diagram? Read something about debug mode but its not working that way.
    Any help apreciated

    Hi John,
    thanks for the info but the documentation says somewhat about break points, but where to set them isnt mentioned - so nothing gets drawn in the diagram. Any info on that would be appreciated. Do i need several break points and especially where do i set them?
    I was allready wondering how a sequence diagram for an adf/bc project would look like - especially if no beans are involved.

  • Drawing Network Diagrams For Virtualized Networks.

    Hi guys, 
    I'm looking at drawing up simple network diagrams of the virtualised servers and IP addresses.. To make it easier to remember the IPs of the virtual machines and the hypervisor, which can get confusing at times. Is there any basic starting diagram I could
    use to give a simple, clear visual representation of the virtualized network, which I could then use as a template for drawing custom network diagrams for my clients. 
    nb. I dont have visio, but I have photoshop my plan would be to get an image file and just edit this as required. 
    thanks, 
    J

    Hi Jonathan,
    it's a little bit off topic, but maybe my answer can help you.
    I know that problem from my own environment. Recently we started to use VeeamOne (free version with a few limitations) for Monitoring the Workload on our Hosts and VMs. 
    A nice feature is that you can have an overview of the VMs per Host, including DNS-Name and IP-Address.
    Maybe you want to have a look at it. 
    Best Regards,
    Jens
    jensit.wordpress.com

  • Way to draw Class and Sequence Diagrams in JDEV

    Hi All,
    I am new to JDeveloper. I am using JDev - 10.1.3.3.
    Can anyone suggest me an example to draw Sequence and Class Diagrams in JDEV
    Thanks

    Maybe the online help can help you then:
    http://www.oracle.com/webapps/online-help/jdeveloper/10.1.3/state/content/navId.4/navSetId._/vtTopicFile.umlmodeling%7Cumlmodeling%7Cmod_umlclassmodeling%7Ehtml/
    Or watch these 10.1.2 demos that also apply to 10.1.3:
    http://www.oracle.com/technology/products/jdev/viewlets/10g/UML_Class_10g_final_viewlet_swf.html

  • Selecting Operations for Messages in Sequence Diagrams

    Is there another way of assigning operations to messages in sequence diagrams apart from selecting the message, right-clicking and then selecting the operation from the list.
    The reason is that I have quite a list of operations and I can't see the last couple in the list.
    Any suggestions? ...Apart from having less operations... :)

    The only way to specify the operation is via the context menu. We have two levels. On is the operation context menu. The second is the context menus that list each operation by visibility. Are you not able to see all of the operations under the visibility context menus as well?

  • How to create Sequence Diagrams in Jdev 10.1.3?

    Hi there,
    I´m migrating (trying) from Eclipse to JDeveloper and I´m having several dificulties....
    I´m creating a new project in JDeveloper:
    0) create an application workspace [ok]
    1) create a web application project [ok]
    2) create some packages and Java classes [ok]
    3) create a class diagram related to the
    above classes [ok]
    4) create a sequence diagram [ok]
    5) use the classes into the sequence
    diagram [more and less]
    6) use the methods of the classes into
    the message lines of the sequence
    diagram [no]
    Some observations that are messing me:
    1) Do I need to create an "Object Lifetime" for
    every class and after that select "Attach Classifier" ?? Why I can´t just drag the classes into the diagram (like Jude) ?
    2) Can I use the methods already defined in the classes to create messages in the sequence diagram?
    3) The sequence diagram od JDeveloper is disconnected from the project classes? i.e., is it just a draw ?
    best regards,
    Felipe Gaúcho

    Hi,
    I am glad to find that you are working on the sequence diagram. I take your point about selecting the methods and assigning them to the messages. Unfortunately this feature is gated by some architecture changes and it something I will be actively pursuing as soon as it is possible.
    In reply to your other points:
    1) Do I need to create an "Object Lifetime" for
    every class and after that select "Attach Classifier" ?? > Why I can´t just drag the classes into the diagram (like > Jude) ?The reason for this is that the sequence modeler is simply a view onto a single diagram type that can contain any object. This allows the mingling of different UML type on the same diagram. It can be usefull to mix usecase and seqeunce for example.
    For that reason the default action for java class is to model a java class, and you do indeed need to create a lifeline first. Did you know you could drag and drop the classifier, in your case a java class, from the navigator onto the lifeline. This might be quicker in your case.
    2) Can I use the methods already defined in the classes > to create messages in the sequence diagram?As noted before in the preview you can't select existing messages. This is something we would like to add as soon as it is possible.
    3) The sequence diagram od JDeveloper is disconnected
    from the project classes? i.e., is it just a draw ?The sequence modeler isn't totally disconnected from the project classes; but it wont update as you edit the code if this is what you mean.
    Could you perhaps expand on this point a little bit?
    Thanks,
    Gerard Davison
    UML Modelers

  • C# package - from code to sequence diagram

    i am currently developing a package using c#, the main objective of it is to come up with a sequence diagram after the user has finished coding. any suggestion on how am i able to do it? is there any available APIs? i am currently reading up on StarUML to
    see if it is useful. Can anyone point me towards the right direction and what should i search for?
    Any help will be appreciated, thank you in advance.
     

    Hi Tan,
    You may need the help of Visualization and Modeling SDK, check if these document are useful:
    Extending UML Models and Diagrams
    How to: Edit Sequence Diagrams by Using the UML API
    About the UML API:
    Programming with the UML API
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Drawing state diagrams?

    hello,
    my problem is about drawing state diagrams with java.
    I have a database that stores the states and transitions.
    I want to draw state diagrams with the data in this database.
    I use simple Graphics object to draw. It was a bit successfull.
    However the API of Graphics are not enough for this job (like: drawLine, drawOval etc.)
    For example I can not draw oval lines and I can not associate any string to this lines properly. Or it is very hard to do.
    So,
    Is there any classes to help me while drawing state diagrams or
    any simple way to make this?
    Like using a Tool that will take my database as an input and draw all state diagrams.
    Thanks

    firstly
    thanks for your advices.
    I created my objects. Actually I drawed simple diagrams.
    I used oval for every state. And I decided 4 points on a state to connect another state. (points are obvious). And an algorithm to connect to state with proper points.
    And I drawLine from one oval to another.
    Then I drawString to the connection point of the first state. (for the description of transition like T23).
    This works for simple diagrams,
    but for complex ones it doew not work.
    First problem is when s1->s2 and s2->s1 It only draws 1 line (normally). This problem is not so important.
    Second problem is the labels. When T1 is s1->s2 and T2 is s1->s3 It was confusing one point but two label which one goes to s1? Simply ! can not write label on line.
    So that I look for a present library or algorithms to draw diagrams.

Maybe you are looking for