我有一个包含序列和类图的emx文件。这些图是跟踪J2EE应用程序执行的结果。
为了帮助您以正确的方式引导您,我正在尝试将序列图转换为调用图(方法)。我努力寻找解释序列图中所有标签的文档(检查emx / xmi代码的示例),但我不能。
我试图了解不同的标签以及它们在序列图中代表的内容。例如<packagedElement xsi:type="uml:Class">
,<ownedOperation>
,<packagedElement xsi:type="uml:ReceiveOperationEvent">
......
任何帮助表示赞赏。
emx文件的示例:
<?xml version="1.0" encoding="ASCII"?>
<uml:Model xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/200`enter code here`1/XMLSchema-instance" xmlns:uml="http://www.eclipse.org/uml2/3.0.0/UML" name="maintrace_main">
<packagedElement xsi:type="uml:Collaboration" name="Collaboration">
<ownedBehavior xsi:type="uml:Interaction" name="Interaction">
<lifeline represents="//Collaboration/@ownedAttribute.0" coveredBy="//Collaboration/Interaction/doGetstart3 //Collaboration/Interaction/doGetend4 //Collaboration/Interaction/doGet5 //Collaboration/Interaction/printlnstart8 //Collaboration/Interaction/printlnreturnEnd14
<fragment xsi:type="uml:MessageOccurrenceSpecification" name="doStartTagend568" covered="//Collaboration/Interaction/@lifeline.8" event="//doStartTag565" message="//Collaboration/Interaction/doStartTag.6"/>
....
</ownedBehavior>
<ownedAttribute type="//test.MainClass"/>
<ownedAttribute type="//test.Etudiant"/>
</packagedElement>
<packagedElement xsi:type="uml:Class" name="test.MainClass" clientDependency="//@packagedElement.29">
<ownedOperation name="main">
<ownedParameter name="arg1" type="//java.lang.String%5B%5D"/>
</ownedOperation>
</packagedElement>
<packagedElement xsi:type="uml:SendOperationEvent" name="println139" operation="//com.sun.j2ee.blueprints.util.tracer.Debug/println"/>
<packagedElement xsi:type="uml:ReceiveOperationEvent" name="println143" operation="//com.sun.j2ee.blueprints.util.tracer.Debug/println"/>
<packagedElement xsi:type="uml:SendOperationEvent" name="println144" operation="//com.sun.j2ee.blueprints.util.tracer.Debug/println"/>
<packagedElement xsi:type="uml:ReceiveOperationEvent" name="processRequest147"/>
<packagedElement xsi:type="uml:SendOperationEvent" name="processRequest148"/>
<packagedElement xsi:type="uml:ReceiveOperationEvent" name="doEnd151" operation="//com.sun.j2ee.blueprints.petstore.control.web.handlers.CartHandler/doEnd"/>
<packagedElement xsi:type="uml:SendOperationEvent" name="doEnd152" operation="//com.sun.j2ee.blueprints.petstore.control.web.handlers.CartHandler/doEnd"/>
<packagedElement xsi:type="uml:ReceiveOperationEvent" name="doEnd156" operation="//com.sun.j2ee.blueprints.petstore.control.web.handlers.CartHandler/doEnd"/>
<packagedElement xsi:type="uml:SendOperationEvent" name="doEnd157" operation="//com.sun.j2ee.blueprints.petstore.control.web.handlers.CartHandler/doEnd"/>
<packagedElement xsi:type="uml:ReceiveOperationEvent" name="processRequest160" operation="//com.sun.j2ee.blueprints.petstore.control.web.RequestProcessor/processRequest"/>
<packagedElement xsi:type="uml:SendOperationEvent" name="processRequest161" operation="//com.sun.j2ee.blueprints.petstore.control.web.RequestProcessor/processRequest"/>
<packagedElement xsi:type="uml:Class" name="com.sun.j2ee.blueprints.petstore.control.web.ScreenFlowManager" clientDependency="//@packagedElement.7007 //@packagedElement.7008 //@packagedElement.7009 //@packagedElement.7010 //@packagedElement.7011">
<ownedOperation name="getNextScreen">
<ownedParameter name="arg1" type="//javax.servlet.http.HttpServletRequest"/>
</ownedOperation>
<ownedOperation name="getURLMapping">
<ownedParameter name="arg1" type="//java.lang.String"/>
<ownedParameter type="//com.sun.j2ee.blueprints.petstore.control.web.URLMapping" direction="return"/>
</ownedOperation>
<ownedOperation name="getTemplate">
<ownedParameter name="arg1" type="//java.util.Locale"/>
<ownedParameter type="//java.lang.String" direction="return"/>
</ownedOperation>
<ownedOperation name="getScreens">
<ownedParameter name="arg1" type="//java.util.Locale"/>
<ownedParameter type="//java.util.HashMap" direction="return"/>
</ownedOperation>
<ownedOperation name="getParameter">
<ownedParameter name="arg1" type="//java.lang.String"/>
<ownedParameter name="arg2" type="//javax.servlet.http.HttpSession"/>
<ownedParameter type="//com.sun.j2ee.blueprints.petstore.control.web.Parameter" direction="return"/>
</ownedOperation>
<ownedOperation name="getScreens">
<ownedParameter name="arg1" type="//java.util.Locale"/>
<ownedParameter type="//java.util.HashMap" direction="return"/>
</ownedOperation>
<ownedOperation name="getParameter">
<ownedParameter name="arg1" type="//java.lang.String"/>
<ownedParameter name="arg2" type="//javax.servlet.http.HttpSession"/>
<ownedParameter type="//com.sun.j2ee.blueprints.petstore.control.web.Parameter" direction="return"/>
</ownedOperation>
<ownedOperation name="getScreens">
<ownedParameter name="arg1" type="//java.util.Locale"/>
<ownedParameter type="//java.util.HashMap" direction="return"/>
</ownedOperation>
<ownedOperation name="getParameter">
<ownedParameter name="arg1" type="//java.lang.String"/>
<ownedParameter name="arg2" type="//javax.servlet.http.HttpSession"/>
<ownedParameter type="//com.sun.j2ee.blueprints.petstore.control.web.Parameter" direction="return"/>
</ownedOperation>
<ownedOperation name="getScreens">
<ownedParameter name="arg1" type="//java.util.Locale"/>
<ownedParameter type="//java.util.HashMap" direction="return"/>
</ownedOperation>
<ownedOperation name="getParameter">
<ownedParameter name="arg1" type="//java.lang.String"/>
<ownedParameter name="arg2" type="//javax.servlet.http.HttpSession"/>
<ownedParameter type="//com.sun.j2ee.blueprints.petstore.control.web.Parameter" direction="return"/>
</ownedOperation>
<ownedOperation name="getScreens">
<ownedParameter name="arg1" type="//java.util.Locale"/>
<ownedParameter type="//java.util.HashMap" direction="return"/>
</ownedOperation>
<ownedOperation name="getParameter">
<ownedParameter name="arg1" type="//java.lang.String"/>
<ownedParameter name="arg2" type="//javax.servlet.http.HttpSession"/>
<ownedParameter type="//com.sun.j2ee.blueprints.petstore.control.web.Parameter" direction="return"/>
</ownedOperation>
</uml:Model>
我有一个包含序列和类图的emx文件。
不,您显示的文件内容不包含图表定义,但包含类和协作定义。图表是表示模型的一部分的图片,并且UML图表交换是非常不同的。
你必须在UML documentation上参考更多细节,但很容易猜到
<packagedElement xsi:type="uml:Class" ...>
... </packagedElement>
定义了一个类<ownedOperation name="getURLMapping">
... </ownedOperation>
定义了操作getURLMapping(这里的类ScreenFlowManager)<ownedParameter name="arg1" type="//java.lang.String"/>
表示操作的第一个参数getURLMapping名为arg1,是一个Java字符串协作的定义更复杂,你将其截断了很多,但可以看到生命线和一些交换的消息。