This document provides a comprehensive reference of the internal tools and API capabilities available to the AI Chat Copilot within Astah Professional and Astah UML version 11.


1. Project Management

Tools for creating, opening, closing, saving, and loading Astah project files.

  • createProject – Create a new Astah project.
  • openProject – Open an existing Astah project from a specified file path.
  • closeProject – Close the currently open Astah project.
  • hasProject – Check if an Astah project is actively open.
  • saveProject – Save the currently open Astah project.
  • saveAsProject – Save the currently open Astah project to a new file path.
  • loadFile – Load a file or directory (handles text, binary, and image formats).

2. Query Tools – Project Level

Tools used to search, extract, and retrieve model element IDs across the entire project scope.

  • getModelIdsInProject – Returns all UML model IDs within the active project.
  • getClassIdsInProject – Returns all UML Class element IDs across the entire project (excludes derived models like ER Entities).
  • getEREntityIdsInProject – Returns all ER Entity element IDs defined in the project.
  • getDiagramIdsInProject – Returns all Diagram IDs generated across the entire project.

3. Query Tools – Diagram Level

Tools designed to query information and graphical objects from the currently active canvas.

  • getCurrentDiagram – Returns the currently active diagram in Astah as a UMLDiagramDto (returns null if no diagram is open).
  • openDiagram – Open a diagram by its diagram model. Note: Newly created diagrams must be explicitly opened using this tool.
  • getModelIdsInCurrentDiagram – Returns a set of UML model IDs contained in the active diagram (includes semantic elements such as classes, packages, and relationships).
  • getPresentationModelIdsInCurrentDiagram – Returns a set of presentation model IDs (graphical visual objects) currently displayed on the active canvas.
  • getPresentationModelsInCurrentDiagram – Returns all presentation models (graphical visual objects) in the current diagram.
  • getSelectedModelsInDiagram – Returns the semantic UML model elements currently selected by the user.
  • getSelectedPresentationModelsInDiagram – Returns the graphical presentation objects currently selected on the canvas.

4. Query Tools – Model Details

Tools to fetch deep structural properties and definitions of specific model elements.

  • getModelByIdOrQualifiedName – Retrieves a UML model element either by its unique ID or its fully qualified name, returning its DTO representation.
  • getModelByPresentationId – Returns the semantic UML model element that corresponds to a specified presentation (graphical) ID.
  • getPresentationByModelId – Returns a list of presentation objects (graphical representations) linked to a specific UML model ID.
  • getPrimitiveTypes – Retrieve a list of available primitive data types.

5. Basic Settings

Tools for modifying the foundational properties, naming conventions, and namespaces of models.

  • setModelName – Set or update the model name.
  • setModelDefinition – Set or update the model’s text definition/documentation.
  • changeModelParent – Change the namespace or parent container of a model element.
  • removeModel – Delete a model element from the project.
  • createNoteForPresentation – Create a text note and attach it visually to a specific presentation model.

6. Presentation Settings

Tools for generating visual nodes and managing layouts, coordinates, and styling on the diagram canvas.

Layout & Appearance

  • setPresentationLocation – Set the X/Y coordinates and positioning of a visual element.
  • setPresentationColor – Apply color styles to a visual presentation element.
  • setLinePoints – Set specific routing coordinates for relationship lines.
  • setLineShape – Modify the line shape (e.g., straight, orthogonal).

7. Class Diagram

Tools dedicated to building, structuring, and inspecting UML Class Diagrams.

Diagram & Classes

  • getOrCreateClassDiagram – Fetch or instantiate a class diagram.
  • getOrCreateClassInDiagram – Fetch or instantiate a UML Class element on the canvas.
  • getOrCreateInterfaceInDiagram – Fetch or instantiate a UML Interface on the canvas.
  • getOrCreateEnumerationInDiagram – Fetch or instantiate a UML Enumeration element.
  • getOrCreateEnumerationLiteral – Generate a literal value inside a specific enumeration.
  • getClassIdsInCurrentDiagram – Returns the IDs of all UML Classes appearing in the active diagram (excludes derived models like ER Entities).
  • getAttributes – Returns all attributes (fields) owned by a specified UML class, excluding attributes that function as part of associations.
  • getOperations – Returns all operations (methods) defined within a specified UML class.
  • getAssociations – Returns all UML associations connected to the specified class.
  • getSuperClasses – Returns all superclasses (generalized heritages) of a target UML class.
  • getSubClasses – Returns all subclasses (specialized extensions) of a target UML class.

Attributes

  • getOrCreateAttribute – Create an attribute within a class.
  • setAttributeType – Define the data type of a specified UML attribute.
  • setAttributeVisibility – Set the visibility modifier (public, private, protected, package) of an attribute.
  • setAttributeStatic – Toggle whether a specified UML attribute is static.

Operations

  • getOrCreateOperation – Create a new operation within a class.
  • setOperationType – Set the return type of a specified UML operation.
  • setOperationVisibility – Set the visibility modifier of a specified UML operation.
  • setOperationStatic – Toggle whether a specified UML operation is static.
  • setOperationAbstract – Toggle whether a specified UML operation is abstract.
  • addOperationParameters – Append input parameters to a target operation.
  • removeOperationParameters – Remove parameters from an operation.

Relationships

  • getOrCreateAssociation – Establish an association relationship between two classes.
  • setAssociationProperties – Configure association navigability, multiplicity bounds, and aggregation types.
  • getOrCreateDependency – Establish a dependency relationship.
  • getOrCreateGeneralization – Establish a generalization (inheritance) relationship.
  • getOrCreateRealization – Establish a realization (implementation) relationship.

