UML软件工程组织

UML建模与工作面生产模拟
作者:左秀峰,邵建峰,陶维忠

摘 要:根据UML和建模环境提供的软件提供模型信息,针对采煤工作面生产过程,提出一种基于UML模型的模拟设计方法,并给出应用实例。

关键词:UML;工作面生产;动态模拟

1 UML建模及其相关概念

基于以前各种流派建模语言优点发展过来的“统一建模语言”UML给建模技术带来了重大的影响。UML建模语言从各个视点对软件系统进行建模,并保持各个视点模型之间的一致性,它支持从系统需求、系统分析到系统设计的整个建模过程,提供UML图形的编辑和美化工具,保证得到语法正确、语义完整的UML图形模型,并提供包括文档管理等辅助支持。它不仅支持建立系统的静态模型,还支持描述系统的动态模型。

在系统对象模型中,通过包图、类图和对象图定义系统对象及对象间的静态关系:通过顺序图、合作图和状态图描述对象间的交互关系、对象的生命周期、生命周期中对象可能存在的状态和状态间的转换约束。在系统体系结构模型中,通过组件图和配置图支持软件系统结构和硬件体系结构以及通信机制的定义。

一般来说UML语言建模过程步骤为:

①问题分析采用用例分析方法,得到用例图;

②标识系统中的类和对象;

③标识类之间的关系,确定对象属性、服务,得到类图;

④描述系统中的动态模型和组成对象间的相互关系,得到行为图;

⑤描述对象间的相互关系给出交互图;

⑥给出实现图。

2 工作面生产过程动态模拟

矿井生产系统是一个多工序,多环节、多设备组成的复杂的大系统,加之井下作业环境的特殊性和作业场所的动态性,因而存在着大量的随机因素。综采工作面则是矿井生产系统的一个重要组成部分,它包括工作面采煤机、液压支架、采面刮板输送机、转载机、顺槽胶带机和上(下)山胶带机等各环节。这些环节工作质量的好坏将直接影响到采煤机的开机率,从而影响工作面单产和一系列技术经济指标。综采工作面采煤机开机时间的长短,取决于综采面的工艺过程、生产系统的各环节之间配套以及设备性能、劳动组织和工作人员的技能水平等因素。综采工作面上述各环节在生产过程中所遇到的问题均属随机性事件,充分认识和掌握这些随机事件的分布规律,减少各设备的故障时间,提高采煤机的有效工作时间,对综采工作面高产稳产、提高效率将起到很大的作用。采用计算机模拟可以再现采煤工作面的生产过程,得到人们需要的信息,以便采取改进措施,确定采煤工作面的合理参数和劳动组织等。

3 工作面生产过程UML建模

3.1 UML静态建模机制

采用UML设计系统时,首先是描述需求,然后根据需求建立系统的静态模型,以构造系统的结构。其中主要用用例图、类图等图形来表现,即标准建模语言UML的静态建模机制。

1)用例图

对于系统开发者和用户所理解的系统功能由用例模型来描述。用例被定义为能被指定执行者察觉到系统执行一系列动作。因此从用户的角度来看,用例图是来描述系统功能,并指出各功能的执行者。这对于一个复杂的系统是非常重要的。

针对工作面生产过程可构建五个用例,分别为模拟参数输入系统、模拟控制、模拟计算、模拟结果图形显示和数据管理。执行者有信息输入员、决策人员和管理人员。用例图如图1.

图1 模拟系统用例图                            图2模拟系统对象图及其关系

2)类图和对象图

类、对象及它们之间的关联是面向对象技术中最基本的元素。对一个软件系统,其类和对象的模型揭示了系统的结构,在UML中,类和对象模型分别由类图和对象图来描述。类图定义了系统中的类,描述了类之间的联系(如关联、依赖、聚合),给出了类的内部结构。

工作面动态模拟要达到比较真实的效果,至少具有工作面、采煤机、运输机、支架。采用面向对象的方法模拟时,必须构造工作面、采煤机、运输机、支架等实体对象。采煤机是工作面生产模拟过程中最主要的对象,在生产过程中采煤机可能开动或停机,同时计算采煤机的产量等各项指标,而这些指标正是模拟所需的结果,故采煤机的状态和函数最多,如停机、开机时间的确定函数,采煤机运行时产量、工效的确定等。

