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 -