Supported model / Presentation list

A part of the class structure of Astah API is different from the one of UML metamodel.
Astah API has a simplified structure. Some of abstract model elements in the UML metamodel inheritance structure are eliminated because they would not be instantiated as model elements. See Structure details: All Diagrams in Javadoc

Supported Models

This is a list of Astah models corresponding to UML model.

Class Diagram

Model Class Get Edit Create Method
Class Diagram IClassDiagram createClassDiagram(INamedElement, String)
Package IPackage createPackage(IPackage, String)
Model IModel createModel(IPackage, String)
SubSystem ISubsystem createSubsystem(IPackage, String)
Interface <<Interface>>IClass createInterface(IClass, String),
createInterface(IPackage, String)
Class IClass createClass(IClass,String),
createClass(IPackage, String)
Attribute IAttribute createAttribute(IClass,String,String),
createAttribute(IClass,String,IClass)
Operation IOperation createOperation(IClass,String,String),
createOperation(IClass,String,IClass)
Parameter IParameter createParameter(IOperation,String,String),
createParameter(IOperation,String,IClass)
Association IAssociation createAssociation(IClass,IClass,String,String,String)
Association End IAttribute It will be created with association
Association Class IAssociationClass createAssociationClass(IClass,IClass,String,String,String)
Generalization IGeneralization createGeneralization(IClass,IClass,String)
Realization IRealization createRealization(IClass,IClass,String),
createRealization(IPort,String)
Dependency IDependency createDependency(INamedElement,INamedElement,String)
Usage IUsage createUsage(IClass,IClass,String),
createUsage(IPort,String)
Qualifier IAttribute createQualifier(IAttribute,String,IClass)
Template Parameter IClassifierTemplateParameter createTemplateParameter(IClass,String,String,Object),
createTemplateParameter(IClass,String,IClass,Object)
Template Binding ITemplateBinding createTemplateBinding(IClass,IClass)
Instance Specification IInstanceSpecification Will be automatically created when the presentation is created
Link End ILinkEnd -
Slot ISlot -

UseCase Diagram

Model Class Get Edit Create Method
UseCase Diagram IUseCaseDiagram createUseCaseDiagram(INamedElement,String)
Actor <<actor>> IClass createActor(IPackage,String)
UseCase IUseCase createUseCase(IPackage,String)
Extend IExtend createExtend(IUseCase,IUseCase,String)
ExtensionPoint IExtentionPoint createExtensionPoint(IUseCase,String)
Include IInclude createInclude(IUseCase,IUseCase,String)
TaggedValue ITaggedValue createTaggedValue(IElement,String,String)
Constraint IConstraint createConstraint(INamedElement,String)
Multiplicity IMultiplicityRange setMultiplicity(int[][]),
setMultiplicityStrings(String[][])
Comment IComment Will be automatically created when a presentation is created.

Statemachine Diagram

Model Class Get Edit Create Method
Statemachine Diagram IStatemachineDiagram createStatemachineDiagram(INamedElement,String)
Statemachine IStateMachine It is created at diagram creation
Initial Pseudostate IPseudostate && isInitialPseudostate() Will be automatically created when the presentation is created
State IState Will be automatically created when the presentation is created
Submachine State IState && isSubmachineState() Will be automatically created when the presentation is created
Final State IFinalState Will be automatically created when the presentation is created
Transition ITransition Will be automatically created when the presentation is created
Entry Point IPseudostate && isEntryPointPseudostate() Will be automatically created when the presentation is created
Exit Point IPseudostate && isExitPointPseudostate() Will be automatically created when the presentation is created
Shallow History Pseudostate IPseudostate && isShallowHistoryPseudostate() Will be automatically created when the presentation is created
Deep History Pseudostate IPseudostate && isDeepHistoryPseudostate() Will be automatically created when the presentation is created
Junction Pseudostate IPseudostate && isJunctionPseudostate() Will be automatically created when the presentation is created
Choice Pseudostate IPseudostate && isChoicePseudostate() Will be automatically created when the presentation is created
Fork Pseudostate IPseudostate && isForkPseudostate() Will be automatically created when the presentation is created
Join Pseudostate IPseudostate && isJoinPseudostate() Will be automatically created when the presentation is created
StubState in SubmachineState IPseudostate && isStubState() Will be automatically created when the presentation is created

Activity Diagram

Model Class Get Edit Create Method
Activity Diagram IActivityDiagram && ! isFlowChart() createActivityDiagram(INamedElement,String)
Activity IActivity It is created at diagram creation
Partition IPartition Will be automatically created when the presentation is created
Initial Node IControlNode && isInitialNode() Will be automatically created when the presentation is created
Action IAction Will be automatically created when the presentation is created
Activity Final IControlNode && isFinalNode() Will be automatically created when the presentation is created
Flow Final Node IControlNode && isFlowFinalNode() Will be automatically created when the presentation is created
Control Flow / Object Flow IFlow Will be automatically created when the presentation is created
Decision Node / Merge Node IControlNode && isDecisionMergeNode() Will be automatically created when the presentation is created
Fork Node IControlNode && isForkNode() Will be automatically created when the presentation is created
Join Node IControlNode && isJoinNode() Will be automatically created when the presentation is created
Input Pin IInputPin Will be automatically created when the presentation is created
Output Pin IOutputPin Will be automatically created when the presentation is created
Object Node IObjectNode Will be automatically created when the presentation is created
Activity Parameter Node IActivityParameterNode Will be automatically created when the presentation is created
Send Signal Action <<signal sending>>IAction Will be automatically created when the presentation is created
Accept Event Action <<signal receipt>>IAction Will be automatically created when the presentation is created
Accept Time Event Action <<accept_time_event>>IAction Will be automatically created when the presentation is created
Process <<process>>IAction Will be automatically created when the presentation is created
Connector IControlNode && isConnector() Will be automatically created when the presentation is created

Flowchart

Only Get-API is available with Astah Professional Edition.

Model Class Get Edit Create
Flowchart IActivityDiagram && isFlowChart() × -
Lane IPartition × -
process1 IAction × -
process2 <<flow_process>>IAction × -
Predefined Process <<predefined_process>>IAction × -
Hand Work <<hand_work>>IAction × -
Preparation <<preparation>>IAction × -
Server <<server>>IAction × -
Machine <<machine>>IAction × -
Data <<data>>IAction × -
Stored Data <<stored_data>>IAction × -
Internal Storage <<internal_storage>>IAction × -
Sequential Storage <<sequential_storage>>IAction × -
Disk <<disk>>IAction × -
Database <<database>>IAction × -
Document <<document>>IAction × -
Hand Inputting <<hand_inputting>>IAction × -
Display <<display>>IAction × -
Judgement <<judgement>>IAction × -
Loop Start <<loop_start>>IAction × -
Loop End <<loop_end>>IAction × -
Internal Connector <<internal_connector>>IAction × -
External Connector <<external_connector>>IAction × -
Transition IFlow × -
Initial Node IControlNode && isInitialNode() × -
Final Node IControlNode && isFinalNode() × -
Fork IControlNode && isForkNode() × -
Join IControlNode && isJoinNode() × -

Sequence Diagram

Model Class Get Edit Create Method
Sequence Diagram ISequenceDiagram createSequenceDiagram(INamedElement,String)
Lifeline ILifeline Will be automatically created when the presentation is created
Message IMessage Will be automatically created when the presentation is created
State IState Will be automatically created when the presentation is created
State Invariant IStateInvariant Will be automatically created when the presentation is created
CombinedFragment ICombinedFragment Will be automatically created when the presentation is created
Interaction IInteraction Will be automatically created when the presentation is created
InteractionOperand IInteractionOperand Will be automatically created when the presentation is created
CombinedFragment IInteractionFragment Will be automatically created when the presentation is created
InteractionUse IInteractionUse Will be automatically created when the presentation is created
Gate IGate Will be automatically created when the presentation is created
TimeConstraint ITimeConstraint × -
DurationConstraint IDurationConstraint × -

Communication Diagram

Only Get-API is available.

Model Class Get Edit Create Method
Communication Diagram ICommunicationDiagram × -
Lifeline ILifeline × -
Lifeline Link ILifelineLink × -
Message IMessage × -
InteractionUse IInteraction × -

Timing Diagram

Edit-API is not available.

Model Class Get Edit Create Method
Timing Diagram ITimingDiagram × -
Lifeline ILifeline × -
State Condition IConstraint × -
Timeline IStateInvariant × -
Message IMessage × -
Time Unit IConstraint × -
Time Constraint ITimeConstraint × -
Duration Constraint IDurationConstraint × -

Composite Structure Diagram

Model Class Get Edit Create Method
Composite Structure Diagram ICompositeStructureDiagram createCompositeStructureDiagram(INamedElement,String)
Structured Class IClass Will be automatically created when the presentation is created
Part IAttribute -
Port IPort createPort(IClass,String)
Connector IConnector createConnector(IAttribute,IPort,IAttribute,IPort)

ER Diagram

Edit-API available only for Astah Professional Edition.

