我将包层次结构的XMI导入到本地模型,并且成功导入了它。
当我将相同的XMI导入到共享模型(Oracle DB)中时,序列图中的所有序列和消息都会被删除。
有什么想法吗?
发布于 2015-05-21 14:41:35
这是一个已知的问题。(在EA论坛搜索“版本控制”+“序列图”)
在序列图中使用实例而不是分类器将在一定程度上解决这个问题。
发布于 2015-05-30 01:11:17
模型的XMI表示包含有关导出的包中的元素及其连接器的信息。但是,从结构上讲,连接器并不存储在EA的数据模型中的包中,因此EA只是将将任何元素连接到其他任何元素的每个连接器写入XMI文件,而不管连接器另一端的元素是否在作用域中。
另一方面,根据定义,连接器是两端连接的--您不能在EA中创建只在一端连接到元素的连接器。这意味着每个连接器都被写入到XMI文件中,同时引用了它的两个元素。
如果这两个元素都在XMI导出的作用域中(在相同的包树中),那么一切都很好。但是如果只有一个元素存在,EA就不能在导入时重新创建连接器-- XMI文件中只有一个元素。当发生这种情况时,EA将忽略有问题的连接器。
例外情况是XMI文件中缺失的元素恰好已经存在于模型中。在这种情况下,EA将重新创建连接器。我认为这可能就是您在“本地”模型中看到的。
发布于 2017-12-07 18:51:45
使用Enterprise Architect v.13,我设法摆脱了麻烦;假设您的序列具有Lifeline,并将实例分类器设置为您希望在我们的序列中使用的Class/Component:
我将从基线生成的XMI文件与通过单击"Import/Export“选项生成的XMI文件进行了比较,它们之间存在差异……似乎基线的导出XMI包含了模型的完整信息(包括根节点),因此我认为导入过程可能会将每个链接解析为不在同一个包中的对象……
https://stackoverflow.com/questions/30365108
复制相似问题