uml diagrams
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 200
Ghost Diagrams 0.8
Ghost Diagrams is a program that takes sets of tiles and tries to find patterns into which they may be formed. more>>
Ghost Diagrams is a project that takes sets of tiles and tries to find patterns into which they may be formed. The patterns it finds when given randomly chosen tiles are often surprising.
It turns out that tiling patterns are a form of computation of equal power to Turing machines, lambda calculus, and cellular automata. For example, here is a tileset implementing "Rule 110", a cellular automaton known to be capable of universal computation.
Considerations similar to the halting problem and Godels theorem apply. There is no upper limit to their capacity to surprise us. Furthermore, tiles have an intuitive quality that other forms of computation lack. You can see how they fit together.
An organism is more than the sum of its organs. When the organs are fitted together, the organism becomes something more. This surprising something more we call "spirit" or "ghost". Ghost Diagrams finds the ghosts implicit in simple sets of tiles.
<<lessIt turns out that tiling patterns are a form of computation of equal power to Turing machines, lambda calculus, and cellular automata. For example, here is a tileset implementing "Rule 110", a cellular automaton known to be capable of universal computation.
Considerations similar to the halting problem and Godels theorem apply. There is no upper limit to their capacity to surprise us. Furthermore, tiles have an intuitive quality that other forms of computation lack. You can see how they fit together.
An organism is more than the sum of its organs. When the organs are fitted together, the organism becomes something more. This surprising something more we call "spirit" or "ghost". Ghost Diagrams finds the ghosts implicit in simple sets of tiles.
Download (0.033MB)
Added: 2006-02-19 License: GPL (GNU General Public License) Price:
1353 downloads
UMLGraph 4.8
UMLGraph facilitates the declarative specification and drawing of UML class and sequence diagrams. more>>
UMLGraph facilitates the declarative specification and drawing of UML class and sequence diagrams.
One can specify a class design using the Java syntax complemented by Javadoc tags.
Running the UmlGraph doclet on the specification generates a Graphviz diagram specification that can be automatically processed to create Postscript, GIF, SVG, JPEG, fig, or Framemaker drawings.
Similarly, sequence diagrams are specified using declarative pic macros and compiled with the GNU plotutils pic2plot program into a PNG, PNM, (pseudo) GIF, SVG, AI, Postscript, CGM, FIG, PCL, HPGL, Regis, or TEK drawing.
Enhancements:
- This version improves its invocation interface so that it can be run directly as a jar file.
- It has support for sending results to the standard output for direct piping into dot.
- The distribution includes an example shell script and batch file for invoking UMLGraph.
<<lessOne can specify a class design using the Java syntax complemented by Javadoc tags.
Running the UmlGraph doclet on the specification generates a Graphviz diagram specification that can be automatically processed to create Postscript, GIF, SVG, JPEG, fig, or Framemaker drawings.
Similarly, sequence diagrams are specified using declarative pic macros and compiled with the GNU plotutils pic2plot program into a PNG, PNM, (pseudo) GIF, SVG, AI, Postscript, CGM, FIG, PCL, HPGL, Regis, or TEK drawing.
Enhancements:
- This version improves its invocation interface so that it can be run directly as a jar file.
- It has support for sending results to the standard output for direct piping into dot.
- The distribution includes an example shell script and batch file for invoking UMLGraph.
Download (0.057MB)
Added: 2007-05-10 License: BSD License Price:
900 downloads
Imager::TimelineDiagram 0.15
Imager::TimelineDiagram is a Perl extension for creating Timeline Diagrams (designed to show system interaction over time). more>>
Imager::TimelineDiagram is a Perl extension for creating Timeline Diagrams (designed to show system interaction over time).
SYNOPSIS
use Imager::TimelineDiagram;
use Imager::Font;
my $tg = Imager::TimelineDiagram->new(
#maxTime => 10,
#dataLabelSide => left,
labelFont => Imager::Font->new(file => t/ImUgly.ttf),
);
$tg->set_milestones(qw(A B C D E));
my @points = (
# From, To, AtTime
[A,B,1.0],
[B,C,2.0],
[C,D,3.3],
[D,C,4.3],
[C,A,5.0],
);
$tg->add_points(@points);
$tg->write(foo.png);
<<lessSYNOPSIS
use Imager::TimelineDiagram;
use Imager::Font;
my $tg = Imager::TimelineDiagram->new(
#maxTime => 10,
#dataLabelSide => left,
labelFont => Imager::Font->new(file => t/ImUgly.ttf),
);
$tg->set_milestones(qw(A B C D E));
my @points = (
# From, To, AtTime
[A,B,1.0],
[B,C,2.0],
[C,D,3.3],
[D,C,4.3],
[C,A,5.0],
);
$tg->add_points(@points);
$tg->write(foo.png);
Download (0.084MB)
Added: 2007-04-24 License: Perl Artistic License Price:
913 downloads
UMLet 7.1
UMLet is a lightweight tool for rapidly drawing UML diagrams. more>>
UMLet project is an open-source Java tool for rapidly drawing UML diagrams with a pop-up-free, light-weight user interface.
UMLet lets you draw diagram sketches fast; export diagrams to eps, pdf, jpg, svg, and sys.
Add elements to a diagram with a double click. Edit elements using the lower-right text panel. Select multiple elements using Ctrl or lasso. Press C to copy diagram to the system clipboard
Main features:
- fast
- text-based sequence diagram
- call from command line.
<<lessUMLet lets you draw diagram sketches fast; export diagrams to eps, pdf, jpg, svg, and sys.
Add elements to a diagram with a double click. Edit elements using the lower-right text panel. Select multiple elements using Ctrl or lasso. Press C to copy diagram to the system clipboard
Main features:
- fast
- text-based sequence diagram
- call from command line.
Download (4.9MB)
Added: 2006-11-22 License: GPL (GNU General Public License) Price:
657 downloads
dia2sql 1.4
dia2sql is yet another dia2sql converter. more>>
dia2sql is yet another dia2sql converter. It uses libxml2 to parse UML objects from a Dia diagram and generates corresponding SQL code to create the tables specified in the UML diagram
It takes one or more filenames and outputs to stdout. Multiple files are considered as one database by merging multiple tables with the same name.
Enhancements:
- This release has been rewritten in C and adds support for database views.
<<lessIt takes one or more filenames and outputs to stdout. Multiple files are considered as one database by merging multiple tables with the same name.
Enhancements:
- This release has been rewritten in C and adds support for database views.
Download (0.026MB)
Added: 2005-11-18 License: GPL (GNU General Public License) Price:
1437 downloads
uml2svg 0.18
uml2svg is an XSLT-based tool for converting XMI-compliant UML Diagrams into SVG. more>>
uml2svg is an XSLT-based tool for converting XMI-compliant UML Diagrams into SVG.
We started the developing uml2svg with six main goals in mind:
- Standard conformance
- Good Documentation
- Modularity
- Extensibility
- Comprehensible SVG
- Multiple diagrams per XMI-file
SVG is a standard language for describing two-dimensional vector graphics in XML. As the open SVG standard gains in popularity and gradually replaces proprietary formats for vectorial graphics, the support provided by the Web browsers is getting better.
Plugins to display SVG exist for most browsers and it is most likely that the next generation of Web browser will provide built-in support for SVG. When that happens there will be no better way to distribute vector graphics on the web. Furthermore, not only web browsers can process SVG in a meaningful way; in fact that is just the tip of the iceberg. SVG can be easily read in, processed, and then transformed into many other formats, being well suited for both text and graphic tools as well as for web agents and screen readers.
UML diagrams are composed of lines, polygons, ellipses and text labels, so they are inherently vectorial. However, the SVG is not very well suited for direct use by UML tools. While some of them can in fact export UML diagrams directly to SVG, they do that by discarding all the information about structure, and converting everything into a shape. Moreover, some tools use the screen-capture function provided by their environment (such as java2d) and then they apply a filter to generate SVG out of the "screenshot".
What comes out of that is a pile of meaningless information, which by accident happens to draw a gorgeous diagram. How will a screen reader interpret such a file? How will a web crawler be able to index it? How will a web agent process it in a meaningful way? A program needs the semantic information that the humans can extract just by looking at a picture. For a machine, an obfuscated SVG file is not easier to process than a PNG file or any other image.
Although for humans it is better to be able to scale the image, for a program this is irrelevant. Programs need a way to "understand" the semantics of the UML models to be able to process and interchange them in a meaningfull way. This was the main idea behind the XML Metadata Interchange (XMI), an OMG specification for model interchange. And probably the best use that XMI has found so far is the exchange of UML models between different modeling tools. And while the XMI provides a standard way for tools to represent models as XML documents, it is still limited to the model elements only.
With the introduction of the UML 2.0 Diagram Interchange Specification as part of the upcoming UML 2.0 standard, it will become possible for tools to exchange the models together with the layout of the diagrams. We think that, once this specification appears, XMI will be used averywhere. Not only will the tools be able to exchange diagrams, but could even represent them internaly as DOM trees. Have you ever considered drawing your UML diagrams online, using only a web browser? This could be done even now by using a custom SVG syntax for the DOM tree, but a solution based on XMI could do even better and be a standard at the same time.
Therefore, we believe that with the advent of UML 2.0 and the increase in the use of SVG, the need for transformations between XMI and SVG will be great. Nevertheless when the uml2svg project was started, there was hardly any good open-source solution to convert XMI diagams into SVG.
The UML 2.0 Diagram Interchange Adopted Specification in its current incipient form references a set of XSL transformations. Although the standard draft covers them to a large extent, the link is actually broken (you can try for yourself). It has been broken for more than a year and most likely it will stay like that forever.
The personal webpage of Professor Mario Jeckle provides an online transformation service capable of dynamically generating SVG from XMI-compliant XML files. The XSL files accomplishing the transformations are also available on that website. These transformations are monolithic and not well documented (the only documentation is in the code, and it is generally written in German). With the tragic accident that took the life of Professor Jeckle, the transformations have no longer been maintained.
Finally, the STZ-IDA research center in Karlsruhe had to convert UML diagrams to SVG, as part of one of their projects. The XSLT stylesheet they created for this purpose was named xmi2svg and is available under the terms of the MIT license. At the time we started work on uml2svg the only type of diagrams supported was class diagrams.
Recently the package reached version 0.2 and it supports more diagram types, without major changes in the code (the opposite of what we were expecting). Andreas Junghans, the author of xmi2svg, provided us with a lot of insightful hints which helped us eliminate many glitches in uml2svg. It looks that the development of uml2svg and xmi2svg will continue in parallel, at least for a while. The good thing about this is that the two (quite different) implementations prove each others validity and the features tend to propagate freely from one side to the other. However, this comes with the prize of having to maintain two different code-trees and possibly confusing some users.
We did not like the two existing solutions because they were:
incomplete - just prototypes, not well suited for production environment
monolithic - hard to maintain and extend
not documented - hard to understand
At first sight, we thought we could find a way to improve one of the existing solutions and just add the features we needed. However, we slowly came to the conclusion that it would be better if we started anew. There are things one can fix in a project, but that does not include what we thought is was bad design. The fact that the two implementations presented above are open source helped us get quickly on the way with our own project.
Enhancements:
- Two annoying bugs were fixed.
- The site and documentation were updated.
<<lessWe started the developing uml2svg with six main goals in mind:
- Standard conformance
- Good Documentation
- Modularity
- Extensibility
- Comprehensible SVG
- Multiple diagrams per XMI-file
SVG is a standard language for describing two-dimensional vector graphics in XML. As the open SVG standard gains in popularity and gradually replaces proprietary formats for vectorial graphics, the support provided by the Web browsers is getting better.
Plugins to display SVG exist for most browsers and it is most likely that the next generation of Web browser will provide built-in support for SVG. When that happens there will be no better way to distribute vector graphics on the web. Furthermore, not only web browsers can process SVG in a meaningful way; in fact that is just the tip of the iceberg. SVG can be easily read in, processed, and then transformed into many other formats, being well suited for both text and graphic tools as well as for web agents and screen readers.
UML diagrams are composed of lines, polygons, ellipses and text labels, so they are inherently vectorial. However, the SVG is not very well suited for direct use by UML tools. While some of them can in fact export UML diagrams directly to SVG, they do that by discarding all the information about structure, and converting everything into a shape. Moreover, some tools use the screen-capture function provided by their environment (such as java2d) and then they apply a filter to generate SVG out of the "screenshot".
What comes out of that is a pile of meaningless information, which by accident happens to draw a gorgeous diagram. How will a screen reader interpret such a file? How will a web crawler be able to index it? How will a web agent process it in a meaningful way? A program needs the semantic information that the humans can extract just by looking at a picture. For a machine, an obfuscated SVG file is not easier to process than a PNG file or any other image.
Although for humans it is better to be able to scale the image, for a program this is irrelevant. Programs need a way to "understand" the semantics of the UML models to be able to process and interchange them in a meaningfull way. This was the main idea behind the XML Metadata Interchange (XMI), an OMG specification for model interchange. And probably the best use that XMI has found so far is the exchange of UML models between different modeling tools. And while the XMI provides a standard way for tools to represent models as XML documents, it is still limited to the model elements only.
With the introduction of the UML 2.0 Diagram Interchange Specification as part of the upcoming UML 2.0 standard, it will become possible for tools to exchange the models together with the layout of the diagrams. We think that, once this specification appears, XMI will be used averywhere. Not only will the tools be able to exchange diagrams, but could even represent them internaly as DOM trees. Have you ever considered drawing your UML diagrams online, using only a web browser? This could be done even now by using a custom SVG syntax for the DOM tree, but a solution based on XMI could do even better and be a standard at the same time.
Therefore, we believe that with the advent of UML 2.0 and the increase in the use of SVG, the need for transformations between XMI and SVG will be great. Nevertheless when the uml2svg project was started, there was hardly any good open-source solution to convert XMI diagams into SVG.
The UML 2.0 Diagram Interchange Adopted Specification in its current incipient form references a set of XSL transformations. Although the standard draft covers them to a large extent, the link is actually broken (you can try for yourself). It has been broken for more than a year and most likely it will stay like that forever.
The personal webpage of Professor Mario Jeckle provides an online transformation service capable of dynamically generating SVG from XMI-compliant XML files. The XSL files accomplishing the transformations are also available on that website. These transformations are monolithic and not well documented (the only documentation is in the code, and it is generally written in German). With the tragic accident that took the life of Professor Jeckle, the transformations have no longer been maintained.
Finally, the STZ-IDA research center in Karlsruhe had to convert UML diagrams to SVG, as part of one of their projects. The XSLT stylesheet they created for this purpose was named xmi2svg and is available under the terms of the MIT license. At the time we started work on uml2svg the only type of diagrams supported was class diagrams.
Recently the package reached version 0.2 and it supports more diagram types, without major changes in the code (the opposite of what we were expecting). Andreas Junghans, the author of xmi2svg, provided us with a lot of insightful hints which helped us eliminate many glitches in uml2svg. It looks that the development of uml2svg and xmi2svg will continue in parallel, at least for a while. The good thing about this is that the two (quite different) implementations prove each others validity and the features tend to propagate freely from one side to the other. However, this comes with the prize of having to maintain two different code-trees and possibly confusing some users.
We did not like the two existing solutions because they were:
incomplete - just prototypes, not well suited for production environment
monolithic - hard to maintain and extend
not documented - hard to understand
At first sight, we thought we could find a way to improve one of the existing solutions and just add the features we needed. However, we slowly came to the conclusion that it would be better if we started anew. There are things one can fix in a project, but that does not include what we thought is was bad design. The fact that the two implementations presented above are open source helped us get quickly on the way with our own project.
Enhancements:
- Two annoying bugs were fixed.
- The site and documentation were updated.
Download (MB)
Added: 2007-02-18 License: LGPL (GNU Lesser General Public License) Price:
981 downloads
AutoDia 2.03
AutoDia is a modular application that parses source code, XML or data and produces an XML document in Dia format. more>>
AutoDia is a modular application that parses source code, XML or data and produces an XML document in Dia format (or images via graphviz and vcg). AutoDias goal is to be a UML / DB Schema diagram autocreation package.
The diagrams its creates are standard UML diagrams showing dependancies, superclasses, packages, classes and inheritances, as well as the methods, etc of each class.
AutoDia supports any language that a Handler has been written for - see below for an up to date list..
Autodia now outputs the following formats :
- Graphviz (using dot to generate jpg, png, etc)
- dot
- vcg
- xvcg (using xvcg to output postscript, etc)
- dia (using a new custom directed graph algorithm to layout diagrams)
- HTML/XML/Anything (if you write your own template)
- Experimental SpringGraph (native perl directed graphs similar to graphviz) now included
- Experimental Umbrello XML/XMI (requires fixing)
Autodia now parses the following forms of input
- Perl
- Python
- PHP
- Java (some issues with version 1.4) no longer fully supported (it used to work, Java broke its APIs now it doesnt, fixes welcome)
- C++
- Torque (XML DB schema)
- DBI (perl database interface handles)
- SQL
- Umbrello (experimental)
<<lessThe diagrams its creates are standard UML diagrams showing dependancies, superclasses, packages, classes and inheritances, as well as the methods, etc of each class.
AutoDia supports any language that a Handler has been written for - see below for an up to date list..
Autodia now outputs the following formats :
- Graphviz (using dot to generate jpg, png, etc)
- dot
- vcg
- xvcg (using xvcg to output postscript, etc)
- dia (using a new custom directed graph algorithm to layout diagrams)
- HTML/XML/Anything (if you write your own template)
- Experimental SpringGraph (native perl directed graphs similar to graphviz) now included
- Experimental Umbrello XML/XMI (requires fixing)
Autodia now parses the following forms of input
- Perl
- Python
- PHP
- Java (some issues with version 1.4) no longer fully supported (it used to work, Java broke its APIs now it doesnt, fixes welcome)
- C++
- Torque (XML DB schema)
- DBI (perl database interface handles)
- SQL
- Umbrello (experimental)
Download (0.060MB)
Added: 2006-08-08 License: GPL (GNU General Public License) Price:
1177 downloads
P-UMLaut 1.2
The P-UMLaut tool allows the user to transform UML 2.0 Sequence Diagrams to semantically equivalent Petri Nets. more>>
The P-UMLaut tool allows the user to transform UML 2.0 Sequence Diagrams to semantically equivalent Petri Nets.
These Petri Nets may then be simulated using the supplied PN simulator (of PEP descent) or operated on with any tool that can work with high level Petri Nets.
By plugging different Realms into the simulation by way of an event filter, the modeled world may then be displayed and interacted with in various fashions. A 3D animation module is supplied as well as two examples utilizing the complete toolchain.
Enhancements:
- A new Petrinet Simulator was implemented in Java which features Highlevel-PN to Lowlevel-PN unfolding and Timed-PN simulation.
- Filtering was enhanced. Irrlicht 0.12 is used.
<<lessThese Petri Nets may then be simulated using the supplied PN simulator (of PEP descent) or operated on with any tool that can work with high level Petri Nets.
By plugging different Realms into the simulation by way of an event filter, the modeled world may then be displayed and interacted with in various fashions. A 3D animation module is supplied as well as two examples utilizing the complete toolchain.
Enhancements:
- A new Petrinet Simulator was implemented in Java which features Highlevel-PN to Lowlevel-PN unfolding and Timed-PN simulation.
- Filtering was enhanced. Irrlicht 0.12 is used.
Download (15.9MB)
Added: 2005-09-27 License: GPL (GNU General Public License) Price:
1488 downloads
ArgoUML 0.20
ArgoUML is a pure Java open source UML CASE tool that provides cognitive support for object-oriented design. more>>
ArgoUML is a pure Java open source UML CASE tool that provides cognitive support for object-oriented design.
ArgoUML provides some of the same editing and code generation features of a commercial CASE tool, but it focuses on features that enhance usability and support the cognitive needs of designers. Uses XML file formats: XMI and PGML.
Main features:
- Click and Go! with Java Web Start
- Platform Independent: Java 1.4+
- Standard UML 1.3 Meta-Model
- 8 out of 9 Diagrams supported
- XMI-Support
- Export Diagrams as GIF, PS, EPS, PGML and SVG
- Internationalization EN, DE, ES, RU, FR, NB
- Advanced diagram editing and Zoom
- OCL Support
- Forward Engineering
- Reverse Engineering / Jar/class file Import
- Cognitive Support
- Reflection-in-action
- Design Critics
- Corrective Automations (partially implemented)
- "To Do" List
- User model (partially implemented)
- Opportunistic Design
- "To Do" List
- Checklists
- Comprehension and Problem Solving
- Explorer Perspectives
- Multiple, Overlapping Views
- Alternative Design Representations: Graphs, Text, or Table
Enhancements:
- This is the first release which easily generates Debian packages and installs the server cleanly.
- The Perl client works correctly when connecting to the server and allows all the basic operations to be carried out.
<<lessArgoUML provides some of the same editing and code generation features of a commercial CASE tool, but it focuses on features that enhance usability and support the cognitive needs of designers. Uses XML file formats: XMI and PGML.
Main features:
- Click and Go! with Java Web Start
- Platform Independent: Java 1.4+
- Standard UML 1.3 Meta-Model
- 8 out of 9 Diagrams supported
- XMI-Support
- Export Diagrams as GIF, PS, EPS, PGML and SVG
- Internationalization EN, DE, ES, RU, FR, NB
- Advanced diagram editing and Zoom
- OCL Support
- Forward Engineering
- Reverse Engineering / Jar/class file Import
- Cognitive Support
- Reflection-in-action
- Design Critics
- Corrective Automations (partially implemented)
- "To Do" List
- User model (partially implemented)
- Opportunistic Design
- "To Do" List
- Checklists
- Comprehension and Problem Solving
- Explorer Perspectives
- Multiple, Overlapping Views
- Alternative Design Representations: Graphs, Text, or Table
Enhancements:
- This is the first release which easily generates Debian packages and installs the server cleanly.
- The Perl client works correctly when connecting to the server and allows all the basic operations to be carried out.
Download (9.2MB)
Added: 2006-02-20 License: BSD License Price:
1464 downloads
UMLSpeed 0.19
UMLSpeed is a compiler for a simple, C-style language that allows declaration of UML entities and diagrams. more>>
UMLSpeed project is a compiler for a simple, C-style language that allows declaration of UML entities and diagrams. Diagrams can be compiled into SVG and the entities to XMI for use with other tools.
Why?
- Graphical UML tools in general suck - why should we, as programmers have to drag and drop stupid graphical things and use a mouse when we could express what we want 10 times faster with a text editor and a simple notation? - More importantly, why should we have to lay everything out when the computer could do it for us?
- Graphical UML tools are bloated, huge, memory and disk-hogging monsters.
- Graphical UML tools use either a binary data format or XML, which is not particularly friendly to source code control systems.
Main features:
- Written in GCJ-portable java and compiled natively. Its extremely fast even when dealing with thousands of entities and diagrams.
- Purely command-line driven and takes miniscule resources.
- Flexible enough with file imports that large UML projects can be broken up into separate files and only individual bits built at a time as required.
- C-style syntax means that the source language integrates well with source code control and diff tools.
- Standards compliant - produces interoperable SVG and XMI, as well as clean source code.
- Can integrate with automated build tools for regular diagram/xmi compilation.
Status
This is still alpha software. Dont hold me responsible if it kills your pets and blows your house up.
Implemented so far:
- Compiler/parser
- Namespaces, Class diagrams and related entities
- Use case diagrams and related entities
- Auto-link pathfinding
- XMI 1.3 output
- VIM syntax highlighting
- Code generation (Java and Python)
Still to do:
- Documentation output
- Code generation (Ruby, PHP, Perl, C++, C#)
- Diagram packages
- Diagram notes
- Alternative diagram layout managers
- Deployment diagrams
- Sequence diagrams
- Activity diagrams
Enhancements:
- Added facilities to store HTML of reports in a buffer for use by plugins and turn off file generation. Maven plugin now uses this when using Doxia for generation.
- Added $PROJECTNAME and $PROJECTVERSION HTML tokens, with CLI parameters to set them. Maven plugin will automatically set them.
- Added $PUBLISHDATE token
- Added $TOC key for generating links to bookmarks on the same page.
<<lessWhy?
- Graphical UML tools in general suck - why should we, as programmers have to drag and drop stupid graphical things and use a mouse when we could express what we want 10 times faster with a text editor and a simple notation? - More importantly, why should we have to lay everything out when the computer could do it for us?
- Graphical UML tools are bloated, huge, memory and disk-hogging monsters.
- Graphical UML tools use either a binary data format or XML, which is not particularly friendly to source code control systems.
Main features:
- Written in GCJ-portable java and compiled natively. Its extremely fast even when dealing with thousands of entities and diagrams.
- Purely command-line driven and takes miniscule resources.
- Flexible enough with file imports that large UML projects can be broken up into separate files and only individual bits built at a time as required.
- C-style syntax means that the source language integrates well with source code control and diff tools.
- Standards compliant - produces interoperable SVG and XMI, as well as clean source code.
- Can integrate with automated build tools for regular diagram/xmi compilation.
Status
This is still alpha software. Dont hold me responsible if it kills your pets and blows your house up.
Implemented so far:
- Compiler/parser
- Namespaces, Class diagrams and related entities
- Use case diagrams and related entities
- Auto-link pathfinding
- XMI 1.3 output
- VIM syntax highlighting
- Code generation (Java and Python)
Still to do:
- Documentation output
- Code generation (Ruby, PHP, Perl, C++, C#)
- Diagram packages
- Diagram notes
- Alternative diagram layout managers
- Deployment diagrams
- Sequence diagrams
- Activity diagrams
Enhancements:
- Added facilities to store HTML of reports in a buffer for use by plugins and turn off file generation. Maven plugin now uses this when using Doxia for generation.
- Added $PROJECTNAME and $PROJECTVERSION HTML tokens, with CLI parameters to set them. Maven plugin will automatically set them.
- Added $PUBLISHDATE token
- Added $TOC key for generating links to bookmarks on the same page.
Download (0.47MB)
Added: 2007-07-21 License: GPL (GNU General Public License) Price:
826 downloads
UML2PHP5 2.2.0
UML2PHP5 is a Dia plugin to generate PHP code from UML. more>>
UML2PHP5 is a plugin designed to fit on the Dia diagram application. UML2PHP5 automatically generates the PHP code structure following the diagrams classes.
PHP5s and javas object model increasing similarity for example, there was an urgent need to update the tools for programmers.
UML2PHP5 is Open Source, under GPL. This means you can develop the source code to suit your need(s) and redistribute it as long as it remains under GPL terms.
Using UML2PHP5:
- Draw your UML diagram(s)
- Save it with .dia as file extension
- Export through the XSL filter (*.code)
- A popup opens :
- Select UML-CLASSES-EXTENDED in the top box
- Select PHP5 in the bottom box
- OK
The plugin generates as many .class.php files as necessary, in the same directory as the original .dia file.
Enhancements:
- A new tool was added: php2uml, which generates UML diagrams from PHP classes files.
- This tool uses the Reflection API.
<<lessPHP5s and javas object model increasing similarity for example, there was an urgent need to update the tools for programmers.
UML2PHP5 is Open Source, under GPL. This means you can develop the source code to suit your need(s) and redistribute it as long as it remains under GPL terms.
Using UML2PHP5:
- Draw your UML diagram(s)
- Save it with .dia as file extension
- Export through the XSL filter (*.code)
- A popup opens :
- Select UML-CLASSES-EXTENDED in the top box
- Select PHP5 in the bottom box
- OK
The plugin generates as many .class.php files as necessary, in the same directory as the original .dia file.
Enhancements:
- A new tool was added: php2uml, which generates UML diagrams from PHP classes files.
- This tool uses the Reflection API.
Download (0.016MB)
Added: 2006-05-04 License: GPL (GNU General Public License) Price:
1271 downloads
UML::State 0.02
UML::State is an object oriented module which draws simple state diagrams. more>>
UML::State is an object oriented module which draws simple state diagrams.
SYNOPSIS
use UML::State;
my $diagram = UML::State->new(
$node_array,
$start_list,
$accept_list,
$edges
);
# You may change these defaults (doing so may even work):
$UML::State::ROW_SPACING = 75; # all numbers are in pixels
$UML::State::LEFT_MARGIN = 20;
$UML::State::WIDTH = 800;
$UML::State::HEIGHT = 800;
print $diagram->draw();
ABSTRACT
Are you tired of pointing and clicking to make simple diagrams? Do your wrists hurt thinking about making the pretty UML your boss likes so well? Consider using UML::State and UML::Sequence to make your life easier.
UML::State together with drawstate.pl allows you to easily generate state diagrams. You enter them in something like a cross between ASCII art and school room algebra. They come out looking like something from a drawing program like Visio. See drawstate.pl in the distribution for details about the input format and the samples directory for some examples of input and output.
You will probably use this class by running drawstate.pl or drawstatexml.pl which are included in the distribution. But you can use this package directly to gain control over the appearance of your pictures.
The two methods you need are new and draw (see below). If you want, you may change the dimensions by setting the package global variables as shown in the SYNOPSIS. Obviously, no error checking is done, so be careful to use reasonable values (positive numbers are good). All numbers are in pixels (sorry by Beziers in SVG seem to require pixels). I have not tried changing the numbers, so I dont have any idea if doing so makes reasonable changes to the output.
<<lessSYNOPSIS
use UML::State;
my $diagram = UML::State->new(
$node_array,
$start_list,
$accept_list,
$edges
);
# You may change these defaults (doing so may even work):
$UML::State::ROW_SPACING = 75; # all numbers are in pixels
$UML::State::LEFT_MARGIN = 20;
$UML::State::WIDTH = 800;
$UML::State::HEIGHT = 800;
print $diagram->draw();
ABSTRACT
Are you tired of pointing and clicking to make simple diagrams? Do your wrists hurt thinking about making the pretty UML your boss likes so well? Consider using UML::State and UML::Sequence to make your life easier.
UML::State together with drawstate.pl allows you to easily generate state diagrams. You enter them in something like a cross between ASCII art and school room algebra. They come out looking like something from a drawing program like Visio. See drawstate.pl in the distribution for details about the input format and the samples directory for some examples of input and output.
You will probably use this class by running drawstate.pl or drawstatexml.pl which are included in the distribution. But you can use this package directly to gain control over the appearance of your pictures.
The two methods you need are new and draw (see below). If you want, you may change the dimensions by setting the package global variables as shown in the SYNOPSIS. Obviously, no error checking is done, so be careful to use reasonable values (positive numbers are good). All numbers are in pixels (sorry by Beziers in SVG seem to require pixels). I have not tried changing the numbers, so I dont have any idea if doing so makes reasonable changes to the output.
Download (0.054MB)
Added: 2007-04-23 License: Perl Artistic License Price:
915 downloads
Xholon runtime framework 0.6
Xholon runtime framework executes applications that are event-driven or that have highly dynamic structure or behavior. more>>
Xholon runtime framework executes applications that are event-driven or that have highly dynamic structure or behavior. Specify your models using XML and Java, or using third-party UML2 tools and MDA transformations.
To get started, read or actively work through the basic HelloWorld tutorial. Its a very simple application, but it demonstrates many of the main concepts.
For more detail on the concepts behind Xholon, you might want to read one of the papers thats been published. These describe how to model cells and other complex biological entities using tools designed for developing real-time and embedded systems.
This earlier work used Rational Rose RealTime and C++, rather than the current Java. Xholon is intended to be a runtime framework that can execute the same types of systems described in those papers, plus many more traditional non-biological event-driven systems.
The goal of the Cellontro sister project is to develop complex biological simulations using the Xholon framework. Most of the features described in the published papers have been re-implemented as Cellontro applications using Xholon.
Also have a look at the sample applications that are included with the Xholon software. These give an idea of the range of applications that can be supported by the Xholon runtime framework.
These have been employed as use cases to determine what functionality is most important in Xholon. The digital watch simulation is a good example of a Xholon application with a hierarchical state machine, developed using a UML modeling tool.
A Xholon is essentially a holon. A holon is an entity that lives within a hierarchical structure, and is both a whole and a part at the same time.
In mainstream computer science terms, a Xholon is a node in a tree. The node has a single parent, possibly one or more children, and possibly one or more siblings. A Xholon may also be an active agent able to interact in real-time with other Xholons in the tree.
In UML2 terminology, a Xholon is a structured classifier that may exist as a part within other structured classifiers, and that may in turn contain other structured classifiers as parts of itself. The result is a hierarchical containment structure, nested to an arbitrary number of levels.
As a part, a Xholon plays a specific role within another structured classifier. Xholons are UML classes that are subsequently refined using UML2 composite structure diagrams. Structured classifiers interact with each other through ports, by passing messages or by making function calls.
Using the more philosophical terminology used to describe holons, a Xholon is something that is simultaneously both a whole and a part. Since everything in the universe is a holon, then everything running within a computer application should be a Xholon. The term holon was invented by Arthur Koestler in 1967.
The Xholon Project is inspired by biological concepts. A major incentive behind the project is to build a run-time environment that is equally adapted to running simulations of biological systems, and to running more traditional real-time, embedded and other event-driven reactive systems.
Xholon applications may contain structures that are highly mutable. A Xholon is an active agent that can modify the tree structure in which it lives. It can navigate the tree to interact with any other node, it can add, delete or modify other nodes, it can exchange messages with other nodes, and it can move itself to another position within the tree.
The Xholon Project incorporates many concepts of the Real-time Object-Oriented Modeling (ROOM) methodology, much of which has been incorporated into UML2. At the same time, Xholon removes some of the limitations of ROOM to allow for greater flexibility, mutability and mobility of active objects.
The Xholon run-time can serve as a target for a Model Driven Architecture (MDA) transformation pipeline. MDA stresses the importance of models, and the ability to transform those models, through a series of steps, into an executing target system.
You can create your model using a UML tool such as Gentlewares Poseidon or NoMagics MagicDraw, save the model as an XMI file, transform it using XSLT (or by some other MDA means) into a Xholon model and application, and then execute the model.
Enhancements:
- UML state machine simulation capabilities have been extended, including animation, and fork, join, junction.
- Additional Agent-Based Modeling functionality is available.
- The NetLogo-like syntax has been enhanced.
- The architecture is more flexible and is ready to more fully support integration of multiple domains.
- Histograms and probability distributions are now available. Line charts update in real-time.
- Numerous other modeling, simulation, transformation, and execution features have been added.
<<lessTo get started, read or actively work through the basic HelloWorld tutorial. Its a very simple application, but it demonstrates many of the main concepts.
For more detail on the concepts behind Xholon, you might want to read one of the papers thats been published. These describe how to model cells and other complex biological entities using tools designed for developing real-time and embedded systems.
This earlier work used Rational Rose RealTime and C++, rather than the current Java. Xholon is intended to be a runtime framework that can execute the same types of systems described in those papers, plus many more traditional non-biological event-driven systems.
The goal of the Cellontro sister project is to develop complex biological simulations using the Xholon framework. Most of the features described in the published papers have been re-implemented as Cellontro applications using Xholon.
Also have a look at the sample applications that are included with the Xholon software. These give an idea of the range of applications that can be supported by the Xholon runtime framework.
These have been employed as use cases to determine what functionality is most important in Xholon. The digital watch simulation is a good example of a Xholon application with a hierarchical state machine, developed using a UML modeling tool.
A Xholon is essentially a holon. A holon is an entity that lives within a hierarchical structure, and is both a whole and a part at the same time.
In mainstream computer science terms, a Xholon is a node in a tree. The node has a single parent, possibly one or more children, and possibly one or more siblings. A Xholon may also be an active agent able to interact in real-time with other Xholons in the tree.
In UML2 terminology, a Xholon is a structured classifier that may exist as a part within other structured classifiers, and that may in turn contain other structured classifiers as parts of itself. The result is a hierarchical containment structure, nested to an arbitrary number of levels.
As a part, a Xholon plays a specific role within another structured classifier. Xholons are UML classes that are subsequently refined using UML2 composite structure diagrams. Structured classifiers interact with each other through ports, by passing messages or by making function calls.
Using the more philosophical terminology used to describe holons, a Xholon is something that is simultaneously both a whole and a part. Since everything in the universe is a holon, then everything running within a computer application should be a Xholon. The term holon was invented by Arthur Koestler in 1967.
The Xholon Project is inspired by biological concepts. A major incentive behind the project is to build a run-time environment that is equally adapted to running simulations of biological systems, and to running more traditional real-time, embedded and other event-driven reactive systems.
Xholon applications may contain structures that are highly mutable. A Xholon is an active agent that can modify the tree structure in which it lives. It can navigate the tree to interact with any other node, it can add, delete or modify other nodes, it can exchange messages with other nodes, and it can move itself to another position within the tree.
The Xholon Project incorporates many concepts of the Real-time Object-Oriented Modeling (ROOM) methodology, much of which has been incorporated into UML2. At the same time, Xholon removes some of the limitations of ROOM to allow for greater flexibility, mutability and mobility of active objects.
The Xholon run-time can serve as a target for a Model Driven Architecture (MDA) transformation pipeline. MDA stresses the importance of models, and the ability to transform those models, through a series of steps, into an executing target system.
You can create your model using a UML tool such as Gentlewares Poseidon or NoMagics MagicDraw, save the model as an XMI file, transform it using XSLT (or by some other MDA means) into a Xholon model and application, and then execute the model.
Enhancements:
- UML state machine simulation capabilities have been extended, including animation, and fork, join, junction.
- Additional Agent-Based Modeling functionality is available.
- The NetLogo-like syntax has been enhanced.
- The architecture is more flexible and is ready to more fully support integration of multiple domains.
- Histograms and probability distributions are now available. Line charts update in real-time.
- Numerous other modeling, simulation, transformation, and execution features have been added.
Download (3.6MB)
Added: 2007-06-04 License: LGPL (GNU Lesser General Public License) Price:
872 downloads
Dia 0.96.1
Dia is designed to be much like the commercial Windows program Visio. more>>
Dia is designed to be much like the commercial Windows program Visio. It can be used to draw many different kinds of diagrams.
Dia project currently has special objects to help draw entity relationship diagrams, UML diagrams, network diagrams, flowcharts, and simple circuits. It is also possible to add support for new shapes by writing simple XML files, using a subset of SVG to draw the shape.
It can load and save diagrams to a custom XML format (gzipped by default, to save space), can export diagrams to EPS or SVG formats and can print diagrams (including ones that span multiple pages).
<<lessDia project currently has special objects to help draw entity relationship diagrams, UML diagrams, network diagrams, flowcharts, and simple circuits. It is also possible to add support for new shapes by writing simple XML files, using a subset of SVG to draw the shape.
It can load and save diagrams to a custom XML format (gzipped by default, to save space), can export diagrams to EPS or SVG formats and can print diagrams (including ones that span multiple pages).
Download (6.2MB)
Added: 2007-03-29 License: GPL (GNU General Public License) Price:
1241 downloads
ummf 1.02
ummf Perl module contains a driver for UMMF. more>>
ummf Perl module contains a driver for UMMF.
SYNOPSIS
ummf [-I dir] [-M MetaModel] [-m Main::Module] [-o {dir|-}] [-e exporter] input ...
This is a driver for the UMMF toolkit. It translates UML input documents into the export targets specified by the -e option. If -o - is specified the output is generated to STDOUT, otherwise the output is multiplexed into files underneath the directory specified by the -o option, using files2dirs.
If input is UML-1.5, then the internal UML 1.5 meta-model (from UMMF::UML::MetaModel) is used as input.
Input files can be .zargo (ArgoUML and Poseidon for UML 1.x), .zuml (Poseidon for UML 2.x) or XMI 1.0 or 1.2 documents.
USAGE
ummf -e java -e perl -o gen test/test1.xmi
Generates Java and Perl code in directory gen from test/test1.xmi.
ummf -e perl::hibernate -o gen test/test2.zargo
Generates Java Hibernate hbn.xml file in directory gen from test/test2.zargo.
ummf -e XMI -o - UML-1.5
Generates XMI for the UML 1.5 meta-model on the standard output stream.
ummf --perl5lib
Print the PERL5LIB path needed for Perl code generated by UMMF.
ummf -L Some::Package
Loads Some::Package.
ummf -m Some::Package @args ...
Loads Some::Package and executes >.
ummf -I dir/with/perl/modules
Executes use lib dir/with/perl/modules; including modules from the specified directory in the search path.
ummf -M UMMF::Boot::MetaModel
Uses UMMF::Boot::MetaModel for the meta-model, defaults to UMMF::UML_1_5.
ummf -profile MyMagicProfile -e Perl UML-1.5
Applies MyMagicProfile during export of Perl code on the UML 1.5 meta-model. This overides the default lib/ummf/profile/UML-1.5.ummfprofile file.
<<lessSYNOPSIS
ummf [-I dir] [-M MetaModel] [-m Main::Module] [-o {dir|-}] [-e exporter] input ...
This is a driver for the UMMF toolkit. It translates UML input documents into the export targets specified by the -e option. If -o - is specified the output is generated to STDOUT, otherwise the output is multiplexed into files underneath the directory specified by the -o option, using files2dirs.
If input is UML-1.5, then the internal UML 1.5 meta-model (from UMMF::UML::MetaModel) is used as input.
Input files can be .zargo (ArgoUML and Poseidon for UML 1.x), .zuml (Poseidon for UML 2.x) or XMI 1.0 or 1.2 documents.
USAGE
ummf -e java -e perl -o gen test/test1.xmi
Generates Java and Perl code in directory gen from test/test1.xmi.
ummf -e perl::hibernate -o gen test/test2.zargo
Generates Java Hibernate hbn.xml file in directory gen from test/test2.zargo.
ummf -e XMI -o - UML-1.5
Generates XMI for the UML 1.5 meta-model on the standard output stream.
ummf --perl5lib
Print the PERL5LIB path needed for Perl code generated by UMMF.
ummf -L Some::Package
Loads Some::Package.
ummf -m Some::Package @args ...
Loads Some::Package and executes >.
ummf -I dir/with/perl/modules
Executes use lib dir/with/perl/modules; including modules from the specified directory in the search path.
ummf -M UMMF::Boot::MetaModel
Uses UMMF::Boot::MetaModel for the meta-model, defaults to UMMF::UML_1_5.
ummf -profile MyMagicProfile -e Perl UML-1.5
Applies MyMagicProfile during export of Perl code on the UML 1.5 meta-model. This overides the default lib/ummf/profile/UML-1.5.ummfprofile file.
Download (0.67MB)
Added: 2007-06-07 License: Perl Artistic License Price:
871 downloads
Secleted [ 0 ] software to compare
Copyright Notice:
Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future software development. The above uml diagrams search only lists software in full, demo and trial versions for free download. Download links are directly from our mirror sites or publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed