北京软件公司使用ExplorViz进行系统理解的软件环境和应用可视化_北京软件开发公司
发表日期:2017-05-17 17:17:30 文章编辑:宜天信达 浏览次数:
背景:北京软件公司组织中部署的软件应用程序的数量不断增加。这些应用程序 - 通常是数百个 - 形成大型软件风景。
目标:这种景观及其应用的理解常常受到建筑侵蚀,人员流失或需求变化的阻碍。因此,需要一种有效和有效的理解这种软件风景的方法。
方法:在我们的ExplorViz可视化中,我们引入了针对大型软件风景快速准确地解决系统理解任务的分层抽象。除了在景观层面上的层次可视化外,ExplorViz还提供从景观到个人应用层面的多层次可视化。通过与Extravis方法的比较,利用物理模型和虚拟现实对3D应用程序级可视化进行经验评估。为了评估ExplorViz,我们进行了四个对照实验。我们提供包含所有实验数据的软件包,以便我们的结果的可验证性,可重复性和进一步扩展性。
结果:与平面可视化相比,我们观察到层次可视化的任务正确性的统计显着增加。花费的时间没有显示任何显着差异。为了与Extravis进行比较,我们观察到使用ExplorViz解决程序理解任务导致正确性的显着增加和花费在较少或相似的时间内。物理模型通过启动基于手势的交互而改进了针对特定任务的基于团队的程序理解过程,但并不适用于所有任务。我们的虚拟现实实验的参与者ExplorViz将实现的翻译,旋转和选择手势评为高可用性。然而,我们的缩放手势不太受欢迎。
结论:结果表明我们的分层和多层次的方法增强了景观和应用程序可视化的现有状态,从而更好的软件系统理解,包括与物理模型和虚拟现实的新形式的交互。
虽然程序理解已被广泛研究,但系统理解受到的关注较少。从历史的角度来说,当程序达到数百行代码时,程序的理解变得很重要。企业中的IT基础架构通常由数以百计的应用程序组成大型软件景观。因此,系统理解 - 在我们的术语中,对这种景观的理解 - 是维护过程的关键部分。这种情况通过例如云计算来加强,云计算通过复制节点提供可扩展性,从而增加部署的应用程序的数量。
实现系统理解的一种方法是软件风景可视化。当前软件风景可视化主要发生在应用程序性能管理(APM)工具中。在对它们进行调查时,我们观察到这些工具通常使用平面图形表示节点,应用程序和通信。
相比之下,我们的ExplorViz方法提供了大型软件风景的实时跟踪可视化,引入了三个层次抽象。首先,存在由一个或多个服务器节点组成的系统。其次,特别针对云环境及其横向可扩展性设计,我们的分层可视化功能是运行相同应用程序配置的集群节点的节点组。第三,应用之间的通信量由通信链路的厚度表示。
除了在景观层面上这样层次化的可视化外,ExplorViz方法提供了从景观层面到应用层面的多层次监控。
虽然这些可视化似乎是合理的,但仍然应该评估它们是否对理解过程有任何益处]。例如,用户可能不了解抽象,或者抽象可能不支持,甚至可能阻碍用户解决系统理解任务。
本文在这方面的主要贡献是:
在评估分级和多级可视化是否带来好处的同时,我们进行了这些实验以获得改进ExplorViz工具的输入。
目标:这种景观及其应用的理解常常受到建筑侵蚀,人员流失或需求变化的阻碍。因此,需要一种有效和有效的理解这种软件风景的方法。
方法:在我们的ExplorViz可视化中,我们引入了针对大型软件风景快速准确地解决系统理解任务的分层抽象。除了在景观层面上的层次可视化外,ExplorViz还提供从景观到个人应用层面的多层次可视化。通过与Extravis方法的比较,利用物理模型和虚拟现实对3D应用程序级可视化进行经验评估。为了评估ExplorViz,我们进行了四个对照实验。我们提供包含所有实验数据的软件包,以便我们的结果的可验证性,可重复性和进一步扩展性。
结果:与平面可视化相比,我们观察到层次可视化的任务正确性的统计显着增加。花费的时间没有显示任何显着差异。为了与Extravis进行比较,我们观察到使用ExplorViz解决程序理解任务导致正确性的显着增加和花费在较少或相似的时间内。物理模型通过启动基于手势的交互而改进了针对特定任务的基于团队的程序理解过程,但并不适用于所有任务。我们的虚拟现实实验的参与者ExplorViz将实现的翻译,旋转和选择手势评为高可用性。然而,我们的缩放手势不太受欢迎。
结论:结果表明我们的分层和多层次的方法增强了景观和应用程序可视化的现有状态,从而更好的软件系统理解,包括与物理模型和虚拟现实的新形式的交互。
虽然程序理解已被广泛研究,但系统理解受到的关注较少。从历史的角度来说,当程序达到数百行代码时,程序的理解变得很重要。企业中的IT基础架构通常由数以百计的应用程序组成大型软件景观。因此,系统理解 - 在我们的术语中,对这种景观的理解 - 是维护过程的关键部分。这种情况通过例如云计算来加强,云计算通过复制节点提供可扩展性,从而增加部署的应用程序的数量。
实现系统理解的一种方法是软件风景可视化。当前软件风景可视化主要发生在应用程序性能管理(APM)工具中。在对它们进行调查时,我们观察到这些工具通常使用平面图形表示节点,应用程序和通信。
相比之下,我们的ExplorViz方法提供了大型软件风景的实时跟踪可视化,引入了三个层次抽象。首先,存在由一个或多个服务器节点组成的系统。其次,特别针对云环境及其横向可扩展性设计,我们的分层可视化功能是运行相同应用程序配置的集群节点的节点组。第三,应用之间的通信量由通信链路的厚度表示。
除了在景观层面上这样层次化的可视化外,ExplorViz方法提供了从景观层面到应用层面的多层次监控。
虽然这些可视化似乎是合理的,但仍然应该评估它们是否对理解过程有任何益处]。例如,用户可能不了解抽象,或者抽象可能不支持,甚至可能阻碍用户解决系统理解任务。
本文在这方面的主要贡献是:
- 1。
- 使用ExplorViz介绍了大型软件景观的层次和多层可视化,包括其元模型以及从监控轨迹生成这些模型的过程。
- 2。
- 将可控实验的可重用设计和执行与平面景观可视化与系统理解任务中的层次景观可视化进行了比较,重点介绍了我们如何操作受控实验的方法。这包括对错误的典型来源的彻底分析以及参与者为每个任务选择的策略。
- 3。
- 为了评估ExplorViz的应用级可视化,我们总结了将ExplorViz与Extravis跟踪可视化方法进行比较的受控实验,用于采用物理3D打印的ExplorViz模型,并在虚拟现实中探索3D ExplorViz模型。
在评估分级和多级可视化是否带来好处的同时,我们进行了这些实验以获得改进ExplorViz工具的输入。