系统设计对象如图2.其中,模拟实体对象为工作面对象、采煤机对象等实体;随机数产生对象主要是产生模拟中需要的随机数,如采煤机运行时间等;数据存联对象主要和数据库交互、存取数据,初始化模拟实体对象;模拟控制对象主要是控制模拟程序的进行,如模拟时钟等;Soft3D控件对象主要是实现模拟图形显示。

3)构件图、配置图

构件图描述代码部件的物理结构及各部件之间的依赖关系。它包含逻辑类或实现类的有关信息,构件图可以用来显示编译、链接或执行时构件之间的依赖关系,有助于分析和理解部件之间的相互影响程度。

模拟系统构件图如图3.其中方框表示构件。矢标表示依赖关系。

配置图定义系统中软硬件的物理拓扑结构以及在此结构上执行的软件。它可显示实际计算机和设备以及它们之间的连接关系、连接类型及部件之间的依赖性,也可以显示网络之间的通信路径。特别是在节点内部,可以放置可执行部件和对象以显示节点与可执行软件单元的对应关系。模拟系统配置图如图4.

 

图3 模拟系统构件图                                    图4模拟系统配置图

3.2  UML动态建模机制

通过静态建模以后,接着要描述系统的行为即所建立的模型是否可以执行或者执行时的时序状态及其交互关系。主要用状态图、活动图、顺序图、合作图等来表现,即标准建模语言UML的动态建模机制。以下说明工作面生产过程中的状态图和活动图的设计。

1)状态图

状态图描述类的对象所有可能的状态以及事件发生时状态的转移条件。通常用状态图表示单个对象在其生命周期中的一系列状态以及状态之间的转移。采煤机运行和停止两种状态,在分析过程中通常又将其状态细分为四种状态,分别是准备状态、运行状态、停机状态、结束状态,其中停机的原因有:因自身原因停机、外部设备影响而停机和两种原因同时发生而停机。其状态关系用UML的状态图描述如图5.


 

5  采煤机运行状态图                                图6  模拟系统活动

2)活动图

活动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动。它既可用来描述操作(类的方法)的行为,也可以描述用例和对象内部的工作过程。活动图是由状态图变化而来的,但活动图总是依据对象状态的变化来捕获动作(将要执行的工作或活动)与动作的结果,在一个活动结束后将立即进入下一个活动。活动图对表示并发行为特别有用。

工作面生产过程模拟中,对象活动受模拟控制对象的约束,当模拟时间终止时,将结束模拟活动。由此建立工作面生产过程模拟的活动图模型如图6.

4  模拟系统设计

UML建模方法确定的工作面模拟表明:在知道某一工作面区段长、工作面长、采高等模拟条件值后,按照随机分布原则确定采煤机各状态的时间、运行速度等,就可以对该工作面进行生产模拟。而动态演示则是根据信息库中的基于UML的模型信息,把模拟模型所描述的系统动态行为用动画形式表现出来。它反映模拟模型动态行为的发生过程和执行结果,这样一方面可检查模型本身的正确性,同时可通过执行过程所产生的结果来验证设计模型与需求规范之间的一致性。

4.1  模拟执行过程

①用户界面:负责收集与工作面生产过程相关的信息,并向用户提供一些指导性信息。

②动态执行信息输出:通过多种灵活的表现方式(图形动画、信息框)来输出动态模拟执行过程中产生的各种信息。

③公用模块:提供了模拟执行环境中的公用服务。这个工具可以帮助提取、检查、修改用户需求;可以展示模拟工作的进度;可以交互式地检查模型的信息,以便发现模型中存在的问题。

4.2  软件模型信息的获取

模拟系统所涉及的软件建模环境都是以UML的元模型理论作为基础,获取软件模型信息的方法是按照UML元模型所定义的框架从建模环境中读取信息。包括:类的信息、顺序图的信息、用例信息和对象状态图的信息等。

获取的模型信息的部分内容如下:

1)通过类图获取类信息。

根据实际工作面生产系统和模拟系统对象图,工作面动态模拟的类信息主要包括:

①模拟实体类,即工作面及其配套设备等。

②模拟控制类,即模拟计算、模拟随机数、模拟控制等。

③动态显示类,即soft3d图形控件类。

