SalesforcePlantUML is a native Force.com application that renders UML diagrams from your orgs metadata. Currently it supports ERD diagrams from your SObjects. The diagrams are rendered by an external declarative UML service / library called PlantUML.
PlantUML is a free and open source UML tool for drawing UML diagrams from a simple and human readable text description. It ca be used as a stand-alone application or can be used from many different IDEs.[1] Dependencies for PlantUML are a Java virtual machine and an installation of Graphviz. To create the UML diagrams, PlantUML has a meta-language defined that allows the diagram creator to describe the UML as a series of text statements which the graphics engine translates into standard UML notation. The graphics engine is written in Java and is distributed in both JAR and source code form. [2]
<img alt="Deploy to Salesforce" src="https://raw.githubusercontent.com/afawcett/githubsfdeploy/master/deploy.png">
This page render a UML class diagram that show standard and custom SObjects, their fields for a given permission set and related metadata (e.g. pages and triggers)
and for SObjects including field permissions and related metadata (pages, trigger,...)
This app makes use of third-party components also hosted on GitHub: