20世纪80年代,我军各种计算机模拟训练系统的研制工作,是以国外同类系统和我军训练经验为两大直接源泉,其中主要是以国外系统为参考进行技术设计后,即展开技术研制,是以各种数学、电子计算机和其他工程技术人员为主体的 。20世纪90年代,提出了系统军事总体设计的概念;21世纪初进一步形成了以军事总体设计为主体的系统设计理论。只有充分理解这些系统设计实践与理论的时代背景和条件、创新思路和意义,以及所存在的局限性,才能够针对当前的现实情况和客观需求,提出系统设计的新概念新思路。
早期我军各种军事信息系统的建设中,由于理论和经验的双重匮乏,往往缺少正规的系统设计,也没有相对独立的系统设计阶段。小型的军事信息系统,技术人员和相关军事人员沟通、了解基本的需求,提出概略的技术设想后,即直接开始软件研发;较为复杂的军事信息系统,则由技术人员根据军事人员提出的各种需求,形成一个总体技术方案,各部分的技术实现人员各司其职,在研发过程中遇到了技术困难再进行讨论、解决。具体实践中,主要可区分为两种不同的基本思路。
第一种,以军事任务和基本过程作为系统设计的依据。主要是由军事人员讲述军事任务和基本过程,结合讲述的内容提出一些具体的工作需要,譬如,研发模拟训练系统时,把作战或演习的任务及过程讲述清楚,研发部队值班勤务系统把日常部队值班的任务及处置过程讲述清楚。技术人员以此为基础,结合各种可用的技术手段来完成总体技术设计。这一思路,既可以使得军事问题“透明化”,为相应军事信息系统的设计提供“军事剖面”;同时,可以将军事问题简单化,可操作性很强。但是,从实践经验来看,这一思路主要存在三方面的问题。一是军事人员对军事问题讲述的准确性、全面性难以保证。以模拟训练系统为例,通常不可能由一个或者少数几个军事人员就将整个作战或演习的任务、过程都讲述清楚,而是需要多个指挥层级、各个指挥要素的相关军事人员分别进行讲述,各自讲述的某些内容可能是重复交叉的,而某些内容又可能是大家都没有讲到的。并且,在当时的条件下,军事人员几乎没有接触过完整的模拟训练系统,因此其讲述的军事问题以及提出的各种工作需要,都难以针对系统建设而言。最终,各个军事人员想到哪些就讲哪些,自己怎么认为的就怎么讲。二是技术人员对军事问题理解的准确性、全面性难以保证。由于计算机技术人员一般不懂军队的战役战术训练,也不了解指挥作业和演习,对此没有任何直观的认识。就算是军事人员反复向他们讲述指挥作业和演习的全过程以及每一个环节,但是由于欠缺基本的军事知识,这样临时性的突击学习军事知识,从根本上违反了军事学习的系统性、实践性规律(也违反一般知识学习的规律),最终,不但不能够解决军事与技术结合的根本问题,还可能对系统建设的方法产生误导。因此,计算机技术人员只能够理解成什么样就设计成什么样,理解多少就实现多少。三是系统的适用性和可用性难以保证。军事人员在讲述军事任务和基本过程时,通常会受到本单位具体任务的局限。技术人员更难以由点及面,举一反三,将具体军事任务及其过程进行抽象化。这就导致研制出来的系统,往往适用范围较小,换一个单位使用或者本单位的任务稍有变动,系统就难以满足使用需求。而要想从根本上解决这一问题,就需要反复地进行大量的同类型系统研制,最终形成适用性和可用性较好的系统,但在现实中几乎是不可能的。因此,这种思路主要用于解决军事信息系统“从无到有”的起步阶段。
第二种,以系统的“军事需求”作为系统设计的基本依据。主要是在系统研制的前期,将军事人员与技术人员“捆绑”在一起,从军事问题描述、使用需求、技术需求等方面来形成较为全面的“军事需求”,技术人员再以此为基础完成技术总体设计,作为后续工程研制的依据。这一思路相对于前一种有了较大的进步,但在实践过程中仍然遇到了一些问题。一是军事人员难以提出完整、具体的军事需求。由于当时军事指挥人员大多不懂计算机技术,不了解计算机有什么特点和功能,能够帮助指挥员和参谋人员具体干什么,因此,对模拟训练系统的期望五花八门,表达的随意性也很大。不同层级、不同岗位的军事人员会提出各种各样的需求,但没有较好的完整性、层次性和可操作性,更难以讲清各种需求的内在本质联系。二是技术人员难以全面、准确地落实军事需求。面对军事人员提出来的军事需求:“实现导演部对参演双方指挥作业的远程监控”“多个部队远程异地演习”“××级指挥员下达命令,系统进行模拟对抗”等。但技术人员往往认为:这些需求要么过于简单,要么过于抽象零散,无法实现。回过头来看,这样的“军事需求”确实反映了部队和院校对于模拟训练系统的期望,也算得上实实在在的需求,而且相当准确与精炼。但是对于工程技术人员而言,仅仅凭借这样一些需求,就设计实现一个实用的模拟训练系统,其困难是可想而知的,需要很多相应的军事知识和计算机技术知识作为支撑。这一思路,对于当时的军事指挥人员和工程技术人员,都要求过高了。在实践中,往往是参照国外某些相似系统(通常资料并不完整),结合宏观的、零散的军事需求来进行系统的设计与研发。等到系统基本成形时,军事指挥人员通过试用才能知道,哪些内容和功能基本适应使用要求,哪些脱离了实际需求,再要求技术人员进行修改,而由于时间、经费的制约以及系统本身结构的限制,通常只能针对某些局部或细节进行修改完善,最终形成勉强堪用的系统。
经过20世纪80年代,我军第一次军事信息系统建设的高潮期,一些负责或参与过系统建设的军事专家,在20世纪90年代初总结经验、教训的基础上,提出了“军事总体设计”这一基本概念 ,对于计算机战役战术训练模拟系统军事总体设计的基本要求、内容和方法、战斗行动模拟的军事设计以及图形设计等进行了探讨,反映了军事信息系统,尤其是模拟训练系统设计与研发的客观需求。军事总体设计是建立在两个重点的基础之上的:军事专家不断积累计算机技术和模拟训练知识、经验;技术专家逐步了解军事指挥和演习训练的基本情况。但是,当时计算机仍然非常稀有,计算机知识远未普及,仅仅是极少数的军事专家掌握一定的计算机技术和模拟训练知识,大多数军事人员对此仍然处于“启蒙”阶段。因此,当时对于系统军事总体设计的研究与阐述,虽然具有开创性意义,一些基本原理当前仍具有一定的参考借鉴意义,但很多具体内容今天看来已经属于科普知识了,譬如,模拟训练系统与指挥自动化系统之间的区别、图形要素及电子地图的制作等。
进入20世纪90年代,在军委新时期军事战略方针的指引下,以高技术条件下局部战争的军事需求为牵引,以总部首长关于训练方法模拟化的指示精神为依据,我军又掀起了研制军事信息系统的热潮,一些合同战役战术训练模拟系统进入部队与院校应用。从20世纪90年代末至21世纪初,有关军事信息系统总体设计的专著陆续出版 。其中,理论体系最为完整、阐述最为清晰的是郭卫平教授主编的《指挥自动化系统军事总体设计原理》。虽然从书名来看,是针对“指挥自动化系统”而言的,但由于郭卫平教授也是20世纪90年代出版的《计算机战役战术训练模拟系统军事总体设计原理》的副主编,所以不仅该书中所阐述的军事总体设计方法对于模拟训练系统是完全适用的,而且在第四编(全书总共包括四编)中系统阐述了“指挥网演习”功能的军事总体设计原理和方法,其实质就是针对模拟训练系统而言的。
军事信息系统的设计可分为三个层次:第一是系统的军事总体设计。这是对系统的军事使用方法及各个军事工作组成部分的总体描述。第二是系统的技术总体设计。这是为了保证系统的军事使用,而对系统的技术实现方法及各个技术组成部分的总体的基本描述。第三是系统的具体技术设计。这是为了保证系统的技术总体设计的实现,而对系统的技术实现的具体方法及各个具体技术组成部分的详细描述 。其中,系统的军事总体设计,就是在系统的最高层次上(顶层),对系统的要素,要素间相互关系和联系,以及系统的全部功能和各要素的基本功能的设计。更概括地讲,“军事使用与军事需求”的总和,实现“全部功能”,包括“全部要素”,包括“全系统结构”的设计,就是系统的军事总体设计 。
21世纪初我军对于军事信息系统设计,尤其是军事总体设计的理论认识,主要是对我军第二轮军事信息系统建设经验、教训的总结和提炼。反过来,军事总体设计这一概念的提出以及完善,对于我军各种军事信息系统的建设,发挥了重要的理论指导作用,使得系统设计与建设水平有了新的进步。但是,如果我们真正从用户的角度来思考,就会发现我军各种军事信息系统,尤其是模拟训练系统的实用性、可信度问题仍然没有得到根本性解决,系统生命力比较短暂,很少真正受到部队和院校使用人员的欢迎。
究其原因,首先固然是由于我军作战模拟主要以“modeling and simula⁃tion”为核心,轻视实践经验和非物质因素(这一点在第一章已有详细论述),同时也与系统设计理论的局限性有一定的关系。具体表现在两个方面:一是造成了军事与技术之间新的“鸿沟”。军事总体设计与技术总体设计的“二分法”,从概念上就让人感觉前者是由军事人员来完成的,后者则是由技术人员负责的。但是,在21世纪前后,虽然参与系统设计的军事人员通常掌握了一定的计算机知识,但主要是基础性技能,并不足以从模拟系统研发的角度形成完整的军事总体设计。同时,军事人员不全面深入地参与技术总体设计,就无法判断技术人员是否准确理解了军事总体设计,以及技术总体设计是否能够有效地满足军事需求,及时纠正可能出现的偏差,最终的结果是技术人员按自己的理解来进行技术总体设计,理解成什么样就设计成什么样,理解到什么程度就设计到什么程度。二是弱化了军事规则与模型的具体设计。在完成军事总体设计之后,就进入到技术总体设计和具体技术设计环节,并没有进一步的具体军事设计环节。而在军事需求分析和军事总体设计中,只对作战行动进行总体分析,并未完整地设计军事规则和模型。这就从系统设计方法与程序上,导致了军事规则与模型的具体设计被弱化,甚至是在军事专家没有完整、准确地进行军事概念建模的前提下,直接由军事运筹人员、计算机技术人员建立各种数学模型,以此来模拟各种作战行动及裁决结果,导致了系统模拟与裁决结果难以令军事人员信服。
同时,时代的发展也对系统设计提出了新的需求。一方面,随着信息化战争形态和联合作战的深入发展,模拟训练系统的复杂性、技术难度大幅提高。只有军事人员与技术人员密切协作,才能够在军事问题分析的基础上,提炼出全面、准确的军事需求,提出合理的、实用的功能要求。同时,技术人员也需要尽早介入到系统设计中,而不能被动地接受和理解所谓的“军事总体设计”。另一方面,计算机技术的迅猛发展,导致软件系统设计与研发的分工更加精细。除了大力加强各个专业技术人员之间的沟通之外,更必要的解决办法是在具体技术设计之前,对系统的总体“技术标准”进行更为详细的设计与规范,否则各个分系统就无法有机地组成统一的大系统,至少无法发挥其全部功能。这个问题已经越来越需要作为一个相对独立的设计环节来对待。第三方面,计算机技术和各种作战模拟系统的广泛应用,使得军事人员能够在一定程度上参与系统技术设计,而数字地图、标图和文书拟制,甚至于三维显示等问题,已经不再是系统设计需要考虑的重难点。另外,兵棋系统的实践性特征,也要求以作战行动规则、模型和数据设计为核心,以科学好用为目的,安排独立的具体军事设计层次。
系统设计“三个层次”理论的局限性,以及时代发展的新需求,呼唤着在军事信息系统设计上提出新的思路和新的概念。经过十多年来参与研发以“modeling and simulation”为核心的传统作战模拟系统,以及设计多款联合战役、战术层级兵棋系统所积累的经验和教训,并参考借鉴国外在系统设计中“顶层设计”概念的目的和作用,我们建立了以“总体设计”为核心的兵棋系统设计新思路。兵棋系统设计区分为两个层次、三个部分,即总体设计和具体设计两个层次,而具体设计又区分为具体军事设计与具体技术设计,如图2.1所示。虽然具体技术设计原则上应该服从和服务于具体军事设计,但这两个部分的内容基本可以并行展开,只需要及时进行对接与沟通。其他军事信息系统的设计,也可以在一定程度上借鉴这一设计思路。
图2.1 以“总体设计”为核心的系统设计思路
兵棋系统的总体设计是指军事人员与技术人员通用合作,针对系统的军事问题及技术实现方法进行总体性的研究与描述。兵棋总体设计又可以分为四个阶段,即在军事需求分析的基础上,设计形成兵棋规则的总体框架,设计完成系统的总体架构,并针对主要功能的实现进行总体设计。其目的是通过总体设计,为军事人员和技术人员的密切协作提供一个具体的抓手,技术人员能够比较全面、准确地把握军事人员的需求和想法,并贯彻在兵棋系统的具体技术设计与研发之中;而军事人员能够比较直观、全局地了解系统最终的组成和功能,及时查找出不符合军事需求和使用方法的问题。通俗来讲,就是先使技术人员明白军事人员想要做出什么样的系统来,再使军事人员明白技术人员准备做出什么样的系统来,两相对照,及时修正。
规则总体框架设计,主要是基于一定的单位分辨率和行动分辨率,对所需要模拟的作战过程进行分解、归并、提炼,确定系统需要支持的作战行动及对应的指令名称,对其进行简要描述,包括可能隐含的作战行动,如遭遇战,并初步确定各种毁伤效果的分类及基本裁决思路。这是具体军事设计,尤其是具体规则、模型、数据设计的基本依据,为具体技术设计提供概略的需求牵引。这一部分内容并没有很复杂、系统的原理论述,主要是结合兵棋推演的目的、层级以及具体的作战任务、样式等进行分解和提炼。一般性的讨论,可以参考借鉴以前的一些专著 。针对性的讨论,则必须结合具体的作战任务、样式来展开,因难以处理保密问题,本书中对此不再专门展开论述。
系统总体架构设计,可以视为系统设计的“总体之总体”。是基于系统体系结构 这一概念及相关理论,结合作战模拟系统,尤其是兵棋系统建设的经验和教训所提出的。其基本思路是基于军事需求分析及规则总体框架,构建直观的功能架构;再针对部署环境和运用方式,提炼形成典型的部署(物理)架构;然后结合具体的设计理念(思路)提出系统的逻辑(组成)架构;进一步完成系统技术架构和通信架构的设计;通常还需要对交互界面及其逻辑关系进行总体设计。总体架构设计,是一个由军事向技术逐步过渡、初步形成系统最终状态及功能的“蓝图”。总体架构设计,可以为军事人员和技术人员提供沟通对接的平台和语境,及时纠正可能出现的偏差,确保系统研发的基本方向和思路正确。
不同类型的兵棋系统,其主要功能存在较大差别;同一类型的兵棋系统,主要功能的区分及描述也可能差异很多。本书主要针对联合战役、战术训练兵棋,将其主要功能归并提炼为推演准备功能、推演实施功能、推演总结功能和基础支撑功能等四部分。主要功能的总体设计,是对以往“技术总体设计”的精简与完善。技术总体设计,没有原理的论述,只是对系统的技术实现方法及各个技术组成部分的基本描述,因此难以形成具有普遍指导意义、可公开出版的著作。而主要功能的总体设计,则是从技术实现的角度,概要阐述各个主要功能子系统(模型),对功能要点进行分析,进而提炼出基本的逻辑思路,初步设计其交互界面。虽然不涉及太多的理论分析与阐述,但其基本思路及内容,具有一定的普遍指导意义和参考借鉴作用。
具体军事设计,不仅是在详细分析作战行动过程及影响因素的基础上,设计作战规则、模型和数据 ,也包括设计各种作战指令的具体参数及输入方式、执行情况报告及行动结果战报,并且还需要设计军事检查验收方案及检验调试的想定。以往的系统设计,尤其是军事总体设计中,军事概念模型的设计往往被忽视,更重视数学模型和程序模型的设计与编写工作 。对于作战指令的参数输入及结果报告与输出,军事指挥人员则很少进行完整、详细的设计。往往是由技术人员根据自己的理解、参考其他系统直接进行研发。这是导致最终研发出来的系统可操作性、用户友好度较差的主要原因之一。具体军事设计,就是针对这一问题而提出来的。
具体技术设计,是以系统的总体架构设计、各项主要功能的总体设计为基础,着重解决所存在的具体技术问题,详细描绘出各个技术要素的细节,可供技术人员在研制工作中进行直接操作。具体技术设计,可以认为是各种计算机技术、通信技术、人工智能技术等在具体兵棋系统中的应用。通常可能包括态势信息显示、数据综合管理、网络通信、规则引擎、地图引擎、态势回放等方面的具体技术设计。哪些方面需要进一步展开具体技术设计,以及各技术要素设计的具体内容,通常都需要结合具体的兵棋研制任务来确定和展开。