8. Sequence Diagram

Tools dedicated to modeling timelines, life cycles, and message routing in Sequence Diagrams.

Diagram & Lifelines

  • getOrCreateSequenceDiagram – Fetch or instantiate a sequence diagram.
  • getOrCreateSequenceDiagramOfUseCase – Automatically generate or fetch a sequence diagram mapped to a specific Use Case.
  • getOrCreateLifeline – Create a new lifeline timeline.
  • setLifelineType – Set or assign the base classifier/class to a lifeline.

Messages

  • createMessage – Send a message between lifelines.
  • setMessageType – Define the structural type of a message (e.g., synchronous, asynchronous, reply).
  • setMessageGuard – Assign a logical guard condition to a message flow.
  • setMessageOperation – Map an explicit class operation/method to a sequence message.
  • setMessageReturnValue – Assign an explicit return value expression to a reply message.

Other Elements

  • createTermination – Place a life-termination marker (destruction cross) at the end of a lifeline.

9. State Machine Diagram

Tools dedicated to constructing operational states, behaviors, and behavioral transitions.

Diagram & State Machine

  • getOrCreateStateMachineDiagram – Fetch or instantiate a state machine diagram.
  • getOrCreateStateMachine – Create a core state machine engine container.
  • getStateMachineName – Fetch the fully qualified name of the active state machine context.

States & Regions

  • getOrCreateState – Create a new UML state (childState) inside a designated parentState container or region.
  • getOrCreateRegion – Define an orthogonal or concurrent region inside a composite state.
  • getOrCreateInitialState – Create an initial pseudostate node.
  • getOrCreateFinalState – Create a final state node.
  • getOrCreateSubmachineState – Instantiate a submachine state referencing an external state machine.

Pseudostates

  • getOrCreateForkPseudostate – Create a fork node to split execution paths.
  • getOrCreateJoinPseudostate – Create a join node to synchronize concurrent paths.
  • getOrCreateChoicePseudostate – Create a dynamic choice pseudostate evaluation point.
  • getOrCreateJunctionPseudostate – Create a static junction merge/branch point.
  • getOrCreateShallowHistoryPseudostate – Create a shallow history state anchor.
  • getOrCreateDeepHistoryPseudostate – Create a deep history state anchor.

Transitions

  • getOrCreateTransition – Establish a directed state transition path between two states or pseudostates.

10. Activity Diagram

Tools dedicated to modeling procedural logic, operational flows, and token control systems.

Diagram & Partitions

  • getOrCreateActivityDiagram – Fetch or instantiate an activity diagram.
  • getOrCreateActivityDiagramForUsecase – Automatically generate or fetch an activity diagram mapped to a specific Use Case.
  • getOrCreatePartition – Establish an organizational swimlane/partition within the diagram.

Actions & Nodes

  • createInitialAction – Place an initial starting node.
  • createFinalAction – Place an activity final node.
  • createAction – Instantiate a processing action block.
  • createObjectNode – Instantiate an object node to signify data presence in a flow.
  • createForkNode – Create a concurrent flow split node.
  • createJoinNode – Create a concurrent flow synchronization node.
  • createDecisionMergeNode – Create a conditional routing decision/merge point.

Flows

  • createControlFlow – Connect execution steps using a control flow line.
  • setControlFlowGuard – Apply a logical guard condition to a control flow path.
  • createObjectFlow – Connect data transformations using an object flow line.

11. Use Case Diagram

Tools tailored for capturing high-level requirements and external system boundaries.

Diagram & Elements

  • getOrCreateUsecaseDiagram – Fetch or instantiate a use case diagram.
  • getOrCreateUsecase – Create a distinct Use Case element.
  • getOrCreateActor – Create an Actor element representing external interactions.

Relationships

  • getOrCreateUsecaseAssociation – Connect an actor to a target Use Case.
  • getOrCreateIncludeRelationship – Establish a standard «include» dependency between two Use Cases.
  • getOrCreateExtendRelationship – Establish a conditional «extend» dependency between Use Cases.

12. ER Diagram

Tools specialized in physical data modeling and database structure design.

Diagram & Entities

  • getOrCreateERDiagram – Fetch or instantiate an Entity-Relationship (ER) diagram.
  • getOrCreateEREntityInERDiagram – Create a relational table/entity on the ER canvas.
  • setEREntityType – Define the domain classification/type of an ER entity.
  • getEREntityIdsInCurrentDiagram – Returns all ER Entity IDs currently displayed on the active canvas.
  • getDatatypes – Fetch all supported SQL/database relational datatypes.

Attributes & Indexes

  • getOrCreateERAttribute – Append a column/attribute to an ER entity.
  • getOrCreateERIndex – Generate a unique or non-unique index key layout on an entity.
  • setERIndex – Map an explicit index constraints configuration to an ER relationship path.

Relationships

  • getOrCreateERRelationship – Form an identifying or non-identifying foreign key link between entities.
  • getOrCreateERSubtypeRelationship – Create a generalization subtype relationship tree between entities.
  • setRelationshipCardinarity – Adjust relationship cardinality notation scales.
  • setParentRequiredRelationship – Toggle whether a parent entity entry is mandatory or optional for a valid relationship connection.

13. PlantUML Conversion

Tools offering bi-directional bridging pipelines between text-based code markup and Astah visual environments.

  • convertPlantUMLToAstah – Programmatically parses input PlantUML raw text string descriptions and reconstructs a matching visual diagram layout directly in the Astah model structure.
  • convertAstahDiagramToPlantUML – Evaluates a target native Astah visual diagram and translates its metadata components into clean, standardized PlantUML text scripts.