体系结构建模工具SA分析与研究

2011-09-19 08:41罗雪山
电子设计工程 2011年13期
关键词:体系结构知识库视图

陈 鑫,黄 力,罗雪山

(国防科学技术大学 信息系统工程重点实验室,湖南 长沙 410073)

体系结构是描述系统各组成单元的结构、单元之间的相互关系、约束设计和发展的原则与指南。目前,美国以及欧洲发达国家纷纷建立了各国自己用于指导体系机构开发的指南和框架[1]。体系结构的分析、设计和建模的一体化工具与技术,在国外已经比较成熟,其中比较典型的是IBM公司收购和开发的SA(System Architect),系统体系结构建模工具软件,主要是指创建体系结构提供的一种综合性的建模解决方案。本文简单介绍了SA的基本概念,分析了它的主要功能和模块组成。根据体系结构建模开发方法,剖析SA的数据定制开发方法,并对SA功能扩展方法和技术进行了研究。

1 SA软件简介

SA最初是由英国Popkin公司[2]并推出的综合集成建模工具,是企业建模软件的先驱,2005年4月Popkin公司被Telelogic公司收购,2009年IBM把Telelogic产品和Rational产品整合,现在SA已经发展成为一款功能强大的全球最主要的建模与分析评价工具,是系统开发所必需的工具[3]。SA为开发企业架构提供了集成环境,支持DoDAF、MoDAF、NAF、ToGAF、Zachman 等多种企业架构框架和 IDEF、UML、BPMN等多种建模语言,是开发复杂大系统的得力支撑工具。主要提供系统体系结构、需求分解、体系结构仿真、XML体系平台、DoDAF体系结构等模块,实现了作战需求分解、系统体系的建模与仿真、C4ISR体系结构描述。

SA软件由一整套组件组成,这些组件主要用于获取、设计、建模、创建信息系统。所有设计信息存储在一个多用户数据库中,也就是知识库,称为encyclopedia,即为一个体系结构项目。每一个encyclopedia都是创建于SQL Server 2000中的一个数据库。为了方便对encyclopedias管理,SA提供了一个数据库管理工具——SAEM(System Architect Encyclopedia Manager)。SAEM提供了登陆数据库,对数据库进行压缩、备份、查询、重命名、再存储、删除和解锁等功能。

2 SA模块与功能分析

2.1 SA模块

SA主要由以下几大模块组成:

1)SYSTEM ARCHITECT 该模块是SA基本的功能模块,以多用户方式集成各主要领域的建模方法,支持业务流程建模、功能建模、基于UML的面向对象和组件建模、关系数据建模、XML设计及结构化的系统分析与设计等方法,用户可通过浏览器浏览这些建模方法,并通过SA提供的选项来设置这些建模方法,通过设计区域中的图来实现这些建模方法。图由符号和定义组成,图、符号和定义存储在SA的知识库中,知识库则存储在SQL Server,Oracle或MSDE数据库中,允许多个用户同时使用。

2)SA for DoDAF SA针对军事应用领域的信息系统进行开发。最新推出的版本支持DoDAF2.0。大到视图产品,小到每个产品内部的属性内容,都严格遵循DoDAF规范,将DoDAF中涉及到的数据属性固化在产品结构中。SA的DoDAF框架模板将采用不同建模语言、不同描述形式的所有DoDAF产品集成到了一个统一的开发界面中;用单一数据库存储相互关联的产品。不仅能够对体系建模,还能够进行流程仿真,为对目标体系进行分析、评估提供定量化的依据,从而找到现有体系的不足和待建系统对已有体系的作用。

该模块不仅能够满足绘制DoDAF模型,而且还能够把一组相互关联的模型工件管理起来,DoDAF视图内的数据可被其他视图利用,自动生成部分视图,有助于减少建模时间与开销。SA工具支持模型整体信息的一致性。支持OV与SV的关联,可以指派运作节点到系统节点,映射信息交换到系统数据交换,用SV5矩阵把活动与系统功能关联起来,建立运作架构与系统架构之间的可追溯性。

