转载

一种复杂体系架构设计新范式

编辑推荐:

文章体现了复杂体系架构设计的内涵发生了变化。传统的架构描述(系统)组成、关系以及指导(系统)设计和演化的原则和指南。

本文来自于《科技导报》,由火龙果软件Anna 编辑、推荐。

架构方法是解决大型复杂信息系统分析设计问题的一种行之有效的手段。这一概念最早来自于建筑领域,表示建筑样式,后来拓展到计算机领域用以表示计算机的构成模式。20 世纪 80 年代,Zachman 把架构方法引入信息系统领域,并逐渐在军事和民用领域获得极大发展。

随着信息与网络技术的飞速发展,旨在解决多系统集成与交互问题的概念——体系(system of systems,SoS)被提出来,成为研究人员关注的对象。体系概念及方法旨在解决传统系统科学方法无法解决的众多系统在网络环境中的集成、交互、演化与发展问题。架构方法的核心思想是多视图方法,也就是从不同利益相关者的角度认识和分析研究对象,将复杂问题分解为一系列简单问题,通过简单问题解的综合得到复杂问题解。因此,架构方法比较适合复杂体系的特点和设计需求。

作为系统设计的主要内容,架构设计通常也是采用结构化、面向对象和面向服务等传统的系统分析与设计方法来开展。但是对于大型复杂体系,这些设计架构的方法存在明显不足。因为复杂体系的动态性,体系时刻处于生长演化之中,不能像对待系统一样,在一个时刻把整个旧体系更新为一个新体系。“新”和“旧”是相对体系成员或成员间关系而言的。新成员会不断加入体系,老成员则会逐步退出体系。

因此需要重新认识复杂体系的架构,明确其内涵组成,理清复杂体系架构设计的内容,并提出适应体系架构特点的新的设计范式。

对复杂体系架构设计的认识

1990 年,IEEE STD 610 12 把架构定义为“系统或其组成部分的组织结构”。1995年,美国国防部基于IEEESTD 610 12 的架构定义,将架构重新定义为“各组成单元的结构、它们之间的关系以及制约它们设计和随时间演进的原则和指南”。2000 年,IEEE STD1471—2000又将架构定义修改为“架构是描述系统组成单元的基本结构,它们之间、它们与环境之间的关系,以及指导系统设计与扩展的原则”。

从以上定义可以看出,架构设计主要完成 3方面的工作:一是确定研究对象的组成单元,也就是从功能、能力、物理实现、信息等多个层面明确研究对象的组成要素;二是组成单元之间的关系,具体包括逻辑层面的约束影响关系、信息层面的输入输出关系、物理层面的数据接口关系等;三是系统在设计过程中和未来运行时应该遵循的原则和准则,具体包括技术标准、业务规程和管理规范等。

对传统的系统来说,以上三方面的设计内容都是确定性的,也就是在设计完成后,系统组成单元、组成单元关系、系统与环境的关系、系统演化更新的原则策略等,都确定下来了。接下来的工作就是如何落实架构设计、如何组织详细设计和实施了。

但是对复杂体系而言,以上三方面的内容却出现了新的内涵,在设计时会遇到新的问题。

1)设计体系组成单元。体系的开放性决定了体系组成成员不是恒定不变的,而是随着时间的演进而发生变化,会有新的体系成员加入体系,也会有老的体系成员退出体系。传统系统设计时会明确未来目标系统的组成,也就是在未来指定的时间点,系统的组成基本上会体现现在的设想和考虑,即使有偏差也不会大。但对体系而言,这点是做不到的,或者说从物理层面是不可能确定出体系在未来特定时刻的成员组成的。就如一个社会、企业或组织,我们不能提前设计好未来一定会有张三还是李四。这个问题让我们重新审视,组成单元设计的内涵和范畴是什么?在体系设计中,应该选择哪种形式,或在哪个层面开展体系组成单元的设计。

2)设计体系组成单元间的关系。如果组成单元都不能确定,组成单元间关系又会体现为什么?而且体系的多态性和开放性决定了体系在运行时是按照所承担的任务、动态选择成员进行组织运用的。这就决定了体系成员间的关系是动态的、任务相关的。传统系统设计中组成单元间确定的信息交互、数据接口等关系,在体系设计时又会有什么新的表现形式?

