Mehr States im xmi parser beruecksichtigt.
git-svn-id: https://projects.brucker.ch/su4sml/svn/infsec-import/trunk/src/su4sml@3044 3260e6d1-4efc-4170-b0a7-36055960796d
This commit is contained in:
parent
76390fcbee
commit
552f62e765
|
@ -0,0 +1,239 @@
|
|||
<?xml version = '1.0' encoding = 'UTF-8' ?>
|
||||
<XMI xmi.version = '1.2' xmlns:UML = 'org.omg.xmi.namespace.UML' xmlns:UML2 = 'org.omg.xmi.namespace.UML2'
|
||||
timestamp = 'Wed Sep 07 14:35:37 MEST 2005'>
|
||||
<XMI.header>
|
||||
<XMI.documentation>
|
||||
<XMI.exporter>Netbeans XMI Writer</XMI.exporter>
|
||||
<XMI.exporterVersion>1.0</XMI.exporterVersion>
|
||||
</XMI.documentation>
|
||||
</XMI.header>
|
||||
<XMI.content>
|
||||
<UML:Model xmi.id = 'I6fb16dm10626316d7cmm7f55' name = 'model 1' isSpecification = 'false'
|
||||
isRoot = 'false' isLeaf = 'false' isAbstract = 'false'>
|
||||
<UML:Namespace.ownedElement>
|
||||
<UML:UseCase xmi.id = 'I6fb16dm10626316d7cmm7f51' name = 'Use_Case_1' isSpecification = 'false'
|
||||
isRoot = 'false' isLeaf = 'false' isAbstract = 'false'/>
|
||||
</UML:Namespace.ownedElement>
|
||||
</UML:Model>
|
||||
<UML:ActivityGraph xmi.id = 'I6fb16dm10626316d7cmm7f50' isSpecification = 'false'>
|
||||
<UML:StateMachine.context>
|
||||
<UML:UseCase xmi.idref = 'I6fb16dm10626316d7cmm7f51'/>
|
||||
</UML:StateMachine.context>
|
||||
<UML:StateMachine.top>
|
||||
<UML:CompositeState xmi.id = 'I6fb16dm10626316d7cmm7f4f' name = '' isSpecification = 'false'
|
||||
isConcurrent = 'false'>
|
||||
<UML:CompositeState.subvertex>
|
||||
<UML:ActionState xmi.id = 'I6fb16dm10626316d7cmm7f4a' name = 'S1' visibility = 'public'
|
||||
isSpecification = 'false' isDynamic = 'false'>
|
||||
<UML:StateVertex.outgoing>
|
||||
<UML:Transition xmi.idref = 'I6fb16dm10626316d7cmm7ece'/>
|
||||
</UML:StateVertex.outgoing>
|
||||
<UML:State.entry>
|
||||
<UML:CallAction xmi.id = 'I6fb16dm10626316d7cmm7f49' name = '' isSpecification = 'false'
|
||||
isAsynchronous = 'false'>
|
||||
<UML:Action.script>
|
||||
<UML:ActionExpression xmi.id = 'I6fb16dm10626316d7cmm7f4b' language = 'java'
|
||||
body = 'Murks'/>
|
||||
</UML:Action.script>
|
||||
</UML:CallAction>
|
||||
</UML:State.entry>
|
||||
</UML:ActionState>
|
||||
<UML:Pseudostate xmi.id = 'I6fb16dm10626316d7cmm7f42' name = 'Forker' visibility = 'public'
|
||||
isSpecification = 'false' kind = 'fork'>
|
||||
<UML:StateVertex.outgoing>
|
||||
<UML:Transition xmi.idref = 'I6fb16dm10626316d7cmm7f21'/>
|
||||
<UML:Transition xmi.idref = 'I6fb16dm10626316d7cmm7efc'/>
|
||||
</UML:StateVertex.outgoing>
|
||||
<UML:StateVertex.incoming>
|
||||
<UML:Transition xmi.idref = 'I6fb16dm10626316d7cmm7f3d'/>
|
||||
<UML:Transition xmi.idref = 'I6fb16dm10626316d7cmm7ece'/>
|
||||
</UML:StateVertex.incoming>
|
||||
</UML:Pseudostate>
|
||||
<UML:ActionState xmi.id = 'I6fb16dm10626316d7cmm7f29' name = '' visibility = 'public'
|
||||
isSpecification = 'false' isDynamic = 'false'>
|
||||
<UML:StateVertex.outgoing>
|
||||
<UML:Transition xmi.idref = 'I6fb16dm10626316d7cmm7e9a'/>
|
||||
</UML:StateVertex.outgoing>
|
||||
<UML:StateVertex.incoming>
|
||||
<UML:Transition xmi.idref = 'I6fb16dm10626316d7cmm7f21'/>
|
||||
</UML:StateVertex.incoming>
|
||||
<UML:State.entry>
|
||||
<UML:CallAction xmi.id = 'I6fb16dm10626316d7cmm7f28' name = '' isSpecification = 'false'
|
||||
isAsynchronous = 'false'>
|
||||
<UML:Action.script>
|
||||
<UML:ActionExpression xmi.id = 'I6fb16dm10626316d7cmm7f2a' language = 'java'
|
||||
body = 'M2'/>
|
||||
</UML:Action.script>
|
||||
</UML:CallAction>
|
||||
</UML:State.entry>
|
||||
</UML:ActionState>
|
||||
<UML:ActionState xmi.id = 'I6fb16dm10626316d7cmm7f0d' name = '' visibility = 'public'
|
||||
isSpecification = 'false' isDynamic = 'false'>
|
||||
<UML:State.entry>
|
||||
<UML:CallAction xmi.id = 'I6fb16dm10626316d7cmm7f0c' name = '' isSpecification = 'false'
|
||||
isAsynchronous = 'false'>
|
||||
<UML:Action.script>
|
||||
<UML:ActionExpression xmi.id = 'I6fb16dm10626316d7cmm7f0e' language = 'java'
|
||||
body = 'M3'/>
|
||||
</UML:Action.script>
|
||||
</UML:CallAction>
|
||||
</UML:State.entry>
|
||||
</UML:ActionState>
|
||||
<UML:ActionState xmi.id = 'I6fb16dm10626316d7cmm7f04' name = '' visibility = 'public'
|
||||
isSpecification = 'false' isDynamic = 'false'>
|
||||
<UML:StateVertex.incoming>
|
||||
<UML:Transition xmi.idref = 'I6fb16dm10626316d7cmm7e74'/>
|
||||
</UML:StateVertex.incoming>
|
||||
<UML:State.entry>
|
||||
<UML:CallAction xmi.id = 'I6fb16dm10626316d7cmm7f03' name = '' isSpecification = 'false'
|
||||
isAsynchronous = 'false'>
|
||||
<UML:Action.script>
|
||||
<UML:ActionExpression xmi.id = 'I6fb16dm10626316d7cmm7f05' language = 'java'
|
||||
body = 'Doit'/>
|
||||
</UML:Action.script>
|
||||
</UML:CallAction>
|
||||
</UML:State.entry>
|
||||
</UML:ActionState>
|
||||
<UML:ActionState xmi.id = 'I6fb16dm10626316d7cmm7ee8' name = '' visibility = 'public'
|
||||
isSpecification = 'false' isDynamic = 'false'>
|
||||
<UML:State.entry>
|
||||
<UML:CallAction xmi.id = 'I6fb16dm10626316d7cmm7ee7' name = '' isSpecification = 'false'
|
||||
isAsynchronous = 'false'>
|
||||
<UML:Action.script>
|
||||
<UML:ActionExpression xmi.id = 'I6fb16dm10626316d7cmm7ee9' language = 'java'
|
||||
body = 'Action_State_5'/>
|
||||
</UML:Action.script>
|
||||
</UML:CallAction>
|
||||
</UML:State.entry>
|
||||
</UML:ActionState>
|
||||
<UML:ActionState xmi.id = 'I6fb16dm10626316d7cmm7edf' name = '' visibility = 'public'
|
||||
isSpecification = 'false' isDynamic = 'false'>
|
||||
<UML:StateVertex.outgoing>
|
||||
<UML:Transition xmi.idref = 'I6fb16dm10626316d7cmm7e87'/>
|
||||
</UML:StateVertex.outgoing>
|
||||
<UML:StateVertex.incoming>
|
||||
<UML:Transition xmi.idref = 'I6fb16dm10626316d7cmm7efc'/>
|
||||
</UML:StateVertex.incoming>
|
||||
<UML:State.entry>
|
||||
<UML:CallAction xmi.id = 'I6fb16dm10626316d7cmm7ede' name = 'Hallo' isSpecification = 'false'
|
||||
isAsynchronous = 'false'>
|
||||
<UML:Action.script>
|
||||
<UML:ActionExpression xmi.id = 'I6fb16dm10626316d7cmm7ee0' language = 'java'
|
||||
body = 'Moagstme'/>
|
||||
</UML:Action.script>
|
||||
</UML:CallAction>
|
||||
</UML:State.entry>
|
||||
</UML:ActionState>
|
||||
<UML:ActionState xmi.id = 'I6fb16dm10626316d7cmm7ed6' name = '' visibility = 'public'
|
||||
isSpecification = 'false' isDynamic = 'false'>
|
||||
<UML:StateVertex.outgoing>
|
||||
<UML:Transition xmi.idref = 'I6fb16dm10626316d7cmm7f3d'/>
|
||||
</UML:StateVertex.outgoing>
|
||||
<UML:State.entry>
|
||||
<UML:CallAction xmi.id = 'I6fb16dm10626316d7cmm7ed5' name = '' isSpecification = 'false'
|
||||
isAsynchronous = 'false'>
|
||||
<UML:Action.script>
|
||||
<UML:ActionExpression xmi.id = 'I6fb16dm10626316d7cmm7ed7' language = 'java'
|
||||
body = 'Action_State_7'/>
|
||||
</UML:Action.script>
|
||||
</UML:CallAction>
|
||||
</UML:State.entry>
|
||||
</UML:ActionState>
|
||||
<UML:Pseudostate xmi.id = 'I6fb16dm10626316d7cmm7ebb' name = 'Joiner' visibility = 'public'
|
||||
isSpecification = 'false' kind = 'join'>
|
||||
<UML:StateVertex.outgoing>
|
||||
<UML:Transition xmi.idref = 'I6fb16dm10626316d7cmm7e74'/>
|
||||
</UML:StateVertex.outgoing>
|
||||
<UML:StateVertex.incoming>
|
||||
<UML:Transition xmi.idref = 'I6fb16dm10626316d7cmm7ead'/>
|
||||
<UML:Transition xmi.idref = 'I6fb16dm10626316d7cmm7e9a'/>
|
||||
<UML:Transition xmi.idref = 'I6fb16dm10626316d7cmm7e87'/>
|
||||
</UML:StateVertex.incoming>
|
||||
</UML:Pseudostate>
|
||||
<UML:ActionState xmi.id = 'I6fb16dm10626316d7cmm7eb5' name = '' visibility = 'public'
|
||||
isSpecification = 'false' isDynamic = 'false'>
|
||||
<UML:StateVertex.outgoing>
|
||||
<UML:Transition xmi.idref = 'I6fb16dm10626316d7cmm7ead'/>
|
||||
</UML:StateVertex.outgoing>
|
||||
<UML:State.entry>
|
||||
<UML:CallAction xmi.id = 'I6fb16dm10626316d7cmm7eb4' name = '' isSpecification = 'false'
|
||||
isAsynchronous = 'false'>
|
||||
<UML:Action.script>
|
||||
<UML:ActionExpression xmi.id = 'I6fb16dm10626316d7cmm7eb6' language = 'java'
|
||||
body = 'Action_State_8'/>
|
||||
</UML:Action.script>
|
||||
</UML:CallAction>
|
||||
</UML:State.entry>
|
||||
</UML:ActionState>
|
||||
</UML:CompositeState.subvertex>
|
||||
</UML:CompositeState>
|
||||
</UML:StateMachine.top>
|
||||
<UML:StateMachine.transitions>
|
||||
<UML:Transition xmi.id = 'I6fb16dm10626316d7cmm7f3d' isSpecification = 'false'>
|
||||
<UML:Transition.source>
|
||||
<UML:ActionState xmi.idref = 'I6fb16dm10626316d7cmm7ed6'/>
|
||||
</UML:Transition.source>
|
||||
<UML:Transition.target>
|
||||
<UML:Pseudostate xmi.idref = 'I6fb16dm10626316d7cmm7f42'/>
|
||||
</UML:Transition.target>
|
||||
</UML:Transition>
|
||||
<UML:Transition xmi.id = 'I6fb16dm10626316d7cmm7f21' isSpecification = 'false'>
|
||||
<UML:Transition.source>
|
||||
<UML:Pseudostate xmi.idref = 'I6fb16dm10626316d7cmm7f42'/>
|
||||
</UML:Transition.source>
|
||||
<UML:Transition.target>
|
||||
<UML:ActionState xmi.idref = 'I6fb16dm10626316d7cmm7f29'/>
|
||||
</UML:Transition.target>
|
||||
</UML:Transition>
|
||||
<UML:Transition xmi.id = 'I6fb16dm10626316d7cmm7efc' isSpecification = 'false'>
|
||||
<UML:Transition.source>
|
||||
<UML:Pseudostate xmi.idref = 'I6fb16dm10626316d7cmm7f42'/>
|
||||
</UML:Transition.source>
|
||||
<UML:Transition.target>
|
||||
<UML:ActionState xmi.idref = 'I6fb16dm10626316d7cmm7edf'/>
|
||||
</UML:Transition.target>
|
||||
</UML:Transition>
|
||||
<UML:Transition xmi.id = 'I6fb16dm10626316d7cmm7ece' isSpecification = 'false'>
|
||||
<UML:Transition.source>
|
||||
<UML:ActionState xmi.idref = 'I6fb16dm10626316d7cmm7f4a'/>
|
||||
</UML:Transition.source>
|
||||
<UML:Transition.target>
|
||||
<UML:Pseudostate xmi.idref = 'I6fb16dm10626316d7cmm7f42'/>
|
||||
</UML:Transition.target>
|
||||
</UML:Transition>
|
||||
<UML:Transition xmi.id = 'I6fb16dm10626316d7cmm7ead' isSpecification = 'false'>
|
||||
<UML:Transition.source>
|
||||
<UML:ActionState xmi.idref = 'I6fb16dm10626316d7cmm7eb5'/>
|
||||
</UML:Transition.source>
|
||||
<UML:Transition.target>
|
||||
<UML:Pseudostate xmi.idref = 'I6fb16dm10626316d7cmm7ebb'/>
|
||||
</UML:Transition.target>
|
||||
</UML:Transition>
|
||||
<UML:Transition xmi.id = 'I6fb16dm10626316d7cmm7e9a' isSpecification = 'false'>
|
||||
<UML:Transition.source>
|
||||
<UML:ActionState xmi.idref = 'I6fb16dm10626316d7cmm7f29'/>
|
||||
</UML:Transition.source>
|
||||
<UML:Transition.target>
|
||||
<UML:Pseudostate xmi.idref = 'I6fb16dm10626316d7cmm7ebb'/>
|
||||
</UML:Transition.target>
|
||||
</UML:Transition>
|
||||
<UML:Transition xmi.id = 'I6fb16dm10626316d7cmm7e87' isSpecification = 'false'>
|
||||
<UML:Transition.source>
|
||||
<UML:ActionState xmi.idref = 'I6fb16dm10626316d7cmm7edf'/>
|
||||
</UML:Transition.source>
|
||||
<UML:Transition.target>
|
||||
<UML:Pseudostate xmi.idref = 'I6fb16dm10626316d7cmm7ebb'/>
|
||||
</UML:Transition.target>
|
||||
</UML:Transition>
|
||||
<UML:Transition xmi.id = 'I6fb16dm10626316d7cmm7e74' isSpecification = 'false'>
|
||||
<UML:Transition.source>
|
||||
<UML:Pseudostate xmi.idref = 'I6fb16dm10626316d7cmm7ebb'/>
|
||||
</UML:Transition.source>
|
||||
<UML:Transition.target>
|
||||
<UML:ActionState xmi.idref = 'I6fb16dm10626316d7cmm7f04'/>
|
||||
</UML:Transition.target>
|
||||
</UML:Transition>
|
||||
</UML:StateMachine.transitions>
|
||||
</UML:ActivityGraph>
|
||||
</XMI.content>
|
||||
</XMI>
|
|
@ -0,0 +1,412 @@
|
|||
<?xml version = '1.0' encoding = 'UTF-8' ?>
|
||||
<XMI xmi.version = '1.2' xmlns:UML = 'org.omg.xmi.namespace.UML' xmlns:UML2 = 'org.omg.xmi.namespace.UML2'
|
||||
timestamp = 'Fri Sep 09 15:27:30 MEST 2005'>
|
||||
<XMI.header>
|
||||
<XMI.documentation>
|
||||
<XMI.exporter>Netbeans XMI Writer</XMI.exporter>
|
||||
<XMI.exporterVersion>1.0</XMI.exporterVersion>
|
||||
</XMI.documentation>
|
||||
</XMI.header>
|
||||
<XMI.content>
|
||||
<UML:Model xmi.id = 'I6fb16dm10626316d7cmm7f55' name = 'model 1' isSpecification = 'false'
|
||||
isRoot = 'false' isLeaf = 'false' isAbstract = 'false'>
|
||||
<UML:Namespace.ownedElement>
|
||||
<UML:UseCase xmi.id = 'I6fb16dm10626316d7cmm7f51' name = 'Use_Case_1' isSpecification = 'false'
|
||||
isRoot = 'false' isLeaf = 'false' isAbstract = 'false'>
|
||||
<UML:Namespace.ownedElement>
|
||||
<UML:Class xmi.id = 'I1747815m1063ac9d16dmm7ddc' name = 'ArrayIndexOutOfBoundsException'
|
||||
visibility = 'public' isSpecification = 'false' isRoot = 'false' isLeaf = 'false'
|
||||
isAbstract = 'false' isActive = 'false'/>
|
||||
<UML:Class xmi.id = 'I1747815m1063ac9d16dmm7dd4' name = '' visibility = 'public'
|
||||
isSpecification = 'false' isRoot = 'false' isLeaf = 'false' isAbstract = 'false'
|
||||
isActive = 'false'/>
|
||||
</UML:Namespace.ownedElement>
|
||||
</UML:UseCase>
|
||||
<UML:Stereotype xmi.id = 'I1747815m1063ac9d16dmm7e99' name = 'CDL.perform'
|
||||
visibility = 'public' isSpecification = 'false' isRoot = 'false' isLeaf = 'false'
|
||||
isAbstract = 'false'>
|
||||
<UML:Stereotype.baseClass>ActionState</UML:Stereotype.baseClass>
|
||||
</UML:Stereotype>
|
||||
<UML:TagDefinition xmi.id = 'I1747815m1063ac9d16dmm7e8e' name = 'qweretyu'
|
||||
isSpecification = 'false'>
|
||||
<UML:TagDefinition.multiplicity>
|
||||
<UML:Multiplicity xmi.id = 'I1747815m1063ac9d16dmm7e8d'>
|
||||
<UML:Multiplicity.range>
|
||||
<UML:MultiplicityRange xmi.id = 'I1747815m1063ac9d16dmm7e8c' lower = '1'
|
||||
upper = '1'/>
|
||||
</UML:Multiplicity.range>
|
||||
</UML:Multiplicity>
|
||||
</UML:TagDefinition.multiplicity>
|
||||
</UML:TagDefinition>
|
||||
<UML:TagDefinition xmi.id = 'I1747815m1063ac9d16dmm7e8a' name = 'asd' isSpecification = 'false'>
|
||||
<UML:TagDefinition.multiplicity>
|
||||
<UML:Multiplicity xmi.id = 'I1747815m1063ac9d16dmm7e89'>
|
||||
<UML:Multiplicity.range>
|
||||
<UML:MultiplicityRange xmi.id = 'I1747815m1063ac9d16dmm7e88' lower = '1'
|
||||
upper = '1'/>
|
||||
</UML:Multiplicity.range>
|
||||
</UML:Multiplicity>
|
||||
</UML:TagDefinition.multiplicity>
|
||||
</UML:TagDefinition>
|
||||
<UML:Stereotype xmi.id = 'I1747815m1063ac9d16dmm7e2a' name = 'invariant'
|
||||
isSpecification = 'false' isRoot = 'false' isLeaf = 'false' isAbstract = 'false'>
|
||||
<UML:Stereotype.baseClass>Constraint</UML:Stereotype.baseClass>
|
||||
</UML:Stereotype>
|
||||
<UML:Package xmi.id = 'I1747815m1063ac9d16dmm7dcb' name = 'java' isSpecification = 'false'
|
||||
isRoot = 'false' isLeaf = 'false' isAbstract = 'false'>
|
||||
<UML:Namespace.ownedElement>
|
||||
<UML:Package xmi.id = 'I1747815m1063ac9d16dmm7dcc' name = 'lang' isSpecification = 'false'
|
||||
isRoot = 'false' isLeaf = 'false' isAbstract = 'false'>
|
||||
<UML:Namespace.ownedElement>
|
||||
<UML:DataType xmi.id = 'I1747815m1063ac9d16dmm7dcd' name = 'boolean' isSpecification = 'false'
|
||||
isRoot = 'false' isLeaf = 'false' isAbstract = 'false'>
|
||||
<UML:Namespace.ownedElement>
|
||||
<UML:ClassifierInState xmi.id = 'I1747815m1063ac9d16dmm7ddb' name = 'ClassifierInState'
|
||||
isSpecification = 'false' isRoot = 'false' isLeaf = 'false' isAbstract = 'false'>
|
||||
<UML:ClassifierInState.type>
|
||||
<UML:DataType xmi.idref = 'I1747815m1063ac9d16dmm7dcd'/>
|
||||
</UML:ClassifierInState.type>
|
||||
</UML:ClassifierInState>
|
||||
</UML:Namespace.ownedElement>
|
||||
</UML:DataType>
|
||||
</UML:Namespace.ownedElement>
|
||||
</UML:Package>
|
||||
</UML:Namespace.ownedElement>
|
||||
</UML:Package>
|
||||
</UML:Namespace.ownedElement>
|
||||
</UML:Model>
|
||||
<UML:ActivityGraph xmi.id = 'I6fb16dm10626316d7cmm7f50' isSpecification = 'false'>
|
||||
<UML:StateMachine.context>
|
||||
<UML:UseCase xmi.idref = 'I6fb16dm10626316d7cmm7f51'/>
|
||||
</UML:StateMachine.context>
|
||||
<UML:StateMachine.top>
|
||||
<UML:CompositeState xmi.id = 'I6fb16dm10626316d7cmm7f4f' name = '' isSpecification = 'false'
|
||||
isConcurrent = 'false'>
|
||||
<UML:CompositeState.subvertex>
|
||||
<UML:ActionState xmi.id = 'I6fb16dm10626316d7cmm7f4a' name = 'S1' visibility = 'public'
|
||||
isSpecification = 'false' isDynamic = 'false'>
|
||||
<UML:StateVertex.outgoing>
|
||||
<UML:Transition xmi.idref = 'I6fb16dm10626316d7cmm7ece'/>
|
||||
<UML:Transition xmi.idref = 'I1747815m1063ac9d16dmm7e02'/>
|
||||
</UML:StateVertex.outgoing>
|
||||
<UML:StateVertex.incoming>
|
||||
<UML:Transition xmi.idref = 'I1747815m1063ac9d16dmm7e5b'/>
|
||||
</UML:StateVertex.incoming>
|
||||
<UML:State.entry>
|
||||
<UML:CallAction xmi.id = 'I6fb16dm10626316d7cmm7f49' name = '' isSpecification = 'false'
|
||||
isAsynchronous = 'false'>
|
||||
<UML:Action.script>
|
||||
<UML:ActionExpression xmi.id = 'I6fb16dm10626316d7cmm7f4b' language = 'java'
|
||||
body = 'Murks'/>
|
||||
</UML:Action.script>
|
||||
</UML:CallAction>
|
||||
</UML:State.entry>
|
||||
</UML:ActionState>
|
||||
<UML:Pseudostate xmi.id = 'I6fb16dm10626316d7cmm7f42' name = 'Forker' visibility = 'public'
|
||||
isSpecification = 'false' kind = 'fork'>
|
||||
<UML:StateVertex.outgoing>
|
||||
<UML:Transition xmi.idref = 'I6fb16dm10626316d7cmm7f21'/>
|
||||
<UML:Transition xmi.idref = 'I6fb16dm10626316d7cmm7efc'/>
|
||||
</UML:StateVertex.outgoing>
|
||||
<UML:StateVertex.incoming>
|
||||
<UML:Transition xmi.idref = 'I6fb16dm10626316d7cmm7f3d'/>
|
||||
<UML:Transition xmi.idref = 'I6fb16dm10626316d7cmm7ece'/>
|
||||
</UML:StateVertex.incoming>
|
||||
</UML:Pseudostate>
|
||||
<UML:ActionState xmi.id = 'I6fb16dm10626316d7cmm7f29' name = '' visibility = 'public'
|
||||
isSpecification = 'false' isDynamic = 'false'>
|
||||
<UML:StateVertex.outgoing>
|
||||
<UML:Transition xmi.idref = 'I6fb16dm10626316d7cmm7e9a'/>
|
||||
</UML:StateVertex.outgoing>
|
||||
<UML:StateVertex.incoming>
|
||||
<UML:Transition xmi.idref = 'I6fb16dm10626316d7cmm7f21'/>
|
||||
</UML:StateVertex.incoming>
|
||||
<UML:State.entry>
|
||||
<UML:CallAction xmi.id = 'I6fb16dm10626316d7cmm7f28' name = '' isSpecification = 'false'
|
||||
isAsynchronous = 'false'>
|
||||
<UML:Action.script>
|
||||
<UML:ActionExpression xmi.id = 'I6fb16dm10626316d7cmm7f2a' language = 'java'
|
||||
body = 'M2'/>
|
||||
</UML:Action.script>
|
||||
</UML:CallAction>
|
||||
</UML:State.entry>
|
||||
</UML:ActionState>
|
||||
<UML:ActionState xmi.id = 'I6fb16dm10626316d7cmm7f0d' name = '' visibility = 'public'
|
||||
isSpecification = 'false' isDynamic = 'false'>
|
||||
<UML:State.entry>
|
||||
<UML:CallAction xmi.id = 'I6fb16dm10626316d7cmm7f0c' name = '' isSpecification = 'false'
|
||||
isAsynchronous = 'false'>
|
||||
<UML:Action.script>
|
||||
<UML:ActionExpression xmi.id = 'I6fb16dm10626316d7cmm7f0e' language = 'java'
|
||||
body = 'M3'/>
|
||||
</UML:Action.script>
|
||||
</UML:CallAction>
|
||||
</UML:State.entry>
|
||||
</UML:ActionState>
|
||||
<UML:ActionState xmi.id = 'I6fb16dm10626316d7cmm7f04' name = '' visibility = 'public'
|
||||
isSpecification = 'false' isDynamic = 'false'>
|
||||
<UML:StateVertex.incoming>
|
||||
<UML:Transition xmi.idref = 'I6fb16dm10626316d7cmm7e74'/>
|
||||
<UML:Transition xmi.idref = 'I1747815m1063ac9d16dmm7e6e'/>
|
||||
</UML:StateVertex.incoming>
|
||||
<UML:State.entry>
|
||||
<UML:CallAction xmi.id = 'I6fb16dm10626316d7cmm7f03' name = '' isSpecification = 'false'
|
||||
isAsynchronous = 'false'>
|
||||
<UML:Action.script>
|
||||
<UML:ActionExpression xmi.id = 'I6fb16dm10626316d7cmm7f05' language = 'java'
|
||||
body = 'Doit'/>
|
||||
</UML:Action.script>
|
||||
</UML:CallAction>
|
||||
</UML:State.entry>
|
||||
</UML:ActionState>
|
||||
<UML:ActionState xmi.id = 'I6fb16dm10626316d7cmm7ee8' name = '' visibility = 'public'
|
||||
isSpecification = 'false' isDynamic = 'false'>
|
||||
<UML:State.entry>
|
||||
<UML:CallAction xmi.id = 'I6fb16dm10626316d7cmm7ee7' name = '' isSpecification = 'false'
|
||||
isAsynchronous = 'false'>
|
||||
<UML:Action.script>
|
||||
<UML:ActionExpression xmi.id = 'I6fb16dm10626316d7cmm7ee9' language = 'java'
|
||||
body = 'Action_State_5'/>
|
||||
</UML:Action.script>
|
||||
</UML:CallAction>
|
||||
</UML:State.entry>
|
||||
</UML:ActionState>
|
||||
<UML:ActionState xmi.id = 'I6fb16dm10626316d7cmm7edf' name = '' visibility = 'public'
|
||||
isSpecification = 'false' isDynamic = 'false'>
|
||||
<UML:ModelElement.stereotype>
|
||||
<UML:Stereotype xmi.idref = 'I1747815m1063ac9d16dmm7e99'/>
|
||||
</UML:ModelElement.stereotype>
|
||||
<UML:ModelElement.taggedValue>
|
||||
<UML:TaggedValue xmi.id = 'I1747815m1063ac9d16dmm7e8b' isSpecification = 'false'>
|
||||
<UML:TaggedValue.dataValue>true</UML:TaggedValue.dataValue>
|
||||
<UML:TaggedValue.type>
|
||||
<UML:TagDefinition xmi.idref = 'I1747815m1063ac9d16dmm7e8e'/>
|
||||
</UML:TaggedValue.type>
|
||||
</UML:TaggedValue>
|
||||
<UML:TaggedValue xmi.id = 'I1747815m1063ac9d16dmm7e87' isSpecification = 'false'>
|
||||
<UML:TaggedValue.dataValue>5</UML:TaggedValue.dataValue>
|
||||
<UML:TaggedValue.type>
|
||||
<UML:TagDefinition xmi.idref = 'I1747815m1063ac9d16dmm7e8a'/>
|
||||
</UML:TaggedValue.type>
|
||||
</UML:TaggedValue>
|
||||
</UML:ModelElement.taggedValue>
|
||||
<UML:StateVertex.outgoing>
|
||||
<UML:Transition xmi.idref = 'I6fb16dm10626316d7cmm7e87'/>
|
||||
<UML:Transition xmi.idref = 'I1747815m1063ac9d16dmm7e81'/>
|
||||
</UML:StateVertex.outgoing>
|
||||
<UML:StateVertex.incoming>
|
||||
<UML:Transition xmi.idref = 'I6fb16dm10626316d7cmm7efc'/>
|
||||
<UML:Transition xmi.idref = 'I1747815m1063ac9d16dmm7def'/>
|
||||
</UML:StateVertex.incoming>
|
||||
<UML:State.entry>
|
||||
<UML:CallAction xmi.id = 'I6fb16dm10626316d7cmm7ede' name = 'Hallo' isSpecification = 'false'
|
||||
isAsynchronous = 'false'>
|
||||
<UML:Action.script>
|
||||
<UML:ActionExpression xmi.id = 'I6fb16dm10626316d7cmm7ee0' language = 'java'
|
||||
body = 'Moagstme'/>
|
||||
</UML:Action.script>
|
||||
</UML:CallAction>
|
||||
</UML:State.entry>
|
||||
</UML:ActionState>
|
||||
<UML:ActionState xmi.id = 'I6fb16dm10626316d7cmm7ed6' name = '' visibility = 'public'
|
||||
isSpecification = 'false' isDynamic = 'false'>
|
||||
<UML:StateVertex.outgoing>
|
||||
<UML:Transition xmi.idref = 'I6fb16dm10626316d7cmm7f3d'/>
|
||||
</UML:StateVertex.outgoing>
|
||||
<UML:State.entry>
|
||||
<UML:CallAction xmi.id = 'I6fb16dm10626316d7cmm7ed5' name = '' isSpecification = 'false'
|
||||
isAsynchronous = 'false'>
|
||||
<UML:Action.script>
|
||||
<UML:ActionExpression xmi.id = 'I6fb16dm10626316d7cmm7ed7' language = 'java'
|
||||
body = 'Action_State_7'/>
|
||||
</UML:Action.script>
|
||||
</UML:CallAction>
|
||||
</UML:State.entry>
|
||||
</UML:ActionState>
|
||||
<UML:Pseudostate xmi.id = 'I6fb16dm10626316d7cmm7ebb' name = 'Joiner' visibility = 'public'
|
||||
isSpecification = 'false' kind = 'join'>
|
||||
<UML:StateVertex.outgoing>
|
||||
<UML:Transition xmi.idref = 'I6fb16dm10626316d7cmm7e74'/>
|
||||
</UML:StateVertex.outgoing>
|
||||
<UML:StateVertex.incoming>
|
||||
<UML:Transition xmi.idref = 'I6fb16dm10626316d7cmm7ead'/>
|
||||
<UML:Transition xmi.idref = 'I6fb16dm10626316d7cmm7e9a'/>
|
||||
<UML:Transition xmi.idref = 'I6fb16dm10626316d7cmm7e87'/>
|
||||
</UML:StateVertex.incoming>
|
||||
</UML:Pseudostate>
|
||||
<UML:ActionState xmi.id = 'I6fb16dm10626316d7cmm7eb5' name = '' visibility = 'public'
|
||||
isSpecification = 'false' isDynamic = 'false'>
|
||||
<UML:StateVertex.outgoing>
|
||||
<UML:Transition xmi.idref = 'I6fb16dm10626316d7cmm7ead'/>
|
||||
</UML:StateVertex.outgoing>
|
||||
<UML:State.entry>
|
||||
<UML:CallAction xmi.id = 'I6fb16dm10626316d7cmm7eb4' name = '' isSpecification = 'false'
|
||||
isAsynchronous = 'false'>
|
||||
<UML:Action.script>
|
||||
<UML:ActionExpression xmi.id = 'I6fb16dm10626316d7cmm7eb6' language = 'java'
|
||||
body = 'Action_State_8'/>
|
||||
</UML:Action.script>
|
||||
</UML:CallAction>
|
||||
</UML:State.entry>
|
||||
</UML:ActionState>
|
||||
<UML:Pseudostate xmi.id = 'I1747815m1063ac9d16dmm7e86' name = 'branch' visibility = 'public'
|
||||
isSpecification = 'false' kind = 'junction'>
|
||||
<UML:StateVertex.outgoing>
|
||||
<UML:Transition xmi.idref = 'I1747815m1063ac9d16dmm7e6e'/>
|
||||
<UML:Transition xmi.idref = 'I1747815m1063ac9d16dmm7e5b'/>
|
||||
</UML:StateVertex.outgoing>
|
||||
<UML:StateVertex.incoming>
|
||||
<UML:Transition xmi.idref = 'I1747815m1063ac9d16dmm7e81'/>
|
||||
</UML:StateVertex.incoming>
|
||||
</UML:Pseudostate>
|
||||
<UML:ObjectFlowState xmi.id = 'I1747815m1063ac9d16dmm7e29' name = 'First Objeect Flow Object'
|
||||
visibility = 'public' isSpecification = 'false' isSynch = 'true'>
|
||||
<UML:StateVertex.outgoing>
|
||||
<UML:Transition xmi.idref = 'I1747815m1063ac9d16dmm7def'/>
|
||||
</UML:StateVertex.outgoing>
|
||||
<UML:StateVertex.incoming>
|
||||
<UML:Transition xmi.idref = 'I1747815m1063ac9d16dmm7e02'/>
|
||||
</UML:StateVertex.incoming>
|
||||
<UML:ObjectFlowState.type>
|
||||
<UML:ClassifierInState xmi.idref = 'I1747815m1063ac9d16dmm7ddb'/>
|
||||
</UML:ObjectFlowState.type>
|
||||
</UML:ObjectFlowState>
|
||||
</UML:CompositeState.subvertex>
|
||||
</UML:CompositeState>
|
||||
</UML:StateMachine.top>
|
||||
<UML:StateMachine.transitions>
|
||||
<UML:Transition xmi.id = 'I6fb16dm10626316d7cmm7f3d' isSpecification = 'false'>
|
||||
<UML:Transition.source>
|
||||
<UML:ActionState xmi.idref = 'I6fb16dm10626316d7cmm7ed6'/>
|
||||
</UML:Transition.source>
|
||||
<UML:Transition.target>
|
||||
<UML:Pseudostate xmi.idref = 'I6fb16dm10626316d7cmm7f42'/>
|
||||
</UML:Transition.target>
|
||||
</UML:Transition>
|
||||
<UML:Transition xmi.id = 'I6fb16dm10626316d7cmm7f21' isSpecification = 'false'>
|
||||
<UML:Transition.source>
|
||||
<UML:Pseudostate xmi.idref = 'I6fb16dm10626316d7cmm7f42'/>
|
||||
</UML:Transition.source>
|
||||
<UML:Transition.target>
|
||||
<UML:ActionState xmi.idref = 'I6fb16dm10626316d7cmm7f29'/>
|
||||
</UML:Transition.target>
|
||||
</UML:Transition>
|
||||
<UML:Transition xmi.id = 'I6fb16dm10626316d7cmm7efc' isSpecification = 'false'>
|
||||
<UML:Transition.source>
|
||||
<UML:Pseudostate xmi.idref = 'I6fb16dm10626316d7cmm7f42'/>
|
||||
</UML:Transition.source>
|
||||
<UML:Transition.target>
|
||||
<UML:ActionState xmi.idref = 'I6fb16dm10626316d7cmm7edf'/>
|
||||
</UML:Transition.target>
|
||||
</UML:Transition>
|
||||
<UML:Transition xmi.id = 'I6fb16dm10626316d7cmm7ece' isSpecification = 'false'>
|
||||
<UML:Transition.source>
|
||||
<UML:ActionState xmi.idref = 'I6fb16dm10626316d7cmm7f4a'/>
|
||||
</UML:Transition.source>
|
||||
<UML:Transition.target>
|
||||
<UML:Pseudostate xmi.idref = 'I6fb16dm10626316d7cmm7f42'/>
|
||||
</UML:Transition.target>
|
||||
</UML:Transition>
|
||||
<UML:Transition xmi.id = 'I6fb16dm10626316d7cmm7ead' isSpecification = 'false'>
|
||||
<UML:Transition.source>
|
||||
<UML:ActionState xmi.idref = 'I6fb16dm10626316d7cmm7eb5'/>
|
||||
</UML:Transition.source>
|
||||
<UML:Transition.target>
|
||||
<UML:Pseudostate xmi.idref = 'I6fb16dm10626316d7cmm7ebb'/>
|
||||
</UML:Transition.target>
|
||||
</UML:Transition>
|
||||
<UML:Transition xmi.id = 'I6fb16dm10626316d7cmm7e9a' isSpecification = 'false'>
|
||||
<UML:Transition.source>
|
||||
<UML:ActionState xmi.idref = 'I6fb16dm10626316d7cmm7f29'/>
|
||||
</UML:Transition.source>
|
||||
<UML:Transition.target>
|
||||
<UML:Pseudostate xmi.idref = 'I6fb16dm10626316d7cmm7ebb'/>
|
||||
</UML:Transition.target>
|
||||
</UML:Transition>
|
||||
<UML:Transition xmi.id = 'I6fb16dm10626316d7cmm7e87' isSpecification = 'false'>
|
||||
<UML:Transition.source>
|
||||
<UML:ActionState xmi.idref = 'I6fb16dm10626316d7cmm7edf'/>
|
||||
</UML:Transition.source>
|
||||
<UML:Transition.target>
|
||||
<UML:Pseudostate xmi.idref = 'I6fb16dm10626316d7cmm7ebb'/>
|
||||
</UML:Transition.target>
|
||||
</UML:Transition>
|
||||
<UML:Transition xmi.id = 'I6fb16dm10626316d7cmm7e74' isSpecification = 'false'>
|
||||
<UML:Transition.source>
|
||||
<UML:Pseudostate xmi.idref = 'I6fb16dm10626316d7cmm7ebb'/>
|
||||
</UML:Transition.source>
|
||||
<UML:Transition.target>
|
||||
<UML:ActionState xmi.idref = 'I6fb16dm10626316d7cmm7f04'/>
|
||||
</UML:Transition.target>
|
||||
</UML:Transition>
|
||||
<UML:Transition xmi.id = 'I1747815m1063ac9d16dmm7e81' isSpecification = 'false'>
|
||||
<UML:Transition.source>
|
||||
<UML:ActionState xmi.idref = 'I6fb16dm10626316d7cmm7edf'/>
|
||||
</UML:Transition.source>
|
||||
<UML:Transition.target>
|
||||
<UML:Pseudostate xmi.idref = 'I1747815m1063ac9d16dmm7e86'/>
|
||||
</UML:Transition.target>
|
||||
</UML:Transition>
|
||||
<UML:Transition xmi.id = 'I1747815m1063ac9d16dmm7e6e' isSpecification = 'false'>
|
||||
<UML:Transition.guard>
|
||||
<UML:Guard xmi.id = 'I1747815m1063ac9d16dmm7e48' name = '' visibility = 'public'
|
||||
isSpecification = 'false'>
|
||||
<UML:Guard.expression>
|
||||
<UML:BooleanExpression xmi.id = 'I1747815m1063ac9d16dmm7e47' language = 'java'
|
||||
body = 'blubberguard * 4^$%^%$^'/>
|
||||
</UML:Guard.expression>
|
||||
</UML:Guard>
|
||||
</UML:Transition.guard>
|
||||
<UML:Transition.effect>
|
||||
<UML:CallAction xmi.id = 'I1747815m1063ac9d16dmm7e3e' name = '' isSpecification = 'false'
|
||||
isAsynchronous = 'false'>
|
||||
<UML:Action.script>
|
||||
<UML:ActionExpression xmi.id = 'I1747815m1063ac9d16dmm7e3d' language = 'java'
|
||||
body = 'fghfgh 234234'/>
|
||||
</UML:Action.script>
|
||||
</UML:CallAction>
|
||||
</UML:Transition.effect>
|
||||
<UML:Transition.source>
|
||||
<UML:Pseudostate xmi.idref = 'I1747815m1063ac9d16dmm7e86'/>
|
||||
</UML:Transition.source>
|
||||
<UML:Transition.target>
|
||||
<UML:ActionState xmi.idref = 'I6fb16dm10626316d7cmm7f04'/>
|
||||
</UML:Transition.target>
|
||||
</UML:Transition>
|
||||
<UML:Transition xmi.id = 'I1747815m1063ac9d16dmm7e5b' isSpecification = 'false'>
|
||||
<UML:Transition.guard>
|
||||
<UML:Guard xmi.id = 'I1747815m1063ac9d16dmm7e36' name = '' visibility = 'public'
|
||||
isSpecification = 'false'>
|
||||
<UML:Guard.expression>
|
||||
<UML:BooleanExpression xmi.id = 'I1747815m1063ac9d16dmm7e35' language = 'java'
|
||||
body = 'dfgdfgdf 234'/>
|
||||
</UML:Guard.expression>
|
||||
</UML:Guard>
|
||||
</UML:Transition.guard>
|
||||
<UML:Transition.source>
|
||||
<UML:Pseudostate xmi.idref = 'I1747815m1063ac9d16dmm7e86'/>
|
||||
</UML:Transition.source>
|
||||
<UML:Transition.target>
|
||||
<UML:ActionState xmi.idref = 'I6fb16dm10626316d7cmm7f4a'/>
|
||||
</UML:Transition.target>
|
||||
</UML:Transition>
|
||||
<UML:Transition xmi.id = 'I1747815m1063ac9d16dmm7e02' isSpecification = 'false'>
|
||||
<UML:Transition.source>
|
||||
<UML:ActionState xmi.idref = 'I6fb16dm10626316d7cmm7f4a'/>
|
||||
</UML:Transition.source>
|
||||
<UML:Transition.target>
|
||||
<UML:ObjectFlowState xmi.idref = 'I1747815m1063ac9d16dmm7e29'/>
|
||||
</UML:Transition.target>
|
||||
</UML:Transition>
|
||||
<UML:Transition xmi.id = 'I1747815m1063ac9d16dmm7def' isSpecification = 'false'>
|
||||
<UML:Transition.source>
|
||||
<UML:ObjectFlowState xmi.idref = 'I1747815m1063ac9d16dmm7e29'/>
|
||||
</UML:Transition.source>
|
||||
<UML:Transition.target>
|
||||
<UML:ActionState xmi.idref = 'I6fb16dm10626316d7cmm7edf'/>
|
||||
</UML:Transition.target>
|
||||
</UML:Transition>
|
||||
</UML:StateMachine.transitions>
|
||||
</UML:ActivityGraph>
|
||||
</XMI.content>
|
||||
</XMI>
|
|
@ -41,6 +41,7 @@ datatype ActivityGraph = mk_ActivityGraph of
|
|||
contextxmiid : string,
|
||||
is_specification : bool,
|
||||
top : StateVertex,
|
||||
partition : (string * StateVertex_Id list) list,
|
||||
transitions : Transition list}
|
||||
|
||||
end
|
||||
|
|
|
@ -99,7 +99,7 @@ datatype StateVertex =
|
|||
outgoing : Transition_Id list,
|
||||
incoming : Transition_Id list,
|
||||
subvertex : StateVertex list,
|
||||
submachine : StateMachine ,
|
||||
submachine : StateMachine,
|
||||
isDynamic : bool}
|
||||
| State_SimpleState
|
||||
of {xmiid : string,
|
||||
|
@ -126,13 +126,13 @@ datatype StateVertex =
|
|||
name : string,
|
||||
is_specification : bool,
|
||||
entry : Action option,
|
||||
exit : Action option,
|
||||
exit : Action option,
|
||||
doActivity : Action option,
|
||||
outgoing : Transition_Id list,
|
||||
incoming : Transition_Id list,
|
||||
isSynch : bool,
|
||||
parameter : Parameter list,
|
||||
types : Rep_OclType.Path list (* Classifier_Id *)}
|
||||
type_ : Rep_OclType.Path option}
|
||||
| State_FinalState
|
||||
of {xmiid : string,
|
||||
name : string,
|
||||
|
|
|
@ -592,6 +592,12 @@ fun mkState tree =
|
|||
val isSpecification = getBoolAtt "isSpecification" atts
|
||||
fun getTid x = (getXmiIdref o XmlTree.attributes_of) x
|
||||
handle _ => "XXX"
|
||||
fun getTrans str = List.concat o (map ((map getTid) o XmlTree.children_of)) o
|
||||
(XmlTree.filter str)
|
||||
val getIncoming = getTrans "UML:StateVertex.incoming"
|
||||
val getOutgoing = getTrans "UML:StateVertex.outgoing"
|
||||
val getSubvertex= (map mkState) o XmlTree.children_of o
|
||||
(XmlTree.find "UML:CompositeState.subvertex")
|
||||
(*
|
||||
val visibility = getVisibility atts
|
||||
*)
|
||||
|
@ -600,27 +606,28 @@ fun mkState tree =
|
|||
XMI.State_CompositState{
|
||||
xmiid=xmiid,name=name,is_specification=isSpecification,
|
||||
isConcurrent = getBoolAtt "isConcurrent" atts,
|
||||
outgoing = (List.concat o (map ((map getTid) o XmlTree.children_of)) o
|
||||
(XmlTree.filter "UML:StateVertex.outgoing"))
|
||||
(trees),
|
||||
incoming = (List.concat o (map ((map getTid) o XmlTree.children_of)) o
|
||||
(XmlTree.filter "UML:StateVertex.incoming"))
|
||||
(trees),
|
||||
subvertex = ((map mkState) o XmlTree.children_of o
|
||||
(XmlTree.find "UML:CompositeState.subvertex"))
|
||||
(trees),
|
||||
outgoing = getOutgoing trees, incoming = getIncoming trees,
|
||||
subvertex = getSubvertex trees,
|
||||
entry = NONE,
|
||||
exit = NONE,
|
||||
doActivity = NONE }
|
||||
|"UML:SubactivityState" =>
|
||||
XMI.CompositState_SubactivityState{
|
||||
xmiid=xmiid,name=name,is_specification=isSpecification,
|
||||
isConcurrent = getBoolAtt "isConcurrent" atts,
|
||||
isDynamic = getBoolAtt "isDynamic" atts,
|
||||
outgoing = getOutgoing trees, incoming = getIncoming trees,
|
||||
subvertex = getSubvertex trees,
|
||||
entry = NONE,
|
||||
exit = NONE,
|
||||
doActivity = NONE,
|
||||
submachine = mkStateMachine (hd trees)
|
||||
(* HACK ! So far, no UML tool supports this. Parser has to be adapted
|
||||
of we find a first example ... *)}
|
||||
|"UML:ActionState" =>
|
||||
XMI.SimpleState_ActionState {
|
||||
xmiid=xmiid,name=name,is_specification=isSpecification,
|
||||
outgoing = (List.concat o (map ((map getTid) o XmlTree.children_of)) o
|
||||
(XmlTree.filter "UML:StateVertex.outgoing"))
|
||||
(trees),
|
||||
incoming = (List.concat o (map ((map getTid) o XmlTree.children_of)) o
|
||||
(XmlTree.filter "UML:StateVertex.incoming"))
|
||||
(trees),
|
||||
outgoing = getOutgoing trees, incoming = getIncoming trees,
|
||||
isDynamic = getBoolAtt "isDynamic" atts,
|
||||
entry = NONE,
|
||||
exit = NONE,
|
||||
|
@ -631,32 +638,43 @@ fun mkState tree =
|
|||
entry = NONE,
|
||||
exit = NONE,
|
||||
doActivity = NONE,
|
||||
kind = getPseudoStateKindAttr atts,
|
||||
outgoing = (List.concat o (map ((map getTid) o XmlTree.children_of)) o
|
||||
(XmlTree.filter "UML:StateVertex.outgoing"))
|
||||
(trees),
|
||||
incoming = (List.concat o (map ((map getTid) o XmlTree.children_of)) o
|
||||
(XmlTree.filter "UML:StateVertex.incoming"))
|
||||
(trees)}
|
||||
kind = getPseudoStateKindAttr atts,
|
||||
outgoing = getOutgoing trees,incoming = getIncoming trees}
|
||||
|"UML:SimpleState" =>
|
||||
XMI.State_SimpleState{
|
||||
xmiid=xmiid,name=name,is_specification=isSpecification,
|
||||
entry = NONE,
|
||||
exit = NONE,
|
||||
doActivity = NONE,
|
||||
outgoing = (List.concat o (map ((map getTid) o XmlTree.children_of)) o
|
||||
(XmlTree.filter "UML:StateVertex.outgoing"))
|
||||
(trees),
|
||||
incoming = (List.concat o (map ((map getTid) o XmlTree.children_of)) o
|
||||
(XmlTree.filter "UML:StateVertex.incoming"))
|
||||
(trees)}
|
||||
| _ => raise IllFormed ("in mkState: This should not happen.")
|
||||
outgoing = getOutgoing trees, incoming = getIncoming trees}
|
||||
|"UML:ObjectflowState" =>
|
||||
XMI.SimpleState_ObjectflowState{
|
||||
xmiid=xmiid,name=name,is_specification=isSpecification,
|
||||
entry = NONE,
|
||||
exit = NONE,
|
||||
doActivity = NONE,
|
||||
outgoing = getOutgoing trees, incoming = getIncoming trees,
|
||||
isSynch = getBoolAtt "isSynch" atts,
|
||||
parameter = nil,
|
||||
type_ = NONE}
|
||||
|"UML:FinalState" =>
|
||||
XMI.State_FinalState{
|
||||
xmiid=xmiid,name=name,is_specification=isSpecification,
|
||||
entry = NONE,
|
||||
exit = NONE,
|
||||
doActivity = NONE,
|
||||
outgoing = getOutgoing trees,incoming = getIncoming trees}
|
||||
|"UML:SyncState" =>
|
||||
XMI.SyncState{
|
||||
xmiid=xmiid,name=name,is_specification=isSpecification,
|
||||
bound = 0,
|
||||
outgoing = getOutgoing trees,incoming = getIncoming trees}
|
||||
|
||||
| _ => raise IllFormed ("in mkState: Unknown State Vertex.")
|
||||
|
||||
end
|
||||
|
||||
|
||||
|
||||
fun mkStateMachine tree =
|
||||
and mkStateMachine tree =
|
||||
let fun f atts trees = XMI.mk_StateMachine
|
||||
{is_specification = getBoolAtt "isSpecification" atts,
|
||||
xmiid = getXmiId atts,
|
||||
|
@ -688,7 +706,8 @@ fun mkActivityGraph tree =
|
|||
(trees),
|
||||
transitions = ((map mkTransition) o XmlTree.children_of o
|
||||
(XmlTree.find "UML:StateMachine.transitions"))
|
||||
(trees)}
|
||||
(trees),
|
||||
partition = nil}
|
||||
|
||||
in XmlTree.apply_on "UML:ActivityGraph" f tree
|
||||
end;
|
||||
|
|
Loading…
Reference in New Issue