2)活化图和状态图信息的获取。

完整的用例信息将全面的体现模拟过程的进行情况及模拟要素。模拟系统的各实体活动图和状态图体现了工作面生产的主要过程及联系,它们的信息也就成为用例系统的主要部分。

如采煤机在开采过程中,有准备、运行、停机状态,每个状态都受时间、速度限制,同时采煤机的运行状态还要受到各种地质、人为因素的影响,等等。因此,根据这些因素对生产影响的重要程度可以对它们进行归类统计,形成:

①采煤机随机运行时间;②采煤机随机运行速度;③煤厚,断层等影响;④工人操作影响。

4.3  模拟动作语言的设计

工作面生产过程涉及很多因素,由此在模拟之前要求给出完整的模拟信息。模拟过程中,必须随时记录模拟结果,作为下一阶段模拟的初始条件。模拟结束后,要求计算各项指标。因此要求模拟动作语言必须简洁、灵活以方便动作语言解释器的调用及后继的修改和补充。这里选用记录数组及类的方法解决,利用记录数组保存模拟实体和模拟过程及结果的信息,利用读写并协调调用各类的方法来完成工作面的模拟过程,最终利用模拟保存的数据在soft3D图形控件上将模拟过程动态的显示出来。

4.4  模拟实例

以平顶山十矿己15-22180工作面为例,该工作面的主要参数如表1,2,3所示。

1  该工作面模拟参数表

参数名称

取值

参数名称

取值

长度

134m

施工队

综采一队

人数

147人

走向长

723m

采煤机速度

N(3,0.33)

工艺方式

综采

开、停机时间

(20,40)

煤质容重

1.39t/m3

工作制度

四六制

采高

1.80

交接班时间

15min

 

2  该工作面上煤厚的测点信息表

编号

位置(走向,倾向) (m)

测点处煤厚(m)

1

(20,20)

1.72

2

(130,150)

1.82

3

(420, 62)

1.9

4

(660,180)

1.79

3  该工作面回采范围内断层情况表

编号

类型

落差(m)

倾角(°)

影响长度(m)

1

正断层

1.6

68

65

2

正断层

1.9

41

42

3

逆断层

2.5

45

76

4

正断层

1.4

33

82

 

得出该工作面的模拟曲线图如图7所示。其中,横轴表示工作面走向位置坐标,纵轴表示工作面产量。中间的波动曲线表示工作面每天的产量,最上面的上升曲线表示随着工作面推进模拟总产量递增曲线,当日产量正常波动的同时,当工作面过断层时产量将有明显下降和上升的波动。

通过运行工作面生产过程动态模拟程序,得出的模拟结果与实际生产结果的比较见下表4.

4  实际生产与模拟比较

指标

模拟值

实际值

偏差率

生产天数(天)

196

184

0.065

产量(万t)

18.94

20.4

0.072

开机率

0.266

0.279

0.046

以上结果表明利用此模拟模型准确的预测生产结果,成功的再现煤矿井下生产过程。运用这个模拟程序对平顶山六矿和十矿各工作面进行了模拟和计划编制,结果和实际生产过程基本一致,对后期各面的生产过程有很好的指导意义。

5  结  论

(1)从软件过程的需求出发,通过建立基于UML的综采工作面生产过程模拟模型,迅速、准确地完成了井下工作面生产模拟的类的设计、模块结构设计及详细设计过程,并确保了设计工作的完整性。因此UML设计方法是完成诸如采矿等复杂的、随机性较大的问题的模拟软件设计的理想工具。

(2)影响工作面生产的因素很多,如设备运行、材料消耗、人员分配、断层、瓦斯、水文等,部分因素是可以定量化处理的。工作面的回采模拟主要是通过统计采煤机的运行规律,借助UML建立的模拟模型准确的对矿井未来生产状况进行模拟和预测,这一过程可以消

7  工作面产量动态分析

除如瓦斯、水文等难以定量化的回采因素的影响。

(3)矿业及其它许多行业的各个生产活动同样存在许许多多的不可预见因素,分析统计各种因素的影响,抓住主要影响因素,并综合考虑其他因素的影响,借助UML方法设计这些复杂的、随机性较大的问题的模拟模型,可以有效的进行系统预测和决策。


版权所有:UML软件工程组织