3)设计应该遵循的原则和准则。这里的原则和准则既包括约束架构设计活动的,也包括约束未来体系运行的原则准则,重点是后一类。由于体系任务和环境会发生变化,体系成员和成员间的关系也随着体系运行而不断发生演化,因此约束体系运行的规则和准则也是多样化的,既包括长期有效的原则和准则,也包括应对随着体系运行所出现新问题的原则、准则和策略,这些原则、准则和策略不能在体系架构设计时就完全确定,因此在体系架构设计时,要完成一部分元原则、元准则和元策略的设计,以此指导体系运行过程中需要的准则和策略的按需生成。

可见,复杂体系架构所描述的体系成员多样、体系规模大、体系成员间关系类型多、成员间关系动态不确定,因此复杂体系架构动态、不确定性高,架构设计、治理与演化交织。复杂体系架构设计和治理时,存在设计组合爆炸、整体架构缺乏弹性、分系统最优并不一定整体最优、先设计再建设造成适应性不足等问题。因此复杂体系的架构设计问题要远比系统架构设计要难。复杂体系的异构性、分布式、规模大、范围广、动态性、适应性、人在环路等特点,要求我们采用创新的方法来解决体系架构设计和演化控制问题,需要创新符合复杂体系特点的架构设计范式。

复杂体系架构设计的新范式

上述分析体现了复杂体系架构设计的内涵发生了变化。传统的架构描述(系统)组成、关系以及指导(系统)设计和演化的原则和指南。但是复杂体系架构除了描述体系的组成、关系和指导体系设计和演化的部分原则与指南外,还应该对以下问题提出解决方案,包括体系成员加入和退出体系的问题、体系成员动态构建关系的问题以及体系运行和管理规则的问题。

因此,要提出复杂体系架构设计的新范式,可以采用以下的思路。

1)不追求建立体系最终的、完整的目标架构,而是设计一个初始架构和反映体系目标愿景的宏观、概要的目标架构,以及形成符合最终目标愿景的体系组织、运行、演化的准则、规则及策略的方法。

2)上述准则、规则和策略不完全是设计者事先确定的,而是适应体系运行情况、环境变化情况和任务变化情况得到的,因此从时间上看是一组变化的准则、规则及策略集。

3)准则、规则和策略的调整更新,是复杂体系“智能”演化的结果。这里的智能体现在体系根据运行数据和领域知识等信息,通过模型驱动和数据驱动相结合的技术,形成更合适的准则、规则和策略。

这样,就把复杂体系架构设计的重点从组成单元、单元关系转到了规则、准则和策略的设计上,如图 1所示。

一种复杂体系架构设计新范式

图 1 复杂体系架构设计内容的变化

对复杂体系而言,任何想事先把所有规则、准则和策略都设计好的想法都是不现实的,因为不管多好的原则、准则和策略,在体系运行一段时间后,由于不确定性和随机性的作用,必然会出现一些偏差,出现这些原则、准则和策略不能解决的问题,这时就需要对这些原则准则和策略进行调整或更新,这些调整或更新的机制是必须的,是体系得以长久良性运行的基础。

建立这样的作用机制,完全依靠人决策是不够的,必须充分发挥现代新技术的作用。大数据、人工智能等新技术的发展突破,为建立上述机制创造了条件,为创新复杂体系架构设计理论提供了机会。通过大数据技术,可以更容易获得大量体系设计、部署和运行的数据,借助人工智能技术,也可以极大增强探索设计空间的能力等,挖掘出所需的各种规则和策略。

充分考虑大数据、人工智能等技术的应用,本文提出采用模型和数据混合驱动的复杂体系架构设计新范式,如图 2所示。其中大数据引擎采集并管理体系运行数据,人工智能引擎在基于大数据分析结果、体系运行机理模型和领域知识模型进行学习、推理,形成更加适合体系当前运行状态和长远目标的规则、准则和策略,并以此反作用于体系的运行。

一种复杂体系架构设计新范式

图 2 复杂体系架构设计的新范式示意

建立复杂体系架构设计新范式的问题

为构建上述体系设计新范式,必须解决好以下 3个问题。

1)复杂体系如何表征的问题。开展体系架构设计的前提,是要对体系有充分的认识并进行适当的表征。这里的表征包括两个层面的含义:一是对复杂体系组成及关系的描述;二是对复杂体系核心特征及度量指标的刻画。体系组成及关系的描述为我们认识体系、刻画体系提供手段,体系特征及度量指标则为人们设计架构和治理体系提供了准则和依据。

2)复杂体系的运行机理问题。按照计算认知理论,智能或心智等同于“心理表征+计算程序”。对体系而言,体系的智能可以通过“体系表征+体系计算程序”来实现。这里的体系计算程序就是体系如何认识环境、处理各类数据信息、做出决策并进行应激反应的机制。从体系成员的角度看,这里的机理包括自学习、自决策、自组织、自同步、自适应的机理,从体系整体的角度看,包括互连通、互操作、互认知和互协作的机理。需要研究清楚这些机理的作用过程、规律等内容,这是后续开展架构设计和演化方法研究的依据。