3)SA for DoDAF ABM 目前,SA提供了两种支持DoDAF开发的选项:SA for DoDAF和 SA for DoDAF ABM。ABM(Activity Based Methodology)是基于活动建模的 DoDAF产品的方法论,由MITRE公司创建。ABM的基础是IDEF0。ABM for DoDAF为ABM的相关方面提供自动化,为开发DoDAF产品提供一个架构开发流程,从而节约DoDAF信息捕获和DoDAF建立的时间并提高工具效率。

基于活动的体系结构开发能够使核心体系结构数据形成信息交换和系统数据交换;信息交换和系统数据交换被用来生成作战和系统视图;确保作战视图和系统视图产品的数据一致性;形成高质量的体系结构和分析产品,加速体系结构开发过程。

4)SA Information Web Publisher 该模块是一个强大的报告生成和发布工具,提供了网站开发工具,使用它用户可向Web服务器以网页的形式发布SA知识库中的信息以及这些信息的全面报告,简化用户在不同应用系统和流程之间的转换过程,方便目标用户查看资料库中的复杂模型信息。该模块可使用户选择预置的模板来强调SA所支持的建模,包括EA、BPM、UML和DoDAF等。它使用类似于SA SQL的报告生成系统,允许对知识库中信息(定义、关系和图表信息)进行复杂的横向及树形探查。其向html模板发布的层叠式报告,用户可以改变它的布局、颜色、图像及标识。

该模块支持网络环境下多用户工作,一个用户运行该模块时,会认为其他用户可能会修改信息,因此,为生成稳定的报告,需要对用户自己的知识库备份,然后通过备份发布信息。

5)SA Compare 该模块是一种特有的知识库管理工具,用户可以使用它去比较两个知识库,也可以对同一知识库的不同架构模型进行数据元素比较,通过比较不同的情况,方便用户更好地理解变更后的结果,用来发现不一致及差距。它主要是将每个知识库转换为XML文件进行比较,也可以产生单个比较的XML文件。该模块可根据图或定义的类型选择比较的内容,用基于树形结构实现图对图、符号对符号和定义到定义的对比,例如可选择比较两个知识库的全部内容,或仅仅比较用例图或实体定义等。该模块以Web浏览器的形式提供比较的结果,并使用不同的颜色提醒用户有哪些不同。

6)SA Simulator II 该模块是流程仿真工具,支持用户建立动态流程模型,用图表形式准确地显示仿真结果和业务处理情况。条形图显示利用率水平、一个流程内各活动的等待时间,能快速发现瓶颈和弱点,饼形图和电子表显示成本信息。该流程仿真工具支持BPMN、IDEF和流程图建模方式,支持业务目标到业务流程的过程模拟,支持动态图形化显示利用率;通过自定义图形模型和图标有效地使业务处理可视化;其预测、暴露瓶颈和利用率功能让用户能最佳地设计业务流程,从而改善流程,并通过改善流程降低成本;通过仿真使用户更好地计算运营风险、计算意外故障率,提高业务风险可视性;确认系统配置和服务等级协议前,对流程设计进行测试和优化,以此降低实施成本和减少差错;资源配置文件和换班日历可以准确地反映工作情况。

2.2 SA功能分析

在实际使用SA软件基于DoDAF框架进行体系结构建模时,会经常使用到SA软件的一些重要的功能,针对主要软件功能进行分析:

1)图形化产品绘制 SA软件对于不同的视图产品提供了不同的控件。直接使用这些控件的组合就可以方便地绘制图形化产品。在添加图元和连接线的过程中,可以对图元和连接线的属性进行添加和设置,使得这些图形元素附带着各种相关信息,便于查看和属性信息的生成。

2)企业探查视图 企业探查视图可以对企业架构进行分析性的探查。这是一种类似于蛛网状的视图,用户可以通过这种视图对当前的架构组织的关系内容进行图形化的探查。在企业探查视图中,如果企业架构发生变更,用户可以直观地看到这个变更所带来的影响度。用户可以创建一个企业探查视图来反映业务流程是由哪些应用系统来实现的,这些应用系统又是运行在哪些服务器上。如果业务流程发生改变,用户就可以迅速地观察到相应的服务器所发生的变化。企业探查视图可以显示架构组织中的对象(包括视图、符号和定义)以及它们之间的关系。对象之间的相关性可通过SA进行显示,常采用“使用”,“包含”,“定义”,“父关系”,“子关系”等词语。

