版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于模型的系统工程(MBSE)的案例研究第1部分:IBMRationalHarmony的集中式系统模型建模自出现以来,一直是系统工程的重要组成部分。在过去十年中,工程师们已经大幅增加基于模型的技术的使用,并发展出一门新的学科,基于模型的系统工程(Model-BasedSystemsEngineering,MBSE)。这门学科与传统的系统工程不同,它强调中央系统模型,该模型同时捕捉系统需求和满足这些需求的设计决策。除了作为系统工程的工作构件的知识库之外,还可以通过模拟系统模型来验证成本、性能研究和设计选择。IBMRationalHarmonyforSystemsEngineers等广泛应用的MBSE流程重点关注的是系统功能分析,也就是说,关注如何将功能要求转换为一致的系统操作描述。然后,使用系统操作获得所分配系统架构块之间的端口和接口。这些接口形成了各子系统之间的正式切换的基础。MohitChoudhary,系统工程师,RealTimeTechSolutions2012年3月23日内容本系列的这一部分旨在通过一个案例研究来探讨标准MBSE流程。首先,我们根据UAV(无人驾驶飞机)地面站控制器的设计来拟定这个案例研究的范围。然后,我们会介绍RationalHarmony系统工程流程的基本概念、工作流和工作产品。最后,我们通过定义任务流来实现UAV地面站控制器的设计,同时构造每个阶段所需的构件。案例研究本案例研究基于对少部分UAV地面站控制器的设计分析,这些控制器的功能必须符合表1中的要求。表1.UAV地面站控制器需求需求引用需求01实时飞行中的UAV的信息。(身份和传感器负载)02允许操作员将搜寻区域分配给选定的飞行中的UAV。03以1次更新/秒的频率接收来自UAV的传感器追踪信息。04在系统中保持30分钟的追踪历史。05允许操作员维护包含所采用的系统追踪信息的资料库。06最多维护100条SystemTracks(系统追踪信息)。07允许操作员对系统追踪信息执行生命周期操作(创建/删除)。08每秒更新一次系统追踪信息,如果主传感器追踪信息更新可用,则使用该值进行更新,否则,使用DR的值进行更新。09使系统追踪信息可在显示屏上显示,并绘制其更新。10允许操作员将操作员辅助系统追踪信息与另一台UAV的传感器追踪信息相关联。11允许操作员将两条独立的系统追踪信息合并成一条。12将系统中的重要事件(比如创建和删除系统追踪信息)通知操作员。13允许操作员随时中止UAV搜索。RationalHarmony系统工程中基于模型的系统工程RationalHarmonyforSystemsEngineering使您能够识别并推导出所需的系统功能,还能够确定相关的系统模式和状态。此外,您还可以将已确定的系统功能和状态分配给子系统结构,并确定跨子系统的端口和接口。图1显示了您在每个工程阶段为了完成系统设计而必须执行的基本输入和输出。图1.工程阶段的生命周期用例状态图在下一步中,您可以使用序列图获得端口和接口。获得端口和接口之后,必须在状态图中捕捉用例的状态行为。最后,为了设定用例的黑盒行为的基线,需要执行状态机,并且将生成的序列图与刚才创建为场景的序列图进行对比。本用例的状态机如图5所示。图5.黑盒状态图状态“SearchExecuted”有两个‘and'子状态:“PerformSensorTrackManagement执行传感器追踪信息管理”和“PerformHistoryCheck”。第一个子状态支持追踪信息的建立或更新,第二个子状态清除大于30分钟的传感器追踪信息历史,如果传感器追踪信息没有历史记录,则清除传感器追踪信息本身。架构设计在架构设计阶段,您需要重点关注结构分解,以及如何将操作和行为分配给子系统组件。首先,我们描述了将系统结构性分解成子系统的系统BDD(参见图6),然后我们将获得UseCaseWhite-BoxActivityDiagram,并通过它将用例的操作分配给分解后的子系统(参见图7)。当将系统分解成子块后,它会以关键系统功能的定义为基础。这一阶段的目标是对系统功能进行分组,每个组可以通过一个子系统组件实现。第一步是将相关的系统功能划分为关键系统功能。对于本用例,我们通过用例黑盒活动图的分析,确定了以下三个关键系统功能:管理传感器追踪信息控制人机界面执行历史管理图6.UAV管理系统BDD考虑到要使用一些关键系统功能,我们获得了如图6所示的BDD。因为我们有子系统块,所以接下来的任务是在各个泳道中执行分配操作,以描绘每个独立的子系统块。以下是重要的分配规则:如果您无法将操作分配到单个块,那么必须将操作分解。在这种情况下,已分解的相关业务必须通过各自的依赖关系链接到父操作。您可以将一个系统级的操作分配到多个块。在这种情况下,需要将相关的操作复制到相应的块泳道,并将它们集成到功能流中。图7.白盒活动图图7.白盒活动图图7.白盒活动图在图7中,与操作员交互相关的操作已包含在人机界面(MMI)控制器组件中。同样,与创建、更新和处理传感器追踪信息相关的操作被分配到TrackManager泳道。而与历史数据管理有关的操作都推送到HistoryManager泳道。在将连续流拆分成两个块的地方,可以利用消息操作来表示从一个块到另一个块的转发请求。这种模式的一个示例是,从HistoryManager组件到TrackManager组件的消息操作purgeSensorTrack(),该操作请求后一个组件执行disposeSensorTrack()。现在,已将操作分配给泳道,下一步就是执行具体的架构设计。具体的架构设计在进行具体的架构设计阶段,需要重点关注端口和接口的定义,以及实现子系统块基于状态的行为。为了做到这一点,必须使用白盒序列图确定所子系统块的端口和接口。黑盒活动图的重点是确定不同的系统功能(操作)流,而白盒活动图的重点则是不同子系统之间的协作,同时还要考虑到操作的分配。接收到服务请求定义一个块的接口。在定义了端口和接口后,必须将所产生的每个叶块基于状态的行为捕获到某个状态图中。代理白盒序列图如图8所示。序列图显示一个子系统块为了满足场景而向另一个子系统块请求的服务。图8.白盒序列图图8.白盒序列图图8.白盒序列图我们继续使用白盒序列图来获得子系统之间的端口和接口,并获得代理子系统组件基于状态的行为,如图9、图10和图11所示。图9.MMI控制器状态图10.追踪信息管理器的状态图图11.白盒端口和接口结束语我们描述了如何通过案例研究来应用RationalHarmony系统工程流程。从系统工程切换到后续系统开发的关键构件是一个可执行基线模型。该模型是生成规范文档和操作ICD的资料库。切换包中包含下列项目:可执行子系统模型的基线子系统已分配的操作的定义子系统端口和逻辑接口的定义子系统行为的定义,捕获在状态图中测试场景,从系统级用例场景中获得参考资料学习查看本系列的第2部分:为分布式系统的分析和设计开发以数据为中心的流程SystemsEngineeringBestPracticeswiththeRationalSolutionforSystemsandSoftwareEngineering,作者:HansPeterHoffman;工具书版本访问developerWorks的Rational软件专区,获得RationalSoftwareDeliveryPlatform产品的技术资源和最佳实践。随时关注developerWorks技术活动和网络广播,包括各种IBM产品和IT行业主题。参加developerWorksLive!技术讲座,快速了解IBM产品和工具,以及IT行业趋势。观看developerWorks演示中心,其中包括面向初学者的产品安装和设置演示,以及为经验丰富的开发人员准备的高级功能。提高您的技能。查看Rational培训和认证目录,其中包含了许多广泛议题的课程类型。您可以随时随地学习它们,许多“入门”课程是免费的。获得产品和技术下载IBMWebSphereUDDI注册中心预览版FAQs的Rational软件。以最适合您的方式IBM产品评估试用版软件:下载产品试用版,在线试用产品,在云环境下试用产品,或者在IBMSOA人员沙箱中花费几个小时来学习如何高效实现面向服务架构。第2部分:为分布式系统的分析和设计开发以数据为中心的流程分布式系统本身是面向数据的,它通过数据实体规定子系统边界,并通过特定数据交互来定义系统的动态特性。数据实体及其在分布式环境中的行为是不容忽视的。因此,通过对IBM®Rational®Harmony系统工程流程等典型MBSE工作流中进行功能分析,可以推导出端口和接口(数据交互和属性)的来源,在这种情况下,这种结果似乎比较奇怪。在本文中,我们将探索如何开发适用于分布式系统的分析和设计的MBSE流程。MohitChoudhary,系统工程师,RealTimeTechSolutions2012年3月23日内容在本系列的第1部分中,我们获得了UAV地面控制器的系统设计,我们使用IBMRationalHarmony系统工程作为一个流程,指引我们了解子系统和逻辑接口。不过,分布式系统的设计往往以数据为中心,而数据实体在系统设计中又占据最重要的位置。因此,很显然,我们只好稍微调整一下RationalHarmony系统工程流程,让设计流程把重点放在数据实体上,同时继续将RationalHarmony系统工程等成熟的MBSE流程的优势融入设计中。在分布式系统设计中,使用一个先进的接口语言来定义这些数据交互是有必要的,这样做不仅可以在整个交互过程中确保各子系统的一致性,还可以捕获设置在语言本身中的数据的交互目的和行为。在不断变化的接口规范语言中,类似的步骤是通过OMG数据分发服务(DataDistributionService,DDS)规范(参阅参考资料)实现。在派生的逻辑接口中的子系统之间弹出操作性ICD(界面控制文件)时,标准的RationalHarmony系统工程流程结束时的切换(参阅参考资料)已经足够用,但是,在利用数据分发服务(DDS)将这些逻辑接口映射到信息交换结构时,可能并不简单。在本文中,我们将尝试调整标准的RationalHarmony系统工程流程的工作流,让它支持分布式不协调性,而不是支持RationalHarmony。首先,我们将介绍DDS规范和Problem-frameAnalysis的结构(请参阅参考资料)。然后,我们遵循修改过的MBSE流程中所涉及的步骤,这些步骤及时采用了DDS,并在整个分布式系统的分析和设计过程中体现它。最后,您应该能够通过使用与本文第1部分中相同的案例研究来运行这些步骤。了解DDS和问题框架分析OMG数据分布服务(DataDistributionService,DDS)规范被划分为两个架构层次。下层是以数据为中心的发布和订阅(DataCentricPublishandSubscribe,DCPS)层,其中包含了发布和订阅通信机制的类型安全的接口。上层是数据本地重构层(DataLocalReconstructionLayer,DLRL),它使应用程序开发人员能够在DCPS层上构建本地对象模型,以屏蔽应用程序对DCPS的感知。本文的内容仅限于DCPS的一些特定结构。以数据为中心的发布和订阅DCPS层将数据从发布者传播到感兴趣的订阅者。它的实现所使用的概念是,发布者和数据编写器和在发送端,而订阅者和数据读取器在接收端。DCPS层由一个或多个数据域组成,其中每个域都包含通过DDS进行通信的发布者和订阅者。每对发布者和订阅者都从属于一个域。在所有数据域中,都是根据主题来识别数据,主题是一个类型特定的域段,使发布者和订阅者能够明确地指定数据。在一个域中,每个主题都将惟一的主题名称、数据类型和一组服务质量(QoS)策略与数据相关联。每个主题都与一个数据类型相关联,但多个不同主题可以发布相同的数据类型。发布者的行为由与发布者、数据创建者和特定数据源的主题元素关联的QoS策略决定。同样,订阅者的行为由与订阅者、数据读取器和特定数据接收器的主题元素关联的QoS策略决定。可以在语言中指定并在案例研究中使用的一些QoS策略和操作,如表1和表2所示。QoS策略和操作如下所示。表1.记录相关的DDSQoS策略QoS描述Liveliness验证,确保系统中的预期实体仍然活着Reliability确定样本交付所需的可靠性水平。History如果实例的值在与订阅者通信之前发生变化,
则控制对该实例的处理Lifespan避免将“过时”的数据提供给应用程序。Deadline确定主题预计在期限内定期更新每个实例。表2.记录相关的DDS操作操作描述Read数据读取器对数据值集合的访问。Take从数据读取器删除一个样本,这样就不能对其执行读或获取操作。Waitset&
Listener使应用程序了解DCPS通信状态的变化。Contentfilter基于属性筛选传入的主题样本。Data_Available状态变化标志,指示在读取器中的数据可用性。Readwith
condition对符合在条件中所指定标准的样本具有“读”访问权限。条件可以是只读条件或查询条件。问题框架分析ProblemFramesApproach(问题框架方法)是需求分析的方法。它使您能够将系统需求归类为一组预定义的问题,类似于解决方案范畴的设计模式。在将问题归类后,就可以通过解答与每个问题框架相关的一套标准题目来轻松地解释这些问题。图1显示了本文如何使用该技术来记录案例研究的构件。图1.通过问题框架进行记录建议的工作流建议的处理工作流如图2所示。图2.MBSE流程的工作流在需求分析阶段已定义了系统级用例,该流程旨在通过问题框架分析如何为每个系统用例定义数据实体、属性和操作。您可以使用这些信息问题框架来开发模型实体及其属性、连接和转换问题框架,然后定义这些实体的行为和工件问题框架,从而在已定义的实体上进行开发操作。接下来,我们需要根据在问题框架分析阶段确定的实体来定义系统信息模型。通过分析所产生的构件是一个主题模型,它定义了已确定的DDS主题的名称、类型和QoS。因为我们已有了主题模型,所以在下一阶段的实体功能分析中,将重点介绍如何围绕已确定主题模型实体的生命周期操作来执行功能分析。您可以使用黑盒活动图来捕获每个已确定实体的生命周期并行流。此外,您必须通过组合一个或多个流来建立与序列图一致的真正功能流,从而生成黑盒用例场景。可以使用序列生成用例块的端口和接口。然后捕获用例的基于状态的行为,验证所生成的序列图,并将它们与黑盒场景序列图进行比较。设计合成从执行系统结构分解开始,其依据不仅是关键功能,还有模型实体本身。在下一步中,在描述白盒活动图的同时,还需要将DDS-Data-space作为其中一个子系统组件包含在内,以修补独立的功能流。先将DDS-Data-space定义为一个子系统组件,然后使白盒状态机作为一个可执行模型来运行,同时保留在使用DDS过程中所要求的时间和空间的分离。现在,通过比较我们在这里生成的序列图与白盒场景所产生的序列图,可以验证这个可执行模型。最后,您需要生成系统内部结构框图(IBD),它将产生白盒端口和接口。毫不奇怪,在本例中的接口与信息模型中的主题是一一对应的,这些主题已经充分定义了属性及其行为。问题框架分析该分析的范围由PerformAreaSearch用例定义,它检测飞行中的UAV,将搜索区域分配给UAV,从传感器获取追踪信息数据,并将该信息存储在信息模型中。所执行的分析如表3和表4所示。表3.信息和连接问题框架分析实体属性和描述UAVInfo:无人驾驶飞机。真实世界:对飞行中的无人机的特点进行建模对象UAV在信息模型中,对象的事件和反应无法联系UAV在限期内没有提供UAV位置更新。丢失的更新都将丢失。属性IdentificationVehicleid(飞机id),由UAV发送没有其他身份属性,没有系统生成的IDTimeinformation(时间信息)Updatetime(更新时间)–是时间和位置更新的信息Availableflighttime(可用飞行时间)–是在飞行中剩余时间的信息UAVstate(UAV状态)Searchassigned(已分配的搜索)Searchunassigned(未分配的搜索)Sensorinformation(传感器信息)可用传感器及其属性的清单Ownvehicledata(自己的飞机数据)Positiondata(位置数据)Motiondata(移动数据)数据没有更新历史。只有瞬时值。Sensor(传感器):由UAV用于检测追踪信息。传感器类型SARFLIROPTICAL传感器属性Sensorstarttime(传感器启动时间)–用于确定传感器是否活动。State(状态)Active(活动)Inactive(不活动)Sensortracks(传感器追踪信息):一组来自特定目标的测量值,可以使用它们来计算目标的位置和运动。追踪信息作为独立信息结构存在,除非在针对该追踪信息而给出的样本中没有提供追踪信息级别所需的其他数据。真实世界:对传感器发出的传感器追踪信息进行建模。对象由传感器检测到发射器/触点由传感器发送的测量值。有一个与测量值相关的周期。在信息模型中,对象的事件和反应无法联系传感器在限期内无法提供追踪信息测量值。丢失的追踪信息测量值都将丢失,从我们再次获得连接开始,传感器追踪信息继续发送测量值。传感器无法再获得追踪信息-在限期内无法提供追踪信息测量值。传感器重新获得追踪信息-追踪信息测量值再次可用。传感器无法获得追踪信息与无法联系传感器之间的区别?传感器活动状态的可用性属性Identification(身份)ID,由外部传感器发送–由以下属性组成SensorID(传感器ID)Track-ID(追踪信息ID),数字1至50。没有其他身份属性,没有系统生成的IDTimeinformation(时间信息)-<用每次转换时的时间戳存储每个状态转换的历史记录。>Createdtime(创建时间)–是来自传感器测量时间的信息,指追踪信息的第一次测量时间。Trackage(追踪时间长度)-是自上次测量值更新所经过的时间。Trackstate(追踪状态)-取决于相关测量值的期限标志Active(活动)Lost(丢失)Sourcesensor(源传感器)–来自任何测量值的传感器ID,通常根据第一个样本进行设置数据由一个或多个追踪信息测量值组成存储超过30分钟窗口的测量值历史清除早于该时间段的测量值?传感器特定的属性这些属性的基本信息:几乎所有这些数据都直接从传入的传感器数据中取出,并用于向用户显示。4.SensorTrackMeasures(传感器追踪信息测量值)真实世界:对传感器发送的单一数据样本进行建模属性Identification(身份)–由传感器发送SensorID(传感器ID)TrackID(追踪信息ID)–由传感器发送MeasureID(测量值ID)-序列号Timeofthesample(采样的时间)–由传感器发送,必须保存有效或无效的数据(好/坏/延迟)-需要根据数据范围验证来转换,即基于传感器进行转换。系统会拒绝无效的测量值。Data(数据)–一个样本可以包含一个或多个以下属性:Position(位置)–Latitude(纬度)和Longitude(经度)Projectionused(使用的投影)Speed(速度)特征传感器以1Hz的频率发送TrackMeasures(追踪信息测量值)表4.工件问题框架分析实体分析Staticinformation(静态信息)有否任何静态信息与传感器追踪信息相关?传感器的特性来自传感器的表示错误等信息的RMS值,一般是一个表,在系统中用于计算工件出问题时的SensorTracks(传感器追踪信息)<在已实现的实体上的操作>操作员驱动的操作创建从传感器测量值直接创建从上次测量值更新计算的TrackAge(追踪时间长度)用于获取追踪信息ID的FirstMeasure(首次测量)选择一个要转换为系统追踪信息的传感器追踪信息生命周期相关的操作根据追踪信息新的可用更新(测量值)更新传感器追踪信息自动清除在30分钟历史记录内没有任何测量值的传感器追踪信息。归档无需求工件出问题时的SensorTrackMeasures(传感器追踪信息测量值)操作员驱动的操作无–由传感器拥有生命周期相关的操作显示错过期限的更新自动清除超过30分钟历史的测量值。归档无需求信息模型分析在这一步中,您需要使用前一阶段的信息和连接问题框架分析来执行信息模型分析。这一阶段的目标是,确定代表数据实体及其行为的DDS主题。所有这些主题共同构成DDS环境中的交互单元,其行为的正确表示可以大大减轻子系统在维护和通用管理方面的责任。案例研究的一个有代表性的信息模型子集如图2所示。在为主题“SensorTrackMeasure”定义的行为中,可以看到这种责任减少的示例。在这个主题上定义的键描述(其值构成键的数据字段列表)是一种复合结构,由SensorID和TrackID组成。具有相同键值的不同数据值代表相同实例的连续值,而具有不同键值的不同数据值则代表不同的实例。此外,主题的HistoryQosPolicy被定义为KEEP_ALL,其深度为1800,这表示在数据空间中为每个这样的实例最多保存1800个样本(按照@1Hz的频率更新30分钟时间)。最后,持续时间对应为30分钟的LifespanQosPolicy指定数据样本在DDS空间的最长有效时间,这段时间过去后,系统会自动处理该样本。有关SensorTrackMeasure实体这种行为的定义,明确地定义了DDS服务接管实体的历史管理责任。现在,在用例中对该功能进行建模会是重复操作。图3.主题模型表示主题名称(描述)主题定义QoS策略QoS理论值<<UC01_04Sensortrackmeasure>>本主题将发布传感器追踪信息测量值信息structidendity
{
unsignedlongulsensorID;
unsignedlongultrackID;
};
typedefunsignedlongmeasure_ID;
structSensorTrackMeasure
{
IdentityulSourceID;//ownerofmeassage
measure_IDulSeq_no;
unsignedlongullSystemTimemilliSecs;//currenttimeinmilliseconds
floatfLatitudeDeg;//latitude
floatfLongitudeDeg;//Longitude
doubledXSpeedMtrs;//Xcoordinate
doubledYSpeedMtrs;//Ycoordinate
};
#pragmakeylistSensorTrackMeasureulSourseIDDeadline1secDestinationorderBY_SOURCE_TIMESTAMPDurabilityVolatileHistoryKEEP_ALLHistorydepth30Lifespan1800000msLivelinessAUTOMATICLatencybudget30msOwnershipSHAREDReliabilityBEST_EFFORTResourcelimitDefault
max_samples,
max_instances,
max_samples_per_instance(allsettoLENGTH_UNLIMITED)Transportpriority1DurabilityserviceDefault备注:图2中有代表性的主题模型描述了与主题“SensorTrackMeasure”相关的名称、类型和QoS策略。我们使用一个类似的练习在用例的其余部分中描述以下主题:UAVInfoSensorTrackSensorTrackMeasureCommand这里需要重点注意的是,并非所有在问题框架分析阶段中确定的模型实体都与主题模型存在一一对应关系。实体功能分析实体功能分析阶段的输入是主题模型和工件问题框架分析模型。这个阶段的重点是围绕已确定主题的生命周期操作来执行功能分析。在此步骤中产生的构件是用例的黑盒活动图、场景和状态图。用例的黑盒活动图如图4所示,而有代表性的场景和状态图分别如图5和图6所示。黑盒活动图表示基于read、write、content_filter或read_with_query_condition等DDS结构的操作。这些结构是简化功能流的一种途径。可以将这样的绑定带入活动流程,这被认为是通过使用DDS实现功能效率的必要条件。另一方面,可以创建黑盒场景,用它们代表现实世界的场景,将所产生的流的不同序列引入到代表该场景的主序列中。为了确保能够满足需求分析阶段所了解的需求,这一步非常重要。反过来,这将有助于我们对详细主题及围绕这些主题的操作进行效能分析。如果出现不匹配的情况,则有必要回头修改信息模型,直到实现所需的现实世界功能序列。此外,获得用例的状态机也很简单。用例的状态机由多个'AND'状态组成,每个AND状态分别代表活动图中的独立功能流的状态行为。虽然每个流都由一个AND状态表示,并因此可以独立执行,但这些流都通过从一个AND状态到其他等待子状态的事件流被捆绑在一起,以便支持作为一个整体状态机来执行。通过模型执行,参照之前生成的黑盒场景来验证自动生成的序列,这样做是有必要的。图4.黑盒活动图(面向数据)图5.黑盒场景(面向数据)图6.黑盒状态图(面向数据)设计合成在这种方法中的系统结构分解不仅基于关键系统功能的识别,还基于已获得的主题模型。此外,白盒活动图的功能分配的执行通过将黑盒活动图的完整流独立分配到一个泳道来完成。这种分配是可以实现的,因为通过DDS全球数据空间可以跨子系统边界访问所获得的主题实例和样本。为用例所生成的白盒活动图如图7所示。分配给代表DDS数据空间的泳道的功能,是通过发布/订阅模式将其余组件拼接在一起的功能。为了使子系统在模型级别共同参与现实世界的场景,并且使可执行白盒状态机生效,这种表示方式被认为是必要的。该流程的下一步是发展用例的白盒场景,代表黑盒子场景的白盒视图。有代表性的白盒场景如图8所示。最后,我们从白盒场景推导出端口和接口,并实现子系统组件的白盒状态行为,以准备切换。有代表性的子系统的状态行为以及白盒端口和接口分别如图9和图10所示。本例中的子系统状态图使用与相应黑盒状态图完全相同的模式。两者之间仅有的区别是从子系统等待状态过渡的触发事件,这些事件由组件DDS-Data-space产生。DDS-Data-space的状态机是一种模拟表示形式,用于支持不同分离组件的执行。立即执行白盒状态机,以便比较生成的序列图与白盒场景,从而针对切换确定模型的基线。最后,明确映射到主题模型的子系统接口是根据确定基线的模型生成的,如表5所示。图7.白盒活动图(面向数据)图8.白盒序列图(面向数据)图9.白盒状态行为(面向数据)图10.白盒端口和接口(面向数据)表5.白盒接口列表块端口名称I/F类型接口事件主题名称/描述MMIControllerpOperatorProvidedreqSelectUAVOperatorselectionthroughh/winterruptreqAbortSearchOperatorselectionthroughh/winterruptreqSelectSearchAreaOperatorselectionthroughh/winterruptreqExecuteSearchOperatorselectionthroughh/winterruptpDDSDataSpaceRequiredreqPublishCommandCommandTopicSensorTrackManagerpDDSDataSpaceProvidedreqOnDataAvailableSensorTrackMeasureTopicRequiredreqPublishSensorTrackSensorTrackTopicUAVBridgepDDSDataSpaceProvidedreqOnDataAvailableCommandTopicRequiredreqPublishUAVInfoUAVInfoTopicreqPublishSensorTrackMeasureSensorTrackMeasureTopicpUAVProvidedreqRecieveUAVInfoUAVInfomessageonUAVlinkreqRecieveSensorTrackMeasureSensorTrackMeasuremsgonUAVlinkRequiredevSendCommandCommandmessageonUAVlinkDisplayControllerpDDSDataSpaceProvidedreqOnDataAvailableSensorTrackTopicreqOnDataAvailableUAVInfoTopicpDisplayRequiredevUpdateDisplayInterfaceondisplaylinkDDSDataSpacepMMIControllerProvidedreqPublishCommandCommandTopicpUAVBridgeProvidedreqPublishUAVInfoUAVInfoTopicreqPublishSensorTrackMeasureSensorTrackMeasureTopicRequiredreqOnDataAvailableCommandTopicpDisplayControllerRequiredreqOnDataAvailableSensorTrackTopicreqOnDataAvailableUAVInfoTopicpSensorTrackManagerProvidedreqPublishSensorTrackSensorTrackTopicRequiredreqOnDataAvailableSensorTrackMeasureTopic结束语在把基于分布式组件的系统架构放在一起时,主要需要考虑的事项是,能够明确界定业务功能及其跨子系统的接口。如果系统遵循下面这些面向服务的架构的OpenArchitecture原则(请参阅参考资料),那么我们完全可以解决上述这些问题:模块化:这意味着,架构已仔细划分业务和技术功能,使用户能够单独访问它们,并在状态之间保持最少量的交互需求。在分布式系统的设计中使用发布和订阅模式,这从本质上促进了子系统设计的无状态性质的使用。从本文的案例研究中,显然可以得出以下结论:每个独立的活动流应当代表组件的一个AND状态,而每个AND状态中惟一的主导状态是每个流的等待状态。行为主要是无状态的,因此,已定义实体的创建或更新本身就是通过写操作暴露给系统的其余部分,并且从不保存。这样的设计自然地呈现模块化系统的属性,即在状态之间保持最少交互。开放式标准:使用开放式标准对分布式系统的设计造成的最大影响最大是,这些标准必须在何处完成服务描述、发现和功能访问。SysML是基于开放式标准的建模语言,所以也是DDS规范。SysML是用于明确定义系统或子系统功能的语言。而DDS是用于明确定义子系统接口的语言,它也在其自身中封装了发现和访问机制。互操作
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 步行街旺铺转让合同
- 品质保障书协议
- 房屋买卖合同分期付款的还款来源
- 施工协议补充文选
- 集装箱交易协议范本
- 劳动合同解除协议书样本
- 蔬菜分销商购买合同
- 挖井桩工程劳务分包合同格式
- 电脑设备购销合同
- 机房设备搬迁保养合同
- 妇科副高专题报告范文
- JGJ64-2017饮食建筑设计标准(首发)
- 历年全国高中数学联赛试题及答案
- 矿山安全培训操作规程
- 红色故事《小英雄雨来》演讲稿
- 血液透析患者饮食宣教
- 已使用牙膏原料目录
- 直线与平面、平面与平面相对位置课件
- MOOC 制药分离工程-郑州大学 中国大学慕课答案
- 音乐鉴赏(西安交通大学)智慧树知到期末考试答案2024年
- MOOC 数据挖掘与python实践-中央财经大学 中国大学慕课答案
评论
0/150
提交评论