Model Class Get Edit Create Method
ER Diagram IERDiagram createERDiagram(IERSchema,String)
Model IERModel createERModel(IModel,String)
Entity IEREntity createEREntity(IERSchema,String,String)
Attribute IERAttribute createERAttribute(IEREntity,String,String,IERDomain),
createERAttribute(IEREntity,String,String,IERDatatype)
Index IERIndex createERIndex(String,IEREntity,boolean,boolean,IERAttribute[])
Data Type IERDatatype createERDatatype(IERModel,String)
Domain IERDomain createERDomain(IERModel,IERDomain,String,String,IERDatatype)
Identifying Relationship IERRelationship && isIdentifying() createIdentifyingRelationship(IEREntity,IEREntity,String,String,IERIndex),
createIdentifyingRelationship(IEREntity,IEREntity,String,String)
Non-identifying Relationship IERRelationship && isNonIdentifying() createNonIdentifyingRelationship(IEREntity,IEREntity,String,String,IERIndex),
createNonIdentifyingRelationship(IEREntity,IEREntity,String,String)
Multi-to-multi Relationship IERRelationship && isMultiToMulti() createMultiToMultiRelationship(IEREntity,IEREntity,String,String)
Schema IERSchema × -
Subtype IERSubtypeRelationship createSubtypeRelationship(IEREntity,IEREntity,String,String)

DFD

Edit-API is not available.

Model Class Get Edit Create Method
DFD IDataFlowDiagram × -
ProcessBox IProcessBox × -
External Entity IExternalEntity × -
Data Store IDataStore × -
Anchor IAnchor × -
Dataflow IDataFlow × -

CRUD

Edit-API is not available.

Model Class Get Edit Create Method
CRUD IMatrixDiagram × -
Header cell IElement × -

Mind Map

There are no models in Mind Maps - they are all the presentations only.

Model Class Get Edit Create Method
Mind Map IMindMapDiagram createMindmapDiagram(INamedElement,String)
Traceability Map ITraceabilityMap × -

Requirement Diagram

Edit-API is available only in Astah Professional.

Model Class Get Edit Create Method
Requirement Diagram IRequirementDiagram createRequirementDiagram(INamedElement,String)
Requirement IRequirement createRequirement(IPackage,String),
createRequirement(IRequirement,String)
TestCase ITestCase createTestCase(IPackage,String),
createTestCase(ITestCase,String)

Requirement Table

Edit-API is not available.

Model Class Get Edit Create Method
Requirement Table IRequirementTable × -

Other

Model Class Get Edit Create Method
Hyperlink IHyperlink createElementHyperlink(IElement,String)

If there is a hyperlink which is a model, the modelID is included in the name.

type=file,name=astah_com.log,path=C:/Documents and Settings,comment= Target is a file
type=url,name=http://www.change-vision.com,path=http://,comment= Target is a web page
type=model,name=9a1411-1112fec29a5-0804d01aa6c5fb9fe2aab956b4ca593a,path=,comment= Target is a astah* model

Presentation list

This is a list of Presentation in Astah. To find out which presentation is editable or not..etc, please refer to the Astah API page.

Common Diagram Elements

Type Model Presentation Type Model:Presentation
Model IModel INodePresentation 1:n
Subsystem ISubsystem INodePresentation 1:n
Package IPackage INodePresentation 1:n
Note IComment INodePresentation 1:1
Frame null INodePresentation -
Text null INodePresentation -
Rectangle null INodePresentation -
Oval null INodePresentation -
Image null INodePresentation -
Nest null ILinkPresentation 1:n
NoteAnchor null ILinkPresentation -
Line null ILinkPresentation -
FreeHand null ILinkPresentation -

Class / Composite Structure Diagram

Type Model Presentation Type Model:Presentation
Class IClass INodePresentation 1:n
Association Class IAssociationClass INodePresentation, ILinkPresentation 1:n
Association IAssociation ILinkPresentation 1:n
Generalization IGeneralization ILinkPresentation 1:n
Realization IRealization ILinkPresentation 1:n
Usage IUsage ILinkPresentation 1:n
Dependency IDependency ILinkPresentation 1:n
Template Binding ITemplateBinding ILinkPresentation 1:n
Instance Specification IInstanceSpecification INodePresentation 1:1
Link ILink ILinkPresentation 1:1
Part IAttribute INodePresentation 1:n
Port IPort INodePresentation 1:n
Connector IConnector ILinkPresentation 1:n

UseCase Diagram

Type Model Presentation Type Model:Presentation
UseCase IUseCase INodePresentation 1:n
Extend IExtend ILinkPresentation 1:n
Include IInclude ILinkPresentation 1:n

Statemachine Diagram