3)关联矩阵生成 SA提供了一组矩阵编辑器,使得分析人员在绘制视图之前可以先输入一些信息,表明模型元素之间的相关性。在矩阵中,分析人员可以分析问题的影响度以及信息的相互依赖关系。SA软件所提供的矩阵功能分为两种:一种是通过图形中的属性信息和图元之间的关系,自动生成的矩阵报表。如:SA可以根据OV2与OV5自动构建OV3,同样可以根据SV1与SV4自动生成SV6等;另一种是通过矩阵浏览器,对矩阵打开进行编辑,将行和列之间有关联关系的位置进行标注,如:SV3、SV5等。

4)报告生成 SA软件提供了3种报表和文档生成系统。第1种是Reporting System,提供大约150个预定义报表。用户也可以通过报表自定义图形用户界面建立自己所需报表生成模板。第2种是Microsoft Word Reports,SA在安装时,在Word模板路经下装载了很多预定义Word模板。运行报表时,用户可以新建或打开一个已经存在的Word文档,并选择一个SA预定义模板,然后在打开encyclopedia的情况下,运行Word模板报表生成功能。第3种是HTML Generator,SA自带的“HTML Publisher”生成器可以使用户自动生成上下文相关的encyclopedia中图形的HTML格式报表。

5)一致性检查 在使用SA软件绘制多个图形化产品时,由于图与图之间的各种属性存在着关联关系,对于这样相关性应该有一致性检查机制进行保证。SA的一致性检查主要体现在父子图之间的平衡功能,对于父图中某些图元节点的输出和输入在子图相应的节点上应该有同样的输出和输入,通过平衡功能可以保证他们输出、输入的一致性。由于SA是以数据为中心的建模产品,对某个图元定义的一个属性数据,可供其他产品编辑调用,在操作中直接选用“choice”项中列出的已有数据就可以实现这种一致性。

6)使用数据建模设计数据库 SA提供了业界领先的数据建模能力,包括对模型和主题的支持,区分逻辑的和物理的图表,以及样式表的生成和反向数据工程。还提供了全面的相关数据建模能力。数据架构师和数据库管理员可以通过使用逻辑和物理模型,样式表生成和反向数据工程的方法来设计和维护数据库,还可以在不同的物理模型,不同的数据库以及不同的模型和数据库之间进行同步。对逻辑数据建模的支持包括从可管理的主题域中区分设计,或自动地把一组主题域相加到主模型视图。SA可以根据你的逻辑数据模型自动地生成物理数据模型并对应到具体地关系型数据库中。事实上,一个逻辑模型可以作为许多物理模型,每个物理模型均可对应一个数据库实体。所以,用户应该通过维护逻辑模型来体现对业务需求地理解;通过维护物理模型来考虑对关系型数据库部署的约束。

3 SA功能扩展研究

SA可通过多种方式进行扩展和定制,其中功能最强大的是使用脚本语言扩展元数据定义文件。SA中提供了元模型,由元数据负责存储模型库,SA的对象模型是建立在其元模型基础之上的[4],对元数据进行扩展,就能对SA的模型库进行扩展,从而对SA建立的体系结构模型进行扩展和定制。

3.1 SA元模型组成及各部分关系

SA元模型的组成元素主要包括:Diagram、Symbol、Definition、MetaItem、MetaProperty以及基本数据类型。

1)Diagram 定义产品(模型),由 Symbol以及 Definition组成。

2)Symbol 定义了模型元素的表示,可以是任意的矢量图形,也可以是位图和其他形式的图,主要是能清晰、准确地表示模型元素的含义。

3)Definition 定义了模型元素的具体含义,Definition的具体描述由MetaItem和MetaProperty组成。对于可视化模型元素,Symbol和Definition的组合就构成了该模型元素的完全表示,一个表示可视化的图形,一个表示本质含义;对于非可视化模型元素,可以由Definition给出其本质含义。

4)MetaItem 描述Definition的组成项。

5)MetaProperty 描述模型元素的具体属性。

6)基本数据类型 包括 Text、Date、Numeric、Expression、Time等。它们是描述其它属性的基本内容。

