Post to UML: Draw in UML from Any Text or Article
Paste any article or load an existing post from suvroghosh.in, select UML diagram
families or let Recommended mode pick the smallest high-signal set, edit the generated
PlantUML code live, and export the article followed by its rendered UML figures and captions.
1. Source Text or Existing Blog Post
2. Diagram Selection & Faithfulness Controls
Structural, Behavioral, and Interaction act as family filters/selectors across the 14 concrete UML types.Shared Terminology (8 core concepts): ClientRegistry · InteroperabilityMediator · Auxiliary Nurse Midwife · ENC-402 · PHC-KOL-19 · PointOfCareApp · FHIR Encounter · SQLite
Why these 3 diagrams were recommended: Class Diagram maps the 8 recurring conceptual entities (ClientRegistry, InteroperabilityMediator, Auxiliary Nurse Midwife) and their structural relationships. Activity Diagram captures the procedural workflow, conditional branches, and causal progression in the prose. Timing Diagram plots the explicit time windows and state transitions mentioned in the text.
Inspect Shared Internal Model & 14-Type Renderer Capability Matrix
Shared Internal Model Entities
- ClientRegistry (
ClientRegistry, «conceptual subject», ¶2) - InteroperabilityMediator (
InteroperabilityMediator, «domain concept», ¶2) - Auxiliary Nurse Midwife (
AuxiliaryNurseMidwife, «domain concept», ¶1) - ENC-402 (
ENC-402, «domain concept», ¶1) - PHC-KOL-19 (
PHC-KOL-19, «domain concept», ¶1) - PointOfCareApp (
PointOfCareApp, «domain concept», ¶1) - FHIR Encounter (
FHIREncounter, «domain concept», ¶1) - SQLite (
SQLite, «domain concept», ¶1)
PlantUML Deterministic Renderer Capability Matrix
| # | Diagram Type | Family | Support | Notation & Verification Notes |
|---|---|---|---|---|
| 1 | Class | Structural | Native | Native PlantUML class notation (`class`, stereotypes, attributes/operations compartments, `--|>`, `*--`, `o--`, `-->`, `..>`). |
| 2 | Object | Structural | Native | Native PlantUML `object "instance : Classifier" as id` notation with underlined instance headers, `slot = value` rows, and instance links. |
| 3 | Package | Structural | Native | Native PlantUML `package "Name" { ... }` tabbed folder notation with member classifiers and dashed dependency arrows (`..>`). |
| 4 | Component | Structural | Native | Native PlantUML `component` (`[Component]`) and `interface` (`() "Interface"`) notation with provided lollipop (`--()`) and required socket (`..>`) links. |
| 5 | Composite Structure | Structural | Composed | Composed PlantUML enclosing `component`/`class` block using `portin`, `portout`, internal `[part : Role [mult]]` declarations, and labeled `«delegation»` / `«assembly»` connectors; rendered with UML 2.5 boundary port squares and internal role boxes. |
| 6 | Deployment | Structural | Native | Native PlantUML `node`, `device`, `database`, `cloud`, and `artifact` notation with 3D node frames and stereotyped communication paths. |
| 7 | Profile | Structural | Composed | Composed PlantUML `package "Name" <<profile>>` containing `class ... <<metaclass>>`, `class ... <<stereotype>>`, extension arrows (`-up-|>` with `<<extension>>`), and constraint `note` blocks; rendered with UML 2.5 filled-triangle metaclass extension arrows. |
| 8 | Use Case | Behavioral | Native | Native PlantUML `actor`, `rectangle "System Boundary"`, `(Use Case)` ovals, actor associations, and `<<include>>` / `<<extend>>` dashed arrows. |
| 9 | Activity | Behavioral | Native | Native PlantUML modern activity syntax (`start`, `:Action;`, `if (...) then (...) else (...) endif`, `fork ... fork again ... end fork`, `stop`, and `partition` swimlanes). |
| 10 | State Machine | Behavioral | Native | Native PlantUML `[*]` initial/final pseudostates, `state "Name" as id : entry / do`, and `StateA --> StateB : trigger [guard] / effect` transitions. |
| 11 | Sequence | Behavioral · Interaction | Native | Native PlantUML `participant`/`actor` lifelines, synchronous (`->`) and reply (`-->`) arrows, activation bars, and `alt`/`loop`/`opt` interaction frames. |
| 12 | Communication | Behavioral · Interaction | Composed | Composed PlantUML participant network (`agent`/`rectangle` nodes with directional link arrows carrying hierarchical sequence numbers `1: ...`, `1.1: ...`, `2: ...`); rendered as a spatial communication network with link lines and directional message callouts. |
| 13 | Interaction Overview | Behavioral · Interaction | Composed | Composed PlantUML activity control skeleton (`start`, `if/else`, `fork`, `stop`) whose action nodes are explicit `ref` / `sd` interaction frames (`partition "ref: InteractionName" { :participants -> messages; }`), rendered with UML `ref` pentagon header tabs. |
| 14 | Timing | Behavioral · Interaction | Native | Native PlantUML timing syntax (`robust "Participant" as P`, `concise "Signal" as S`, `@0`, `@10`, `P is State`, and `{t1..t2}` duration constraints). |
3. Diagram Authoring Workspace (3 evaluated)
Edit PlantUML in the Source tab to update any diagram immediately without another AI call.How a Rural Immunization Record Crosses a National Health Exchange: Conceptual Class Diagram
Maps the core conceptual entities (ClientRegistry, InteroperabilityMediator, Auxiliary Nurse Midwife) and how they relate in the article.
How a Rural Immunization Record Crosses a National Health Exchange: Activity Diagram
Traces the step-by-step procedural flow, conditional branches, and concurrent actions described in the text.
How a Rural Immunization Record Crosses a National Health Exchange: Timing Diagram
Plots state changes for participants along a horizontal time axis with duration bounds.
4. Reader-Facing Article Preview & Blog Export
Strict reader order: Original article text → rendered UML figure → explanatory caption. Editable source stays in the authoring tabs above and is offered as an optional disclosure below.
How a Rural Immunization Record Crosses a National Health Exchange
Point-of-Care Capture at the Rural Clinic
When an Auxiliary Nurse Midwife records a measles-rubella dose on a clinic tablet (instance ENC-402 at facility PHC-KOL-19), the PointOfCareApp writes an encrypted FHIR Encounter bundle into a local SQLite queue. Even when cellular connectivity drops, the local queue preserves the signed payload until network reachability returns.
Mediation and Identity Resolution
Within 5 seconds of reconnection, the ClinicTablet establishes a mutual-TLS channel with the OpenHIMGateway hosted in the NationalExchangeCluster. The InteroperabilityMediator validates the clinic certificate and queries the ClientRegistry using the patient's health identifier (HID-8841-22) to resolve the canonical Master Patient Index record.
Persistence and District Surveillance
If the ClientRegistry confirms a unique demographic match within 12 seconds, the InteroperabilityMediator executes two actions in parallel: it commits the verified encounter to the SharedHealthRecord database and increments the DistrictSurveillanceService coverage counter. Otherwise, if the identity check returns an ambiguous match, the encounter transitions to the Quarantined state for manual reconciliation by a DistrictHealthOfficer within 24 hours.
Architectural & Conceptual UML Diagrams
Figure (Class Diagram): ClientRegistry, InteroperabilityMediator, Auxiliary Nurse Midwife and their structural associations. Modeled as a conceptual UML view of the article’s domain concepts rather than an implemented software codebase.
Inspect or download PlantUML source (.puml)
@startuml
title How a Rural Immunization Record Crosses a National Health Exchange — Conceptual Class Model
class "ClientRegistry" as ClientRegistry <<conceptual subject>> {
+name : "ClientRegistry"
+evaluateClientRegistry()
}
class "InteroperabilityMediator" as InteroperabilityMediator <<domain concept>> {
+name : "InteroperabilityMediator"
validatesClinicCertificateAnd()
}
class "Auxiliary Nurse Midwife" as AuxiliaryNurseMidwife <<domain concept>> {
+name : "Auxiliary Nurse Midwife"
+evaluateAuxiliaryNurse()
}
ClientRegistry ..> InteroperabilityMediator : depends on
InteroperabilityMediator ..> AuxiliaryNurseMidwife : depends on
@endumlFigure (Activity Diagram): Procedural workflow across 3 extracted stages. Modeled as a conceptual UML view of the article’s domain concepts rather than an implemented software codebase.
Inspect or download PlantUML source (.puml)
@startuml
title How a Rural Immunization Record Crosses a National Health Exchange — Activity Workflow
start
if (When an Auxiliary Nurse Midwife reco?) then (yes)
:Proceed validated flow;
else (no)
:Handle exception / fallback;
endif
if (Even when cellular connectivity drop?) then (yes)
:Proceed validated flow;
else (no)
:Handle exception / fallback;
endif
:Within 5 seconds of reconnection, the ClinicTablet est;
stop
@endumlFigure (Timing Diagram): State waveform timeline for ClientRegistry, InteroperabilityMediator. Modeled as a conceptual UML view of the article’s domain concepts rather than an implemented software codebase.
Inspect or download PlantUML source (.puml)
@startuml
title How a Rural Immunization Record Crosses a National Health Exchange — Timing Waveform
robust "ClientRegistry" as ClientRegistry
concise "InteroperabilityMediator" as InteroperabilityMediator
@0
ClientRegistry is Verified
InteroperabilityMediator is Waiting
@10
ClientRegistry is Quarantined
InteroperabilityMediator is Processing
@20
ClientRegistry is Verified
InteroperabilityMediator is Complete
@30
ClientRegistry is Quarantined
InteroperabilityMediator is Waiting
ClientRegistry@0 <-> @30 : {observed window: 5 seconds}
@endumlChecking article narration…
Published · Updated
Prose explains why a system behaves the way it does, but prose is linear: a reader has to hold entities, state transitions, actor boundaries, and chronological handoffs in working memory at the same time. Post to UML bridges that gap inside the Viz studio. You paste the text of a draft—or load any published essay from suvroghosh.in—choose which UML views you want, inspect and edit the generated PlantUML source code, and export the original article followed by its rendered UML figures and captions.
Separating Interpretation, Source Code, and Rendering
Language models are helpful at summarizing relationships, but an opaque picture that cannot be edited or audited is a liability in technical writing. Post to UML enforces a strict five-stage separation:
- Interpret the text into a shared internal model of entities, relationships, actors, lifecycle states, and paragraph-level evidence spans so the same concept carries the same name across every diagram.
- Generate complete, standalone PlantUML source (
@startuml…@enduml) and structured metadata for each requested diagram type. - Validate the PlantUML grammar and security rules, blocking file/remote preprocessor directives (
!include,!includeurl,%getenv) and running a bounded syntax-repair pass if needed. - Render the validated AST deterministically into accessible SVG (with browser PNG rasterization on demand).
- Append the rendered figures and captions after the original article prose for publication.
Coverage Across All 14 Concrete UML 2.5 Diagram Types
Rather than collapsing every explanation into a generic box-and-arrow sketch, the tool preserves the formal distinctions between all fourteen concrete UML diagram types across two top-level families (and the Interaction subfamily):
- Structural diagrams (7): Class, Object (underlined instance snapshots with slot values), Package, Component (with provided lollipop and required socket interfaces), Composite Structure (internal role-bound parts and boundary
portin/portoutsquares), Deployment (3D execution nodes and deployed artifacts), and Profile («metaclass»and«stereotype»metamodel extensions—never a biographical profile). - Behavioral diagrams (3 core + 4 Interaction): Use Case (actors and system boundary), Activity (procedural control flow, decision diamonds, and parallel forks), and State Machine (lifecycle states and
trigger [guard] / effecttransitions), together with Interaction diagrams (4): Sequence (vertical lifelines), Communication (participant link network with hierarchical numbered messages1:,1.1:,2:), Interaction Overview (control flow connectingrefandsdinteraction frames), and Timing (state waveforms along a horizontal clock axis).
Example Published Embed
In a published post, the <UmlFigure /> component renders the saved diagram asset after the article text, pairs it with an explanatory caption, and keeps the .puml source available inside a clean disclosure:
Figure (Class Diagram): The five-stage architecture separating prose extraction, shared terminology modeling, deterministic PlantUML validation/rendering, and static blog figure export.
Inspect or download PlantUML source (.puml)
@startuml
title Post to UML — Five-Stage Pipeline Model
class "ArticleSource" as ArticleSource <<source>> {
+title : String
+paragraphs : ParagraphSpan[1..*]
+segmentProse()
}
class "SharedUmlModel" as SharedUmlModel <<conceptual>> {
+domainKind : UmlDomainKind
+entities : SharedUmlEntity[1..*]
+relationships : SharedUmlRelationship[0..*]
}
class "PlantUmlRenderer" as PlantUmlRenderer <<deterministic>> {
+validateAndRepair()
+renderPlantUmlToSvg()
}
class "UmlFigureEmbed" as UmlFigureEmbed <<export>> {
+svgPublicPath : String
+pumlPublicPath : String
+caption : String
}
ArticleSource "1" --> "1" SharedUmlModel : extracts shared glossary
SharedUmlModel "1" --> "1..14" PlantUmlRenderer : synthesizes .puml
PlantUmlRenderer "1" *-- "1" UmlFigureEmbed : produces verified SVG & caption
@endumlQuick reference and FAQ
Post to UML turns any pasted article or existing blog post into editable PlantUML source code and deterministic SVG diagrams across all 14 concrete UML 2.5 diagram types, then appends the rendered figures and captions after the original article.
Key Terms
- Structural UML diagrams (7): Class, Object, Package, Component, Composite Structure, Deployment, and Profile.
- Behavioral & Interaction UML diagrams (7): Use Case, Activity, State Machine, Sequence, Communication, Interaction Overview, and Timing.
- Conceptual UML model: A domain model that clarifies prose concepts and workflows without pretending to be implemented software code.
- Deterministic PlantUML rendering: Separating text interpretation from validated PlantUML code and deterministic SVG rendering.
Frequently asked questions
Does every article have to produce all 14 UML diagrams?
No. Recommended mode chooses the smallest high-signal set (one to three diagrams). When All 14 mode is selected, unsupported diagram types—such as a Timing diagram when an article gives event order but no durations—honestly report 'Needs more information' or 'Not applicable' instead of inventing facts.
What happens when I edit the PlantUML source code manually?
Manual edits in the Source tab immediately re-validate and re-render the SVG preview in your browser without making another AI request. If an edit introduces a syntax error, your code is preserved and the previous valid preview remains clearly marked.
How are diagrams ordered when exported to a blog post?
The reader-facing preview and exported Markdown always keep the original article text first, followed by the rendered UML figures, their explanatory captions, and an optional disclosure to inspect or download the PlantUML source.
Word Cloud
Related reading
Selected by shared topics and section, with closer publication dates breaking ties.




Comments
Read the conversation or leave a thought for review. Comments load when this section is in view.