本公开涉及模拟器领域。更具体地,本公开涉及能够通过与计算设备的交互来配置课程计划的事件的模拟服务器。
背景技术:
商业航空公司和空军使用飞行模拟器来训练他们的飞行员以面对各种类型的情况。模拟器能够模拟飞机的各种功能,并且能够再现飞行的各种操作条件(例如,起飞、着陆、悬停等)。受训者(例如,执行训练课程的飞行员)与模拟器交互以在由模拟器执行的模拟期间控制模拟飞机的各种功能。类似地,指导者(例如,有经验的飞行员)可以出于各种目的与模拟器交互,这些目的包括控制当前由模拟器执行的模拟,创建或更新模拟场景,控制受训者的模拟环境等。
由模拟器执行的特定模拟场景通常包括在由模拟器执行特定模拟场景期间发生的一组预定事件。模拟场景的结果被导出为包括模拟数据和模拟数据的相应出现时间的日志文件。已经执行模拟场景的受训者的评估基于指导者对日志文件的解释以及指导者在模拟期间执行的视觉主观观察。
与评估相关的一个问题是其主观性,因为两个不同的指导者可以进行不同的视觉观察并且以不同方式解释相同的日志文件。与模拟场景相关的另一个问题是其缺乏灵活性,因为特定的模拟场景可能仅通过让指导者在模拟过程中手动为受训者引入新的挑战来改变。此外,不可能客观地评估受训者的进步和困难,因为评估仅基于当前手头的日志文件,对其指导者的解释完全是主观的。
该问题的一个解决方案是定义具有至少一个可以测量或验证的规则的事件,并进一步定义该规则的目标值。对于每个事件,对应的规则的值在执行模拟期间根据包括事件的课程计划而被测量,并且所测量的值与其目标值进行比较。此外,可以通过模拟服务器与由用户操作的计算设备之间的信息交换来促进事件和相应规则的配置,该用户经由计算设备的用户界面执行事件和相应规则的配置。
因此,需要一种能够通过与计算设备的交互来配置课程计划的事件的模拟服务器。
技术实现要素:
根据第一方面,本公开提供了模拟服务器。模拟服务器包括通信接口和用于存储至少一个课程计划的存储器。每个课程计划包括至少一个事件,并且每个事件包括至少一个规则。模拟服务器还包括处理单元,其用于通过通信接口从计算设备接收课程计划选择。处理单元还从存储器中提取与课程计划选择相对应的至少一个事件和对应的至少一个规则。处理单元还经由通信接口将提取的至少一个事件和与所选择的课程计划相对应的至少一个规则发送到计算设备。处理单元还经由通信接口从计算设备接收对要用于所选择的课程计划的至少一个事件的选择,带有针对每个所选择的事件的至少一个规则的配置。
附图说明
将仅参考附图以示例的方式描述本公开的实施例,其中:
图1示出了传统模拟器配置;
图2A、图2B和图2C示出了与模拟器和便携式计算设备交互以执行模拟的模拟服务器;
图3A、图3B和图3C分别示出了图2A、图2B和图2C的模拟服务器、模拟器和便携式计算设备的组件和功能的示例性实施例;
图4示出了与多个模拟器和便携式计算设备同时交互的模拟服务器;
图5示出了图3B和图3C的模拟器和便携式计算设备的相应显示器;
图6A、图6B和图6C表示示出图3A的模拟服务器的组件与图3C的便携式计算设备之间的交互的示例性流程图;
图7示出了用于定义和管理课程计划和相关事件的模拟服务器和便携式计算设备的组件;
图8示出了分配给由俯仰角测量组成的事件的KPI;和
图9和图10表示与在模拟的执行的视觉表示上显示的事件相关联的视觉警报或预测指示符;和
图11表示用于事件定义的图形用户界面。
具体实施方式
通过阅读仅以示例方式参考附图给出的本发明的说明性实施例的以下非限制性描述,前述和其他特征将变得更加明显。相同的数字表示各种附图中的相同特征。
本公开的各个方面通常解决与模拟服务器通过模拟服务器与计算设备的交互来配置课程计划的事件有关的一个或多个问题。尽管在本公开的其余部分中提供的示例是在飞机模拟器领域,但是本公开的教导也可以应用于诸如坦克的陆地车辆、诸如船的海上交通工具等的模拟器。模拟器还可以执行地下系统、采矿设施、核电站、人体等的实时模拟。
模拟服务器
现在参考图1,表示传统模拟器100。模拟器100执行模拟。模拟的执行通常实时执行,并且包括多个功能,这些功能顺序地或同时执行。
模拟的执行包括执行一个或多个模拟功能110。在飞机模拟器的情况下,模拟功能110的示例包括对飞机的以下组件的模拟:发动机的模拟、起落架的模拟、电路的模拟、液压回路的模拟、驾驶舱的模拟等。此外,特定模拟功能110的执行可以触发所生成的模拟数据在模拟器100的显示器上显示(例如,以导航图、雷达图、天气图、飞行图、飞机数据等的形式)。模拟功能110可以在由模拟器100执行的软件模块中单独实现,或者按照每类设备模拟类型等分组成较大软件模块。模拟器100能够并行执行若干模拟功能110,以执行飞机的详尽模拟。或者,模拟器100执行单个模拟功能110(或有限数量的模拟功能110)以执行飞机的受限模拟,集中于飞机的特定系统和子系统(例如,仅发动机、仅发动机和起落架的组合等)。
模拟的执行还包括执行模拟器图形用户界面(GUI)功能130。模拟器GUI功能130允许用户20(例如受训者)与模拟器100交互,并且更具体地与模拟功能110交互。在飞机模拟器100的情况下,模拟器GUI功能130包括在模拟器100的一个或多个显示器上显示由模拟功能110生成的模拟数据。显示的模拟数据可包括飞行参数(例如高度、速度等)、飞机参数(例如剩余燃料、警报等)、地图(例如导航图、天气图、雷达图等)、虚拟控制、窗外信息等。模拟器GUI功能130还包括通过模拟器100的一个或多个用户界面从用户20接收交互。用户界面可以包括传统的计算机用户界面(例如键盘、鼠标、触控板、触摸屏等)以及专用模拟用户界面(例如开关、模拟命令控制、操纵杆等)。从用户20接收的交互由模拟功能110处理,并且影响飞机的一个或多个系统的模拟。
模拟的执行还包括执行指导者操作站(IOS)功能120。IOS功能120允许用户10(例如指导者)与模拟器100交互,更具体地与模拟器100当前执行的模拟功能1交互。例如,IOS用户界面(UI)页面显示在模拟器100的显示器上,允许用户10实时控制由模拟功能110执行的特定模拟场景的执行。IOS 120包括用于控制模拟的执行(例如,修改模拟参数)的图形控制元素(例如,菜单和子菜单、列表框等)和用于显示由模拟功能110生成的模拟数据的图形显示元素(例如,图像、文本字段、图标、嵌入式视频等)。在飞机模拟器的情况下,用户10通过一个或多个用户界面(例如键盘、鼠标、触控板、触摸屏等)与IOS 120交互以配置和/或更新模拟参数(例如,天气条件、飞行计划等)。配置/更新的模拟参数由模拟功能110处理,并且影响飞机的一个或多个系统的模拟。
在特定实施例中,模拟的执行还包括执行至少一个代理功能(未在图1中表示)。代理功能允许模拟器100的其他功能(例如,IOS功能120和模拟器GUI功能130)与模拟功能110交互。多个代理功能可以同时执行,每个代理功能提供到模拟功能110中的特定功能的接口。
现在同时参考图2A、2B和2C,阐述根据本发明的模拟服务器200和模拟器300的实施例。本模拟服务器200和模拟器300依赖于在它们之间执行模拟时执行的共享处理。
模拟服务器200执行模拟,该模拟包括执行一个或多个服务器模拟功能210,执行服务器IOS功能220,以及执行服务器图形用户界面(GUI)功能230。模拟器300还执行模拟,该模拟包括执行一个或多个模拟器模拟功能310,执行模拟器IOS用户界面(UI)320,以及执行模拟器图形用户界面(GUI)330。
传统模拟器100的模拟功能110已经在服务器模拟功能210和模拟器模拟功能310之间分开。服务器模拟功能210执行用于模拟模拟实体的操作的计算。本模拟服务器200和模拟器300可用于模拟任何类型的实体,例如飞机、航天飞机、船只、车辆等。为简单起见,以下描述将提供与飞机有关的示例。提供这样的示例仅用于示例目的,并且不应被解释为限制针对本模拟服务器200和模拟器300所寻求的保护范围。
服务器模拟功能210可以执行用于模拟被模拟的车辆的组件(例如,发动机、电路、液压回路、向模拟器的用户显示和示出的信息等)的计算。服务器模拟功能210生成模拟数据211,模拟数据211被由模拟服务器200实现的其他功能本地使用(例如,服务器IOS功能220和服务器GUI功能230)。服务器模拟功能210还生成模拟数据212,模拟数据212通过通信网络30发送到模拟器300。由模拟器GUI 330、模拟器IOS UI 320和模拟器模拟功能310可以使用发送的模拟数据212,但是也可以由模拟器300实现的其他功能使用(该用例未在图2A中表示)。模拟数据212包括静态2D或3D模拟图像形式的视觉数据,或2D或3D模拟图像流。视觉数据的示例包括导航图、雷达图、天气图、飞行图、飞机数据等。例如,地图可以包括静态2D或3D图像,或者对应于图的实时流的2D或3D图像流。视觉数据由模拟器300的显示器上的至少一个模拟器GUI 330和模拟器IOS UI320显示。模拟数据212还可以包括致动数据,致动数据由模拟器模拟功能310处理以致动模拟器300的物理组件(例如,用于移动表示该实体的模拟控制舱的致动液压缸)。模拟器模拟功能310还可以执行本地计算以模拟被模拟实体的一些操作,这些操作不由服务器模拟功能210执行。模拟器模拟功能310还生成反馈模拟数据212,反馈模拟数据212通过通信网络被发送到模拟服务器200。这些反馈模拟数据212表示模拟器300的操作状态,并且由服务器模拟功能210用作反馈以在执行模拟器300时考虑模拟器300的操作状态。例如,服务器模拟功能210发送模拟数据212以(通过模拟器模拟功能310)致动模拟器300的物理组件,并且模拟器模拟功能310发送反馈模拟数据212,反馈模拟数据212指示模拟器300的物理组件的激活已经完成。在接收到反馈模拟数据212时,服务器模拟功能210在执行模拟的情况下进行下一步骤,从而考虑模拟器300的新操作状态。
传统模拟器100的IOS功能120也已在服务器IOS功能220和模拟器IOS UI 320之间分开。服务器IOS功能220执行与IOS功能相关的计算,而模拟器IOS UI 320执行与用户10的交互。服务器IOS功能220生成IOS控制和监视数据222,IOS控制和监视数据222通过通信网络30发送到模拟器300。IOS控制和监视数据222由模拟器IOS UI 320用于与用户10交互。IOS控制和监视数据222包括IOS UI页面,例如每个IOS UI页面对应于具有实例子组的用户界面,其由模拟器IOS UI 320显示在模拟器300的显示器上。所显示的IOS UI页面允许用户10实时控制(在模拟器300处)由服务器模拟功能210执行的特定模拟场景的执行。更具体地,通过与IOS UI 320交互,用户10生成IOS交互数据222(例如,配置、监视和/或更新模拟参数),IOS交互数据222通过网络30发送到服务器IOS功能220。服务器IOS功能220通过交换数据211与服务器模拟功能210交互。如前所述,数据211包括由服务器模拟功能210生成并由服务器IOS功能220使用以生成IOS UI页面的模拟数据,该模拟数据被发送到模拟器IOS UI 320。数据211也包括从模拟器IOS UI 320接收的模拟参数的配置/更新,该模拟参数可以在传输到服务器模拟功能210之前由服务器IOS功能220预处理。服务器模拟功能210使用模拟参数的配置/更新控制模拟的执行。如前所述,模拟器IOS UI 320还从服务器模拟功能210接收模拟数据212(例如2D或3D地图),模拟数据212被显示在模拟器300的显示器上。
传统模拟器100的模拟器GUI功能130也已在服务器GUI功能230和模拟器GUI 330之间分开。服务器GUI功能230执行与要显示给用户20的图形表示有关的计算,而模拟器GUI 330执行与用户20的交互。服务器GUI功能230生成图形用户界面(GUI)图形数据232,图形用户界面(GUI)图形数据232通过通信网络30发送到模拟器300。GUI图形数据232由模拟器GUI 330用于与用户20交互。GUI图形数据232包括模拟参数、事件和信息(例如,实体参数、事件、地图等),这些模拟参数、事件和信息由模拟器GUI 330在模拟器300的显示器上显示。所显示的GUI图形数据232允许用户20与由服务器模拟功能210执行的特定模拟场景的执行进行实时交互(在模拟器300处)。更具体地,基于所显示的GUI图形数据232,用户20与模拟器300的一个或多个用户界面交互。模拟器GUI 330生成对应于用户20交互的GUI交互数据232,GUI交互数据232通过网络30发送到服务器GUI功能230。服务器GUI功能230通过交换数据211与服务器模拟功能210交互。如前所述,数据211包括由服务器模拟功能210生成并且由服务器GUI功能230使用以生成发送到模拟器GUI 330的模拟参数、事件和信息的模拟数据。数据211还包括从模拟器GUI 330接收的用户20交互,用户20交互可以在传输到服务器模拟功能210之前由服务器GUI功能230预处理。服务器模拟功能210使用用户20交互来控制模拟的执行。如前所述,模拟器GUI 330还从服务器模拟功能210接收模拟数据212(例如2D或3D地图),模拟数据212通过模拟器GUI 330进一步显示在模拟器300上。
在特定实施例中,由图1的传统模拟器100实现的至少一个功能可以不在模拟服务器200上被逐出,而是在模拟器300上完全实现。例如,模拟服务器200不包括服务器GUI功能230并且模拟器300包括传统模拟器100的模拟器GUI功能130从而代替模拟器GUI 330。在该特定实施例中,模拟器GUI 130在模拟器300上实现并且通过网络30直接与服务器模拟功能210交互。该实施例未在图中示出。
网络30可以包括移动网络(例如,Wi-Fi网络或蜂窝网络)、固定网络(例如,以太网网络)、其组合等。网络30可以允许通过内联网、外联网、全球互联网等在设备之间的通信。模拟服务器200和模拟器300都包括与网络30兼容的通信接口,用于通过网络30交换数据。例如,模拟服务器200和模拟器300包括支持Wi-Fi和以太网的通信接口,以便容易地对部署在它们分别运行的场所处的特定网络30进行适配。
尽管出于简化目的而未在图2A中表示,但是服务器模拟功能210通常包括多个功能,例如天气功能和导航功能(稍后参考图3A表示和描述)。服务器模拟功能210的导航功能与模拟服务器200的其他功能对接(例如,与服务器GUI功能230和服务器IOS功能220的专用IOS功能IOS_1(在图3A中表示))。类似地,服务器模拟功能210的天气功能与模拟服务器200的其他功能对接(例如,与服务器GUI功能230和服务器IOS功能220的专用IOS功能IOS_2(在图3A中表示))。如前面关于图1中表示的传统模拟器所提到的,可以使用多个代理功能来将服务器模拟功能210的功能(例如,分别为导航和天气)与模拟服务器200的其他功能对接(例如,服务器IOS功能220和服务器GUI功能230)。
在说明书的其余部分中,由服务器模拟功能210生成并发送到模拟器300的模拟数据212可以被称为模拟器模拟数据。由服务器IOS功能220生成并发送到模拟器300的IOS控制和监视数据222可以被称为模拟器IOS控制和监视数据。由服务器GUI功能230生成并发送到模拟器300的GUI图形数据232可以被称为模拟器图形数据。
由模拟器IOS UI 320生成并发送到模拟服务器200的IOS交互数据222和由模拟器GUI 330生成并发送到模拟服务器200的GUI交互数据232可以被称为模拟器交互数据。
现在同时参考图2A和图2B,便携式计算设备400和400'在图2B中表示。便携式计算设备400和400'实现在图2A中表示的模拟器300上实现的一些功能。
便携式计算设备400和400'可以包括具有允许容易携带的形状要素的各种类型的计算设备。这种便携式计算设备400和400'的示例包括膝上型计算机、平板电脑等。便携式计算设备400和400'都包括与网络30兼容的通信接口,用于通过网络30与模拟服务器200交换数据。
便携式计算设备400实现类似于模拟器IOS UI 320的便携式计算设备IOS UI 420。便携式计算设备IOS UI 420通过网络30以与模拟器IOS UI 320类似的方式与服务器IOS功能220交换IOS数据222(IOS控制和监视数据以及IOS交互数据)。便携式计算设备IOS UI420允许用户10通过便携式计算设备400实时控制由服务器模拟功能执行的特定模拟场景的执行。便携式计算设备IOS UI 420还从服务器模拟功能210接收模拟数据212(例如,2D或3D地图),该模拟数据212通过便携式计算设备IOS UI 420进一步显示在便携式计算设备400上。
在该配置中,图1中表示的传统模拟器100的IOS功能120已经在服务器IOS功能220和便携式计算机设备IOS UI 420之间分开。服务器IOS功能220执行与IOS功能相关的计算,而便携式计算设备IOS UI 420执行与用户10的交互。
服务器IOS功能220适于同时或替选地支持与模拟器IOS UI 320和便携式计算设备IOS UI 420的交互。例如,相同用户10可在第一模拟会话期间使用模拟器IOS UI 320,并且在第二模拟会话期间,使用便携式计算设备IOS UI 420,两个会话通过执行服务器模拟功能210来执行。在另一示例中,第一用户10在模拟会话期间使用模拟器IOS UI 320(用于控制第一模拟功能),并且在相同模拟会话期间(用于控制第二模拟功能),第二用户10同时使用便携式计算设备IOS UI 420,模拟会话通过执行服务器模拟功能210来执行。
便携式计算设备400'实现类似于模拟器GUI 330的便携式计算设备图形用户界面(GUI)430。便携式计算设备GUI 430通过网络30以与模拟器GUI 330类似的方式与服务器GUI功能230交换GUI图形数据和GUI交互数据232。便携式计算设备GUI 430允许用户20通过便携式计算设备400'实时地与服务器模拟功能210执行的特定模拟场景的执行交互。如前所述,便携式计算设备GUI 430还从服务器模拟功能210接收并显示模拟数据212(例如,2D或3D地图)。
在该配置中,图1中表示的传统模拟器100的模拟器GUI功能130已经在服务器GUI功能230和便携式计算设备GUI 430之间分开。服务器GUI功能230执行与要向用户10显示的图形表示有关的计算,而便携式计算设备GUI 430执行与用户20的交互。
服务器GUI功能230适于同时或替选地支持与模拟器GUI 330和便携式计算设备GUI 430的交互。例如,用户20可以在第一训练会话期间使用模拟器GUI 330,以及在第二训练会话期间使用便携式计算设备GUI 430,模拟会话通过执行服务器模拟功能210来执行。在另一示例中,第一用户20在模拟会话期间使用模拟器GUI 330(用于与第一模拟功能210交互),并且第二用户20在相同的模拟会话期间同时使用便携式计算设备GUI 430(用于与第二模拟功能210交互),模拟会话通过执行第一和第二服务器模拟功能210来执行。
在说明书的其余部分中,由服务器模拟功能210生成并发送到便携式计算设备400或400'的模拟数据212可以被称为便携式计算设备模拟数据。
由服务器IOS功能220生成并发送到便携式计算设备400的IOS控制和监视数据222可以被称为便携式计算设备IOS控制和监视数据。由服务器GUI功能230生成并发送到便携式计算设备400'的GUI图形数据232可以被称为便携式计算设备图形数据。由便携式计算设备IOS UI 420生成并发送到模拟服务器200的IOS交互数据222和由便携式计算设备GUI 430生成并发送到模拟服务器200的GUI交互数据232可以被称为便携式计算设备互动数据。
图2C示出了模拟服务器200和模拟器300的另一操作配置。在该特定配置中,用户10使用便携式计算设备IOS UI 420来实时(通过服务器IOS功能220)控制执行由服务器模拟功能210执行的特定模拟场景。用户20使用模拟器GUI 330实时(通过服务器GUI功能230)与服务器模拟功能210执行的相同特定模拟场景的执行进行交互。
本领域技术人员将容易理解,模拟服务器200的使用为实现涉及模拟服务器200、模拟器300和便携式计算设备(例如,400和400')的多个其他操作配置(为了简化目的,其在图中未表示)提供了所需的灵活性。
现在参考图3A、图3B和图3C,示出了模拟服务器200、模拟器300和便携式计算设备400的组件和功能的示例性实施例。
更具体地参考图3A,模拟服务器200包括处理单元201,处理单元201具有能够执行计算机程序的指令的一个或多个处理器(为了简化目的未在图3A中表示)。每个处理器还可以具有一个或多个核。处理单元201通过执行计算机程序指令来实现模拟服务器200的功能。由处理单元201实现的功能包括服务器模拟功能210、服务器IOS功能220和服务器GUI功能230。
模拟服务器200包括存储器202,用于存储由处理单元201执行的计算机程序的指令、由执行计算机程序生成的数据、通过通信接口203接收的数据等。模拟服务器200可以包括几种类型的存储器,包括易失性存储器、非易失性存储器等。
模拟服务器200包括通信接口203,通信接口203用于通过网络30与包括一个或多个模拟器300和/或一个或多个便携式计算设备400的其他设备交换数据。交换的数据包括图2A和图2B中表示的IOS数据222、GUI数据232和模拟数据212。通信接口203支持一种或多种通信协议,诸如Wi-Fi、以太网等。
模拟服务器200可以包括显示器204(例如,常规屏幕或触觉屏幕),用于显示由处理单元201处理和/或生成的数据。模拟服务器200还可以包括用于允许用户直接与模拟服务器200交互的一个或多个用户界面205(例如,鼠标、键盘、触控板、触摸屏等)。
服务器IOS功能220、服务器模拟功能210和服务器GUI功能230由一个或多个计算机程序实现。每个计算机程序包括用于在由处理单元201执行时实现相应功能的指令。指令包括在非暂时性计算机程序产品(例如,存储器202)中。指令可通过电子可读介质(诸如,存储介质(例如USB密钥或CD-ROM)或网络30(通过通信接口203))传送。
更具体地参考图3B,模拟器300包括处理单元301,处理单元301具有能够执行计算机程序的指令的一个或多个处理器(为了简化目的未在图3B中表示)。每个处理器还可以具有一个或多个核。处理单元301通过执行计算机程序的指令来实现模拟器300的功能。由处理单元301实现的功能包括模拟器模拟功能310、模拟器IOS UI 320和模拟器GUI 330。
模拟器300包括存储器302,存储器302用于存储由处理单元301执行的计算机程序的指令、由执行计算机程序生成的数据、通过通信接口303接收的数据等。模拟器300可以包括几种类型的存储器,包括易失性存储器、非易失性存储器等。
模拟器300包括通信接口303,通信接口303用于通过网络30与包括模拟服务器200的其他设备交换数据。交换的数据包括图2A中表示的IOS数据222、GUI数据232和模拟数据212。通信接口303支持一种或多种通信协议,诸如Wi-Fi、以太网等。
模拟器包括一个或多个致动器306,该一个或多个致动器306用于在由处理单元301执行的模拟器模拟功能310的控制下致动模拟器300的物理组件(例如,用于移动飞机的模拟控制舱的致动液压缸)。
模拟器300包括一个或多个显示器304(例如,常规屏幕或触觉屏幕),该一个或多个显示器304用于显示由处理单元301处理和/或生成的数据。模拟器300还包括一个或多个用户界面305(例如,传统的计算机用户界面以及专用模拟用户界面),用于允许用户与模拟器300交互。
在特定实施例中,模拟器IOS UI 320包括显示功能321和交互功能322。显示功能321处理通过通信接口303从模拟服务器200接收的图2A的IOS控制和监视数据222以及模拟数据212,并在显示器304上显示处理的IOS控制和监视数据222和模拟数据212。
模拟器IOS UI交互功能322基于用户10(通过用户界面305)与显示在显示器304上的处理的IOS控制和监视数据222的交互来生成图2A的IOS交互数据222。IOS交互数据222通过通信接口303发送到模拟服务器200的服务器IOS功能220。
模拟器GUI 330还可以包括显示功能和交互功能,为了简化的目的,其未在图3B中表示。显示功能处理通过通信接口303从模拟服务器200接收的图2A的GUI图形数据232和服务器模拟数据212,并在显示器304上显示处理的GUI图形数据232和服务器模拟数据212。
模拟器GUI 330的交互功能基于用户20(通过用户界面305)与显示在显示器304上的处理的GUI图形数据232的交互来生成图2A的GUI交互数据232。GUI交互数据232通过通信接口303发送到模拟服务器200的服务器GUI功能230。
在另一特定实施例中,模拟器模拟功能310包括显示功能311和致动功能312。显示功能311处理通过通信接口303从模拟服务器200接收的图2A的模拟数据212,以及在显示器304上显示处理的模拟数据。显示功能311可以用于显示图2A的模拟数据212,其不能通过模拟器IOS UI 320或模拟器GUI 330显示。
致动功能312处理图2A的其他模拟数据212,其他模拟数据212包括通过通信接口303从模拟服务器200接收的致动数据。致动功能312处理所接收的致动数据并致动相应的致动器306。致动功能312还生成表示致动的相应致动器306的状态的反馈致动数据。反馈致动数据通过通信接口303发送到模拟服务器200。更具体地,包括反馈致动数据的图2A的模拟数据212发送到图3A中表示的服务器模拟功能210。
模拟器模拟功能310、模拟器IOS UI 320和模拟器GUI 320由一个或多个计算机程序实现。每个计算机程序包括用于在由处理单元301执行时实现相应功能的指令。指令包括在非暂时性计算机程序产品(例如,存储器302)中。指令可通过电子可读介质(诸如,存储介质(例如USB密钥或CD-ROM)或网络30(通过通信接口303))传送。
更具体地参考图3C,便携式计算设备400包括处理单元401,处理单元401具有能够执行计算机程序的指令的一个或多个处理器(为了简化目的未在图3C中表示)。每个处理器还可以具有一个或多个核。处理单元401通过执行计算机程序的指令来实现便携式计算设备400的功能。由处理单元401实现的功能包括便携式计算设备IOS UI420。
便携式计算设备400包括存储器402,存储器402用于存储由处理单元401执行的计算机程序的指令、由执行计算机程序生成的数据、通过通信接口403接收的数据等。便携式计算设备400可以包括几种类型的存储器,包括易失性存储器、非易失性存储器等。
便携式计算设备400包括通信接口403,通信接口403用于通过网络30与包括模拟服务器200的其他设备交换数据。交换的数据包括图2B中表示的IOS数据222和模拟数据212。通信接口403支持一种或多种通信协议,诸如Wi-Fi、以太网等。
便携式计算设备400包括显示器404(例如,常规屏幕或触觉屏幕),显示器404用于显示由处理单元401处理和/或生成的数据。便携式计算设备400还包括用于允许用户(图3C中未示出)与便携式计算设备400交互的至少一个用户界面405(例如,鼠标、键盘、触控板、触摸屏等)。
在特定实施例中,便携式计算设备IOS UI 420包括显示功能421和交互功能422。显示功能421和交互功能422以与图3B中表示的显示功能321和交互功能322类似的方式操作。
便携式计算设备IOS UI 420由一个或多个计算机程序实现。每个计算机程序包括用于在由处理单元401执行时实现相应功能的指令。指令包括在非暂时性计算机程序产品(例如,存储器402)中。指令可通过电子可读介质(诸如,存储介质(例如USB密钥或CD-ROM)或网络30(通过通信接口403))传送。
在用于简化目的在图中未表示的替选实施例中,图3C的便携式计算设备400可以对应于图2B中表示的便携式计算设备400'。由处理单元401实现的功能包括图2B的便携式计算设备GUI 430来代替便携式计算设备IOS UI 420。与模拟服务器200交换的数据包括图2B的GUI数据232和模拟数据212。
在用于简化目的在图中未表示的又一替选实施例中,图3C的便携式计算设备400可以适于实现图2B中所示的便携式计算设备IOS UI 420和便携式计算设备GUI 430。如果用户10正在使用便携式计算设备400,则便携式计算设备IOS UI 420由处理单元401执行。如果用户20正在使用便携式计算设备400,则图2B中所示的便携式计算设备GUI 430由处理单元401执行。
在特定方面,模拟服务器200的处理单元201还执行网络服务器功能250,以实现模拟服务器200与模拟器300或便携式计算设备400之间的数据交换。用户10或20(例如指导者或受训者)之一在网络服务器功能250和由模拟器300或便携式计算设备400实现的网络客户端之间启动模拟网络会话,这将在后面的描述中详述。一旦建立了模拟网络会话,就可以通过网络服务器功能250在模拟服务器200和模拟器300或便携式计算设备400之间交换数据。在图2A和图2B中表示的模拟数据212、IOS数据222和GUI数据232通过网络服务器功能250进行交换。
在另一特定方面,模拟服务器200的处理单元201还执行至少一个渲染功能240。在启动上述模拟网络会话之后,网络服务器功能250发起渲染功能240的每个实例,将在后面的描述中详述。渲染功能240的每个实例生成适于在特定目的地设备上渲染的数据。例如,如果特定目的地设备是便携式计算设备400,则诸如2D或3D模拟图像的数据可能需要适于便携式计算设备400的特定处理和显示能力。如果特定目的地设备是模拟器300,则这些数据可能不需要针对在模拟器300上渲染的特定适配。因此,不需要适配的数据由网络服务器功能250直接发送,而需要适配的数据(例如2D或3D模拟图像)由渲染功能240的实例处理以用于适配目的。适配的数据可以由渲染功能240发送到目的地设备。或者,适配的数据也通过网络服务器功能250发送到目的地设备。出于说明目的,在说明书的其余部分中,适配的数据将由渲染功能240发送到目的地设备(例如,便携式计算设备400)。通常,图2A和图2B中表示的一些模拟数据212包含诸如地图的2D或3D模拟图像,这些模拟图像需要由渲染功能240的实例进行适配,特别是用于发送到具有有限处理能力、显示能力等的便携式计算设备400。然而,图2A和图2B中表示的一些IOS数据222和GUI数据232也可以在需要时由渲染功能240的实例进行适配。
通过渲染功能240的实例对静态2D或3D模拟图像(或2D或3D模拟图像的流)的适配可以包括以下之一:以特定格式(例如JPEG、GIF、TIFF、PNG等)编码模拟图像,将特定压缩算法应用于模拟图像,将特定图像采样算法应用于模拟图像,并应用特定算法来降低图像模拟图像的分辨率。
由于通过网络服务器功能250执行与模拟服务器200的至少一些通信,因此模拟器300的处理单元301和便携式计算设备400的处理单元401分别执行网络客户端功能350和450。网络客户端功能350和450用于与模拟服务器200的网络服务器功能250建立先前描述的模拟网络会话。网络客户端功能350和450还用于与模拟服务器200的网络服务器功能250交换数据(例如,图2A和2B中表示的模拟数据212、IOS数据222和GUI数据232)。例如,网络服务器功能250发送到模拟器IOS UI 320的数据由网络客户端功能350接收,并转发到模拟器IOS UI 320。由模拟器IOS UI 320发送到模拟服务器200的数据被发送到网络客户端功能350,网络客户端功能350将它们转发到网络服务器功能250。使用网络客户端来交换数据在本领域中是公知的,并且在其余的描述中将不再进一步详述。
关于由模拟服务器200的渲染功能240的实例发送的适配数据,它们不被网络客户端(例如,便携式计算设备400上的450)接收,而是由目的地功能直接接收(例如,便携式计算设备IOS UI 420)。如本领域所公知的,使用预定义或动态分配的通信套接字的专有通信协议可用于发送适配数据。
为了说明的目的,现在将在模拟服务器200和便携式计算设备400之间的数据交换的背景中详细描述网络服务器功能250和渲染功能240的操作。在这种背景下,一些由模拟服务器200发送的数据需要通过渲染功能240的一个或多个实例适于便携式计算设备400的能力,而其他数据可以通过网络服务器功能250直接发送。
适于在特定目的地设备(例如,便携式计算设备400)上渲染的数据通常包括由模拟功能210(例如,2D或3D地图)生成并且由渲染功能240的特定实例进行适配的模拟数据。例如,服务器模拟功能210的上述导航功能生成发送到导航渲染功能240的模拟数据。导航渲染功能240使模拟数据(例如导航图)适于在便携式计算设备400上渲染,并将适配的模拟数据发送到便携式计算设备400。类似地,服务器模拟功能210的上述天气功能生成发送到天气渲染功能240的模拟数据。天气渲染功能240适配模拟数据(例如,天气图)以便在便携式计算设备400上渲染,并将适配的模拟数据发送到便携式计算设备400。渲染功能240的多个实例(例如,导航和天气渲染功能)可以同时生成适配的模拟数据并将其发送到便携式计算设备400。便携式计算设备IOS UI 420的显示功能421接收并显示已通过导航和天气渲染功能240适配和发送的模拟数据。
网络服务器功能250直接向便携式计算设备400发送数据,这些数据不需要由渲染功能240的实例之一处理。这样的数据通常包括由服务器IOS功能220生成的IOS控制和监视数据222(例如,控制网页),IOS控制和监视数据222被发送到网络服务器功能250,并进一步发送到便携式计算设备400。这样的数据还可以包括由服务器模拟功能210之一生成的互补模拟数据。例如,服务器模拟功能210的导航功能生成互补模拟数据(例如模拟的参数,诸如风速,模拟的事件,诸如飞机速度太高等),互补模拟数据被发送到网络服务器功能250并且进一步发送到便携式计算设备400。可以将参数和/或事件以图标、文本字段等形式显示在便携式计算设备400的显示器404上。例如,参数和/或事件构成在便携式计算设备400的显示器404上显示的导航图的补充中显示的附加模拟信息。导航图具有导航渲染功能240基于由服务器模拟功能210的导航功能生成的模拟数据生成,并发送到便携式计算设备400。
例如,服务器IOS功能220的IOS功能IOS_1将IOS控制和监视数据222(例如,导航控制网页)发送到便携式计算设备400,用于控制服务器模拟功能的导航功能的执行。IOS控制和监视数据222由IOS功能IOS_1发送到网络服务器功能250,并进一步发送到便携式计算设备400以供显示。IOS控制和监视数据222由便携式计算设备IOS UI 420的显示功能421在显示器404上显示。用户10与所显示的IOS控制和监视数据222(例如,导航控制网页)进行交互,并且便携式计算设备IOS UI 420的交互功能422生成IOS交互数据222。用户10通过便携式计算设备400的用户界面405(例如,键盘、鼠标、触控板、触摸屏等)进行交互,并且基于该交互生成IOS交互数据222。IOS交互数据222由便携式计算设备400发送到网络服务器功能250,并转发到IOS功能IOS_1。IOS功能IOS_1处理IOS交互数据222并基于处理的IOS交互数据222控制服务器模拟功能210的导航功能的执行。
同时,服务器IOS功能220的IOS功能IOS_2将IOS控制和监视数据222(例如,天气控制网页)发送到便携式计算设备400,以控制服务器模拟功能210的天气功能的执行。控制和监视数据222由IOS功能IOS_2发送到网络服务器功能250,并进一步发送到便携式计算设备400以供显示。IOS控制和监视数据222由便携式计算机设备IOS UI 420的显示功能421在显示器404上显示。用户10与所显示的控制数据(例如,天气控制网页)进行交互,并且便携式计算设备IOS UI 420的交互功能422生成IOS交互数据222。IOS交互数据222由便携式计算设备400发送到网络服务器功能250,并转发到IOS功能IOS_2。IOS功能IOS_2处理IOS交互数据222并基于处理的IOS交互数据222控制服务器模拟功能210的天气功能的执行。
在特定实施例中,可以在模拟服务器200上使用视觉数据库(图中未示出)。视觉数据库包含通过渲染功能240的一个或多个实例可以流式传输和显示在便携式计算设备400上的数据(例如,地形、建筑物、3D模型等)。视觉数据库还包含在通过网络服务器功能250直接传输到便携式计算设备400之后可以覆盖在所显示的数据上的参数和/或事件。
现在同时参考图3A和图4,图4示出了支持多个模拟器(例如300和300')以及多个计算设备(例如400和400')的单个模拟服务器200。尽管在图4中已经表示了两个模拟器,但是模拟服务器200可以基于其处理和通信能力支持任何数量的模拟器。类似地,尽管图4中已经表示了两个便携式计算设备,但是模拟服务器200可以基于其处理和通信能力来支持任何数量的便携式计算设备。
为了说明的目的,模拟服务器200执行第一模拟,并且第一用户(在该特定实例中的受训者)通过模拟器300与第一模拟交互,而第二用户(在该特定实例中的指导者)通过便携式计算设备400与第一模拟交互。同时,模拟服务器200执行第二模拟,并且第三用户(另一受训者)通过模拟器300'与第二模拟交互,而第四用户(第二指导者)通过便携式计算设备400'与第二模拟交互。
为了说明的目的,模拟服务器200的服务器模拟功能210同时执行与第一模拟有关的天气功能的第一实例,以及与第二模拟有关的天气功能的第二实例。天气功能的每个实例生成模拟数据(例如,天气图),该模拟数据分别通过网络服务器功能250直接发送到模拟器300和300',而不使用渲染功能240。尽管在该示例中提到了两个天气功能实例,但是可以在模拟服务器200上同时操作更多数量的实例。
出于说明目的,渲染功能240同时执行与第一模拟有关的天气渲染功能的第一实例,以及与第二模拟有关的天气渲染功能的第二实例。由服务器模拟功能210执行的每个天气功能实例在传输到便携式计算设备400和400'之前生成模拟数据(例如,天气图),该模拟数据分别由天气渲染功能的实例适配。尽管在该示例中提到了两个天气渲染功能的实例,但是可以在模拟服务器200上同时操作更多数量的实例。发送到便携式计算设备400和400'的适配的模拟数据可以基于便携式计算设备400和400'中的每一个的特定的特性而不同。例如,可以为便携式计算设备400生成具有比便携式计算设备400'更好的分辨率的天气图。
为了说明的目的,服务器IOS功能220同时执行IOS功能IOS_2的第一和第二实例,用于分别控制由服务器模拟功能210执行的天气功能的第一和第二实例。IOS功能的第一个实例IOS_2将IOS控制和监视数据222(例如,天气控制网页)发送到便携式计算设备400,以控制天气功能的第一实例的执行。控制数据由IOS功能IOS_2的第一实例发送到网络服务器功能250,并进一步发送到便携式计算设备400以供显示。IOS交互数据222由便携式计算设备400生成并发送到网络服务器功能250,并且被转发到IOS功能IOS_2的第一实例。IOS功能IOS_2的第一实例处理IOS交互数据222并基于处理的IOS交互数据222控制由服务器模拟功能210执行的天气功能的第一实例的执行。
IOS功能IOS_2的第二实例将IOS控制和监视数据222(例如,天气控制网页)发送到便携式计算设备400'以控制由服务器模拟功能210执行的天气功能的第二实例的执行。控制数据由IOS功能IOS_2的第二实例发送到网络服务器功能250,并进一步发送到便携式计算设备400'以供显示。IOS交互数据222由便携式计算设备400'生成并发送到网络服务器功能250,并且被转发到IOS功能IOS_2的第二实例。IOS功能IOS_2的第二实例基于处理的IOS交互数据222处理IOS交互数据222并控制由服务器模拟功能210执行的天气功能的第二实例的执行。尽管在该示例中提到IOS功能IOS_2的两个实例,但是可以在模拟服务器200上同时操作更多数量的实例。
或者,服务器模拟功能210可以同时执行与第一模拟有关的天气功能的实例,以及与第二模拟有关的导航功能的实例。由服务器模拟功能210执行的每个天气和导航功能实例生成模拟数据(例如,天气图和导航图),该模拟数据分别通过网络服务器功能250直接发送到模拟器300和300'。渲染功能240同时执行与第一模拟有关的天气渲染功能的实例,以及与第二模拟有关的导航渲染功能的实例。由服务器模拟功能210执行的每个天气和导航功能实例在传输到便携式计算设备400和400'之前生成模拟数据(例如,天气图和导航图),该模拟数据分别由天气和导航渲染功能的实例适配。
在这种情况下,服务器IOS功能220同时执行IOS功能IOS_1的实例和IOS功能IOS_2的实例,以分别控制由服务器模拟功能210执行的导航和天气功能的实例。IOS功能IOS_1和IOS功能IOS_2的实例如先前关于便携式计算设备400和400'所描述的那样操作。
以类似的方式,服务器GUI功能230同时执行与第一模拟有关的服务器GUI功能230的第一实例,以及与第二模拟有关的服务器GUI功能230的第二实例。服务器GUI功能230的每个实例生成GUI图形数据232,GUI图形数据232通过网络服务器功能250分别发送到模拟器300和300'。服务器GUI功能230的每个实例还通过网络服务器功能250接收GUI交互数据232,GUI交互数据232分别由模拟器300和300'发送。模拟器GUI 330在模拟器300和300'上显示从模拟服务器200接收的GUI图形数据232,并基于用户20与显示的GUI图形数据232的交互生成GUI交互数据232。模拟服务器200上的服务器GUI功能230的每个实例处理由模拟器300和300'发送的GUI交互数据232,并基于处理的GUI交互数据232分别控制模拟的第一和第二实例的执行。由服务器模拟功能210生成的数据也由网络服务器功能250直接发送(无需由渲染功能240适配)到模拟器300和300',以供模拟器GUI 330显示。
在替选实施例中,网络服务器功能250由与处理单元201不同的模拟服务器200的专用处理单元(图中未表示)执行。
在另一替选实施例中,网络服务器功能250的若干实例由处理单元201执行。例如,实例专用于服务器IOS功能220,实例专用于服务器模拟功能210,并且实例专用于服务器GUI功能230。如前所述,至少一些实例可以由与处理单元201不同的专用处理单元执行。
在又一替选实施例中,网络服务器功能250未在模拟服务器200上实现,而是在未在图中表示的独立服务器上实现。
现在同时参考图3A、图3B、图3C、图6A、图6B和图6C,其中图6A、图6B和图6C表示示出便携式计算设备400与模拟服务器200的组件之间的交互的示例性流程图600。更确切地说,该示例性流程图600示出了便携式计算设备IOS UI 420与模拟服务器200的交互。
在步骤610处,便携式计算设备400的用户通过输入其凭证来执行认证,并且便携式计算设备网络客户端功能450将凭证发送到网络服务器功能250。网络服务器功能250验证用户是否被授权基于用户凭证连接到模拟门户,并且基于用户凭证的认证结果授予/拒绝对模拟门户的访问。此步骤是可选的,但通常被实现以避免任何用户被授予访问模拟门户而没有限制。可以授权模拟门户的管理员访问门户的管理功能,而标准用户通常只能访问门户的模拟功能。
在步骤615处,便携式计算设备网络客户端功能450启动与网络服务器功能250的模拟网络会话。例如,便携式计算设备400的用户输入对应于由网络服务器功能250托管的模拟门户的统一资源定位符(URL),并且便携式计算机设备网络客户端功能450请求与模拟服务器200的连接,以下称为模拟门户。在返回中,网络服务器功能250返回要由便携式计算设备网络客户端功能450显示的模拟门户的主页。
在步骤620处,网络服务器功能250将候选服务器模拟功能210的列表(例如,天气功能、导航功能等)发送到便携式计算设备网络客户端功能450。可以基于特定的用户简档确定列表,并且可以仅包括由网络服务器功能250支持的所有可用服务器模拟功能210的子集(例如,仅天气功能)。该子集对应于便携式计算设备400的用户被授权基于其简档使用的服务器模拟功能210(例如,仅天气功能)。对于每个用户,网络服务器功能250存储用户的简档以确定相应的授权服务器模拟功能210。每个用户的简档可以由网络服务器功能250的管理员生成。例如,在飞机模拟的情况中,用户可能仅被授权使用服务器模拟功能210,其对应于一种或多种特定类型的飞机、飞机的一个或多个特定系统或子系统、仅军用或民用飞机等。便携式计算设备网络客户端功能450显示候选服务器模拟功能210的列表(例如,天气功能和导航功能),用于允许用户从候选列表中选择一个。由用户在候选服务器模拟功能210的列表中选择特定服务器模拟功能(例如,天气功能)由便携式计算设备网络客户端功能450发送到网络服务器功能250功能。或者,可以同时选择多个候选服务器模拟功能210。
在步骤621处,网络服务器功能250确定所选服务器模拟功能210的实例(例如,天气功能)是否已经在运行,并且如果不是这种情况,则启动这样的实例。由于模拟服务器200可以并行支持多个模拟会话,因此服务器模拟功能210(例如,天气功能)可以具有针对不同的独立模拟会话并行运行的若干实例。因此,在执行步骤620之前,用户可能需要加入现有的模拟会话或创建新的模拟会话。通过便携式计算设备网络客户端功能450和网络服务器功能250之间的交互来执行模拟会话的创建/加入。每个独立模拟会话被分配唯一标识符和描述模拟会话的特征的信息,以便任何便携式计算设备400或模拟器300可以基于其特性(例如,模拟的飞机的类型、用于模拟的模拟器300等)加入适当的正在进行的模拟会话。
所选择的服务器模拟功能210(例如,天气功能)可以自动提供对服务器IOS功能220(例如,IOS功能IOS_2)的对应IOS功能的访问。或者,执行类似于选择步骤620的交互式选择步骤622。在步骤622处,网络服务器功能250将服务器IOS功能220(例如IOS功能IOS_1、IOS功能IOS_2等)的候选IOS功能列表发送到便携式计算设备网络客户端功能450。该列表可以基于用户的特定简档来确定,并且可以仅包括由网络服务器功能250支持的所有可用服务器IOS功能的子集(例如,仅IOS功能IOS_2)。该子集对应于便携式计算设备400的用户基于其简档被授权使用的服务器IOS功能220(例如,仅IOS功能IOS_2)。对于每个潜在用户,网络服务器功能250存储用户的简档以确定相应的授权服务器IOS功能220。便携式计算设备网络客户端功能450显示候选服务器IOS功能220的列表(例如,IOS功能IOS_1和IOS功能IOS_2)以允许用户从候选列表中选择一个。用户在候选服务器IOS功能列表中选择服务器IOS功能220(例如,IOS功能IOS_2)由便携式计算设备网络客户端功能450发送到网络服务器功能250。或者,可以同时选择多个候选服务器IOS功能220。
在步骤625处,网络服务器功能250发起与在步骤622处选择的IOS功能(例如,IOS_2)相对应的服务器IOS功能220的实例。网络服务器功能250还发起与在步骤620处选择的服务器模拟功能210(例如,天气功能)相对应的服务器渲染功能240的实例(例如,天气渲染功能)。如前所述,相同服务器IOS功能210或服务器渲染功能240的若干实例可由模拟服务器200并行执行,以支持多个并行运行的模拟会话,并且还用于支持并行参与相同或类似模拟会话的多个便携式计算设备400。此外,单个便携式计算设备400可以并行地与多个服务器IOS功能210和/或多个服务器渲染功能240交互。
网络服务器功能250建立用于在便携式计算设备400与在步骤625处发起的服务器IOS功能220的实例(例如,IOS功能IOS_2)之间;并且可选地,在便携式计算设备400和在步骤621处发起的服务器模拟功能210的实例(例如,天气功能)之间交换数据的第一通信信道(以直接发送不需要由渲染功能适配的模拟数据)。通过网络服务器功能250和便携式计算设备网络客户端450在模拟服务器200和便携式计算设备400之间交换数据。通过该第一通信信道交换的所有数据不需要通过服务器渲染功能240适于在便携式计算设备400上渲染。
网络服务器功能250在在步骤625处发起的服务器渲染功能240的实例(例如,天气渲染功能)与便携式计算设备400之间建立第二通信信道,用于发送适于在便携式计算设备上渲染的模拟数据。建立该第二通信信道在本领域中是公知的,并且可以包括确定连接标识、选择通信协议、分配通信套接字等。
网络服务器功能250可以为每个便携式计算设备400创建和管理动态通信简档,包括所创建的第一和第二通信信道的特性。动态通信简档的管理包括第一和第二通信信道的创建/更新/删除。
此外,网络服务器功能250向所发起的服务器渲染功能240的实例提供便携式计算设备400的特性。所述特性包括例如处理能力、存储器大小、显示分辨率、通信接口的数据吞吐量、可用的用户界面等。服务器渲染功能240的发起的实例使用这些特性来执行发送到便携式计算设备400的模拟数据的适配。对于模拟门户的每个授权用户,网络服务器功能250可以存储用户使用的便携式计算设备400的静态简档(具有前述特征)。或者,网络服务器功能250通过动态检索用户当前使用的设备400的特性,自动生成用户在步骤610处使用的便携式计算设备400的动态简档(具有前述特征)(该过程是在网页浏览领域中公知的)。
图6B更具体地表示由服务器渲染功能240的实例向便携式计算设备400传输适配的模拟数据。
在步骤630处,服务器模拟功能210的实例(例如,天气功能)生成模拟数据并将模拟数据转发到服务器渲染功能240的对应实例(例如,天气渲染功能)。
在步骤635处,服务器渲染功能240的实例处理模拟数据,并生成适于(基于便携式计算设备400的前述特征)的模拟数据,以用于在便携式计算设备400上渲染。
在步骤640处,适配的模拟数据由服务器渲染功能240的实例直接发送到便携式计算设备400(而不使用网络服务器功能250)。
在步骤645处,便携式计算设备IOS UI 420的显示功能421处理从服务器渲染功能240的实例接收的适配的模拟数据,并在便携式计算设备400的显示器404上显示处理的模拟数据。由于在步骤635处模拟数据已经适于设备400,因此处理非常有限,甚至在显示模拟数据之前甚至可能不需要。
尽管出于简化目的在图6B中表示步骤630、635、640和645的单个序列,但是可以出现多个序列。对于每个序列,在步骤630和635处生成、在步骤640处发送并在步骤645处显示适于在便携式计算设备400上渲染的模拟数据。
图6C更具体地表示未由网络服务器功能250和便携式计算设备400之间的服务器渲染功能240适配的数据的交换。
在步骤650处,服务器IOS功能220的实例(例如,IOS_2)生成IOS控制和监视数据222(不由渲染功能适配),并且将IOS控制和监视数据222转发到网络服务器功能250。
在步骤655处,IOS控制和监视数据222由网络服务器功能250发送到便携式计算设备400(而不应用任何渲染功能)。
在步骤660处,便携式计算设备IOS UI 420的显示功能421在便携式计算设备400的显示器404上显示所接收的IOS控制和监视数据222。
在步骤665处,便携式计算设备IOS UI 420的交互功能422基于便携式计算设备400的用户的交互生成IOS交互数据222(例如,具有步骤660处显示的IOS控制和监视数据222)。
在步骤670处,IOS交互数据222由便携式计算设备400发送到网络服务器功能250。网络服务器功能250简单地将IOS交互数据222转发到服务器IOS功能220的实例(例如,IOS_2)。
网络服务器功能250可以实现过滤功能(未在图中表示),以识别和充分处理从便携式计算设备400接收的数据。过滤功能识别在步骤670处接收的IOS交互数据222,其应被转发到服务器IOS功能220的适当实例(例如IOS_2)。过滤功能还识别在图6A的步骤610、615、620和622处接收的监管和管理数据,该监管和管理数据应由网络服务器功能250直接处理。
在步骤675处,服务器IOS功能220的实例(例如,IOS_2)基于IOS交互数据222处理IOS交互数据222以控制由模拟服务器200执行的模拟的执行。
尽管出于简化目的,在图6C中表示步骤650、655和660的单个序列,但是可以出现多个序列。类似地,可以发生多个步骤665、670和675的序列。步骤650、655和660的多个序列可以在步骤665、670和675的单个序列发生之前发生。类似地,步骤665、670和675的多个序列可以在步骤650、655和660的单个序列发生之前发生。然而,步骤665、670和675的序列之后通常是步骤650、655和660(和/或图6B的步骤630、635、640和645)的序列;因为IOS交互数据222的处理影响由模拟服务器200执行的模拟的执行,这又导致生成新的适配模拟数据212/IOS控制和监视数据222,这些数据被发送到便携式计算设备400。
尽管为了简化目的未在图6C中表示,但是步骤650、655和660还可以包括由模拟数据(其不需要通过渲染功能来适配)的图6B中表示的服务器模拟功能210的实例的生成,由网络服务器功能250直接将这些模拟数据传输到便携式计算设备400,以及在便携式计算设备400上显示这些模拟数据。
此外,由如图6B所示的服务器渲染功能240的实例所适配的模拟数据的传输,以及如图6C所示的由网络服务器功能250对IOS控制和监视数据222/模拟数据212的传输(而无需通过渲染功能)同时且独立地发生。
如本领域所公知的,网络服务器功能250和便携式计算设备网络客户端450之间的通信使用超文本传输协议(HTTP)和/或安全超文本传输协议(HTTPS)。可选地,实时传输协议(RTP)也可以用于在网络服务器功能250和便携式计算设备400之间交换的一些数据。图6A和6C中表示的单个步骤(例如610、615、620、622、655和670)可以包括在网络服务器功能250和便携式计算设备400之间交换的多个HTTP/HTTPS/RTP消息。
类似地,服务器渲染功能240和便携式计算设备400的实例之间的通信也可以使用HTTP和/或HTTPS和/或RTP协议。图6B中表示的单个步骤(例如640)可以包括在服务器渲染功能240和便携式计算设备200的实例之间交换的多个HTTP/HTTPS/RTP消息。在这种情况下,服务器渲染功能的每个实例240实现基于自治HTTP的服务器,该服务器允许通过网络套接字与便携式计算设备400通信。在步骤625处,在网络服务器功能250的指导下执行服务器渲染功能240和便携式计算设备400的实例之间的通信信道的建立。然而,该通信信道不限于使用HTTP和/或HTTPS和/或RTP协议,但是可以使用其他非基于网络的通信协议(例如,专有通信协议)。
流程图600仅用于说明目的。类似的流程图可以适于示出图2B中表示的便携式计算设备GUI 430与模拟服务器200的交互。另外,类似的流程图可以分别适于示出在图2A中表示的模拟器300上执行的模拟器IOS UI 320、模拟器GUI 330和模拟器模拟功能310与模拟服务器200的交互。
现在同时参考图3A、图3B、图3C和图5。图5表示在模拟器300的显示器304上显示的IOS UI页面500。IOS UI页面500由模拟器IOS UI 320的显示功能321显示。IOS UI页面500提供具有实例的子组的用户界面。IOS UI页面500通常包括用于控制模拟参数的图形控制元素(例如,菜单和子菜单、列表框等),以及用于显示由服务器模拟功能210生成的模拟数据的图形显示元素(例如,图像、文本字段、图标、嵌入式视频等)。
图5中表示的IOS UI页面500包括第一图像501(导航图)、图形控制元素502(控制小部件)和第二图像503(天气图)。导航图由服务器模拟功能210的导航功能生成,并且通过网络服务器功能250直接发送到模拟器IOS UI 320(而不通过服务器渲染功能240适配),以通过模拟器显示器304显示在模拟器显示器304上。基于服务器模拟功能210的导航功能的执行来更新导航图。天气图503由服务器模拟功能210的天气功能生成,并且通过网络服务器功能250直接发送到模拟器IOS UI 320(而不通过服务器渲染功能240适配),以通过模拟器显示功能321在模拟器显示器304上显示。基于服务器模拟功能210的天气功能的执行来更新天气图。
网络服务器功能250从服务器IOS功能220接收对应于控制小部件502的IOS控制和监视数据222(例如,用于允许控制导航图501和天气图503)。IOS控制和监视数据222通过网络服务器功能250发送到模拟器300,并且基于所接收的IOS控制和监视数据222,由模拟器IOS UI 321的模拟器显示功能321在模拟器显示器304上显示控制小部件502。当用户通过模拟器IOS UI 320的交互功能322与模拟器300交互时,用户使用控制小部件502来修改例如与导航图501和天气图503相关的参数。包括修改的参数的IOS交互数据222由模拟器IOS UI 320的交互功能322发送到服务器IOS功能220,用于控制例如服务器模拟功能210的导航和天气功能的执行。
图5还表示在便携式计算设备400的显示器404上显示的IOS UI页面510。IOS UI页面510由便携式计算设备IOS UI 420的便携式计算设备显示功能421显示。为了示例的目的,IOS UI页面510包括与IOS UI页面500的导航图501相对应的图像511(导航图),以及与IOS UI页面500的控制小部件502相对应的图形控制元素512(控制小部件)。
出于说明目的,便携式计算设备400的用户已决定不使用服务器模拟功能210的天气功能,因此在便携式计算设备400的显示器404上不显示与IOS UI页面500的天气图503相对应的图像。在图5中未表示的替选使用情况中,如果便携式计算设备400的用户已经决定使用服务器模拟功能210的天气功能,则与IOS UI页面500的天气图503相对应的图像将显示在便携式计算设备显示器404上。
在模拟服务器200上,导航渲染功能240的实例从服务器模拟功能210的导航功能接收对应于导航图511的模拟数据。导航渲染功能240的实例处理模拟数据以生成适于在便携式计算设备400上渲染的导航图511。例如,导航图511的大小和分辨率适于便携式计算设备400的特性(例如,屏幕分辨率等)。导航图511通过服务器渲染功能240的实例发送到便携式计算设备400,并且由便携式计算机设备IOS UI 421显示在便携式计算设备显示器404上。
模拟服务器200处的网络服务器功能250从服务器IOS功能220接收对应于控制小部件512的IOS控制和监视数据222(例如,用于允许控制导航图511)。IOS控制和监视数据222是由网络服务器功能250发送到便携式计算设备400,并且便携式计算设备IOS UI 421基于所接收的IOS控制和监视数据222在便携式计算设备显示器404上显示控制小部件512。
当用户10通过便携式计算设备400的用户界面405与IOS UI页面510交互时,对应的IOS交互数据222由便携式计算设备IOS UI 420的交互功能422生成,并通过交互功能422发送到模拟服务器200的网络服务器功能250。网络服务器功能250将IOS交互数据222转发到服务器IOS功能220。
例如,控件小部件512是包括三个项目的菜单。当用户将指针(对应于鼠标)定位在项目之一上和左键单击时,发送的IOS交互数据222包括所选择的项目。
可选地或互补地,用户10可以在不使用控制小部件512的情况下直接与IOS UI页面510的区域交互。例如,用户10可以将指针(对应于鼠标)定位在导航图511上,并且左键单击或右键单击导航图511。发送的IOS交互数据222包括用户10与导航图511交互的指示,更具体地,通过右键单击或左键单击。IOS交互数据222由模拟服务器200处的服务器IOS功能220解释如下:左键单击是放大请求,右键单击是缩小请求。服务器IOS功能220相应地重新配置服务器模拟功能210的导航功能。在放大的情况下,服务器模拟功能210的导航功能生成更详细的模拟数据,该模拟数据由导航服务器渲染功能240的实例处理,用于生成放大的导航图511,以用于在便携式计算设备400上渲染。在缩小的情况下,服务器模拟功能210的导航功能生成较不详细的模拟数据,该模拟数据由导航服务器渲染功能240的实例处理,以生成缩小的导航图511,以用于在便携式计算设备400上渲染。
更一般地,IOS交互数据222由服务器IOS功能220用于控制相应的服务器模拟功能210(例如导航功能)。控制相应的服务器模拟功能210包括控制由服务器模拟功能210(例如导航功能)生成的模拟数据,该模拟数据由服务器渲染功能240的对应实例(例如,导航服务器渲染功能240的实例)进一步适配以用于在便携式计算设备显示器404上渲染(例如,导航图511)。
网络服务器功能250可以预处理所接收的IOS交互数据222以确定它们是否对应于与便携式计算设备400上显示的IOS UI页面510的合法交互。网络服务器功能250简单地丢弃所发送的不与IOS UI页面500的合法交互对应的IOS交互数据222,并且将合法交互发送到服务器IOS功能220。网络服务器功能250可以进一步区分利用IOS UI页面510生成的IOS交互数据222与其他类型的数据(例如,模拟服务器200的管理和配置),这些数据由网络服务器功能250直接处理。
课程计划和事件编辑
通常在遵循课程计划时执行模拟服务器200的模拟的执行。
现在同时参考图7和图11,其中图7示出了用于定义和管理课程计划和相关事件的模拟服务器和便携式计算设备的组件,并且图11图示了示例性事件编辑器用户界面。图11中描绘的示例性事件与“接近属性的低速”有关。
每个课程计划包括事件、训练点和关键性能指示符。
可以通过事件编辑器UI 470的捕获窗口由用户10来编辑和定制每个事件,如图11所示的示例性事件编辑器UI。每个事件可以链接到模拟的一个或多个阶段。例如,图11示出了用于飞行模拟器的示例性事件编辑器UI,其中提供用于选择的阶段显示在上部中央部分中。在图11所示的特定示例中,所呈现的阶段涉及飞行阶段,即飞行前、滑行、起飞、拒绝起飞、初始爬升、爬升、巡航、下降、进近、绕行和着陆。事件编辑器图形用户界面中提供的阶段可以基于飞机类型或应用类型而不同。例如,在民用飞机模拟的背景下,阶段的示例可以包括起飞、着陆、高空飞行等。在军用飞机模拟的背景下,附加阶段可以包括低空飞行、飞机拦截、导弹逃生机动等。此外,可以对一些阶段进行分组以提供阶段的子集。例如,阶段的子集可以包括以下阶段:下降、进近和着陆。
每个事件由规则集合组成,这些规则可以由用户10预定义和/或编辑和/或定制。在图11示出的示例性事件编辑器UI的中心部分中描绘事件“接近属性的低速”的规则的示例。每个事件可以包括必须同时满足的规则子集、必须满足至少一个规则的规则子集,或者一个或多个独立规则。
每个规则,无论是独立的还是在子集中,都对应于客观验证和/或测量的特定值或值范围。规则还可以对应于用户(例如,受训者)采取的一系列动作。例如,如果规则包括动作,则该动作必须至少以一种方式可测量(和/或验证),诸如例如:动作的执行速度、开始动作前的延迟、动作的强度等。
在飞机模拟的背景下,动作的示例包括:自动驾驶仪的参与、自动驾驶仪脱离、襟翼运动、飞机的高度、飞机的速度、电机熄火、电机重启、燃料下降等。在飞机模拟的背景下,测量的示例包括:高度、坡度角、与下滑道路径的偏差、与定位器路径的偏差、顺风、俯仰角、俯仰率、功率设定、空速等。
一些规则还可以伴随偏差值或偏差值集合(例如,低、中和高)。每个偏差值对应于可测量和可量化的测量。偏差值特别有用,因为在执行模拟期间同时考虑了许多事件、规则和测量。偏差值允许在执行模拟时快速识别用户20何时偏离,以及偏差的大小。
偏差值也可以在事件级别而不是规则级别设置。事件级别的偏差值可以包括与规则相对应的偏差值的子集。因此,当执行模拟时,用户10可以快速评估用户20何时在事件的执行期间开始偏离。当建议对执行模拟的用户20进行改进时,事件级别的偏差值还允许更快的故障排除。
每个事件还可以包括定义用于致动事件的触发器。例如,当在由用户20(例如,受训者)执行模拟期间满足特定测量或测量集合时,模拟自动启动对应于特定测量或测量集合的事件以及相关规则。触发器特别有用于确保在满足特定条件时启动相应的事件,并在模拟期间应用和实施适当的规则和测量。
因此,用户10(例如,指导者)定义和/或定制事件,以便在模拟期间客观地评估用户20(例如,受训者)的表现。模拟通常包括几个事件,但是也可以仅将一个事件包括在模拟中,以便将模拟定向到非常特定的方面。
与着陆阶段和初始进近相关联的事件的示例可以包括:速度刹车的部署(用于评估该步骤的规则的示例可以是具有通过与事件的致动的特定延迟部署的速度刹车)、坡度角的测量(对应规则可以是具有低于给定值的坡度角)等。与着陆阶段和最终进近相关联的事件示例可以包括:自动驾驶仪的参与(使用规则验证自动驾驶仪的脱离)、下滑道偏差的测量(使用测量下滑道偏差的规则并确保下滑道偏差低于给定值或在任何偏差值集合内)等。与着陆阶段和着陆相关联的事件示例可以包括:顺风的测量(使用规则来验证顺风测量值低于给定值)、俯仰角的测量(使用规则确保测量的俯仰角在给定范围内)等。
每个事件可以进一步链接到一个或多个模拟点,该一个或多个模拟点在事件编辑器UI 470中被描绘为抬起和触地。模拟点还可以包括在图12上呈现为之前时间和之后时间的时间定义,该时间定义可以由事件编辑器UI 470的用户10手动输入。
因此,每个课程计划包括一个或多个事件,每个事件由规则和值的集合组成,并且在执行模拟期间作为在被触发时要测量的所需偏差值。
课程计划还包括一个或多个训练点和关键性能指示符(KPI)。训练点可以对应于一个或多个事件,一个或多个事件的一个或多个规则,和/或一个或多个事件的一些规则的特定值等。因此,每个事件用于监视模拟的执行的特定方面,而每个训练点用于评估在执行模拟的特定方面期间用户20的表现。
KPI可以与一个或多个规则、一个或多个事件、一个或多个训练点或其组合相关联。KPI用于客观地评估执行模拟的用户20的性能的特定方面或执行模拟的用户20的整体性能。
用户10(例如,指导者)通过进一步讨论的课程计划编辑器用户界面(UI)460来配置课程计划。课程计划编辑器UI 460是之前讨论的IOS UI 420的一部分。课程计划编辑器UI 460可以包括如图7所示的事件编辑器用户界面(UI)470,或者事件编辑器用户界面UI 470可以与便携式计算设备400上的IOS UI 420中的课程计划编辑器UI 460分开运行,如图7所示。
服务器IOS UI 220包括课程计划编辑器功能260和事件编辑器功能270。课程计划编辑器功能260和事件编辑器功能270可以作为服务器IOS UI 220中的单独功能运行,或者集成到单个功能中(未示出)。
课程计划编辑器UI 460允许指导者与由模拟服务器200执行的课程计划编辑器260交互。课程计划编辑器260的多个实例可以由模拟服务器200的处理单元201并行执行,用于允许多个指导者分别通过它们各自的便携式计算设备课程计划编辑器UI 460与课程计划编辑器260的各种实例交互。课程计划编辑器UI 460也可以在模拟器300上实现,尽管图上没有示出。
服务器课程计划编辑器260由模拟服务器200的处理单元201执行。便携式计算设备课程计划编辑器UI 460由便携式计算设备400的处理单元401执行。课程计划数据262在服务器课程计划编辑器260和便携式计算设备课程计划编辑器UI 460之间交换。以类似于先前在说明书中详述的IOS交互222数据的交换的方式,可以通过模拟服务器200的网络服务器功能250和便携式计算设备400的网络客户端功能450来执行课程计划数据262的交换。
便携式计算设备课程计划编辑器UI 460实现显示功能(在图7中未表示),用于在便携式计算设备400的显示器404上显示从服务器课程计划编辑器260接收的课程计划数据262。便携式计算设备课程计划编辑器UI 460还实现了交互功能(在图7中未表示),用于允许指导者通过便携式计算设备400的用户界面405提供课程计划数据262,并用于将这些课程计划数据262发送到服务器课程计划编辑器260。
以下步骤示出了指导者(用户10)通过便携式计算设备课程计划编辑器UI 460与服务器课程计划编辑器260的示例性交互。
便携式计算设备课程计划编辑器260发送课程计划数据262,课程计划数据262包括指导者被授权执行的操作(例如,课程计划的创建、查看、修改等)。
便携式计算设备课程计划编辑器UI 460发送包括所选操作(例如,创建新课程计划)的课程计划数据262。
服务器课程计划编辑器260发送课程计划数据262,课程计划数据262包括可以创建的课程计划类型的列表(例如,对应于不同类型(例如民用或军用)的飞机的不同类型的课程计划)。
便携式计算机设备课程计划编辑器UI 460发送课程计划数据262,课程计划数据262包括选择课程计划的类型(例如,用于模拟特定类型的军用飞机的课程计划)。
服务器课程计划编辑器260发送包括相应预定事件的列表的课程计划数据262。
指导者通过事件编辑器UI 470选择(通过便携式计算设备课程计划编辑器UI 460)用于配置和/或定制的一个或多个事件。例如,如果课程计划针对高级受训者,则可以优化与事件的规则相关联的值,和/或减少偏差值。
便携式计算设备课程计划编辑器UI 460通过事件编辑器UI 470将包括编辑的事件的课程计划数据262发送到课程计划编辑器260。在特定方面,事件编辑器UI 470可以将修改事件(例如,规则、值、偏差值、阶段)直接发送272到模拟服务器200的事件编辑器270。
包括编辑的事件的课程计划由服务器课程计划编辑器260存储在课程计划数据库(DB)265中。课程计划数据库265可以在模拟服务器200处实现,或者可以在远程数据库服务器处实现。课程计划数据库265仅用于说明目的。创建的课程计划可以通过本领域已知的任何存储装置存储。
课程计划数据库265存储已创建和编辑的课程计划。指导者可以被授权或不被授权查看、修改、使用由另一个指导者创建的课程计划。课程计划数据库265还存储每个注册指导者被授权执行的操作、可以创建的课程计划的类型、事件和规则的列表等。此外,课程计划数据库265还存储使用用于执行模拟的特定课程计划的发生。对于每次使用,还存储指导者和参与模拟的受训者的标识,以及关于模拟会话本身的相关信息(即,编辑的事件、规则、训练点和KPI)。
用户10(例如,指导者)可以选择(如果被授权)课程计划数据库265中存储的课程计划之一仅用于查看,或者用于修改(例如,向课程计划添加/移除/修改事件,添加或删除或修改事件规则等)。或者,用户10(例如,指导者)可以通过向新课程计划添加/移除/修改事件,添加或移除或者修改事件的规则,添加和配置KPI等来创建(如果被授权)要存储在课程计划数据库265中的新课程计划。便携式计算设备课程计划编辑器UI 460和服务器课程计划编辑器260之间用于查看/修改/创建课程计划的课程计划数据262的交换通过任何已知的数据协议(例如,互联网协议)执行。
模拟服务器200还实现服务器事件编辑器270,以创建事件,查看现有事件,修改现有事件等。如图7所示,服务器事件编辑器270可以集成在服务器课程计划编辑器260内,或者单独实现(未示出)。
便携式计算设备事件编辑器UI 470允许用户10(例如,指导者)直接272或通过便携式计算设备课程计划编辑器UI 460和服务器课程计划编辑器260与服务器事件编辑器270交互。服务器事件编辑器270的多个实例可以由模拟服务器200并行执行,用于允许多个指导者分别通过每个便携式计算设备400的便携式计算设备事件编辑器UI 470与服务器事件编辑器270的特定实例交互。便携式计算设备事件编辑器UI 470也可以在模拟器300上实现,尽管在图上未示出。
服务器事件编辑器270由模拟服务器200的处理单元201执行。便携式计算设备事件编辑器UI 470由便携式计算设备400的处理单元401执行。以类似于IOS数据的交换的方式,事件数据272可以通过模拟服务器200的网络服务器功能250和便携式计算设备400的网络客户端功能450在服务器事件编辑器270和便携式计算设备事件编辑器UI 470之间直接交换,其已在前面描述。
便携式计算设备事件编辑器UI 470实现显示功能(在图7中未表示),以直接或通过服务器课程计划编辑器260和便携式计算设备课程计划编辑器UI 460在便携式计算设备400的显示器404上显示从服务器事件编辑器270接收的事件数据272。便携式计算设备事件编辑器UI 470还实现了交互功能(在图7中未表示),用于允许指导者通过便携式计算设备400的用户界面405提供事件数据272,用于将这些事件数据272发送到服务器事件编辑器270。
事件数据库(DB)275存储默认和定制事件,以便于用户10(例如,指导者)创建和编辑课程计划。例如,事件DB 275存储每类用户(诸如初学者/中级/高级)20(例如,受训者)可用的默认事件。事件DB 275还将对应于特定指导者、特定受训者的定制事件存储到特定飞机、特定训练点等。
事件数据库275可以在模拟服务器200处实现,或者可以在远程数据库服务器上实现。事件数据库275仅用于说明目的。可以通过本领域中已知的任何存储装置存储所创建的事件。
代替具有独立事件数据库275,存储在事件数据库275中的所有信息可以存储在课程计划数据库265中。另外,服务器事件编辑器功能270可以直接集成在服务器课程计划编辑器功能260中,并且便携式计算设备事件编辑器UI 470可以直接集成在便携式计算设备课程计划编辑器UI 460中。
课程计划运行器
模拟服务器200还实现服务器课程计划运行器功能280,用于触发和控制根据所选课程计划执行模拟所需的模拟功能210的执行。便携式计算设备400实现便携式计算设备课程计划运行器UI 480,用于允许用户10(例如,指导者)与服务器课程计划运行器280交互。课程计划运行器UI 480也可以在模拟器300上实现,尽管在图上未示出。
服务器课程计划运行器280的多个实例可以由模拟服务器200并行执行,用于允许同时根据多个课程计划执行多个模拟。先前在说明书中已详细描述了模拟服务器200执行的多个模拟。因此,多个用户10(例如,指导者)可以通过他们各自的便携式计算设备课程计划运行器UI 480分别与服务器课程计划运行器280交互。
服务器课程计划运行器280由模拟服务器200的处理单元201执行。便携式计算设备课程计划运行器UI 480由便携式计算设备400的处理单元401执行。课程计划控制数据282在服务器课程计划运行器280和便携式计算设备课程计划运行器UI 480之间交换。可以以类似于已描述的IOS数据222的交换的方式通过网络服务器功能250和便携式计算设备网络客户端功能450执行课程计划控制数据282的交换。
便携式计算设备课程计划运行器UI 480实现显示功能(在图8中未表示),用于在便携式计算设备400的显示器404上显示从服务器课程计划运行器280接收的课程计划控制数据282。便携式计算设备课程计划运行器UI 480还实现交互功能,用于允许用户10(例如,指导者)通过便携式计算设备400的用户界面405提供课程计划控制数据282,并且用于将课程计划控制数据282发送到服务器课程计划运行器280。
以下步骤示出了通过便携式计算设备课程计划运行器UI 480用户10(例如,指导者)与服务器课程计划运行器280的示例性交互。
服务器课程计划运行器280发送课程计划控制数据292,课程计划控制数据292包括存储在服务器课程计划数据库265中的可用课程计划的列表。可用课程计划的列表仅包含当前使用便携式计算设备课程计划运行器UI 480的指导者被授权使用的课程计划。可用课程计划的列表可以基于用户10(例如指导者)通过便携式计算设备课程计划运行器UI 480(例如,仅用于民用飞机的课程计划,仅用于军用飞机的课程计划,用于特定类型的飞机的课程计划等)或者通过服务器课程计划运行器280基于存储在模拟服务器200处的用户10(例如,指导者)的凭证提供的过滤标准来确定。
用户10(例如,指导者)通过便携式计算设备课程计划运行器UI 480在可用课程计划列表中选择一个。服务器课程计划运行器280还可以发送每个可用课程计划的附加信息,该附加信息由便携式计算设备课程计划运行器UI 480显示,用于帮助指导者进行选择。例如,对于每个可用的课程计划,附加信息包括:事件列表、训练点列表和KPI列表。便携式计算设备课程计划运行器UI 480将包括所选择的课程计划的课程计划控制数据282发送到服务器课程计划运行器280。
服务器课程计划运行器280将与所选择的课程计划有关的信息发送到模拟功能210。该信息包括相应的事件、训练点和KPI。
服务器课程计划运行器280还监视相应服务器模拟功能210的执行。为此目的,服务器课程计划运行器280使用可用服务器模拟功能210与所选择和配置的事件之间的映射。该映射指示服务器模拟功能210中的哪一个将用于实现给定类型的课程计划的特定事件或事件的规则。例如,用于民用飞机的课程计划的着陆阶段的初始进近步骤的服务器模拟功能210可以不同于用于军用飞机的课程计划的着陆阶段的初始进近步骤的服务器模拟功能210。映射可以存储在服务器课程计划数据库265中,或者存储在服务器模拟服务器200的另一个组件中。
因此,根据所选择的课程计划执行其模拟和监视的执行。服务器课程计划运行器280将包括与模拟过程有关的信息的课程计划控制数据282发送到便携式计算设备课程计划运行器UI 480。该信息由便携式计算设备课程计划运行器UI 480显示以通知用户10(例如指导者)模拟过程。
用户10(例如,指导者)可以通过与便携式计算设备课程计划运行器UI 480的交互来控制模拟的过程。例如,指导者可以暂时暂停(并且稍后恢复)模拟的执行。指导者还可以重播完成的模拟过程实例。指导者还可以返回到先前的模拟过程实例。便携式计算设备课程计划运行器UI 480通过便携式计算设备网络接口450和网络服务器接口250向服务器计划运行器280发送包括用于控制模拟过程(例如,暂停/恢复、重放、返回等)的指令的课程计划控制数据282,如前所述。用于控制模拟过程的指令被发送到服务器课程计划运行器280,服务器课程计划运行器280与服务器模拟功能210交互,用于有效地执行用于控制从便携式计算设备课程计划运行器UI 480接收的模拟过程的指令。
在模拟的执行期间,服务器课程计划运行器280从服务器模拟功能210收集模拟数据。收集的模拟数据用于确定是否已经满足事件、训练点和KPI。
现在参考与着陆阶段和初始接近步骤相关联的事件的前面提到的示例。如果事件是速度刹车的部署并且相应的KPI将在一定时间部署速度刹车,则收集的模拟数据包括在执行服务器模拟功能210期间发生速度刹车的部署,以及发生出现的时间。如果在指定时间之前检测到发生速度刹车的部署,则满足KPI,否则不满足KPI。如果事件是坡度角的测量并且相应的KPI具有低于给定值的坡度角,则收集的模拟数据包括在执行服务器模拟功能210期间的坡度角的值。如果坡度角的值保持低于给定值,则满足KPI,否则不满足KPI。
现在参考与着陆阶段和最终进近步骤相关联的事件的前面提到的示例。如果事件是自动驾驶仪的参与并且相应的KPI在该步骤处使自动驾驶仪不参与,则所收集的模拟数据包括在执行服务器模拟功能21期间自动驾驶仪正在参与的发生。如果检测到自动驾驶仪正在参与的发生,则不满足KPI,否则满足KPI。
图8示出了事件与起飞期间的俯仰角相关的另一示例。该事件的一个规则涉及俯仰角的测量。相应的KPI是使俯仰角低于最大值。KPI还伴有三个集合的偏差值:低偏差范围、中偏差范围和高偏差范围。最大值是低偏差范围的较低值。所收集的模拟数据包括在执行服务器模拟功能210期间的俯仰角的值。
如果俯仰角的值保持低于最大值(例如,图8中的正常值),则KPI被满足。如果俯仰角的值在低偏差范围内,则KPI不被具有设定为低偏差的等级满足。如果俯仰角的值在中偏差范围内,则KPI不被具有设定为中偏差的等级满足。如果俯仰角的值在高偏差范围内,则KPI不被具有设定为高偏差的等级满足。
在特定方面,便携式计算设备课程计划运行器UI 480显示对应于课程计划的模拟的执行的视觉表示(例如,2D图像、3D图像、曲线等)。
例如,图9示出了在着陆阶段的最终接近步骤期间飞机和机场的2D地图。尽管表示了2D地图,但也可以使用3D地图。
在另一示例中,图10示出了在着陆阶段的初始接近步骤期间飞机的逻辑表示,其中飞机的高度(垂直轴)相对于时间(水平轴)表示。
用于生成模拟的执行的视觉表示的数据由服务器课程计划运行器280(基于从服务器模拟功能210收集的模拟数据)生成,并且直接发送到便携式计算设备课程计划运行器UI 480。或者,用于生成模拟的执行的视觉表示的数据可以由服务器模拟功能210直接生成,并且发送到便携式计算设备课程计划运行器UI 480。
在模拟的执行期间,如果服务器课程计划运行器280检测到不满足当前课程计划的KPI之一,则在由便携式计算设备课程计划运行器UI 480显示的模拟的执行的视觉表示上显示视觉警报。
在第一实施例中,包括模拟的执行和视觉警报的视觉表示的集成视觉数据由服务器课程计划运行器280生成,并且便携式计算设备课程计划运行器UI 480简单地显示集成的视觉数据。在另一个实施例中,服务器课程计划运行器280将与视觉警报有关的信息发送到便携式计算设备课程计划运行器UI 480,便携式计算设备课程计划运行器UI 480使用与视觉警报有关的信息将视觉警报集成到模拟的执行的已经显示的视觉表示。
图9示出了以2D地图中的平面的轨迹上显示的菱形形状形式表示的视觉警报。特定视觉警报在飞机轨迹上的位置指示警报被提升的时刻。例如,视觉警报之一对应于自动驾驶仪正在参与的发生,这不应该在着陆阶段的最后接近步骤期间发生。
图10示出了以表示飞机的高度对时间的曲线上显示的三角形形状形式表示的视觉警报。特定视觉警报在曲线上的位置指示警报被提升的时刻。例如,视觉警报之一对应于在着陆阶段的初始接近步骤的特定时间部署的速度刹车未发生。
在另一特定方面,至少一些事件包括预测度量。预测度量是表示事件的一个或一组KPI处于未被满足风险的早期指示符的值或值范围。
如果KPI包括在某个延迟之前发生事件,则预测度量是较短的延迟。例如,如果KPI具有在着陆阶段的初始接近步骤内的30秒部署的速度刹车,则将预测度量设定为较低值,诸如例如25秒(如果在25秒未部署速度刹车,则存在它们不会在30秒部署的风险)。
如果KPI包括高于/低于特定值或在给定范围内的测量,则在达到KPI设定值之前将预测度量设定为指示未满足KPI的对应值或值范围。例如,如果KPI在着陆阶段的着陆步骤期间具有20至30度的俯仰角,则预测度量例如是高于40度的俯仰角(如果俯仰角高于40度,则存在俯仰角不在20至30度范围内的风险。
由服务器课程计划运行器280收集的模拟数据还用于确定是否已满足为课程计划定义的事件的预测度量。
在执行对应于课程计划的模拟期间,如果服务器课程计划运行器280检测到满足为课程计划定义的一个事件的预测度量,则在由便携式计算设备课程计划运行器UI 480显示的模拟的执行的视觉表示上显示视觉预测指示符。视觉预测指示符的生成和显示类似于视觉警报的先前描述的生成和显示。视觉预测指示符和视觉警报具有不同的形状和/或不同的颜色,以便指导者容易地识别。例如,在图9中,视觉警报包括红色菱形形状,而视觉预测指示符包括黄色菱形形状。在图10中,视觉警报包括红色三角形形状,而视觉预测指示符包括黄色三角形形状。
如果显示对应于事件的视觉预测指示符(例如,黄色三角形形状),但是在模拟中的某个稍后点处最终满足事件的KPI,则可以改变预测指示符的视觉方面(例如,对于绿色三角形形状)以指示满足事件的KPI不致命,或者可以从便携式计算设备的显示器移除视觉预测指示符。
视觉警报和视觉预测指示符传达最少的信息,甚至可能不允许识别相应的事件。因此,指导者可以通过便携式计算设备课程计划运行器UI 480与特定视觉警报或视觉预测指示符交互(例如,通过鼠标、触控板、触摸屏等选择特定视觉警报或预测指示符)以获得关于相应事件的更多信息(例如,由服务器课程计划运行器UI 280显示以识别事件、要满足的KPI、相应的预测度量等)。
在又一个特定方面,服务器课程计划运行器280将与视觉警报和预测指示符有关的信息发送到便携式计算设备IOS UI 420。便携式计算设备IOS UI 420使用与视觉警报和预测指示符有关的信息以将视觉警报和预测指示符集成到模拟的执行的已经显示的视觉表示。先前已经详细描述了便携式计算设备IOS UI 420的操作。特别地,便携式计算设备IOS UI 420可以显示2D地图或3D地图,并且在检测到警报或预测指示符的地图上的位置处视觉警报和预测指示符被集成到2D或3D地图中的模拟的执行的表示。
事件的自动生成
现在同时参考图3A、图3B、图3C和图7。
图7中表示的模拟数据数据库276存储模拟数据。模拟数据数据库276在模拟服务器200处实现,或者可以在远程数据库服务器上实现。模拟数据数据库276仅用于说明目的。可以通过本领域已知的任何存储装置存储模拟数据。
在根据所选择的课程计划执行模拟期间,服务器课程计划运行器280从服务器模拟功能210收集模拟数据。所收集的模拟数据用于确定是否已满足KPI和训练点。由服务器课程计划运行器280收集的至少一些模拟数据连同相应的事件和相关的KPI和训练点一起存储在模拟数据数据库276中。
如果事件是动作(例如,速度刹车的部署)并且相应的KPI具有特定时间执行的动作,则动作的发生时间被存储在模拟数据数据库276中。如果不执行动作,则动作的不发生也存储在模拟数据数据库276中。
如果事件是参数的测量(例如,坡度角)并且相应的KPI具有在限定的范围内的参数值,则模拟期间参数的变化存储在模拟数据数据库276中。
存储在模拟数据数据库276中的模拟数据被收集用于由多个受训者在多个指导者的监督下执行的多个模拟。可以收集和存储附加信息。例如,对应于着陆阶段和起飞阶段的模拟可以利用为特定机场(例如,蒙特利尔、达拉斯等)特别定义的事件来执行。在这种情况下,在着陆阶段和起飞阶段期间收集的模拟数据在存储在模拟数据数据库276中时用机场的标识索引,从而可以稍后为每个特定机场生成统计。
图7中表示的飞行数据数据库277存储飞行数据。飞行数据数据库277在模拟服务器200处实现,或者可以在远程数据库服务器上实现。飞行数据数据库277仅用于说明目的。可以通过本领域已知的任何存储装置存储飞行数据。
飞行数据数据库277中的信息类似于模拟数据数据库276中的信息,但是飞行数据数据库277中的信息已经在真实飞行期间记录在真实飞机上。飞行数据包括在标准飞行期间记录的信息,并且还可以包括当飞机坠毁时记录在黑匣子上的信息。存储在飞行数据数据库277中的信息可以通过其通信接口203发送到模拟服务器200。
模拟数据数据库276和飞行数据数据库277中的信息由事件组织。大数据功能处理每个事件的信息,以生成模拟数据统计和飞行数据统计。大数据功能由模拟服务器200的处理单元201执行。例如,大数据功能可以集成到服务器课程计划运行器280或服务器事件编辑器270。
服务器事件编辑器270使用模拟数据数据库276和飞行数据数据库277的信息来自动创建与特定事件相关联的事件。自动创建基于特定事件的模拟数据统计和飞行数据统计。
自动创建包括自动选择一个或多个规则并自动提供值和建议的KPI。通过便携式计算设备事件编辑器UI 470,用户10(例如,指导者)可以选择/移除一些自动呈现的事件,修改为与事件相关的规则提供的一些值,引入KPI或修改自动生成的KPI,手动创建附加事件和KPI,手动创建新事件并让服务器事件编辑器270自动提供相应规则的值等。
例如,对于特定课程计划,模拟数据统计包括在模拟服务器200执行的类似课程计划的模拟期间使用的前N个(例如,前5个)事件。通过服务器事件编辑器270前N个事件自动添加到特定课程计划。
在另一示例中,对于特定课程计划,模拟数据统计包括在模拟服务器200执行的特定课程计划的模拟期间的前N个(例如,前5个)失败事件。失败事件是对应KPI没有得到满足的事件。通过服务器事件编辑器270前N个失败事件自动添加到特定课程计划。
在又一示例中,由指导者通过便携式计算设备事件编辑器UI 470手动创建或由服务器事件编辑器270自动创建的与课程计划的事件相关联的KPI由服务器事件编辑器270基于模拟数据统计自动生成。
例如,如果事件是动作(例如,速度刹车的部署)并且相应的KPI具有预定义的时间执行的动作,则预定时间和动作发生的有效时间已存储在模拟数据数据库276中。自动生成的KPI的预定义时间可以是存储在模拟数据数据库276中的所有预定义时间的平均值。自动生成的KPI的预定义时间也可以是存储在模拟数据数据库276中的所有预定义时间的平均值,该值通过基于存储在模拟数据数据库276中的所有发生的有效时间计算的值来调整。
尽管上文已通过本发明的非限制性示例性实施例描述了本发明,但是在不脱离本发明的精神和实质的情况下,可以在所附权利要求的范围内随意修改这些实施例。