切片动态图的算法

时间:2011-08-12 10:24:44

标签: algorithm graph uml slice

我目前正在开发一个基于图形的项目,我正在寻找一种切片动态图的算法。我已经做了一些研究,但我发现的大多数算法只适用于静态图。在我的环境中,图形是动态的,这意味着用户在运行时添加/删除元素,创建/删除依赖项。 (实际上我正在使用UML模型,但UML模型也可以用类型化的图形表示,它们由键入的顶点和边缘组成) 我还搜索术语图片碎片,但我没有找到任何内容。我想知道是否存在切片动态图的算法?

[更新]

抱歉不清楚,我正在更新我的问题。让我先公开上下文。

在MDE(模型驱动工程)中,大规模工业系统现在涉及数百个开发人员,他们在数百个模型上工作,代表整个系统规范的分析。在这种情况下,通常采用的方法是使用中央存储库。我为我的项目提供的解决方案(我目前正在研究实验室工作)是一种面向对等的解决方案,这意味着每个开发人员都有自己的系统规范复制。

我的主要问题是如何复制这些数据,模型。 例如,假设Alice和Bob在这个UML diagram上工作,而Alice在他的存储库中有整个图表。 Bob希望拥有{FeedOrEntry,Entry}元素,如何切割此图UML? 我搜索“模型切片”的术语。我找到了一个paper,它给出了切片UML类图的方法,但这个算法的问题是它只适用于静态图。在我们的上下文中,开发人员不断添加/更新/删除元素,共享元素应与其他副本一致。

由于UML模型也可以看作图形,我也搜索“图形切片”或“图形片段”的术语,但我发现没有任何用处。 我想知道是否存在切片动态图的算法

3 个答案:

答案 0 :(得分:1)

如果你使用切片原子,我认为使用你链接的纸张中显示的算法没有问题。

但是,为了保持一致性,我认为您的p2p方法不兼容。替代方案是合并操作,但我不知道该操作将如何工作。它可能至少部分地必须手动完成。

答案 1 :(得分:0)

听起来你可能需要一个NoSQL图形数据库,例如Neo4JFlockDB。它们可以存储数十亿个顶点和边缘。

答案 2 :(得分:0)

如何将图标规范化为相邻的树模型?那么你可以使用DFS或BFS来切割图形吗?