面向大数据/建模抽象的实用 DevOps
简介
使用大数据技术(例如 Hadoop MapReduce 或流处理)的数据密集型应用程序在许多应用领域都很重要,例如预测分析或智慧城市。DICE 开发方法遵循模型驱动开发的原则,统一建模语言 (UML) 是 DICE 的设计选择。因此,提供了根据质量改进(如性能或可靠性)不断重新架构数据密集型应用程序设计的能力。DICE 方法允许根据数据属性(例如数据量)和数据使用模式(例如读写速率)来推断质量。这些数据特征将通过一个名为 DICE Profile 的新配置文件引入 UML 设计中。本概述介绍了 DICE 配置文件、其挑战、其体系结构及其概念化。OMG 模型驱动体系结构为建模考虑了不同的抽象层:平台独立模型描述了软件的一般体系结构和行为,同时隐藏了底层平台;平台特定模型通过添加与特定平台相关的信息来细化上一个模型。源于这些原则,DICE Profile 将考虑三个抽象层,称为 DPIM、DTSM、DDSM。DICE 平台独立模型 (DPIM) 支持指定源数据格式、计算逻辑同步机制和质量要求。DICE 平台和技术特定模型 (DTSM) 是对上一个模型的细化,它包括一些技术特定概念,既用于计算逻辑,也用于数据存储。最后,DICE 部署特定模型 (DDSM) 是对 DTSM 的进一步专门化,它包含所使用技术的完整信息以及应用程序部署。
动机
我们介绍了 DICE 配置文件、其基础和其体系结构;我们概述了如何在进一步的软件开发阶段利用 DICE 配置文件模型。DICE 配置文件深深植根于另外两个配置文件,即 MARTE 和 DAM,并且已结构化为类似于 MDA 标准的不同的抽象级别 (DPIM、DTSM、DDSM)。在构建过程中,我们遵循了最先进作品推荐的指导流程,用于构建质量配置文件。DICE 配置文件已在 Papyrus UML 中实现并集成,Papyrus UML 是一款基于著名的 Eclipse 集成开发环境的 UML 建模工具。DICE 域模型和 DICE 配置文件在其相应的存储库(即 DICE-Models Repository 和 DICE-Profiles Repository)中以开源许可证公开提供。将来,我们将专注于 DICE 配置文件的持续验证。
为了构建一个技术上正确的高质量 UML 配置文件,该配置文件涵盖了根据数据密集型应用程序和相应的大数据技术所需的必要概念,需要遵循几个步骤。首先,需要为每个抽象级别,即 DPIM、DTSM 和 DSM,提供概念模型。我们通过仔细审查用于建模数据密集型应用程序的抽象概念来执行此步骤。因此,我们获得了 DPIM 级别的抽象,然后构成了 DPIM 级别上的 DICE 域模型,第 4 节介绍了这种模型。后来,我们审查了 DICE 针对的不同的 Big Data 技术(例如 Hadoop、Spark 或 Storm),并定义了感兴趣的抽象,从而获得了 DTSM 级别的 DICE 域模型,出于空间原因,本文未报告此模型。作为第二步,我们意识到需要引入用于质量评估的新概念,因为 DICE DPIM 域模型最初只提供用于描述架构视图的概念。因此,我们在文献中搜索了利用质量问题的现有 UML 配置文件,并决定合并 MARTE 和 DAM。我们的任务是从 MARTE 和 DAM 的域模型中选择那些支持我们对评估的特定需求的元类。后来,我们研究了如何集成这些元类和已经开发的 DPIM 域模型。因此,我们获得了最终的域模型,该模型集成了所有需要的功能:DPIM 级别的应用程序抽象和用于质量评估的行为抽象。作为第三步,定义了 DPIM 级别的 DICE 配置文件。遵循关于配置文件构建的技术建议,我们需要将 DPIM 域模型中的概念映射到适当的 UML 配置文件构造器,即原型和标签。特别是,对于 DPIM 级别配置文件,我们设计了:(i) DICE 库,它包含数据密集型应用程序特定类型;以及 (ii) DICE UML 扩展(原型和标签)。目标是为软件设计师引入一套小而全面的原型。作为第四步也是最后一步,我们通过识别一组基于来自不同应用领域(欺诈检测、从社交传感器获取新闻、船舶交通管理)的三个案例研究的要求,并检查配置文件是否满足这些要求,来进行 DPIM 配置文件评估。如果未满足要求,我们将返回到上一步进行细化。因此,我们在配置文件定义中遵循了迭代过程。
配置文件的工作原理
虽然带注释的 UML 模型对于工程师来说既可以指定 DIA 的工作流程,也可以指定其数据特征,但它不适合评估其性能要求。DICE 是一个项目,它遵循模型驱动工程范式,旨在定义一个质量驱动框架,用于利用大数据技术开发 DIA 应用程序。DICE 的一个关键资产是所谓的 DICE 配置文件,它提供了使用 UML 和一组额外的原型来设计 DIA 的能力,以表征特定的 DIA 特征。DICE 配置文件模型是 DICE 框架的基石,因为 DICE 工具链利用它们来指导开发人员完成整个 DIA 生命周期(例如,开发、质量分析、部署、测试、监控等)。在本文中,我们介绍了 DICE 配置文件、其基础和其体系结构;我们概述了如何在进一步的软件开发阶段利用 DICE 配置文件模型。DICE 配置文件深深植根于另外两个配置文件,即 MARTE 和 DAM,并且已结构化为类似于 MDA 标准的不同的抽象级别 (DPIM、DTSM、DDSM)。在构建过程中,我们遵循了最先进作品推荐的指导流程,用于构建质量配置文件。