元模型元素之间的关系如图1所示。

图1 元模型结构图Fig.1 The configuration show of meta-model

从元模型结构图可知,任何一种建模方法可以用Diagram表示,Diagram的Name就是该建模方法实例的名称,而Type就是这种建模方法的类型,Symbol定义了所有图元,Definition定义了相应图元的模型含义以及非可视化图元的模型含义。Symbol定义了模型元素图元的属性。相应图元的模型元素本质含义由Definition进行定义,Definition进一步由MetaItem定义,MetaItem由若干MetaProperty定义。MetaProperty就是相应建模方法模型元素属性的最终定义地方,每一个属性对应一个MetaProperty。

3.2 SA元模型数据扩展

SA提供了2个元模型数据文件以支持用户定制与扩展SA应用,这2个文件为:元数据系统文件SAPROPS.CFG和元数据用户扩展定义文件USRPROS.TXT[5]。当SA软件打开一个体系结构模型时,先将SAPROPS.CFG文件读入,然后读入USRPROS.TXT文件,两者结合生成 SAPROPS.BIN文件。USRPROS.TXT文件的优先级较高,将对 SAPROPS.CFG文件中进行覆盖。SAPROPS.BIN文件将元数据展现给用户。由此实现用户定制与扩展SA模板功能。

USRPROPS.TXT元数据扩展的规则如下:

1)USRPORPS.TXT 文件中的条目是对 SARPOPS.CFG 文件的添加或替换;

2)USRPORPS.TXT 文 件 中 的 条 目 必 须 以 LIST、RENAME、DIAGRAM、SYMBOL或 DEFINTION等 描 述 语 句开头;

3)USRPORPS.TXT文件是附加于 SARPOPS.CFG文件的,其条目在应用中都是附加于SARPOPS.CFG文件相关条目的末尾;

4)除非包含CHAPTER命令,USRPORPS.TXT文件条目附加于相关对话框的末尾;

5)如果SARPOPS.CFG文件中已有相同的CHAPTER命令段,则USRPORPS.TXT文件中相同CHAPTER命令段下的条目将附加于末尾;

6)如果SARPOPS.CFG文件中已有相同的GROUP命令段,则USRPORPS.TXT文件中相同GROUP命令段下的条目将附加于末尾;

7)GROUP命令将会生成一个标准 Windows分组框,GROUP中所有的条目都必须列于其中;

8)如果分组在SAPROPS.CFG文件中使用了PLACEMENT命令,则在USRPORPS.TXT文件中附加于此分组的属性也必须使用PLACEMENT命令。

4 结 论

SA作为一套综合多种建模方法的工具,集成了业务流程建模、数据建模、对象建模、业务流程仿真等多种功能,在国外特别是美国有着大量的成功案例。本文从SA的基本组成出发,以SA软件的功能和模块为基础,研究和归纳了如何利用SA这个国外先进成熟的体系结构分析、设计与建模工具进行定制和扩展,探讨了体系结构产品的应用扩展问题。

[1]DoD Architecture Framework Working Group.DoD Architecture Framework Version 2.0[M].US:Department of Defense,2009.

[2]Popkin Software Corporations.Popkin Software's New Event[EB/OL].[2002].http://www.Popkin.com/newsandevents/newsandevents.htm.

[3]Popkin Software.Popkin System Architect Help[M].[S.1.]Popkin Software,2004.

[4]姜军.可执行体系结构及DoDAF的可执行化方法研究[D].长沙:国防科学技术大学博士论文,2008.

[5]Popkin Software.System architect USRPROPS extensibility guide[M].Popkin Software,2004.

[6]Popkin Software&Systems.System architect VBA extensibility guide[M].[S.1.]Popkin Software&Systems,2004.

猜你喜欢
体系结构知识库视图
基于TRIZ与知识库的创新模型构建及在注塑机设计中的应用
5.3 视图与投影
视图
Y—20重型运输机多视图
SA2型76毫米车载高炮多视图
基于粒计算的武器装备体系结构超网络模型
高速公路信息系统维护知识库的建立和应用
作战体系结构稳定性突变分析
基于Drupal发布学者知识库关联数据的研究
基于DODAF的装备体系结构设计