Type Model Presentation Type Model:Presentation
Initial Pseudostate IPseudostate INodePresentation 1:1
State IState INodePresentation 1:1
Final State IFinalState INodePresentation 1:1
Transition ITransition ILinkPresentation 1:1
Shallow History Pseudostate IPseudostate INodePresentation 1:1
Deep History Pseudostate IPseudostate INodePresentation 1:1
Junction Pseudostate IPseudostate INodePresentation 1:1
Choice Pseudostate IPseudostate INodePresentation 1:1
Fork Pseudostate IPseudostate INodePresentation 1:1
Join Pseudostate IPseudostate INodePresentation 1:1
StubState in SubmachineState IPseudostate INodePresentation 1:1
Submachine State IState INodePresentation 1:1

Activity Diagram

Type Model Presentation Type Model:Presentation
Partition IPartition INodePresentation 1:1
InitialNode IControlNode INodePresentation 1:1
Action IAction INodePresentation 1:1
Flow Final Node IAction INodePresentation 1:1
SignalSendingAction IAction INodePresentation 1:1
AcceptEventAction IAction INodePresentation 1:1
AcceptTimeEventAction IAction INodePresentation 1:1
OutputPin IOutputPin INodePresentation 1:1
InputPin IInputPin INodePresentation 1:1
Process IAction INodePresentation 1:1
Connector IAction INodePresentation 1:1
CallBehaviorAction IAction INodePresentation 1:1
ActivityFinal IControlNode INodePresentation 1:1
Control Flow / Object Flow IFlow ILinkPresentation 1:1
Decision Node / Merge Node IControlNode INodePresentation 1:1
ForkNode IControlNode INodePresentation 1:1
JoinNode IControlNode INodePresentation 1:1
Object Node IObjectNode INodePresentation 1:1
Activity Parameter Node IActivityParameterNode INodePresentation 1:1

Sequence Diagram

Type Model Presentation Type Model:Presentation
Lifeline ILifeline INodePresentation 1:1
Execution Specification null INodePresentation 1:1
Message IMessage ILinkPresentation 1:1
Stop ITermination INodePresentation 1:1
InteractionUse IInteractionUse INodePresentation 1:1
CombinedFragment ICombinedFragment INodePresentation 1:1
StateInvariant IStateInvariant INodePresentation 1:1
Time Constraint ITimeConstraint INodePresentation 1:1
Duration Constraint IDurationConstraint INodePresentation 1:1

Communication Diagram

Type Model Presentation Type Model:Presentation
Lifeline ILifeline INodePresentation 1:1
LifelineLink ILifelineLink ILinkPresentation 1:1
Message IMessage INodePresentation 1:1

Timing Diagram

Type Model Presentation Type Model:Presentation
Lifeline ILifeline INodePresentation 1:1
Timeline IStateInvariant INodePresentation 1:1
Message  IMessage ILinkPresentation 1:1
Time Unit IConstraint INodePresentation 1:1
Time Constraint ITimeConstraint ILinkPresentation 1:1
Duration Constraint IDurationConstraint ILinkPresentation 1:1

Flowchart

Type Model Presentation Type Model:Presentation
Lane IPartition INodePresentation 1:1
Process IAction INodePresentation 1:1
Transition IFlow ILinkPresentation 1:1
InitialNode IControlNode INodePresentation 1:1
FinalNode IControlNode INodePresentation 1:1
Fork IControlNode INodePresentation 1:1
Join IControlNode INodePresentation 1:1

DFD

Type Model Presentation Type Model:Presentation
External Entity IExternalEntity INodePresentation 1:n
Process IProcessBox INodePresentation 1:1
Datastore IDataStore INodePresentation 1:n
Anchor IAnchor ILinkPresentation 1:1
DataFlow IDataFlow ILinkPresentation 1:1

Requirement Diagram

Type Model Presentation Type Model:Presentation
Requirement IRequirement INodePresentation 1:n
TestCase ITestCase INodePresentation 1:n
DeriveReqt IDependency ILinkPresentation 1:n
Copy IDependency ILinkPresentation 1:n
Satisfy IDependency ILinkPresentation 1:n
Verify IDependency ILinkPresentation 1:n
Refine IDependency ILinkPresentation 1:n
Trace IDependency ILinkPresentation 1:n

ER Diagram

Type Model Presentation Type Model:Presentation
ER Entity IEREntity INodePresentation 1:n
Identifying Relationship IERRelationship ILinkPresentation 1:n
Non-Identifying Relationship IERRelationship ILinkPresentation 1:n
Many to many relationship IERRelationship ILinkPresentation 1:n
Subtype IERSubtypeRelationship ILinkPresentation 1:n

Mind Map

Type Model Presentation Type Model:Presentation
Topic null INodePresentation -
Edge null ILinkPresentation -
Link between topics null ILinkPresentation -
Boundary null INodePresentation -

CRUD

Type Model Presentation Type Model:Presentation
Value cell null IValueCell -
Header cell IElement IHeaderCell 1:n
Cells in the entire header null IHeaderCell -