2011-12-14 57 views
0

我现在正在撰写关于分布式系统监视的硕士论文。为此,我设计了一个框架,可以记录监控数据并在一系列过滤器(管道和过滤器样式)中分析这些数据。它基于Kieker monitoring frameworkJava中的可执行管道和过滤器图形

您可以通过订阅输出端口,像这样连接不同的过滤器,以对方:

DurationFilter durationFilter = new DurationFilter(); 
Timeline timeline = new Timeline(...); 
durationFilter.getOutputPort().subscribe(timeline); 

该机制由Kieker框架,我使用提供。

要运行分析,用户当前必须通过写出代码手动连接过滤器。我现在要做的就是编写一个带有GUI的工具,以便于创建配置(过滤器集,输入文件和连接集)。理想情况下,用户可以像在UML编辑器中那样做,创建盒子(过滤器),并将它们连接到线路(连接)并设置输入参数(输入文件)等。

然后需要执行这些配置我需要从图形到代码到Java代码的映射。那是我迄今为止的想法。首先:你认为这种方法适合这项任务吗?

在我的研究中,我发现了框架JHotDraw,它具有很多我刚刚提到的功能。通过JHotDraw,我可以在绘图区(DrawingEditor)上创建视觉元素(图),包括一组用于创建,编辑和连接元素的工具。这我已经完成了,而且非常简单。奖励是JHotDraw的撤销/重做功能。

现在我的问题:我不知道我应该如何从编辑器中的图形表示得到java代码。我所拥有的是该框架假定使用的MVC模式的V部分。这些图是视图。但是模型到底在哪里?它如何融入框架?我在想,对于DrawingEditor中显示的每个元素,我都必须有一个对应的模型来存储元素的数据。一个FilterModel将具有像输入数据类型(可以处理哪些数据),输出端口及其数据类型(它创建什么类型的数据)以及过滤器类型(对应于Java类)的属性。这些是必要的,以检查一个过滤器是否可以连接到另一个过滤器并最终执行整个过程。

不知道我是否清楚自己。如果有什么不清楚的地方,请询问。

+0

下面是JHotDraw图表我能够为例:[图像](http://img542.imageshack.us/img542/5168/editordemo.png)。 – zerus 2011-12-14 14:21:41

+0

您可以考虑的另一项技术是[GEF](http://www.eclipse.org/gef/)。 – sudocode 2011-12-14 14:28:52

回答

1

我们目前正在为Kieker开发一个基于Web的用户界面。这将允许用户定义和执行Kieker管道和过滤器图。如果您仍然对此感兴趣,请随时与我们联系。您可以在kieker.sf.net/support/上找到我们的联系信息。另外,我会对你在论文中做什么感兴趣;-)。

问候,安德烈