001// license-header java merge-point
002//
003// Attention: generated code (by Metafacade.vsl) - do not modify!
004//
005package org.andromda.metafacades.uml;
006
007import java.util.Collection;
008
009/**
010 * State machines can be used to express the behavior of part of a system. Behavior is modeled as a
011 * traversal of a graph of state nodes interconnected by one or more joined transition arcs that are
012 * triggered by the dispatching of series of (event) occurrences. During this traversal, the state
013 * machine executes a series of activities associated with various elements of the state machine.
014 *
015 * Metafacade interface to be used by AndroMDA cartridges.
016 */
017public interface ActivityGraphFacade
018    extends StateMachineFacade
019{
020    /**
021     * Indicates the metafacade type (used for metafacade mappings).
022     *
023     * @return boolean always <code>true</code>
024     */
025    public boolean isActivityGraphFacadeMetaType();
026
027    /**
028     * The set of action states contained in this activity graph.
029     * @return Collection<ActionStateFacade>
030     */
031    public Collection<ActionStateFacade> getActionStates();
032
033    /**
034     * The set of object flow states contained in this activity graph.
035     * @return Collection<ObjectFlowStateFacade>
036     */
037    public Collection<ObjectFlowStateFacade> getObjectFlowStates();
038
039    /**
040     * The set of partitions contained in this activity graph. Partitions are also known as
041     * swimlanes in UML.
042     * @return Collection<PartitionFacade>
043     */
044    public Collection<PartitionFacade> getPartitions();
045
046    /**
047     * The use-case owning this activity graph.
048     * @return UseCaseFacade
049     */
050    public UseCaseFacade getUseCase();
051}