编程:“面向数据的设计”以变化的系统为目标

通过控制工程人员 二七年四月十二日

现有的系统软件设计方法和培训,根植于面向对象的设计原则,正在开始崩溃。当开发人员发现需要年复一年地频繁和意外地重新设计程序的操作限制时,适用于小型系统的方法就会动摇。一个白皮书实时创新公司.认为需要一种不同的范式,一种围绕跨多个系统的公共“共享信息模型”组织的范式。这就引出了“面向数据”的设计原则:暴露数据,隐藏代码。

根据Real-Time Innovations的说法,“从根本上讲,面向对象的思想引导我们以包括强状态假设的紧密耦合交互的方式进行思考。大规模分布式系统通常是由独立各方创建的子系统的混合体,通常使用不同的中间件技术,接口不一致。使用面向对象的思想集成这样的子系统会带来一些基本的挑战:

  • 对于增量式和独立开发来说,它是脆弱的,其中接口可以在没有通知的情况下更改;

  • 在必须在双方之间交换的信息的数量和质量方面,子系统之间经常存在“阻抗不匹配”;

  • 实时动态地适应网络拓扑重构和故障是非常必要的;

  • 在这个动态环境中,可伸缩性、性能和正常运行时间不能总是受到影响。

在白皮书中,RTI讨论了面向数据思维的原则,以及为什么它为解决大规模系统集成提供了合适的范式。他们讨论了中间件基础设施在应用面向数据的设计中所扮演的关键角色,并描述了基于数据分布服务(DDS)中间件标准的通用面向数据的集成体系结构。他们从这个角度分析了流行的体系结构风格,包括数据流体系结构、事件驱动体系结构和面向服务的体系结构(SOA),并认为“它们可以被视为通用的面向数据的体系结构的专门化。”

“廉价和广泛的数据收集‘边缘’设备的日益流行,以及便捷的通信网络(有线和无线)正在将更多的设备和系统编织到我们的日常生活中。”由于计算和存储成本的下降速度持续快于网络成本,趋势是将数据和计算转移到本地,使用数据分布技术在需要时在节点之间移动数据。因此,数据的数量、分布的规模以及集成的复杂性都在快速增长。

“对下一代分布式系统和系统中的系统的要求包括能够支持动态变化的环境和配置,持续可用,即时响应,同时集成跨许多平台和不同系统的数据。如何系统地设计这样的系统和系统的系统?架构师可以利用哪些共同的统一特征来构建可以与其他独立系统集成的系统,同时保持增量演进的灵活性?如何构建能够自我意识和自我修复的系统,并动态地适应环境的变化?”

这些以及相关的主题是白皮书的主题,白皮书使用了一个空中交通管制的例子来演示必须作为一个整体无缝运行的不同系统。本文还说明了如何使用面向数据的集成体系结构在短时间内快速开发实时包跟踪系统的工作演示。信息模型只描述一次。工具链用于跨不同的实现技术转换和操作共享数据模型。

《被蕾妮·罗宾斯控制工程编辑主任
(在这里注册,向下滚动,选择您所选择的免费电子新闻。)