モデルの例
乗用芝刈り機の販売修理を行っている架空の Acme Mowers という会社について考えてみましょう。Acme Mowers はネット接続するスマートトラクターを新しいラインとして投入しており、ThingWorx を使用して顧客とディーラー向けのソリューションを構築しています。これを実現するため、Acme Mowers は最初に新しいトラクターの ThingWorx モデルを作成する必要があります。
ThingThing ShapeThing Templateを使用して、複雑なモデルを作成できます。たとえば、Acme 社のシリアル番号 SN100M123 のトラクター (Thing) は、FuelPumpAssembly、MowerDeck、および TractorEngine (Thing Shape) から成る EconomySeriesTractor (Thing Template) と MSeriesTractor (Thing Template) をベースにしています。
これらのエンティティは プロパティを持ち (たとえば、TractorEngine のプロパティは EngineHours、EngineTemperature、MaxRPM)、その状態変更によって イベント (ChangeOilDate サービスや EngineOverheating アラームなど) がトリガされることがあり、それらのイベントは 購読によって処理されます。
サブシステム、アセンブリ、コンポーネントが別個のライフサイクルを持つ場合や、別々に追跡および解析しなければならない場合、あるいはそのオプションが交換可能である場合、モデルはさらに複雑になることがあります。たとえば、Battery という名前の新しいプロパティを TractorEngine に追加することで上記のモデルを強化できます。Battery プロパティのタイプを ThingName として定義することで、このプロパティの値を Thing の具体的な名前に設定できます。
たとえば、BatteryShape Thing Shape、TopTerminalBattery または SideTerminalBattery Thing Template、そして最後に Size65TopTerminal または Size75TopTerminal Thing を追加できます。各トラクターエンジンに搭載されているバッテリーに従って、Battery プロパティの値は該当するバッテリー Thing の名前になります。Size75TopTerminal バッテリーは BatteryShape Thing Shape から構成される TopTerminalBattery Thing Template を実装しています。
BatteryShape はトラクターとバッテリー間の関係の一部となります。
特定のバッテリーをトラクターから切り離して追跡できるので、バッテリーを交換した場合に変更する必要があるのはエンジンとの関係だけです。