Visual Paradigm is excited to announce full support for AI-generated CRC (Class-Responsibility-Collaborator) Card Diagrams in VPasCode, our diagram-as-code platform.

Instant AI Generation in VPasCode
Instead of manually crafting code or laying out cards from scratch, VPasCode now lets you generate complete CRC Card Diagrams using plain-English prompts.
Example Prompt:
“Generate a CRC Card Diagram for a hotel reservation system.”
VPasCode’s AI engine analyzes your domain requirements, identifies core classes, maps out their obligations, and renders a structured layout instantly.

Prompt-Driven Editing: Let AI Handle the Code
Because CRC cards are an informal design tool without a rigid syntax standard, writing or tweaking raw code line-by-line isn’t where the real value lies.
The true power of this release is letting AI handle both the initial creation and subsequent edits. Instead of manually editing text scripts, simply instruct the AI inside VPasCode to update the model for you:
-
“Split the Reservation class into two smaller components.”
-
“Extract payment processing into a dedicated PaymentGateway service.”
-
“Reassign room availability checks to RoomManager.”
The AI updates the underlying structure and re-renders the diagram in seconds—allowing you to iterate on system boundaries at the speed of thought.

Example:
@startuml
skinparam {
vpDiagramType CRCCardDiagram
}
skinparam defaultFontSize 14
skinparam defaultFontColor #333333
title Hotel Reservation System - CRC Cards
map "Reservation" as Reservation {
Responsibilities => Collaborators
Create and hold a booking => Guest\nRoom\nDateRange
Track check-in and check-out dates => DateRange
Track reservation status => ReservationStatus
Calculate total price => RatePlan\nPayment
Confirm or cancel booking => ReservationManager\nNotificationService
}
map "Guest" as Guest {
Responsibilities => Collaborators
Store personal and contact details => -
Provide identity for booking => Reservation
View and manage own reservations => ReservationManager
Provide payment information => Payment
}
map "Room" as Room {
Responsibilities => Collaborators
Represent room number and type => RoomType
Hold availability for a period => DateRange\nRoomAvailability
Know physical attributes and capacity => RoomType
}
map "RoomType" as RoomType {
Responsibilities => Collaborators
Define category and amenities => -
Set nightly base price => RatePlan
Define maximum occupancy => Room
}
map "DateRange" as DateRange {
Responsibilities => Collaborators
Represent check-in and check-out => -
Detect overlap with other ranges => Reservation
Compute number of nights => Reservation
}
map "RoomAvailability" as RoomAvailability {
Responsibilities => Collaborators
Track free and booked periods => Room\nDateRange
Check room availability for range => Reservation
Reserve and release a room => ReservationManager
}
map "ReservationManager" as ReservationManager {
Responsibilities => Collaborators
Coordinate reservation lifecycle => Reservation
Search available rooms => RoomAvailability\nRoom
Apply rate rules to a booking => RatePlan
Trigger booking notifications => NotificationService
}
map "RatePlan" as RatePlan {
Responsibilities => Collaborators
Define pricing rules and discounts => RoomType
Compute price for a date range => DateRange\nReservation
Apply seasonal adjustments => -
}
map "Payment" as Payment {
Responsibilities => Collaborators
Process charges and refunds => PaymentGateway
Record payment status => Reservation
Store amount and method => -
}
map "PaymentGateway" as PaymentGateway {
Responsibilities => Collaborators
Authorize card transactions => Payment
Return transaction results => Payment\nNotificationService
}
map "NotificationService" as NotificationService {
Responsibilities => Collaborators
Send confirmation emails => Guest\nReservation
Send cancellation notices => Guest\nReservation
Format message content => Guest
}
map "ReservationStatus" as ReservationStatus {
Responsibilities => Collaborators
Represent booking states => Reservation
Validate state transitions => ReservationManager
}
Reservation -[hidden]right-> Guest
Guest -[hidden]right-> Room
Room -[hidden]right-> RoomType
Reservation -[hidden]down-> DateRange
Guest -[hidden]down-> RoomAvailability
Room -[hidden]down-> ReservationManager
RoomType -[hidden]down-> RatePlan
DateRange -[hidden]right-> RoomAvailability
RoomAvailability -[hidden]right-> ReservationManager
ReservationManager -[hidden]right-> RatePlan
DateRange -[hidden]down-> Payment
RoomAvailability -[hidden]down-> PaymentGateway
ReservationManager -[hidden]down-> NotificationService
RatePlan -[hidden]down-> ReservationStatus
Payment -[hidden]right-> PaymentGateway
PaymentGateway -[hidden]right-> NotificationService
NotificationService -[hidden]right-> ReservationStatus
@enduml 
Seamless Workflow & Documentation Integration
Because VPasCode runs on lightweight text scripts, your AI-generated CRC models fit directly into your software engineering pipeline:
-
OpenDocs: Embed rendered diagrams straight into technical specifications and live documentation.
-
NotesKeep: Preserve AI design rationales, code blocks, and decisions as reference notes.
-
Export Options: Download high-resolution PNG or SVG assets for technical reviews and presentations.
👉 Learn more about the AI CRC Card Diagram Generator
Visual Paradigm’s Extension of PlantUML Syntax
Standard PlantUML does not natively support CRC Card Diagrams (or UML Communication Diagrams).
To overcome this, Visual Paradigm introduced the use of PlantUML map structures specifically for CRC Cards, extending the language to support side-by-side responsibility and collaborator mappings. This gives you the speed, portability, and version-control benefits of diagram-as-code for diagram types that standard PlantUML couldn’t previously render.
Experience AI CRC Diagramming in VPasCode
Open VPasCode today, enter your domain prompt, and let AI build and refine your CRC Card Diagrams instantly.












