近年来计算机在各个行业的成功应用极大地提高了相应行业的工作效率,但是随着软件数量的日益增加,如何使相关软件系统协调工作以更有效地完成任务成了人们关注的一个焦点,特别是有些工作本身就需要多种软件系统的相互协作。例如在军事上,为了跟踪外来入侵,需要海陆空三方面的软件系统充分进行信息共享,美国国防部提出的联战远景2010把这种软件协作发挥到了极致,旨在使各军种的软件系统充分合作,取得对敌作战的信息优势。而在商业方面,新开发的软件系统和已有的软件系统之间也需要很好的协作来提高效率,系统互通性就是研究这方面的问题。
1 系统互通性及其困难
1.1定义
研究系统互通性的组织数量众多导致了对系统互通性的定义不统一,有必要介绍一下目前已有的一些比较权威的定义,而后根据本人对系统互通性的理解提出自己的定义。
IEEE和美国国防部(DoD)都给出了多种互通性的定义,代表性的有以下几种:
·两个或两个以上的系统交换信息和使用这些所交换信息的能力;
·两个或两个以上的系统或者组件能够在异构的网络环境下交换信息并且使用这些交换信息的能力;
·系统、单元或者军队提供服务或者从其它的系统、单元或者军队获取服务并且利用这种服务来使他们的运作更加有效。
根据已有定义,我们可以给出系统互通性的另一种定义:
系统互通性是指多个系统之问通过交换信息来提高教率的能力。
在这个定义中没有对系统和信息加以限制,系统可以是同构或者异构的系统,可以是复杂的系统也可以是某一个简单的功能模块,而信息可以是简单的数据也可以是遵循某种语义格式的信息,另外也没有限制系统运行的环境,显然这样的定义能够较好的概括系统互通性研究的领域。
1.2困难
系统互通性的研究起步很早,但是直到现在仍然不能取得令人满意的效果,原因大致有以下几种:
(1)新旧系统的兼容性:有时为了保持新旧系统之间的兼容性,不得不考虑降低新系统之间的互通性;
(2)标准不一致:为了安全或者其他方面的需要,不同组织制定的标准不统一,降低了系统之间的互通性;
(3)即使暂时取得了良好的互通性,但是当需要开发新版本的系统时,维护这种互通性也很匿难。
下面结合该领域目前的研究成果探讨如何提高系统的互通性。
2 系统互通性模型
目前提高系统互通性的研究在两个方面,一个是开发实践方案,另一个则是建立相应的模型。迄今已提出了很多描述系统互通性的模型,这些模型一般都是将系统互通性按照某种标准分为几个层次,每个层次都有若干特征。有些模型同时给出了要达到某个层次需要实施的活动,这样就为构建新系统时考虑互通性相关问题时提供了参照。下面按照模型之间的逻辑关系来介绍一些典型的系统互通性模型。
2.1 NMI模型
北大西洋公约组织(NATO)提出了名为NC3TA的技术体系框架为北约使用的软件系统提供一个公共的技术基础,制定了若干标准、体系结构以及参考模型。NMI是NC3TA五个参考模型中为提高系统互通性而提出来的一种模型,它分为以下五个层次,每一个层次又包括若干子层次:
(1)无数据交换系统之间无物理连接,也没有数据交换。
(2)非结构化的数据交换本层包括人类可理解、非结构化数据的交换,子层次包括:
·网络连通性
·基本文本交换
·基本非格式化消息交换
(3)结构化的数据交换本层包括人类可理解、结构化数据的交换,这些数据可以被人工或者自动处理,但是需要人工参与,子层次包括:
·增强的非格式化信息交换
·增强的文本交换
·网络管理
·目录服务
·数据对象交换
(4)无缝数据共享本层包括自动化的数据共享,这一共享是在某个公共交换模型上实现的,子层次包括:
·格式化信息交换
·公共数据交换
·系统管理
·安全管理
·实时数据交换
(5)无缝信息共享本层通过协同数据处理建立了统一的信息解释,子层次包括:
·公共信息交换
·分布式应用
NMI模型关注的焦点集中在数据的互通性上面,整个模型致力于如何通过把数据的交换和解释结构化和自动化来增强系统的互通性。
2.2 LISI横型
LISI(Levels of Information Systems Interoperability)是由美国国防部下属一个研究C4ISR的工作组提出的一种系统互通性模型,与NMI一样,LISJ也根据系统互通性的成熟度不同分为五个层次:
(1)基于孤立系统的互通性系统之间设有物理连接,数据交换需要手工进行,譬如使用存储介质进行拷贝。
(2)基于可连接系统的互通性在这个层次上,系统之间存在物理连接,简单同构的数据类型可以进行交换,但是没有能力进行数据的集成。
(3)基于功能的互通性分布式环境中基于功能的互通性.在这个层次上能够进行更复杂的多媒体数据交换,这些数据往往是异构的,且可以从多种格式的数据集成得到。
(4)基于领域的互通性集成环境中基于领域的互通性,使用共享且基于特定领域数据模型的应用之间可以进行数据交换,这个层次还支持基于集成信息的群组协同。
(5)基于企业级的互通性在通用环境中基于企业级的互通性,在本层上的系统拥有一个横跨多个领域的统一信息域,数据和应用充分分布和共享,各种数据有统一的解释。这也是系统互通性最高的级别。
LISI模型扩展了系统互通性要衡量的属性,从单纯的考虑数据扩展到同时考虑程序、应用、基础设施和数据(Procedure、Applications、Infrastrure ture and Data:PAID)四个要素,这些特点可以从上面层次的具体内容中看到。同时它提供了为达到某个层次而需要对这四个要素进行定制的方法以及相应的过程,为开发过程中对系统互通性的提高提供了具体的方案。
2.3 OIM模型
NMI模型集中考虑数据的互通性,LISI模型虽然同时衡量PAID四个属性,但是它仍然局限于只是考虑技术上的互通性,从软件系统开发实施的过程来看,除了技术层面的互通性以外,组织操作上的互通性以及外部环境对于整个系统互通性的影响同样需要考虑。基于这一考虑,CCRP的Clark等人提出了组织互通性成熟度模型OIM(Organizational IntemperabilJty Maturity),考虑到与LISI的兼容性等因素,OIM模型也分为五个级别:
(1)组织之间相互独立在这个等级上,组织之间没有任何沟通和互动,这种情况常出现在多个组织没有共同目标但是有时需要交互。
(2)组织之间有随机的互动这个等级上只有有限的组织框架用来支持组织之间随机的互动,有一些规则来指出互通性的要求,但组织问的沟通仍然没有计划性。
(3)组织之间协同工作有相应的框架来支持互通性.为每个组织制定了目标和责任,但是组织之间的界限仍然比较清晰。
(4)集成化组织有共同的目标和评价系统,对整个系统的互通性有共同的理解,同时组织之间仍然有一些界限。
(5)统一的组织组织有共同的目标、评价系统、知识库等,是充分提高系统互通性的理想等级。
OIM模型和LlSI模型侧重于互通性的不同层面,两者之间存在对应级别的一一映射关系,在系统开发实施过程中充分结合两个模型的侧重点可以很好地提高产品系统的互通性。
2.4 LCI模型
Kndreas Tolk考察了上述几种模型后,认为提高系统的互通性应该从多维度着手,提出了LCI(Layers of Coalitiorl Interopembihty)模型。LCI模型将技术可操作性和组织可操作性结合在一个模型中,参见图。从图中可以看出下面四个层次是技术互通性相关的内容,上面四个层次是组织互通性相关的内容,知识,发现层是技术互通性到组织互通性的平滑过度。通过提高每个层次的互通性,可以使得整个系统的互通性得到最大化的提高,在提出上述结构的同时,LCI模型在对应的每个层次上都提出了一些需要解决的问题,从而细化互通性的要求。
2.5 SOSI模型
SOSI(System of Systems Intemperability)模型是由SEl的软件密集型系统集成促进小组提出来的一种互通性模型。除了技术和组织上的互通性外,SOSI模型还关注对系统互通性提高有影响的其他活动,图2概括了与系统互通性有关的活动。
图2中每一个层次对应了一种互通性,其中项目规划互通性关注项目管理中的问题,通过多个项目组互相同步日程和预算、共享风险管理等来提高系统互通性;系统构建互通性则关注构建和维护系统互通性的相关技术,包括共享体系结构元素、遵循共同的标准等;系统操作层次上的互通性是指在多个系统交互环境下对系统的操作,包括定义用户对系统中交互信息的解释、建立与项目管理者的沟通渠道等。
虽然系统互通性模型还有很多种,但是上面介绍的几种模型具有典型特征,从中可以看出这些系统互通性模型有一定的逻辑关系,即从前到后考虑影响系统互通性的因素越来越多,上述互通性模型的逻辑关系可以用图3表示。虽然系统互通性模型存在图中所示的关系,但是并不表示后面的模型可以完全替代前面的模型。正如参考文献所指出的,SOSI模型并不像前面的模型一样根据互通性把系统分成几个等级,所以SOSI不应看作是其他模型的竞争者,同时SOSl模型并没有提供其他模型的细节,还需要进一步加强该模型的功能,但是毫无疑问,SOSI模型代表了提高互通性的一种方向,即提高系统的互通性要考虑系统相关的诸多方面。譬如对SOSI模型的增强包括增加对系统外部环境等因素的考虑,相关政策、措施和工业界标准都是应该考虑的因素。
3 系统互通性的测量
互通性是一个与软件系统多个方面相关的系统特性,对其进行精确的测量非常困难,但是对互通性的测量评价不仅对于提高系统互通性非常重要,而且可以在权衡系统性能和互通性时提供必要的定量依据。对系统互通性的测量需要从多个维度来考虑,系统互通性模型已经给出了很好的框架,许多对互通性的测量方案就是在利用已有模型的基础上进行的。一般可以从下面几个测度标准集合入手来测量互通性:
·技术一致性测度标准
·系统构建测度标准
·系统操作测度标准
·组织和文化测度标准
前三种测度标准在LISI模型中可以找到对应层次,在使用LISI模型进行系统互通性测量时,一般采用记分卡的形式进行,事先按照互通性的不同等级为每个属性赋予一定的分值从而形成一张记分卡,测量系统互通性时对照记分卡的分支为系统打分,最后得出总分即为系统互通性的测量值。这些属性包括系统组件的数量、系统的连通性、接口数量、提供服务数量等等。
组织和文化测度标准关注组织效能以及为提高系统互通性而提供的相应组织手段,一般来说有以下测度要素:
·为相应系统操作培训的人员数量
·具有特定互通性等级的子系统数量
·为完成某个开发任务所需的人时数量
这类测度标准对于提高大规模软件系统之间的互通性有着重要的作用。
根据系统互通性发展的需要,系统互通性的测量下一步的努力方向应是将测量尺度标准化,这样不同系统在进行互通性比较时可以有一个统一的标准,这可以通过建立一个统一的测度模型来完成,需要工业界和学术界的共同努力。另外在构建软件系统时除了考虑系统的互通性外,还需要考虑安全性、性能等其它要素,这些要素之间有时是有矛盾的,需要寻找一个最佳结合点,这也是在提高系统互通性时需要考虑的一个问题。
由于互通性的复杂性,提高系统互通性是一项非常困难的工作。互通性模型的提出给出了一条有益的途径.而根据模型进行的系统互通性测量可以为软件系统构建提供量化尺度,这些都对提高系统互通性有重要意义。本文结合作者的研究介绍了几个典型的互通性模型以及对互通性的测量,并提出了自己的看法。目前互通性还没有一个统一的衡量标准,从而难以在多个系统之间进行比较。如何建立一个标准将是以后研究系统互通性的方向。
近年来计算机在各个行业的成功应用极大地提高了相应行业的工作效率,但是随着软件数量的日益增加,如何使相关软件系统协调工作以更有效地完成任务成了人们关注的一个焦点,特别是有些工作本身就需要多种软件系统的相互协作。例如在军事上,为了跟踪外来入侵,需要海陆空三方面的软件系统充分进行信息共享,美国国防部提出的联战远景2010把这种软件协作发挥到了极致,旨在使各军种的软件系统充分合作,取得对敌作战的信息优势。而在商业方面,新开发的软件系统和已有的软件系统之间也需要很好的协作来提高效率,系统互通性就是研究这方面的问题。
1 系统互通性及其困难
1.1定义
研究系统互通性的组织数量众多导致了对系统互通性的定义不统一,有必要介绍一下目前已有的一些比较权威的定义,而后根据本人对系统互通性的理解提出自己的定义。
IEEE和美国国防部(DoD)都给出了多种互通性的定义,代表性的有以下几种:
·两个或两个以上的系统交换信息和使用这些所交换信息的能力;
·两个或两个以上的系统或者组件能够在异构的网络环境下交换信息并且使用这些交换信息的能力;
·系统、单元或者军队提供服务或者从其它的系统、单元或者军队获取服务并且利用这种服务来使他们的运作更加有效。
根据已有定义,我们可以给出系统互通性的另一种定义:
系统互通性是指多个系统之问通过交换信息来提高教率的能力。
在这个定义中没有对系统和信息加以限制,系统可以是同构或者异构的系统,可以是复杂的系统也可以是某一个简单的功能模块,而信息可以是简单的数据也可以是遵循某种语义格式的信息,另外也没有限制系统运行的环境,显然这样的定义能够较好的概括系统互通性研究的领域。
1.2困难
系统互通性的研究起步很早,但是直到现在仍然不能取得令人满意的效果,原因大致有以下几种:
(1)新旧系统的兼容性:有时为了保持新旧系统之间的兼容性,不得不考虑降低新系统之间的互通性;
(2)标准不一致:为了安全或者其他方面的需要,不同组织制定的标准不统一,降低了系统之间的互通性;
(3)即使暂时取得了良好的互通性,但是当需要开发新版本的系统时,维护这种互通性也很匿难。
下面结合该领域目前的研究成果探讨如何提高系统的互通性。
2 系统互通性模型
目前提高系统互通性的研究在两个方面,一个是开发实践方案,另一个则是建立相应的模型。迄今已提出了很多描述系统互通性的模型,这些模型一般都是将系统互通性按照某种标准分为几个层次,每个层次都有若干特征。有些模型同时给出了要达到某个层次需要实施的活动,这样就为构建新系统时考虑互通性相关问题时提供了参照。下面按照模型之间的逻辑关系来介绍一些典型的系统互通性模型。
2.1 NMI模型
北大西洋公约组织(NATO)提出了名为NC3TA的技术体系框架为北约使用的软件系统提供一个公共的技术基础,制定了若干标准、体系结构以及参考模型。NMI是NC3TA五个参考模型中为提高系统互通性而提出来的一种模型,它分为以下五个层次,每一个层次又包括若干子层次:
(1)无数据交换系统之间无物理连接,也没有数据交换。
(2)非结构化的数据交换本层包括人类可理解、非结构化数据的交换,子层次包括:
·网络连通性
·基本文本交换
·基本非格式化消息交换
(3)结构化的数据交换本层包括人类可理解、结构化数据的交换,这些数据可以被人工或者自动处理,但是需要人工参与,子层次包括:
·增强的非格式化信息交换
·增强的文本交换
·网络管理
·目录服务
·数据对象交换
(4)无缝数据共享本层包括自动化的数据共享,这一共享是在某个公共交换模型上实现的,子层次包括:
·格式化信息交换
·公共数据交换
·系统管理
·安全管理
·实时数据交换
(5)无缝信息共享本层通过协同数据处理建立了统一的信息解释,子层次包括:
·公共信息交换
·分布式应用
NMI模型关注的焦点集中在数据的互通性上面,整个模型致力于如何通过把数据的交换和解释结构化和自动化来增强系统的互通性。
2.2 LISI横型
LISI(Levels of Information Systems Interoperability)是由美国国防部下属一个研究C4ISR的工作组提出的一种系统互通性模型,与NMI一样,LISJ也根据系统互通性的成熟度不同分为五个层次:
(1)基于孤立系统的互通性系统之间设有物理连接,数据交换需要手工进行,譬如使用存储介质进行拷贝。
(2)基于可连接系统的互通性在这个层次上,系统之间存在物理连接,简单同构的数据类型可以进行交换,但是没有能力进行数据的集成。
(3)基于功能的互通性分布式环境中基于功能的互通性.在这个层次上能够进行更复杂的多媒体数据交换,这些数据往往是异构的,且可以从多种格式的数据集成得到。
(4)基于领域的互通性集成环境中基于领域的互通性,使用共享且基于特定领域数据模型的应用之间可以进行数据交换,这个层次还支持基于集成信息的群组协同。
(5)基于企业级的互通性在通用环境中基于企业级的互通性,在本层上的系统拥有一个横跨多个领域的统一信息域,数据和应用充分分布和共享,各种数据有统一的解释。这也是系统互通性最高的级别。
LISI模型扩展了系统互通性要衡量的属性,从单纯的考虑数据扩展到同时考虑程序、应用、基础设施和数据(Procedure、Applications、Infrastrure ture and Data:PAID)四个要素,这些特点可以从上面层次的具体内容中看到。同时它提供了为达到某个层次而需要对这四个要素进行定制的方法以及相应的过程,为开发过程中对系统互通性的提高提供了具体的方案。
2.3 OIM模型
NMI模型集中考虑数据的互通性,LISI模型虽然同时衡量PAID四个属性,但是它仍然局限于只是考虑技术上的互通性,从软件系统开发实施的过程来看,除了技术层面的互通性以外,组织操作上的互通性以及外部环境对于整个系统互通性的影响同样需要考虑。基于这一考虑,CCRP的Clark等人提出了组织互通性成熟度模型OIM(Organizational IntemperabilJty Maturity),考虑到与LISI的兼容性等因素,OIM模型也分为五个级别:
(1)组织之间相互独立在这个等级上,组织之间没有任何沟通和互动,这种情况常出现在多个组织没有共同目标但是有时需要交互。
(2)组织之间有随机的互动这个等级上只有有限的组织框架用来支持组织之间随机的互动,有一些规则来指出互通性的要求,但组织问的沟通仍然没有计划性。
(3)组织之间协同工作有相应的框架来支持互通性.为每个组织制定了目标和责任,但是组织之间的界限仍然比较清晰。
(4)集成化组织有共同的目标和评价系统,对整个系统的互通性有共同的理解,同时组织之间仍然有一些界限。
(5)统一的组织组织有共同的目标、评价系统、知识库等,是充分提高系统互通性的理想等级。
OIM模型和LlSI模型侧重于互通性的不同层面,两者之间存在对应级别的一一映射关系,在系统开发实施过程中充分结合两个模型的侧重点可以很好地提高产品系统的互通性。
2.4 LCI模型
Kndreas Tolk考察了上述几种模型后,认为提高系统的互通性应该从多维度着手,提出了LCI(Layers of Coalitiorl Interopembihty)模型。LCI模型将技术可操作性和组织可操作性结合在一个模型中,参见图。从图中可以看出下面四个层次是技术互通性相关的内容,上面四个层次是组织互通性相关的内容,知识,发现层是技术互通性到组织互通性的平滑过度。通过提高每个层次的互通性,可以使得整个系统的互通性得到最大化的提高,在提出上述结构的同时,LCI模型在对应的每个层次上都提出了一些需要解决的问题,从而细化互通性的要求。
2.5 SOSI模型
SOSI(System of Systems Intemperability)模型是由SEl的软件密集型系统集成促进小组提出来的一种互通性模型。除了技术和组织上的互通性外,SOSI模型还关注对系统互通性提高有影响的其他活动,图2概括了与系统互通性有关的活动。
图2中每一个层次对应了一种互通性,其中项目规划互通性关注项目管理中的问题,通过多个项目组互相同步日程和预算、共享风险管理等来提高系统互通性;系统构建互通性则关注构建和维护系统互通性的相关技术,包括共享体系结构元素、遵循共同的标准等;系统操作层次上的互通性是指在多个系统交互环境下对系统的操作,包括定义用户对系统中交互信息的解释、建立与项目管理者的沟通渠道等。
虽然系统互通性模型还有很多种,但是上面介绍的几种模型具有典型特征,从中可以看出这些系统互通性模型有一定的逻辑关系,即从前到后考虑影响系统互通性的因素越来越多,上述互通性模型的逻辑关系可以用图3表示。虽然系统互通性模型存在图中所示的关系,但是并不表示后面的模型可以完全替代前面的模型。正如参考文献所指出的,SOSI模型并不像前面的模型一样根据互通性把系统分成几个等级,所以SOSI不应看作是其他模型的竞争者,同时SOSl模型并没有提供其他模型的细节,还需要进一步加强该模型的功能,但是毫无疑问,SOSI模型代表了提高互通性的一种方向,即提高系统的互通性要考虑系统相关的诸多方面。譬如对SOSI模型的增强包括增加对系统外部环境等因素的考虑,相关政策、措施和工业界标准都是应该考虑的因素。
3 系统互通性的测量
互通性是一个与软件系统多个方面相关的系统特性,对其进行精确的测量非常困难,但是对互通性的测量评价不仅对于提高系统互通性非常重要,而且可以在权衡系统性能和互通性时提供必要的定量依据。对系统互通性的测量需要从多个维度来考虑,系统互通性模型已经给出了很好的框架,许多对互通性的测量方案就是在利用已有模型的基础上进行的。一般可以从下面几个测度标准集合入手来测量互通性:
·技术一致性测度标准
·系统构建测度标准
·系统操作测度标准
·组织和文化测度标准
前三种测度标准在LISI模型中可以找到对应层次,在使用LISI模型进行系统互通性测量时,一般采用记分卡的形式进行,事先按照互通性的不同等级为每个属性赋予一定的分值从而形成一张记分卡,测量系统互通性时对照记分卡的分支为系统打分,最后得出总分即为系统互通性的测量值。这些属性包括系统组件的数量、系统的连通性、接口数量、提供服务数量等等。
组织和文化测度标准关注组织效能以及为提高系统互通性而提供的相应组织手段,一般来说有以下测度要素:
·为相应系统操作培训的人员数量
·具有特定互通性等级的子系统数量
·为完成某个开发任务所需的人时数量
这类测度标准对于提高大规模软件系统之间的互通性有着重要的作用。
根据系统互通性发展的需要,系统互通性的测量下一步的努力方向应是将测量尺度标准化,这样不同系统在进行互通性比较时可以有一个统一的标准,这可以通过建立一个统一的测度模型来完成,需要工业界和学术界的共同努力。另外在构建软件系统时除了考虑系统的互通性外,还需要考虑安全性、性能等其它要素,这些要素之间有时是有矛盾的,需要寻找一个最佳结合点,这也是在提高系统互通性时需要考虑的一个问题。
由于互通性的复杂性,提高系统互通性是一项非常困难的工作。互通性模型的提出给出了一条有益的途径.而根据模型进行的系统互通性测量可以为软件系统构建提供量化尺度,这些都对提高系统互通性有重要意义。本文结合作者的研究介绍了几个典型的互通性模型以及对互通性的测量,并提出了自己的看法。目前互通性还没有一个统一的衡量标准,从而难以在多个系统之间进行比较。如何建立一个标准将是以后研究系统互通性的方向。
举报