3)复杂体系架构设计与演化问题。在上述复杂体系架构设计新范式及内涵的界定下,体系架构设计哪些内容、如何表述、用什么方法设计、设计过程如何等,都需要针对复杂体系的特点和新范式的要求来开展专门研究,建立新的方法论并提出新的方法和技术。需要解决的具体问题包括复杂体系架构智能的概念、复杂体系架构框架、复杂体系架构设计规则生成、复杂体系架构空间探索分析等。

复杂体系架构设计新范式研究面临的挑战

1)复杂体系表征中的复杂性带来的挑战。复杂体系包含成员对象规模大、类型多,成员间关系涵盖信息、物理、能量等多个域,体系的连续行为和离散行为混合,因此选择恰当的方法和变量来描述体系,并建立反映体系核心特征的度量指标,是一件十分困难的事情。虽然张量理论、复杂网络、超网络等技术可以用于描述复杂体系,体系核心特征度量指标也可以用张量或复杂网络相关的指标来定义,但是不确定性因素太多,能否找到合适的表征方法具有很大的挑战性。

2)复杂体系架构设计空间探索的复杂性带来的挑战。复杂体系架构要素和关系的规模极大,这造成复杂体系架构设计空间极其庞大,设计空间探索的复杂性极高,寻找合适的架构方案并确定演化路径是一个NP难非确定性多项式(NP-hard.NP 即non-deterministiodynonial)的问题。基于进化计算等手段虽能处理这类问题,但受规模、编码、速度等因素的制约,能否探索出符合设计要求的体系架构方案,还存在很大的不确定性,因此该问题也有很强的挑战性。

3)非线性给复杂体系运行机理研究带来的挑战。非线性和反馈是体系产生复杂性的重要根源,也是体系行为多样性的根源,复杂体系运行的各种机理就隐藏在各种非线性关系及反馈环路中。因此,在对复杂体系进行恰当表征的基础上,如何分析各类信息、能量、资源等非线性关系及回路,并建立它们与各种体系核心特征及度量指标的联系,挖掘其中的规律,并不是一件容易的事,具有极大的挑战性。

4)人工智能技术应用于架构演化方法研究带来的挑战。大数据和云计算技术的发展,带动了人工智能技术的研究和应用热潮,应用人工智能技术来解决架构的演化问题,使复杂体系自身“智能演进”,调整自身结构、状态以及演化的策略和原则,是一种可以尝试的思路。但与当前热点的深度学习类人工智能技术应用不同(如解决围棋对弈的 AlphaGo等),体系架构智能演进的问题是一个非结构化的问题,边界、环境、任务都具有很高的不确定性,选择何种人工智能技术解决架构智能化的问题还不清晰,即使采用深度学习类技术,也存在一系列难点问题,例如系统架构设计实践中用到的一些规则,来源于设计人员对实践经验的总结提炼,然而对于跨越多个领域的复杂体系而言,这个总结提炼的过程可能会十分漫长,需要付出高昂的成本和花费很长的时间才能收集到足够多的数据或经验,难以及时为复杂体系的设计提供指导;又如,云计算、大数据等技术的发展进步为数据和模型混合驱动挖掘复杂体系架构的设计规则提供了技术上的可行性,但是由于缺乏复杂体系运行数据的标准库,仅借助于典型复杂体系的实际运行数据,或通过仿真实验获取一些仿真数据,以这些数据为基础开展研究,是远远不够的。

结论

从复杂体系的特点入手,分析了体系架构设计内容的变化,提出了一种复杂体系架构设计的新范式,把体系设计的重点从静态的架构设计转变到以规则、准则为核心的“动态”架构的设计上,探讨了人工智能和大数据等新技术在架构设计中的应用,分析了复杂体系架构设计新范式研究和应用中面临的挑战。这种思路的转变,恰恰与中国传统思想认识和应对复杂事物的方式相契合。例如研究和建设复杂体系时,要做到“君子不器”,要更加注重形而上的“道”,而不仅仅是形而下的“器”。这里的“道”,就是体系存在、运行、发展的总机理,要通过人工智能、大数据等这些技术上的“器”,挖掘出体系运行机理这些“道”,进而指导我们的研究和实践。

原文  http://www.uml.org.cn/zjjs/201910182.asp
正文到此结束
Loading...