# astah* API User Guide

## [Supported Models]

Supported models are as follows:

- astah* community : Reference only
- astah* UML and professional : Reference, Create, Modify

#### [Class Diagram and Usecase Diagram]

Model | Class | Reference | Create/Modify
--- | --- | --- | ---
Class Diagram | IClassDiagram | Yes | Yes
Package | IPackage | Yes | Yes
Model | IModel | Yes | Yes
Subsystem | ISubsystem | Yes | Yes
Class | IClass | Yes | Yes
Interface | IClass | Yes | Yes
Attribute | IAttribute | Yes | Yes
Operation | IOperation | Yes | Yes
Parameter | IParameter | Yes | Yes
Association | IAssociation | Yes | Yes
AssociationClass | IAssociationClass | Yes | Yes
Generalization | IGeneralization | Yes | Yes
Realization | IRealization | Yes | Yes
Dependency | IDependency | Yes | Yes
Usage | IUsage | Yes | Yes
Qualifier | IAttribute | Yes | Yes
Template Parameter | IClassifierTemplateParameter | Yes | Yes
Template Binding | ITemplateBinding | Yes | Yes
Usecase Diagram | IUseCaseDiagram | Yes | Yes
Actor | IClass | Yes | Yes
Usecase | IUseCase | Yes | Yes
Extend | IExtend | Yes | Yes
ExtentionPoint | IExtentionPoint | Yes | Yes
Include | IInclude | Yes | Yes
TaggedValue | ITaggedValue | Yes | Yes
Constraint | IConstraint | Yes | Yes
Multiplicity | IMultiplicityRange | Yes | Yes
Comment | IComment | Yes | Yes

#### [Statemachine Diagram]

Model | Class | Reference | Create/Modify
--- | --- | --- | ---
Statemachine Diagram | IStatemachineDiagram | Yes | Yes
Statemachine | IStateMachine | Yes | Yes
Transition | ITransition | Yes | Yes
State | IState | Yes | Yes
Pseudostate | IPseudostate | Yes | Yes

#### [Activity Diagram and Flow Chart]

Model | Class | Reference | Create/Modify
--- | --- | --- | ---
Activity Diagram | IActivityDiagram - isFlowChart()==false | Yes | No
Partition | IPartition | Yes | No
Action | IAction | Yes | No
Output Pin | IOutputPin | Yes | No
Input Pin | IInputPin | Yes | No
Activity | IActivity | Yes | No
Activity Node | IActivityNode | Yes | No
ControlNode | IControlNode | Yes | No
ObjectNode | IObjectNode | Yes | No
Flow | IFlow | Yes | No
Flowchart | IActivityDiagram - isFlowChart()==true | Yes | No
Elements in Flow Chart | IActivityNode | Yes | No

#### [Sequence Diagram]

Model | Class | Reference | Create/Modify
--- | --- | --- | ---
Sequence Diagram | ISequenceDiagram | Yes | No
Lifeline | ILifeline | Yes | No
Message | IMessage | Yes | No
State | IState | Yes | No
State Invariant | IStateInvariant | Yes | No
CombinedFragment | ICombinedFragment | Yes | No
Interaction | IInteraction | Yes | No
InteractionOperand | IInteractionOperand | Yes | No
InteractionFragment | IInteractionFragment | Yes | No
InterfactionUse | IInteractionUse | Yes | No
Gate | IGate | Yes | No

#### [Communication Diagram]

Model | Class | Reference | Create/Modify
--- | --- | --- | ---
Communiication Diagram | ICommunicationDiagram | Yes | No
Lifeline | ILifeline | Yes | No
LifelineLink | ILifelineLink | Yes | No
Message | IMessage | Yes | No
Interaction | IInteraction | Yes | No

#### [Composite Structure Diagram]

Model | Class | Reference | Create/Modify
--- | --- | --- | ---
Composite Structure Diagram | ICompositeStructureDiagram | Yes | Yes
Structured Class | IClass | Yes | Yes
Part | IAttribute | Yes | Yes
Port | IPort | Yes | Yes
Connector | IConnector | Yes | Yes

#### [ER Diagram]

Model | Class | Reference | Create/Modify
--- | --- | --- | ---
ER Diagram | IERDiagram | Yes | Yes(*)
ER Model | IERModel | Yes | Yes(*)
ER Entity | IEREntity | Yes | Yes(*)
ER Attribute | IERAttribute | Yes | Yes(*)
ER Datatype | IERDatatype | Yes | Yes(*)
ER Domain | IERDomain | Yes | Yes(*)
ER Relationship | IERRelationship | Yes | Yes(*)
ER Schema | IERSchema | Yes | No
ER SubtypeRelationship | IERSubtypeRelationship | Yes | Yes(*)

(*)astah* professional only.

#### [DFD]

Model | Class | Reference | Create/Modify
--- | --- | --- | ---
DFD Diagram | IDataFlowDiagram | Yes | No
ProcessBox | IProcessBox | Yes | No
ExternalEntity | IExternalEntity | Yes | No
DataStore | IDataStore | Yes | No
Anchor | IDataStore | Yes | No
DataFlow | IDataFlow | Yes | No

#### [CRUD]

Model | Class | Reference | Create/Modify
--- | --- | --- | ---
CRUD diagram | IMatrixDiagram | Yes | No
Header Cell | IHeaderCell | Yes | No
Value | IValueCell | Yes | No

#### [Mind Map]

Model | Class | Reference | Create/Modify
--- | --- | --- | ---
Mind Map | IMindMapDiagram | Yes | Yes

#### [Requirement Diagram]

Model | Class | Reference | Create/Modify
--- | --- | --- | ---
Requirement Diagram | IRequirementDiagram | Yes | Yes(*)
Requirement | IRequirement | Yes | Yes(*)
TestCase | ITestCase | Yes | Yes(*)

(*)astah* professional only.

#### [Requirement Table]

Model | Class | Reference | Create/Modify
--- | --- | --- | ---
Requirement Table | IRequirementTable | Yes | No

#### [Traceability Map]

Model | Class | Reference | Create/Modify
--- | --- | --- | ---
Traceability Map | ITraceabilityMap | Yes | No

*Stereotypes are handled as strings.

#### [Restrictions]

- Models that are not included on the list are not supported.

Home