JP2022062060A - リアルタイムデータフロープログラミング言語のためのツールおよび方法 - Google Patents
リアルタイムデータフロープログラミング言語のためのツールおよび方法 Download PDFInfo
- Publication number
- JP2022062060A JP2022062060A JP2022004285A JP2022004285A JP2022062060A JP 2022062060 A JP2022062060 A JP 2022062060A JP 2022004285 A JP2022004285 A JP 2022004285A JP 2022004285 A JP2022004285 A JP 2022004285A JP 2022062060 A JP2022062060 A JP 2022062060A
- Authority
- JP
- Japan
- Prior art keywords
- data
- program
- stream
- user
- platform
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 80
- 238000011161 development Methods 0.000 claims abstract description 61
- 238000006243 chemical reaction Methods 0.000 claims description 120
- 230000006870 function Effects 0.000 claims description 116
- 238000004364 calculation method Methods 0.000 claims description 52
- 238000012545 processing Methods 0.000 claims description 35
- 230000009466 transformation Effects 0.000 claims description 27
- 238000007689 inspection Methods 0.000 claims description 19
- 230000009471 action Effects 0.000 claims description 16
- 238000012800 visualization Methods 0.000 claims description 16
- 238000004088 simulation Methods 0.000 claims description 12
- 230000001131 transforming effect Effects 0.000 claims description 9
- 239000000872 buffer Substances 0.000 claims description 8
- 238000000605 extraction Methods 0.000 claims description 8
- 230000008520 organization Effects 0.000 claims description 7
- 238000007405 data analysis Methods 0.000 claims description 6
- 239000000284 extract Substances 0.000 claims description 4
- 230000003340 mental effect Effects 0.000 claims description 2
- 230000014509 gene expression Effects 0.000 description 53
- 238000004891 communication Methods 0.000 description 33
- 238000004458 analytical method Methods 0.000 description 24
- 238000012360 testing method Methods 0.000 description 22
- 238000003860 storage Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 16
- 230000000694 effects Effects 0.000 description 15
- 230000007704 transition Effects 0.000 description 15
- 238000004422 calculation algorithm Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 11
- 230000002452 interceptive effect Effects 0.000 description 10
- 238000007726 management method Methods 0.000 description 10
- 238000012544 monitoring process Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 7
- 239000003795 chemical substances by application Substances 0.000 description 7
- 238000010801 machine learning Methods 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 7
- 230000004044 response Effects 0.000 description 7
- 238000013515 script Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 238000002347 injection Methods 0.000 description 6
- 239000007924 injection Substances 0.000 description 6
- 238000005457 optimization Methods 0.000 description 6
- 239000000243 solution Substances 0.000 description 6
- 238000000844 transformation Methods 0.000 description 6
- 230000006399 behavior Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 5
- 238000005259 measurement Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 4
- 239000012634 fragment Substances 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 4
- 241000282326 Felis catus Species 0.000 description 3
- 230000001976 improved effect Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 239000011800 void material Substances 0.000 description 3
- 235000006719 Cassia obtusifolia Nutrition 0.000 description 2
- 235000014552 Cassia tora Nutrition 0.000 description 2
- 244000201986 Cassia tora Species 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 229910052802 copper Inorganic materials 0.000 description 2
- 239000010949 copper Substances 0.000 description 2
- 238000013481 data capture Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000005611 electricity Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000037406 food intake Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000010348 incorporation Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000005065 mining Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000037081 physical activity Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- 241000283726 Bison Species 0.000 description 1
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000005034 decoration Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 230000008531 maintenance mechanism Effects 0.000 description 1
- 230000035800 maturation Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 238000010248 power generation Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000010979 ruby Substances 0.000 description 1
- 229910001750 ruby Inorganic materials 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000036962 time dependent Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/35—Creation or generation of source code model driven
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4498—Finite state machines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer And Data Communications (AREA)
- Debugging And Monitoring (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Testing Or Calibration Of Command Recording Devices (AREA)
- User Interface Of Digital Computer (AREA)
- Devices For Executing Special Programs (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
関連出願との相互参照
この特許出願は、2016年3月23日に出願された米国特許出願第62/312,106号、第62/312,187号、第62/312,223号、および第62/312,255号の利益を主張し、それらは、本願で引用されたすべての他の引例とともに、引用により援用される。
この発明は、コンピューティングの分野に関し、より具体的には、特に産業機械によって生成された大量のデータを取扱うためにエッジコンピューティングにおいて用いられる、データフロープログラムプログラミング言語のためのツールを備えた開発環境に関する。
パターン駆動型リアルタイムデータ解析において用いることができるリアクティブデータフロープログラムは、データフロープログラミング言語を用いて表現することができる。シンタックスおよびセマンティクスの正当性の検証、論理的正当性の検証、デバッグ、ソースコードから安全でポータブルなフォーマット(たとえばパッケージングされたコード)への変換、ソースコード(またはパッケージングされたコード)からプラットフォーム固有コードへの変換、バッチモード解釈、インタラクティブ解釈、データフロー環境のシミュレーションおよびビジュアライゼーション、遠隔実行、モニタリング、またはこれ
らの任意の組合せのための、1つ以上のツールが、データフロープログラミング言語に対して提供される。これらのツールにより、開発、デバッグ、およびデータフローグラフデバイスのデプロイの方法が実現される。
ガイド、指導書、ビデオなどを含む)、ならびに、フォグホーンの技術および製品についての他の出版物が、引用により援用される。
応答を使用してグリーンフィールドIIoT機会を捕らえるためにエッジでフォグコンピューティングを適用することができる。フォグホーンのエッジコンピューティングプラットフォームはまた、追加のコンピューティングリソースを追加することが実行できない場合に、既存のプログラマブルロジックコントローラ(programmable logic controller:
PLC)(たとえば、ブラウンフィールド機会)において動作するように設計される。ブラウンフィールドとは、確立されたシステムを勘案しながら情報技術(information technology:IT)問題領域を解決するための新しいシステムの実現を指す。新しいソフトウェアアーキテクチャは、既存のおよび動作中のソフトウェアを考慮する。
テートマシンは、受信した入力ストリームにおけるパターンマッチングを実行して出力データを生成することができる。この開発環境は複数のツールを含み、これら複数のツールは、潜在的なデータストリームを識別すること、上記ストリームにおけるデータのパターンに対応するリアクティブ関数とパラメータとのセットを識別すること、宣言されたパターンにマッチするデータを変換するための処理関数とパラメータとのセットを識別すること、または、データフローのパターンの比較対象である時限イベントのセットを識別すること、またはこれらの任意の組合せを、実行するためのツールである。
て実行される演算を見て指定することができる。コード閲覧画面において、ユーザは、開発プラットフォームによって自動的に生成されたコンピュータコード表現を見て編集することにより、データフロープログラムを実現することができる。ユーザは、開発プラットフォームインターフェイスに対し、ユーザが指定したデータフロープログラムのデータフロープログラムパッケージ表現をコンパイルするよう要求することができる。
ルなどを含んでいてもよい。一実施形態では、通信ネットワーク124はインターネットであり、他の実施形態では、通信ネットワーク124は、ローカルエリアネットワーク(local area network:LAN)、ワイドエリアネットワーク(wide area network:WA
N)、無線ネットワーク、イントラネット、私的ネットワーク、公的ネットワーク、スイッチドネットワーク、およびこれらの組合せなどを含む、任意の好適な通信ネットワークであってもよい。
ながら、特定のコンピュータシステムは、そのコンピュータシステムが情報を要求しているか、または提供しているかに依存して、クライアントまたはサーバとして、双方として機能してもよい。加えて、この発明の局面はクライアント-サーバ環境を使用して説明されてきたが、この発明はスタンドアロンコンピュータシステムにおいても具現化され得ることが明らかであるはずである。
提供されるインターネットエクスプローラ(Internet Explorer)ブラウザプログラム、
モジラ(Mozilla)によって提供されるファイアーフォックス(Firefox(登録商標))ブ
ラウザ、グーグル(Google(登録商標))によって提供されるクローム(Chrome)ブラウザ、アップル(Apple)によって提供されるサファリ(Safari)ブラウザなどを含む。
信機、ポータブルメディアプレイヤー、携帯情報端末(personal digital assistant:PDA)、他のネットワークアクセスデバイス、および、データを送受信できる他の処理デバイスを含む、任意のコンピューティングデバイスとインターフェイス接続することがで
きる。
クシー(Galaxy)製品(たとえば、ギャラクシーSシリーズ製品、またはギャラクシーノート(Galaxy Note)シリーズ製品)、グーグル(登録商標)ネクサス(Nexus)デバイス(たとえば、グーグルネクサス6、グーグルネクサス7、またはグーグルネクサス9)、およびマイクロソフトデバイス(たとえば、マイクロソフトサーフェス(Surface)タブ
レット)といった、スマートフォンまたはタブレットデバイスであり得る。典型的には、スマートフォンは、電話部分(および関連付けられた無線機)とコンピュータ部分とを含み、それらはタッチスクリーンディスプレイを介してアクセス可能である。
SSD))、バッテリによってバックアップされた揮発性メモリ、テープストレージ、リーダー、および他の同様の媒体、ならびにこれらの組合せを含んでいてもよい。
発明のコードは、ワイヤ、無線波を介して、または、インターネットなどのネットワークを通して伝送されてもよい。
からの)マトラボ(Matlab)、SAS、SPSS、JavaScript(登録商標)、AJAX、Java(登録商標)、パイソン(Python)、アーラン(Erlang)、およびルビー・オン・レイルズ(Ruby on Rails)といった、さまざまな好適なプログラミング言
語のうちのいずれで書かれてもよい。コンピュータソフトウェア製品は、データ入力モジュールおよびデータ表示モジュールを有する独立したアプリケーションであってもよい。これに代えて、コンピュータソフトウェア製品は、分散オブジェクトとしてインスタンス化され得るクラスであってもよい。コンピュータソフトウェア製品はまた、(オラクル社(Oracle Corporation)からの)Java Beans、またはエンタープライズJava Beans(オラクル社からのEJB)といったコンポーネントソフトウェアであってもよい。
ウズ10、ウィンドウズCE、ウィンドウズモバイル、ウィンドウズRT)、シンビアン(Symbian)OS、タイゼン(Tizen)、リナックス(登録商標)、HP-UX、UNIX(登録商標)、サン(Sun)OS、ソラリス(Solaris)、Mac OS X、アップルiOS、アンドロイド(登録商標)、アルファ(Alpha)OS、AIX、IRIX32、ま
たはIRIX64のうちの1つであってもよい。他のオペレーティングシステムが使用されてもよい。マイクロソフトウィンドウズは、マイクロソフト社の商標である。
他のコンピュータにインターフェイス接続されてもよい。ネットワークは、とりわけ、イントラネット、またはインターネットであってもよい。ネットワークは、有線ネットワーク(たとえば、銅を使用)、電話網、パケットネットワーク、光学ネットワーク(たとえば、光ファイバーを使用)、または無線ネットワーク、もしくはこれらの任意の組合せであってもよい。たとえば、データおよび他の情報は、Wi-Fi(数例を挙げると、IEEE規格802.11、802.11a、802.11b、802.11e、802.11g、802.11i、802.11n、802.11ac、および802.11ad)、近距離無線通信(near field communication:NFC)、無線自動識別(radio-frequency identification:RFID)、モバイルまたはセルラー無線(たとえば、2G、3G、4G、3GPP LTE、WiMAX、LTE、LTEアドバンスト、フラッシュOFDM、HIPERMAN、アイバースト(iBurst)、EDGEエボリューション、UMTS、UMTS-TDD、1xRDD、およびEV-DO)といったプロトコルを使用した無線ネットワークを使用して、コンピュータとこの発明のシステムのコンポーネント(またはステップ)との間で渡されてもよい。たとえば、あるコンピュータからの信号が、コンポーネントまたは他のコンピュータへ、少なくとも部分的に無線で転送されてもよい。
る際にハイパーテキスト転送プロトコル(HTTP)を使用してもよい。
1と、強化425と、複合イベント処理(complex event processing:CEP)エンジン429と、適用432と、式言語を通した解析435と、移送438とを含む。クラウドは、エッジプロビジョニングおよびオーケストレーション443と、クラウドおよびエッジ解析ならびにアプリポータビリティ446とを含み得る。
の間のモデル転送を含む。独創的に、フォグホーンは、主な産業用データ取込みプロトコル(たとえば、OPC-UA、モドバス(Modbus)、MQTT、DDSなど)、および他のデータ転送プロトコルをサポートする。加えて、ユーザは、カスタムプロトコルアダプタを、フォグホーンのデータ取込み層へ容易にプラグインすることができる。
CP/IPプロトコルに加えて使用するための、ISO規格の発行-サブスクライブベースの「軽量」メッセージ通信プロトコルである。代替的なプロトコルは、アドバンストメッセージキューイングプロトコル、IETF制約アプリケーションプロトコル、XMPP、およびウェブアプリケーションメッセージングプロトコル(Web Application Messaging Protocol:WAMP)を含む。
トリック(Schneider Electric))によってそのプログラマブルロジックコントローラ(PLC)とともに使用するために発行された、シリアル通信プロトコルである。単純かつ頑強であるため、それはそれ以降、すべての意図および目的のために標準通信プロトコルとなった。それは現在、産業用電子デバイスを接続する、一般に利用可能な手段である。
1.1.単一の物理センサから導き出される仮想センサまたはVelセンサは、任意の組合せの動的較正、信号処理、数式、データ圧縮またはデータ解析を使用して、着信センサデータを変換し得る。
2.1.複数の異種物理センサから(上述の方法を使用して)変換として導き出された仮想センサまたはVelセンサ。
ートでVelセンサデータを生成するために、Velで開発されたアプリケーションが、組込まれたコンピュートハードウェアに対してリアルタイムで実行されることを必要とする。これを達成するために、システムは高効率の実行エンジンを含む。
1.プログラム可能性:Velは、Velセンサをプログラマブルにして、データを合成し、データ品質、頻度および情報についての特定のアプリケーション要件に整合させる。Velセンサは、物理センサおよび他の(たとえば、前から存在する)Velセンサから供給されたデータにプラグインするための無線ソフトウェアアップグレードとして広く分散され得る。このため、アプリケーション開発者は、物理インフラストラクチャのレイアウトから独立したビジネスロジックの効率的実行の助けとなるデジタルインフラストラクチャを作成することができる。
マッチングしたい。このパターンがマッチすると、非零値の和を計算し、その結果を別のストリームに書き込みたい。
ンをトリガしてもよい。たとえば、決定性有限オートマトン(DFA)またはスタックマシンのシフトバッファにおけるデータの、保持領域への収集をトリガすることができる。これらのデータは、後で関数適用に対する引数の基礎を形成してもよい。
2.データがノードを通過する際にデータに変換を適用し、変換されたデータを一時バッファに収集する。または、
3.収集したデータを一時バッファから追加の変換にフラッシュし、その結果を別のDFAまたはスタックマシンにプッシュする。
つの値を匿名の第2項にバインドすることで、パターンをマッチングするであろう。次に、aにバインドされた値[101, 202, 303]のリストに合計関数を適用することによって、
右辺を評価し、606を返すであろう。次いで606をプッシュアウトするであろう。
木には、パターン宣言のルートを形成する1つ以上のノードが含まれる。たとえば、上記の我々のパターンは、図10の左下に示すように、2つの子を有する単一のルートノードで構成され、各子はパターンの1つの項を記述するかもしれない。図10において、反応ルートノード1005、パターンルートノード1010、和(a)ノード1015、ノード
1020、および<no name>(名前無し)ノード10が存在する。
うなプログラミング言語の1つである。
よびそれの関連するコンパイラコンパイラの例である。
いるような型駆動型パターンマッチングシステムは、はるかにより豊富なモデリング機能を備えているが、合理的に効率的な実装を優先して表現できるものをしばしば犠牲にし、それでも依然として、DFAに基づく高速マッチングシステムほど効率的ではない。
マッチングパターンを記述する状態機械が形成される。オーバーロード間の曖昧さ回避、または全体的な不一致の検出は、シーケンス内で可能な限り早く起こり、関数適用の解決をスピードアップする。また、シーケンス内でできるだけ遅くまで一致を遅らせて、可能な限り多くの入力を受け入れる関数の「貪欲」バージョンを生成することもできる。
型の集合およびそれらのコンストラクタ、特に、我々が間もなく論ずるある特定のプロパティを持つ多相集合型。(3)sum型。(4)レコードの形式のproduct型。(5)パターンの形式のproduct型。タプルの、それのフィールドの繰り返しを含むことへの一般化で
ある。(6)ラムダ型。パターン型を任意の型にマッピングする。(7)ラムダのリストからなる多ラムダ型。
って可算であるからである。要素が、仮に、実数や文字列のように、非可算型である場合、明示的な包含または特定の端点の包含が必要となる。たとえば、集合[>= “cat”]は、文字列“cat”、および辞書編集上“cat”の後に分類するすべての文字列で構成されている。
を値として許可するであろう。実際、すべての型をこのように考えることができる。たとえば、単相の整数型は、すべての整数の集合からなる集合型と考えることができる。
は型string(文字列)は、その2つの構成要素型の和である。sum型の構成要素型のいず
れかの何れのインスタンスも、sum型のインスタンスである。これにより、たとえば、各
々が整数または文字列のいずれかである値のリストである型リスト(intまたはstring)
を記述することができる。unionのunionは平坦(flatten)になり、型式(intもしくはstring)または(intもしくはreal(実数))はintまたはrealまたはstringに等しくなる。unionにおける型の順序は重要ではないが、正規性のため、すべてのunion型をここにおいてそれらの構成要素がアルファベット順であるように提示する。
は型内において一意の名前を有する。フィールドの順序は重要ではない。{x: int; y: int}は{y: int; x: int}と同じであるが、unionに対してしたように、我々はレコード型を
、それらの構成要素がアルファベット順にある状態で提示する。
から3つの整数の後に1つから3つの文字列が続くものとマッチする。
上の整数と上限なしでマッチする。これは有効である。ただし、無限入力ストリームを処理するために使用する場合、無限のパターンを、値の収集をいつ停止すべきか示す時間間隔などの他のトリガとペアにする必要がある。
ローカル識別子をバインドするが、入力から2つの整数しか消費しない。
ない。語彙的には、この概念をボイドというキーワードで指定する。ボイドは一意の値である。それ自身の型でもある。合併で使用される場合、ボイドはintまたはvoidなど、任
意選択的な型の表記をもたらし、存在する場合にはintである値を意味するが、まったく
存在しないかもしれない。
び{x: int; y: int; z: int}を考える。2つのフィールド-xおよびy-を有する型は、3つのフィールド-x, yおよびz-を有する型の部分集合であるため、前者は後者の一般化と見
なすことができる。これはパターンにも当てはまる。別のものの接頭辞であるパターンもその一般化である。
3]> → intは、1つから3つの整数をとり、ある整数を返す、ある関数の型である。我
々の多ラムダ型は、ラムダ型のリストで構成されている。ラムダの順序はここでは重要である。多ラムダ適用を解決する際、それの構成要素ラムダのうちマッチする最初のラムダにディスパッチすることになる。
11に従って離接のための部分グラフを作成する。
作成する。
、入力ストリームからの一致ごとに1つの、生じた結果のシーケンスである。これは、データストリーム内で検出されたさまざまな型の引数の対応するパターンによってトリガされる多相型関数によって、入力データストリームの効率的なリアルタイム処理を提供する。
用いて、単一のストリームCにマージしたい。
ンターリーブされる。Bストリームの内容を実現することにポイントがないことに注意さ
れたく、なぜならばそれらはCストリームを構成するためだけに使用されるためである。
それらは匿名の一時的な部分式として同じく簡単に表現できるであろう。
をこれらのDFAの合併として単一の最小DFAに変換することを記載する。その結果、中間流Biの内容を実現する必要なく流入Aiを流出Cにマージする最大効率的な手段が得ら
れる。
る。
ム上の利点を有するため、他のすべてが等しい場合、より効率的に実行される。
)を考えるように変換DFAを考慮する必要がある。正規表現を変換する場合、構文a|b
は代替であり:一致a OR 一致bである。我々の例では、a AND bは各々変換関数からのD
FAである。図11に従ってそれらの代替のための部分グラフを作成する。
のコマンドでコンパイルしテストすることを、たとえターゲットプラットフォームが、自分がその上で開発しているものでなくても、反復できる。
(8)DFA出力をアクションのペアにマッピングする表。各ペアは、式スタックへの参照およびストリーム出力から構成され、DFAの出力が所与の式で変換され、次いで所与のストリームにプッシュされることを示す。
きる実行コンテキストを構築し、プログラムの命令を一度に1つずつ実行し、実行コンテキストからデータにアクセスし、必要に応じてそれを更新することが含まれる。
をインフライトで素早くフェッチするためにいかなるときも外部からクエリすることができる、デフォルト内部自己検査データフローレジームを公開することによって解決する。簡単に述べると、プログラムが予想通りに働かないまたは予想通りにデータを生成しないときは、プログラムに対してクエリし、機能しなかった原因を尋ねれば、それが答えを教えてくれるであろう。リアルタイムストリーミングデータ解析の場合、これは著しい改善である。なぜなら、データに対して多くのプログラムデバッグをインフライトで瞬時に実行する必要があるからである。
ある。よって、センサの表示については、falseの後にtrueを検出したことになる。これ
に関連する重要なパターンマッチングストリーム処理の特徴は、TFR(1)を用い、スライディングウィンドウパターンを介して閉から開への移行を検出することである。
により、端末のインタラクティブセッションに入る。「vel>」プロンプトを見ることになるので、いつVelデバッガに入ったかがわかる。デバッガから出るときは、ctrl+dまたはquitを押せばよい。
を有する各パッケージのストリームを見ることができる。
にバインドすることなく、ストリームに直接注入できる。これにより、他のインフラストラクチャまたはツールセットアップによってデータ実験をポンプする必要は回避される。たとえば、この例において、バルブの状態は現在開いた状態ではないことを先ずポンプすると説明してきた。そこで、プログラムに対し、バルブは現在開いていない(not_open)と意図的に知らせる。
ドラインが存在しないを意味する。この場合、「valve_test」パッケージは、パッケージが完全にリアクティブであり(すなわち自身のタイマーに基づいてアクションを起こさない)現在ペンディングの入力はないのでもう一度実行するか否かに興味がない、という、デッドラインの意味を持たない。このユースケースは、valve_statusが、trueに続くfalseであるか否かを判断することであることを思い出して頂きたい。最後の「next」ライン
は、すべてのパッケージのうちで最も早いデッドラインを示している。この場合、ロードされたパッケージは1つしかないので、次のデッドラインは、「never」である「valve_test」のデッドラインと同一である。「now」というデッドラインを有するパッケージは、即実行する準備ができている。ペンティング入力を有するパッケージは、これらの入力の処理を希望するのであれば、常に準備ができている「now」である。パッケージが、実行
中のタイマーを有する場合、タイマーに基づくデッドラインを有し得る。このようなデッドラインは、「now + 25(ms)」のようなものであろう。
ueウィンドウがマッチする前にfalseにデータがマッチすることを待っているパターンを
示す。パターンマッチは、リアクションの発生条件を満たすことを意味する。このことは、想定したロジックが正しい場合、valve_opened上に出力が見えるはずであることを意味する。これは、生のセンサデータからの論理イベントの最も正確な検出である。
do 「stored_directives.vdbg」を与える。
たプログラムの遠隔ホスト上での実行を開始することができ、このような遠隔ホスト上で実行しているプログラムの、正当性、パフォーマンス、および通常の動作の進行をモニタリングすることができ、このような遠隔ホスト上で実行しているプログラムの実行を停止することができる。
より、下記のリアクションページに変更することができる。
指定)、タイマー、ユーザ定義関数、複合データタイプなどである。各定義のタイプに対し、ツールバーにアイコンおよびボタンがある。それらは、ストリーム2422、定数2426、ユーザ定義タイプ2430、タイマー2434、ユーザ定義関数2438、およびパターン2442である。
グラムを、開発環境の外部で実行できるポータブルパッケージ表現にコンパイルすることができる。ユーザは、エクスポート(export)ボタン2453を用いることにより、プログラムを別のフォーマットにエクスポートすることができる。ユーザは、コードパネルボタン2456を用いることにより、プログラムのコードパネルビューを開くことができる。コードパネルには、プログラムのテキストビューがある。コードパネルは、テキストエディタの編集機能を有するので、ユーザはコードを編集できる。これは、直接コーディングしたい上級ユーザには便利であろう。
04の画面を示す。リアクションページにおいて、ユーザは、データフロープログラムの解析目的のランタイムビューを有するであろう。ユーザは、計算ブロック(変換器と呼ぶことができる)を追加することができる(add compute blocks)。このページは、入力ストリーム、ローカルストリーム、および出力ストリームといった、入力(インジェクタ(injector)と呼ぶことができる)および出力(エクストラクタ(extractor)と呼ぶこと
ができる)を示すこともできる。
。これらの値は差分(diff)ブロック2924に与えられ、このブロックが差分演算を実行する。よって、差分ブロックの出力は、入口圧力値と出口圧力値との差である。この差分出力はローカル圧力(local pressure)ストリーム出力2928に接続される。計算ブロックをトランスデューサとして用いることにより、2つのセンサ入力に基づいた視覚センサストリーミングローカル圧力を提供することができる。
ユーザに対して販売する共通の形態になる。このようなパッケージに対するユーザの信頼およびこのようなパッケージを活用するユーザの能力は増大する。なぜなら、ユーザは、元の作者から支援を受けなくても、自由にパッケージを検査しそのインテグリティを検証するからである。
)パターンマッチングまたはTFR(1)と呼ばれる。
変換に適したスタックに変換する式トランスレータ。(5)反応のパターンおよび式を潜在的に次善のマッチャーの中間収集物に変換するためのマッチャージェネレータ。(6)マッチャーの中間収集物から統合された最小のマッチャーを作成するためのマッチャー結合および最適化アルゴリズム。
ングする表。(8)マッチャー出力をアクションのペアにマッピングする表。各ペアは、式スタックへの参照およびストリーム出力から構成され、マッチャーの出力が所与の式で変換され、次いで所与のストリームにプッシュされることを示す。
令解釈を呼び出して計算を実行し、その結果は他のキューにプッシュされ、これが他のマッチャーをトリガする。
ブ関数とパラメータとのセットを識別すること、宣言されたパターンにマッチするデータを変換するための処理関数とパラメータとのセットを識別すること、および、データが収集もしくは破棄される時間の間隔またはデータが収集もしくは破棄される時間の前もしくは後の特定の時点等の、データフローのパターンの比較対象である時限イベントのセットを識別すること、のうちの少なくとも1つを実行する。ある実装例において、データフロープログラミング言語は、FogHornのVelである。
令インタープリタは、コードの実行においてハードウェアプラットフォームをエミュレートする。データフローシミュレータは、ストリーミングデータ環境をエミュレートし、ステートマシンストリームに入力を与えステートマシンストリームからの出力を収集する。プログラム実行フローコントローラは、計算およびデータをインフライトで検査し計算を前後に駆動する。
上記開発プラットフォームのインターフェイスに対するコンパイルコマンド(たとえばグラフィカルボタン)を用いて、ユーザは、上記開発プラットフォームのインターフェイスを用いて指定した上記データフロープログラムのデータフロープログラムパッケージ表
現をコンパイルするよう、上記開発プラットフォームのインターフェイスに指示することができる。ストリームタイプブロックを、入力データを取込んでデータを出力する、データの作成部兼変換部として使用することができる。
Claims (20)
- 方法であって、
少なくとも1つのマッチャー・ステートマシンを指定できるようにする、データフロープログラミング言語のための開発環境を提供することを含み、前記マッチャー・ステートマシンは、受信した入力ストリームにおけるパターンマッチングを実行して出力データを生成することができ、前記開発環境は複数のツールを含み、前記複数のツールは、
複数の潜在的なデータストリームを識別すること、
前記ストリームにおけるデータのパターンに対応するリアクティブ関数とパラメータとのセットを識別すること、
宣言されたパターンにマッチするデータを変換するための処理関数とパラメータとのセットを識別すること、
データが収集もしくは破棄される時間の間隔またはデータが収集もしくは破棄される時間の前もしくは後の特定の時点等の、データフローのパターンの比較対象である時限イベントのセットを識別すること、
前記識別したストリーム、リアクション、関数、および時限イベントを記述するデータフロープログラムを、表明された意図に基づいて作成すること、
プログラムステートメントを、対応するマッチャー、データフロートポロジ、関数、および関連するシンボリックコンポーネントに変換するためのマッチャージェネレータが組込まれた第1フェーズ変換ツールと、プラットフォーム上で実行される、前記変換されたステートメントに対応する最適化されたプラットフォーム固有ハードウェア命令を生成するための第2フェーズ変換ツールとを含む2フェーズ変換ツールに、前記プログラムを入力として与えること、および、
前記変換ツールの各フェーズの出力を受信すること、
のうちの少なくとも1つを実行する、方法。 - 前記開発環境は、ユーザが1つ以上の計算ブロックを追加できるようにするグラフィカルユーザインターフェイスを有し、各計算ブロックはステートマシンを含む、請求項1に記載の方法。
- 前記グラフィカルユーザインターフェイスは、ユーザが、追加した1つ以上の計算ブロックに接続する入力ブロックを選択できるようにする、請求項2に記載の方法。
- 前記グラフィカルユーザインターフェイスは、ユーザが、出力ブロックに接続する追加した1つ以上の計算ブロックからの出力を選択できるようにする、請求項3に記載の方法。
- 前記開発環境は、前記第1フェーズ変換ツールの出力を使用するインタープリタコンポーネントを含み、前記インタープリタコンポーネントは、
コードの実行においてハードウェアプラットフォームをエミュレートする命令インタープリタと、
ストリーミングデータ環境をエミュレートし、ステートマシンストリームに入力を与えステートマシンストリームからの出力を収集する、データフローシミュレータと、
計算およびデータをインフライトで検査し計算を前後に駆動するプログラム実行フローコントローラとを含む、請求項1に記載の方法。 - 前記開発環境はライブ検査コンポーネントを含み、前記ライブ検査コンポーネントは、
特定のハードウェアプログラム上のライブ実行中プログラムをインストルメント化しそれにアタッチし、データフローグラフの形状に関する見識を提供する、検査方法と、
アタッチ後に実行されて、実行中プログラムのデータフロー計算の状態を抽出し、計
算に関する高精度の直接的な見識を、考慮するデータとともに提供する、検査方法とを含む、請求項1に記載の方法。 - 前記開発環境は、ビジュアライゼーションおよびデータフローシミュレーショングラフィカルベースコンポーネントを含み、当該コンポーネントは、
プログラムをグラフィカルに書くまたは表示するまたは修正することができるようにすることによって、ユーザがストリーミングデータ解析のためのより直感的なメンタルモデルを得て前記プログラムのアクションを十分に理解することを支援する、グラフィカルベースインターフェイスと、
注入された時間の概念を外部制御しデータフローおよび計算において流動性が前後するようにして、実際のデータの流れをアニメーションおよびリンクを介して視覚的にシミュレートすることにより、書かれたグラフィカルプログラムをテスト駆動する、データフローシミュレーションとを含む、請求項1に記載の方法。 - 前記開発環境は、前記第1フェーズ変換ツールの出力を使用するインタープリタコンポーネントを含み、前記インタープリタコンポーネントは、
コードの実行においてハードウェアプラットフォームをエミュレートする命令インタープリタと、
ストリーミングデータ環境をエミュレートし、ステートマシンストリームに入力を与えステートマシンストリームからの出力を収集する、データフローシミュレータと、
計算およびデータをインフライトで検査し計算を前後に駆動するプログラム実行フローコントローラとを含む、請求項7に記載の方法。 - 前記第1フェーズ変換ツールは、デバッグ環境における複数のパブリッシャから複数のサブスクライバへのシミュレートされたメッセージのやり取りを容易にする、一般的にメッセージブローカーと呼ばれる、シミュレートされたパブリッシャ-サブスクライバ型マルチプレクサを含む、請求項8に記載の方法。
- 前記開発環境はライブ検査コンポーネントを含み、前記ライブ検査コンポーネントは、
特定のハードウェアプログラム上のライブ実行中プログラムをインストルメント化しそれにアタッチし、データフローグラフの形状に関する見識を提供する、検査方法と、
アタッチ後に実行されて、実行中プログラムのデータフロー計算の状態を抽出し、計算に関する高精度の直接的な見識を、考慮するデータとともに提供する、検査方法とを含む、請求項8に記載の方法。 - 前記第1フェーズ変換ツールの出力は、前記第2フェーズ変換ツールへの入力として使用することができ、前記変換ツールは、
命令を、中間表現から、ターゲットハードウェアプラットフォームによる実行に適した形式に変換するハードウェア命令ジェネレータと、
データフロー環境におけるリアクティブプログラムとしての使用に適した形式で出力が生成されるよう指示するプログラム編成モジュールと、
前記ターゲットハードウェアプラットフォーム上で実行できるようにするランタイムサポートコンポーネントのライブラリとを含む、請求項1に記載の方法。 - 第2フェーズ変換ツールの出力は、前記ターゲットハードウェアプラットフォーム上での使用に適した実行可能なプログラムである、請求項11に記載の方法。
- データフロープログラミング開発プラットフォームのためのシステムであって、
コンピュータの画面に表示されるグラフィカルユーザインターフェイスと、
前記開発プラットフォームの前記グラフィカルユーザインターフェイスの宣言画面とを
備え、前記宣言画面において、ユーザは、ストリームと定数と関数とパターンとを含む宣言データタイプを指定することができ、ストリーム内で識別すべきパターンを指定するためにパターン定義が使用され、前記宣言データタイプを表すブロックが前記画面に表示されて、ユーザが前記ブロックを前記画面上の所望の位置にドラッグ・アンド・ドロップできるようにし、
前記開発プラットフォームの前記グラフィカルユーザインターフェイスのリアクション画面を備え、前記リアクション画面において、ユーザは、前記宣言データタイプのブロックを、データフロープログラムのグラフィカル表現に相互接続することができ、前記リアクション画面において、ユーザは異なるブロック間の相互接続を指定して変更することができ、
前記開発プラットフォームの前記グラフィカルユーザインターフェイスの計算ブロック画面を備え、前記計算ブロック画面において、ユーザは、計算ブロックによって実行される演算を見て指定することができ、前記ユーザは、前記計算ブロックへの入力および前記入力に対する計算、ならびに前記計算ブロックの出力を指定することができ、
前記開発プラットフォームの前記グラフィカルユーザインターフェイスのコード閲覧画面を備え、前記コード閲覧画面において、ユーザは、前記計算ブロック画面においてグラフィカルに表された演算のコンピュータコード表現を見て編集することができ、前記コンピュータコードは前記開発プラットフォームによって自動的に生成される、システム。 - 前記開発プラットフォームのインターフェイスに対するコンパイルコマンドを備え、ユーザは、コンパイルコマンドを用いて、ユーザが前記開発プラットフォームのインターフェイスを用いて指定した前記データフロープログラムのデータフロープログラムパッケージ表現をコンパイルするよう、前記開発プラットフォームのインターフェイスに指示する、請求項13に記載のシステム。
- ストリームタイプブロックを、入力データを取込んでデータを出力する、データの作成部兼変換部として使用することができる、請求項13に記載のシステム。
- コードの実行においてハードウェアプラットフォームをエミュレートする命令インタープリタと、
ストリーミングデータ環境をエミュレートし、ステートマシンストリームに入力を与え前記ステートマシンストリームからの出力を収集するデータフローシミュレータと、
計算およびデータをインフライトで検査し計算を前後に駆動するプログラム実行フローコントローラと、
デバッグ環境における複数のパブリッシャから複数のサブスクライバへのシミュレートされたメッセージのやり取りを容易にする、シミュレートされたパブリッシャ-サブスクライバ型マルチプレクサとを備える、請求項13に記載のシステム。 - データフロープログラムを開発する方法であって、
グラフィカルユーザインターフェイスを用いて、データフロープログラムのグラフィカル表現を指定することを含み、前記プログラムは、作成タイプと、変換タイプと、抽出タイプとを含み、前記グラフィカルユーザインターフェイスを通して、ユーザは、ブロックを用いて表された前記作成タイプ、前記変換タイプ、および前記抽出タイプを選択してコンピュータ画面上のさまざまな位置に移動させることができ、
前記グラフィカルユーザインターフェイスを用いて、前記作成タイプ、前記変換タイプ、および前記抽出タイプを表すブロックを前記ユーザが相互接続リンクを介して相互接続できるようにすることと、
前記グラフィカルユーザインターフェイスを通して前記ブロック各々の詳細を前記ユーザが指定できるようにすることとを含み、ユーザは変換タイプブロックに対して動作を指定することができ、
ユーザが前記グラフィカルユーザインターフェイスを用いて指定した前記データフロープログラムに対応するコンピュータソースコードを自動的に生成することと、
テキストインターフェイスにおいて自動的に生成された前記コンピュータソースコードをユーザが見て編集できるようにすることと、
ユーザが前記グラフィカルユーザインターフェイスを用いて指定した前記データフロープログラムを実現したものであるターゲットハードウェアプラットフォーム上で実行可能なコードのコンピュータパッケージの生成を、ユーザが指定できるようにすることとを含む、方法。 - 変換ブロックにおける前記動作はパターンマッチング動作であり、前記コンピュータソースコードを自動的に生成することは、前記動作をステートマシンを用いて実現し、前記ステートマシンは、バックトラッキングすることなく、作成部の入力ストリームのデータを処理する技術を反映する、請求項17に記載の方法。
- 変換ブロックにおける前記動作はパターンマッチング動作であり、前記コンピュータソースコードを自動的に生成することは、前記動作をステートマシンを用いて実現し、前記ステートマシンが反映する技術は、作成部の入力からのストリームデータを一度だけ処理し、前に読み出したデータを後で再び読み出すためにバッファに保持しない、請求項17に記載の方法。
- セマンティックレベルのデバック機能をユーザに提供することを含む、請求項17に記載の方法。
Applications Claiming Priority (10)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662312223P | 2016-03-23 | 2016-03-23 | |
US201662312187P | 2016-03-23 | 2016-03-23 | |
US201662312106P | 2016-03-23 | 2016-03-23 | |
US201662312255P | 2016-03-23 | 2016-03-23 | |
US62/312,255 | 2016-03-23 | ||
US62/312,106 | 2016-03-23 | ||
US62/312,223 | 2016-03-23 | ||
US62/312,187 | 2016-03-23 | ||
PCT/US2017/023912 WO2017165713A1 (en) | 2016-03-23 | 2017-03-23 | Tools and methods for real-time dataflow programming language |
JP2018549906A JP2019516167A (ja) | 2016-03-23 | 2017-03-23 | リアルタイムデータフロープログラミング言語のためのツールおよび方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018549906A Division JP2019516167A (ja) | 2016-03-23 | 2017-03-23 | リアルタイムデータフロープログラミング言語のためのツールおよび方法 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2022062060A true JP2022062060A (ja) | 2022-04-19 |
JP2022062060A5 JP2022062060A5 (ja) | 2022-07-06 |
JP7371141B2 JP7371141B2 (ja) | 2023-10-30 |
Family
ID=59897282
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018549799A Active JP6896759B2 (ja) | 2016-03-23 | 2017-03-23 | リアルタイムデータフロープログラミングにおけるパターン駆動型反応の合成 |
JP2018549906A Pending JP2019516167A (ja) | 2016-03-23 | 2017-03-23 | リアルタイムデータフロープログラミング言語のためのツールおよび方法 |
JP2018549927A Active JP7019589B2 (ja) | 2016-03-23 | 2017-03-23 | リアルタイムデータフロープログラミングのための効率的な状態機械 |
JP2022004285A Active JP7371141B2 (ja) | 2016-03-23 | 2022-01-14 | リアルタイムデータフロープログラミング言語のためのツールおよび方法 |
JP2022014853A Active JP7326510B2 (ja) | 2016-03-23 | 2022-02-02 | リアルタイムデータフロープログラミングのための効率的な状態機械 |
Family Applications Before (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018549799A Active JP6896759B2 (ja) | 2016-03-23 | 2017-03-23 | リアルタイムデータフロープログラミングにおけるパターン駆動型反応の合成 |
JP2018549906A Pending JP2019516167A (ja) | 2016-03-23 | 2017-03-23 | リアルタイムデータフロープログラミング言語のためのツールおよび方法 |
JP2018549927A Active JP7019589B2 (ja) | 2016-03-23 | 2017-03-23 | リアルタイムデータフロープログラミングのための効率的な状態機械 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022014853A Active JP7326510B2 (ja) | 2016-03-23 | 2022-02-02 | リアルタイムデータフロープログラミングのための効率的な状態機械 |
Country Status (8)
Country | Link |
---|---|
US (11) | US10572230B2 (ja) |
EP (3) | EP3433769B1 (ja) |
JP (5) | JP6896759B2 (ja) |
KR (3) | KR102092722B1 (ja) |
CN (5) | CN108885632B (ja) |
AU (4) | AU2017238637B2 (ja) |
SA (2) | SA518400085B1 (ja) |
WO (3) | WO2017165708A1 (ja) |
Families Citing this family (137)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10140191B2 (en) * | 2015-07-24 | 2018-11-27 | Accenture Global Services Limited | System for development of IoT system architecture |
US10324773B2 (en) * | 2015-09-17 | 2019-06-18 | Salesforce.Com, Inc. | Processing events generated by internet of things (IoT) |
JP6896759B2 (ja) | 2016-03-23 | 2021-06-30 | フォグホーン システムズ, インコーポレイテッドFoghorn Systems, Inc. | リアルタイムデータフロープログラミングにおけるパターン駆動型反応の合成 |
US10110563B1 (en) | 2016-04-28 | 2018-10-23 | Palo Alto Networks, Inc. | Reduction and acceleration of a deterministic finite automaton |
US10908886B2 (en) * | 2016-07-12 | 2021-02-02 | Oracle International Corporation | Accessing a migrated member in an updated type |
EP3475887B1 (en) | 2016-08-22 | 2023-07-19 | Oracle International Corporation | System and method for dynamic lineage tracking, reconstruction, and lifecycle management |
US20180069925A1 (en) * | 2016-09-08 | 2018-03-08 | BigStream Solutions, Inc. | Systems and methods for automatic transferring of big data computations from centralized systems to at least one of messaging systems and data collection systems |
US10055339B2 (en) * | 2016-09-28 | 2018-08-21 | Wipro Limited | Methods and systems for testing mobile applications |
US10025566B1 (en) * | 2016-10-07 | 2018-07-17 | The Mathworks, Inc. | Scheduling technique to transform dataflow graph into efficient schedule |
US11323519B2 (en) * | 2017-04-19 | 2022-05-03 | Microsoft Technology Licensing, Llc | Internet of things pub-sub data publisher |
GB201706300D0 (en) * | 2017-04-20 | 2017-06-07 | Microsoft Technology Licensing Llc | Debugging tool |
US11537368B2 (en) * | 2017-06-03 | 2022-12-27 | Apple Inc. | Integrating machine learning models into an interpreted software development environment |
US10387129B2 (en) * | 2017-06-29 | 2019-08-20 | General Electric Company | Deployment of environment-agnostic services |
US10872149B1 (en) * | 2017-07-25 | 2020-12-22 | Perspecta Labs Inc. | Anomaly detection based on side-channel emanations |
US10452624B2 (en) * | 2017-08-02 | 2019-10-22 | Vmware, Inc. | Storage and analysis of data records associated with managed devices in a device management platform |
US10545742B2 (en) * | 2017-09-06 | 2020-01-28 | Nicira, Inc. | Annotation-driven framework for generating state machine updates |
EP3688595A1 (en) | 2017-09-30 | 2020-08-05 | Oracle International Corporation | Binding, in an api registry, backend services endpoints to api functions |
US11113608B2 (en) | 2017-10-30 | 2021-09-07 | Accenture Global Solutions Limited | Hybrid bot framework for enterprises |
CN111480150B (zh) * | 2017-11-02 | 2024-07-16 | 芯力能简易股份公司 | 用于控制引擎调试、测试、校准和调节的软件环境 |
US10310959B2 (en) | 2017-11-07 | 2019-06-04 | Bank Of America Corporation | Pre-deployment validation system using intelligent databases |
RO133453A2 (ro) * | 2017-12-28 | 2019-06-28 | Siemens Aktiengesellschaft | Motor de procesare a semnalelor şi evenimentelor |
US11012416B2 (en) * | 2018-01-15 | 2021-05-18 | Akamai Technologies, Inc. | Symbolic execution for web application firewall performance |
CN108400917B (zh) * | 2018-01-22 | 2021-05-18 | 深圳市新科聚合网络技术有限公司 | 一种面向智能制造的边缘计算网关及系统 |
CN110347396B (zh) * | 2018-04-03 | 2023-05-26 | 阿里巴巴集团控股有限公司 | 系统构建方法、控制方法、装置、控制系统及计算设备 |
JPWO2019198221A1 (ja) * | 2018-04-13 | 2020-04-30 | 三菱電機株式会社 | データ処理装置、データ処理方法及びプログラム |
US10986183B2 (en) * | 2018-05-02 | 2021-04-20 | Hewlett Packard Enterprise Development Lp | Data management in a network environment |
US11388222B2 (en) * | 2018-05-04 | 2022-07-12 | Verizon Patent And Licensing Inc. | Mobile edge computing |
US11226797B2 (en) * | 2018-05-24 | 2022-01-18 | Chaldal, Inc. | Representation and analysis of workflows using abstract syntax trees |
EP3579174A1 (en) | 2018-06-08 | 2019-12-11 | Hexagon Technology Center GmbH | Mobile vehicles in manufacturing |
US11275485B2 (en) * | 2018-06-15 | 2022-03-15 | Sap Se | Data processing pipeline engine |
US10666557B2 (en) * | 2018-08-03 | 2020-05-26 | Hitachi, Ltd. | Method to manage data flow for edge-core distributed analytics systems |
CN109150703B (zh) * | 2018-08-23 | 2019-07-02 | 北方工业大学 | 一种工业物联网智能云网关及其通信方法 |
US11601949B2 (en) * | 2018-08-28 | 2023-03-07 | Koninklijke Philips N.V. | Distributed edge-environment computing platform for context-enabled ambient intelligence, environmental monitoring and control, and large-scale near real-time informatics |
US11228481B2 (en) * | 2018-08-29 | 2022-01-18 | Fathym, Inc. | Method for communicating and debugging across IoT systems |
WO2020041872A1 (en) | 2018-08-30 | 2020-03-05 | Streamworx.Ai Inc. | Systems, methods and computer program products for scalable, low-latency processing of streaming data |
US11252258B2 (en) * | 2018-09-27 | 2022-02-15 | Hewlett Packard Enterprise Development Lp | Device-aware dynamic protocol adaptation in a software-defined network |
DE102019124215A1 (de) * | 2018-09-28 | 2020-04-02 | Dspace Digital Signal Processing And Control Engineering Gmbh | Verfahren zum Ändern von Modellen für die Erzeugung von Quellcode |
US20200117576A1 (en) * | 2018-10-12 | 2020-04-16 | Ca, Inc. | Assessing the container-readiness of software applications |
US11960261B2 (en) | 2019-07-12 | 2024-04-16 | Johnson Controls Tyco IP Holdings LLP | HVAC system with sustainability and emissions controls |
US12007732B2 (en) | 2019-07-12 | 2024-06-11 | Johnson Controls Tyco IP Holdings LLP | HVAC system with building infection control |
CN109299380B (zh) * | 2018-10-30 | 2021-07-02 | 浙江工商大学 | 在线教育平台中基于多维特征的习题个性化推荐方法 |
CN109471401B (zh) * | 2018-11-08 | 2021-02-26 | 金蝶软件(中国)有限公司 | 数据处理方法以及边缘计算数据盒 |
US11727021B2 (en) * | 2018-12-14 | 2023-08-15 | Tibco Software Inc. | Process control tool for processing big and wide data |
US11442105B2 (en) * | 2019-01-10 | 2022-09-13 | Tektronix, Inc. | Disaggregated distributed measurement analysis system using dynamic application builder |
IL305359A (en) * | 2019-01-10 | 2023-10-01 | Brane Cognitives Pte Ltd | natural solution language |
US11761660B2 (en) | 2019-01-30 | 2023-09-19 | Johnson Controls Tyco IP Holdings LLP | Building control system with feedback and feedforward total energy flow compensation |
US11150926B2 (en) * | 2019-02-22 | 2021-10-19 | International Business Machines Corporation | Native code generation for cloud services |
US11790263B2 (en) | 2019-02-25 | 2023-10-17 | International Business Machines Corporation | Program synthesis using annotations based on enumeration patterns |
KR102188562B1 (ko) * | 2019-02-28 | 2020-12-09 | 숙명여자대학교산학협력단 | 시각 블록 언어 기반 IoT 응용 프로그램 개발 도구 및 그 동작 방법 |
ES2784865A1 (es) * | 2019-03-26 | 2020-10-01 | Ind Internet Of Robots S L U | Sistema de monitorizacion de maquinaria industrial y metodo para llevar a cabo dicha monitorizacion |
US11616839B2 (en) | 2019-04-09 | 2023-03-28 | Johnson Controls Tyco IP Holdings LLP | Intelligent edge computing platform with machine learning capability |
US10951387B2 (en) | 2019-04-22 | 2021-03-16 | Pinnacle Peak Holding Corporation | Systems and methods for self-formation and self-management of full-duplex communication networks |
CN112181396A (zh) * | 2019-07-02 | 2021-01-05 | 北京京东尚科信息技术有限公司 | Rn代码自动生成系统、方法、设备及介质 |
US11714393B2 (en) | 2019-07-12 | 2023-08-01 | Johnson Controls Tyco IP Holdings LLP | Building control system with load curtailment optimization |
US11274842B2 (en) | 2019-07-12 | 2022-03-15 | Johnson Controls Tyco IP Holdings LLP | Systems and methods for optimizing ventilation, filtration, and conditioning schemes for buildings |
US11074081B2 (en) * | 2019-08-02 | 2021-07-27 | GM Global Technology Operations LLC | Architecture and method supporting multiple vision stream using shared server on embedded platform |
US20210034031A1 (en) * | 2019-08-02 | 2021-02-04 | Hitachi, Ltd. | Using ai for ensuring data integrity of industrial controllers |
US10691728B1 (en) * | 2019-08-13 | 2020-06-23 | Datadog, Inc. | Transforming a data stream into structured data |
TWI720580B (zh) * | 2019-08-14 | 2021-03-01 | 樂澄資訊顧問有限公司 | 視覺模組化程式系統 |
US11121905B2 (en) | 2019-08-15 | 2021-09-14 | Forcepoint Llc | Managing data schema differences by path deterministic finite automata |
WO2021042065A1 (en) * | 2019-08-29 | 2021-03-04 | Unilog Content Solutions, Llc | System and method for non-programmatically constructing software solutions on configurable computing platform |
WO2021050816A1 (en) * | 2019-09-12 | 2021-03-18 | Jabil Inc. | Method and system for managing secure iot device applications |
CN110647324B (zh) * | 2019-09-18 | 2023-05-16 | 编缘(杭州)教育科技有限公司 | Python与Scratch交互式编程方法及电子设备 |
US10942710B1 (en) * | 2019-09-24 | 2021-03-09 | Rockwell Automation Technologies, Inc. | Industrial automation domain-specific language programming paradigm |
US11048483B2 (en) | 2019-09-24 | 2021-06-29 | Rockwell Automation Technologies, Inc. | Industrial programming development with an extensible integrated development environment (IDE) platform |
US11163536B2 (en) | 2019-09-26 | 2021-11-02 | Rockwell Automation Technologies, Inc. | Maintenance and commissioning |
US11392112B2 (en) | 2019-09-26 | 2022-07-19 | Rockwell Automation Technologies, Inc. | Virtual design environment |
US11042362B2 (en) | 2019-09-26 | 2021-06-22 | Rockwell Automation Technologies, Inc. | Industrial programming development with a trained analytic model |
US11733687B2 (en) | 2019-09-26 | 2023-08-22 | Rockwell Automation Technologies, Inc. | Collaboration tools |
US11080176B2 (en) | 2019-09-26 | 2021-08-03 | Rockwell Automation Technologies, Inc. | Testing framework for automation objects |
US11068260B2 (en) * | 2019-09-27 | 2021-07-20 | Hypernet Labs, Inc. | Containerizing source code for execution in different language using drag-and-drop operation |
US11422547B2 (en) | 2019-10-21 | 2022-08-23 | Johnson Controls Tyco IP Holdings LLP | Building management system with machine learning for detecting anomalies in vibration data sets |
US12050442B2 (en) | 2019-10-21 | 2024-07-30 | Tyco Fire & Security Gmbh | Edge devices and gateways with machine learning for detecting anomalies in building equipment vibration data |
US11150877B2 (en) * | 2019-11-06 | 2021-10-19 | Google Llc | Automatically generating machine learning models for software tools that operate on source code |
US11632333B2 (en) | 2019-11-14 | 2023-04-18 | Sayantek, Inc | System and method for implementation of a distributed data flow-based framework |
CN112817573B (zh) * | 2019-11-18 | 2024-03-01 | 北京沃东天骏信息技术有限公司 | 用于构建流式计算应用的方法、装置、计算机系统和介质 |
US10929181B1 (en) * | 2019-11-22 | 2021-02-23 | Iterate Studio, Inc. | Developer independent resource based multithreading module |
CN110908916B (zh) * | 2019-11-27 | 2022-02-22 | 威创集团股份有限公司 | 一种调试工具及调试方法 |
JP7434560B2 (ja) * | 2019-12-13 | 2024-02-20 | ライブパーソン, インコーポレイテッド | 双方向通信システムのためのサービスとしての機能クラウドチャットボット |
US11763217B2 (en) | 2019-12-20 | 2023-09-19 | Iterate Studio, Inc. | Dynamic feature loading |
CN111459965B (zh) * | 2019-12-24 | 2023-05-05 | 中国科学院沈阳自动化研究所 | 一种面向边缘计算的信息监控系统 |
WO2021137669A1 (ko) * | 2019-12-30 | 2021-07-08 | 매니코어소프트주식회사 | 딥러닝을 위한 가속기용 프로그램 생성 방법 |
BR112022014874A2 (pt) * | 2020-01-28 | 2022-09-20 | Ab Initio Technology Llc | Editor para gerar gráficos computacionais |
EP3869228B1 (en) | 2020-02-21 | 2022-07-06 | Tata Consultancy Services Limited | Edge based sensor actuation and control in iot network for event monitoring |
US11061652B1 (en) * | 2020-03-26 | 2021-07-13 | Cognizant Technology Solutions India Pvt. Ltd. | System and a method for moving legacy applications to cloud |
US11308447B2 (en) | 2020-04-02 | 2022-04-19 | Rockwell Automation Technologies, Inc. | Cloud-based collaborative industrial automation design environment |
WO2021211911A1 (en) * | 2020-04-16 | 2021-10-21 | Blackswan Technologies Inc. | Artificial intelligence cloud operating system |
US11609893B1 (en) * | 2020-05-27 | 2023-03-21 | The Mathworks, Inc. | Systems and methods for generating and modifying a pattern for pattern matching utilizing a hierarchical structure that stores one or more values |
US11573934B1 (en) * | 2020-06-03 | 2023-02-07 | Egnyte, Inc. | System and method of presenting a hybrid cloud cache as a file system |
CN111782194B (zh) * | 2020-06-26 | 2022-09-13 | 西北工业大学 | 一种基于航空嵌入式开放体系架构的可移植单元代码自动生成方法 |
US20220004369A1 (en) * | 2020-07-01 | 2022-01-06 | Johnson Controls Tyco IP Holdings LLP | Rule builder and simulator tool for creating complex event processing rules |
EP3940586A1 (en) * | 2020-07-17 | 2022-01-19 | Sony Group Corporation | An electronic device and a related method for detecting and counting an action |
CN116711288A (zh) * | 2020-08-27 | 2023-09-05 | 西门子股份公司 | 用于分布式边缘节点部署的数据流图的集中式管理 |
SE545771C2 (en) * | 2020-08-28 | 2024-01-09 | Stream Analyze Sweden Ab | Method and system for data processing |
CN112052053B (zh) * | 2020-10-10 | 2023-12-19 | 国科晋云技术有限公司 | 一种清理高性能计算集群中挖矿程序的方法及系统 |
CN112394914B (zh) * | 2020-10-28 | 2022-05-24 | 浙江大学 | 一种面向物联网应用的以边缘为中心的编程方法 |
US11734100B2 (en) | 2020-10-30 | 2023-08-22 | Nutanix, Inc. | Edge side filtering in hybrid cloud environments |
US11290330B1 (en) | 2020-10-30 | 2022-03-29 | Nutanix, Inc. | Reconciliation of the edge state in a telemetry platform |
US11700178B2 (en) | 2020-10-30 | 2023-07-11 | Nutanix, Inc. | System and method for managing clusters in an edge network |
CN116391172B (zh) * | 2020-11-09 | 2024-09-06 | “工艺系统”有限责任公司 | 用于创建和执行高度扩展的云应用的系统和方法 |
US11550583B2 (en) * | 2020-11-13 | 2023-01-10 | Google Llc | Systems and methods for handling macro compatibility for documents at a storage system |
CN112363856A (zh) * | 2020-11-19 | 2021-02-12 | 北京计算机技术及应用研究所 | 一种基于dds实现深度学习框架与应用程序互操作的方法 |
CN112416197B (zh) * | 2020-11-23 | 2021-12-03 | 山东师范大学 | 基于Excel和VBA的程序单步演示装置及方法 |
CN112506489B (zh) * | 2020-11-30 | 2024-06-18 | 广州市智能软件产业研究院 | 一种安全协议建模端与验证端的跨平台方法、计算机及存储介质 |
CN112327815A (zh) * | 2020-11-30 | 2021-02-05 | 北京一雄信息科技有限公司 | 一种批量测试汽车诊断仪数据流准确性的方法及装置 |
US11403090B2 (en) | 2020-12-08 | 2022-08-02 | Alibaba Group Holding Limited | Method and system for compiler optimization based on artificial intelligence |
KR102305845B1 (ko) | 2020-12-21 | 2021-09-29 | 쿠팡 주식회사 | 코드의 검증을 위한 전자 장치 및 그 방법 |
JP7492451B2 (ja) | 2020-12-22 | 2024-05-29 | 株式会社日立製作所 | データ制御システム及びデータ制御方法 |
US20210117418A1 (en) * | 2020-12-23 | 2021-04-22 | Vikram Dadwal | Time-aware general-purpose input output for industrial control systems |
EP4036752B1 (en) * | 2021-01-29 | 2024-10-09 | ABB Schweiz AG | Method for analysing process data related to a segment of a production process |
US20220300850A1 (en) * | 2021-03-16 | 2022-09-22 | Data Gran, Inc. | End-to-end machine learning pipelines for data integration and analytics |
KR102500395B1 (ko) * | 2021-03-30 | 2023-02-16 | 서울시립대학교 산학협력단 | 프로그램 소스코드의 버그를 정정하는 장치 및 방법 |
US20220350866A1 (en) * | 2021-05-03 | 2022-11-03 | EMC IP Holding Company LLC | Multi-path layer configured to de-obfuscate logs produced by multi-path input-output drivers |
WO2022251700A1 (en) | 2021-05-28 | 2022-12-01 | Johnson Controls Tyco IP Holdings LLP | Building control system with predictive control of carbon emissions using marginal operating emissions rate |
CN113312652B (zh) * | 2021-06-25 | 2024-05-03 | 国网辽宁省电力有限公司电力科学研究院 | 基于改进cat的云边协同电力终端采集数据完整性验证系统 |
US12101523B2 (en) | 2021-09-21 | 2024-09-24 | Blackberry Limited | Method and system for vehicle data file playback |
US11902664B2 (en) | 2021-09-22 | 2024-02-13 | Adam A. Locke | Cellular telephone with protracting monitor screen and camera |
CN113944601A (zh) * | 2021-10-15 | 2022-01-18 | 上海大学 | 一种用于风机高频海量数据实时采集传输及处理的方法 |
WO2023066777A1 (en) * | 2021-10-19 | 2023-04-27 | Koninklijke Philips N.V. | Efficient log file transfer and processing using grouping of regular expressions and service level dependence |
WO2023081634A1 (en) * | 2021-11-05 | 2023-05-11 | Swarm Engineering, Inc. | Method of creating self-assembling, transient analytic and learning agents in a message-driven architecture |
US12095823B2 (en) | 2021-12-10 | 2024-09-17 | Bank Of America Corporation | System and method for self-clustering edge computing protection |
CN114385178B (zh) * | 2021-12-14 | 2024-07-23 | 厦门大学 | 基于抽象语法树结构信息增强的代码生成方法 |
KR102455142B1 (ko) * | 2022-01-18 | 2022-10-17 | 한국과학기술원 | 컨테이너 환경을 위한 eBPF(extended Berkeley Packet Filter)/XDP(Express Data Path)에 기반한 고속 네트워크 패킷 페이로드 검사 시스템 |
CN114115834B (zh) * | 2022-01-25 | 2022-04-26 | 之江实验室 | 一种软硬件协同编译处理方法及系统 |
US11907142B2 (en) | 2022-02-04 | 2024-02-20 | Red Hat, Inc. | Configuring polling times for software applications |
US12047253B2 (en) | 2022-02-11 | 2024-07-23 | Nutanix, Inc. | System and method to provide priority based quality of service for telemetry data |
WO2023167862A1 (en) | 2022-03-01 | 2023-09-07 | Johnson Controls Tyco IP Holdings LLP | Building automation system with flexible architecture |
US12050017B2 (en) | 2022-03-01 | 2024-07-30 | Tyco Fire & Security Gmbh | Building automation system with edge device local configuration |
US11765065B1 (en) | 2022-03-23 | 2023-09-19 | Nutanix, Inc. | System and method for scalable telemetry |
TWI823408B (zh) * | 2022-05-27 | 2023-11-21 | 國立成功大學 | 機械設備雲端控制系統 |
US11989537B2 (en) * | 2022-06-09 | 2024-05-21 | Xilinx, Inc. | Dataflow-based computer program visualization and refactoring |
US11972257B2 (en) * | 2022-07-12 | 2024-04-30 | Rockwell Automation Technologies, Inc. | Industrial automation system topology with point to point business rule integration |
WO2024068483A1 (en) | 2022-09-30 | 2024-04-04 | Sun Chemical B.V. | Led-curable offset inks containing aluminum additives |
EP4357915A1 (en) * | 2022-10-18 | 2024-04-24 | Nokia Solutions and Networks Oy | A computer program generating apparatus and method |
EP4435608A1 (en) * | 2023-03-22 | 2024-09-25 | BlackBerry Limited | Method and system for dynamic and automatic development configuration for a vehicle |
KR102651797B1 (ko) * | 2023-09-18 | 2024-03-28 | (주) 웨다 | Ai 비전문가를 위한 소프트웨어 정의 제조 기반의 머신러닝 플랫폼 시스템 |
CN118132730B (zh) * | 2024-04-30 | 2024-07-02 | 苏州元脑智能科技有限公司 | 一种数据查询方法、系统、装置、设备、可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013513868A (ja) * | 2009-12-09 | 2013-04-22 | ザ マスワークス, インク | グラフィカル状態遷移図モデルにおける再利用候補の正規化バージョン |
JP2014506692A (ja) * | 2011-01-25 | 2014-03-17 | マイクロン テクノロジー, インク. | Fsmを実装するための専用要素の利用 |
JP2015517129A (ja) * | 2012-02-15 | 2015-06-18 | ザ マスワークス, インクThe Mathworks, Inc. | 状態機械モデルを記述する統合状態遷移表 |
Family Cites Families (109)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3979733A (en) * | 1975-05-09 | 1976-09-07 | Bell Telephone Laboratories, Incorporated | Digital data communications system packet switch |
US4975865A (en) * | 1989-05-31 | 1990-12-04 | Mitech Corporation | Method and apparatus for real-time control |
US5181025A (en) * | 1991-05-24 | 1993-01-19 | The United States Of America As Represented By The Secretary Of The Air Force | Conformal telemetry system |
JPH06168222A (ja) * | 1992-11-30 | 1994-06-14 | Toshiba Corp | プラントのシミュレーション装置 |
DE69432746T2 (de) * | 1994-06-10 | 2004-03-25 | Hewlett-Packard Co. (N.D.Ges.D.Staates Delaware), Palo Alto | Ereignisverarbeitungssystem und Verfahren zur Herstellen eines solchen Systems |
JP2965058B2 (ja) * | 1995-12-18 | 1999-10-18 | 日本電気株式会社 | Cpu命令エミュレートシステム |
US5916305A (en) * | 1996-11-05 | 1999-06-29 | Shomiti Systems, Inc. | Pattern recognition in data communications using predictive parsers |
US5896522A (en) * | 1996-12-31 | 1999-04-20 | Unisys Corporation | Selective emulation interpretation using transformed instructions |
JP3033713B2 (ja) * | 1997-06-12 | 2000-04-17 | 北海道日本電気ソフトウェア株式会社 | 仮想計算機エミュレート装置 |
US6219628B1 (en) * | 1997-08-18 | 2001-04-17 | National Instruments Corporation | System and method for configuring an instrument to perform measurement functions utilizing conversion of graphical programs into hardware implementations |
US7743362B2 (en) * | 1998-02-17 | 2010-06-22 | National Instruments Corporation | Automatic generation of application domain specific graphical programs |
US6826756B1 (en) * | 1998-06-30 | 2004-11-30 | Symbol Technologies, Inc. | Automatic transfer of data from an input device to a software application |
US6522875B1 (en) | 1998-11-17 | 2003-02-18 | Eric Morgan Dowling | Geographical web browser, methods, apparatus and systems |
JP3788111B2 (ja) * | 1999-06-30 | 2006-06-21 | 株式会社デンソー | 情報サービスシステム |
US7937665B1 (en) * | 2000-06-13 | 2011-05-03 | National Instruments Corporation | System and method for automatically generating a graphical program to implement a prototype |
US7590644B2 (en) * | 1999-12-21 | 2009-09-15 | International Business Machine Corporation | Method and apparatus of streaming data transformation using code generator and translator |
US6725287B1 (en) | 2000-11-09 | 2004-04-20 | Elity Systems, Inc. | Method and system for capturing streaming data by an actionable information engine |
US9141708B2 (en) * | 2001-02-23 | 2015-09-22 | Metaframe Technologies Gmbh | Methods for generating selection structures, for making selections according to selection structures and for creating selection descriptions |
US20030035582A1 (en) * | 2001-08-14 | 2003-02-20 | Christian Linhart | Dynamic scanner |
US7367028B2 (en) * | 2001-08-14 | 2008-04-29 | National Instruments Corporation | Graphically deploying programs on devices in a system |
US7203635B2 (en) | 2002-06-27 | 2007-04-10 | Microsoft Corporation | Layered models for context awareness |
US7293112B2 (en) * | 2002-11-12 | 2007-11-06 | National Instruments Corporation | Graphical program node for displaying acquired images |
JP2004303114A (ja) * | 2003-04-01 | 2004-10-28 | Hitachi Ltd | インタープリタおよびネイティブコード実行方法 |
US7647562B2 (en) * | 2003-04-03 | 2010-01-12 | National Instruments Corporation | Deployment and execution of a graphical program on an embedded device from a PDA |
US20070011334A1 (en) * | 2003-11-03 | 2007-01-11 | Steven Higgins | Methods and apparatuses to provide composite applications |
US7318075B2 (en) * | 2004-02-06 | 2008-01-08 | Microsoft Corporation | Enhanced tabular data stream protocol |
US7836426B2 (en) * | 2004-05-06 | 2010-11-16 | National Instruments Corporation | Automatic generation of application domain specific graphical programs |
US7650574B2 (en) * | 2004-05-11 | 2010-01-19 | National Instruments Corporation | Visually indicating problems found during programmatic analysis of a graphical program |
US7650594B2 (en) * | 2004-05-27 | 2010-01-19 | National Instruments Corporation | Graphical program analyzer with framework for adding user-defined tests |
JP2006095440A (ja) * | 2004-09-29 | 2006-04-13 | Toshiba Corp | 下水処理場の運転管理システム |
JP2008524965A (ja) * | 2004-12-21 | 2008-07-10 | ミスルトウ テクノロジーズ, インコーポレイテッド | ネットワークインターフェイスおよびファイヤーウォールデバイス |
GB2425622A (en) * | 2005-04-27 | 2006-11-01 | Ncapsa Ltd | Programming real-time systems using data flow diagrams |
US7627544B2 (en) | 2005-05-20 | 2009-12-01 | Microsoft Corporation | Recognizing event patterns from event streams |
ATE437507T1 (de) * | 2005-05-23 | 2009-08-15 | Nxp Bv | Integrierte schaltung mit internem kommunikationsnetz |
US20070044072A1 (en) * | 2005-08-16 | 2007-02-22 | Hayles Timothy J | Automatically Generating a Graphical Data Flow Program Based on a Circuit Diagram |
US7864178B2 (en) * | 2005-11-09 | 2011-01-04 | National Instruments Corporation | Creating machine vision inspections using a state diagram representation |
US8543337B2 (en) | 2006-04-21 | 2013-09-24 | The Mathworks, Inc. | Block diagram explorer in a method and apparatus for integrated modeling, simulation and analysis of chemical and biological systems |
US8046739B2 (en) * | 2006-08-04 | 2011-10-25 | National Instruments Corporation | System and method for enabling a graphical program to propagate attributes of inputs and outputs of blocks |
US9038041B2 (en) * | 2006-12-04 | 2015-05-19 | Tibco Software, Inc. | Stream processor with compiled programs |
US8370812B2 (en) * | 2007-04-02 | 2013-02-05 | International Business Machines Corporation | Method and system for automatically assembling processing graphs in information processing systems |
US7899904B2 (en) * | 2007-04-30 | 2011-03-01 | Lsi Corporation | Hardware processing of regular expressions |
US8812261B2 (en) | 2007-08-23 | 2014-08-19 | Applied Materials, Inc. | Method and apparatus to automatically create virtual sensors with templates |
US20090106011A1 (en) | 2007-10-22 | 2009-04-23 | International Business Machines Corporation | System and method for developing and deploying sensor and actuator applications over distributed computing infrastructure |
US8364456B2 (en) | 2008-01-10 | 2013-01-29 | The Mathworks, Inc. | Conditionally executed states |
KR101468546B1 (ko) | 2008-02-11 | 2014-12-03 | 삼성전자 주식회사 | 이미지 센서의 구동 방법 |
US20090228407A1 (en) | 2008-03-05 | 2009-09-10 | The Boeing Company | Distributed cognitive architecture |
US8676841B2 (en) * | 2008-08-29 | 2014-03-18 | Oracle International Corporation | Detection of recurring non-occurrences of events using pattern matching |
CN101442540B (zh) * | 2008-12-30 | 2012-09-05 | 合肥昊特信息科技有限公司 | 基于现场可编程门阵列的高速模式匹配算法 |
US8250016B2 (en) * | 2009-04-17 | 2012-08-21 | Alcatel Lucent | Variable-stride stream segmentation and multi-pattern matching |
US8286191B2 (en) * | 2009-05-14 | 2012-10-09 | International Business Machines Corporation | Dynamically composing data stream processing applications |
US8478967B2 (en) * | 2009-06-01 | 2013-07-02 | National Instruments Corporation | Automatically creating parallel iterative program code in a data flow program |
US8880524B2 (en) * | 2009-07-17 | 2014-11-04 | Apple Inc. | Scalable real time event stream processing |
US8584120B2 (en) * | 2009-11-23 | 2013-11-12 | Julian Michael Urbach | Stream-based software application delivery and launching system |
CN101860978B (zh) | 2010-05-14 | 2012-05-09 | 南京邮电大学 | 一种物联网体系结构 |
EP2598989B1 (en) * | 2010-07-30 | 2020-03-11 | National Instruments Corporation | Developing programs in a graphical specification and constraint language |
WO2012061109A1 (en) * | 2010-10-25 | 2012-05-10 | Ab Initio Technology Llc | Managing data set objects in a dataflow graph that represents a computer program |
US9858051B2 (en) * | 2011-06-24 | 2018-01-02 | Cavium, Inc. | Regex compiler |
JP5640910B2 (ja) * | 2011-06-27 | 2014-12-17 | 富士通株式会社 | 照合装置および照合プログラム |
US8948643B2 (en) * | 2011-06-30 | 2015-02-03 | Xerox Corporation | Method and system for controlling multiple printers in a TISP or TIPP system for increased stability |
TWI630493B (zh) * | 2011-09-19 | 2018-07-21 | 塔塔顧問服務有限公司 | 用於提供促進感測器驅動式應用的開發及部署之運算平台的系統及方法 |
US8756189B2 (en) * | 2011-10-31 | 2014-06-17 | International Business Machines Corporation | Rule generation for event processing system |
US20130144814A1 (en) * | 2011-12-05 | 2013-06-06 | International Business Machines Corporation | Conditional probability operator for event processing systems |
US20130191809A1 (en) * | 2012-01-25 | 2013-07-25 | Microsoft Corporation | Graphical representation of an order of operations |
US9141631B2 (en) * | 2012-04-16 | 2015-09-22 | International Business Machines Corporation | Table boundary detection in data blocks for compression |
TW201404636A (zh) | 2012-06-08 | 2014-02-01 | Airbiquity Inc | 遠程識別機動車輛及監測駕駛員行爲之電子感測器資料的評估 |
US20140013313A1 (en) * | 2012-07-03 | 2014-01-09 | Johan Eker | Editor/Development Tool for Dataflow Programs |
US9253054B2 (en) | 2012-08-09 | 2016-02-02 | Rockwell Automation Technologies, Inc. | Remote industrial monitoring and analytics using a cloud infrastructure |
US8893080B2 (en) * | 2012-08-15 | 2014-11-18 | Telefonaktiebolaget L M Ericsson (Publ) | Parallelization of dataflow actors with local state |
RU2608464C2 (ru) | 2012-09-28 | 2017-01-18 | Телефонактиеболагет Лм Эрикссон (Пабл) | Устройство, способ и сетевой сервер для обнаружения структур данных в потоке данных |
US8914875B2 (en) | 2012-10-26 | 2014-12-16 | Facebook, Inc. | Contextual device locking/unlocking |
US9043264B2 (en) * | 2012-12-14 | 2015-05-26 | International Business Machines Corporation | Scanning data streams in real-time against large pattern collections |
CN103024059B (zh) | 2012-12-19 | 2015-08-26 | 北京时代凌宇科技有限公司 | 一种物联网中间件系统 |
US9740802B2 (en) * | 2013-03-15 | 2017-08-22 | Fisher-Rosemount Systems, Inc. | Data modeling studio |
CN103200249A (zh) | 2013-03-26 | 2013-07-10 | 大连理工大学 | 物联网智能数据网关系统的实现方法 |
US9235395B2 (en) * | 2013-05-30 | 2016-01-12 | National Instruments Corporation | Graphical development and deployment of parallel floating-point math functionality on a system with heterogeneous hardware components |
KR20150049763A (ko) | 2013-10-31 | 2015-05-08 | 대우조선해양 주식회사 | 부유식 복합 화력발전 플랜트용 폐수 처리시스템의 용존 고형물 처리 시스템 |
EP3070606B1 (en) * | 2013-11-13 | 2022-03-16 | Fujitsu Limited | Event management program, event management method, and distributed system |
US9934279B2 (en) * | 2013-12-05 | 2018-04-03 | Oracle International Corporation | Pattern matching across multiple input data streams |
EP3087508A1 (en) * | 2013-12-23 | 2016-11-02 | British Telecommunications Public Limited Company | Improved pattern matching machine |
US9843647B2 (en) | 2014-02-25 | 2017-12-12 | Here Global B.V. | Method and apparatus for providing selection and prioritization of sensor data |
US9806974B2 (en) | 2014-04-23 | 2017-10-31 | Cisco Technology, Inc. | Efficient acquisition of sensor data in an automated manner |
US9712645B2 (en) * | 2014-06-26 | 2017-07-18 | Oracle International Corporation | Embedded event processing |
US9933762B2 (en) * | 2014-07-09 | 2018-04-03 | Honeywell International Inc. | Multisite version and upgrade management system |
US20160065306A1 (en) | 2014-09-02 | 2016-03-03 | Chin Sheng Henry Chong | System and method for green communication for intelligent mobile internet of things |
CN104361058A (zh) * | 2014-10-31 | 2015-02-18 | 广东工业大学 | 一种面向海量数据流的哈希结构复杂事件检测方法 |
US9940112B2 (en) * | 2014-11-06 | 2018-04-10 | Capgemini Technology Services India Limited | Efficient framework for deploying middleware services |
US10054450B2 (en) | 2014-11-21 | 2018-08-21 | Here Global B.V. | Method and apparatus for determining trajectory paths on a transportation structure |
US9846574B2 (en) * | 2014-12-19 | 2017-12-19 | Signalfx, Inc. | Representing result data streams based on execution of data stream language programs |
US10599982B2 (en) | 2015-02-23 | 2020-03-24 | Machinesense, Llc | Internet of things based determination of machine reliability and automated maintainenace, repair and operation (MRO) logs |
US9495647B2 (en) | 2015-02-24 | 2016-11-15 | Sas Institute Inc. | Acceleration of sparse support vector machine training through safe feature screening |
US9960962B2 (en) * | 2015-06-10 | 2018-05-01 | Johnson Controls Technology Company | Building automation system with smart communications controller for building equipment |
US20170052767A1 (en) * | 2015-08-20 | 2017-02-23 | CITIUS SOFTWARE CORPORATION dba KBMax | Visual rule language systems and methods for enterprise business software |
WO2017040145A1 (en) * | 2015-08-28 | 2017-03-09 | Turck Holding Gmbh | Web-based programming environment for embedded devices |
US10756991B2 (en) * | 2015-09-17 | 2020-08-25 | Salesforce.Com, Inc. | Simplified entity engagement automation |
US10331495B2 (en) * | 2016-02-05 | 2019-06-25 | Sas Institute Inc. | Generation of directed acyclic graphs from task routines |
JP6896759B2 (ja) * | 2016-03-23 | 2021-06-30 | フォグホーン システムズ, インコーポレイテッドFoghorn Systems, Inc. | リアルタイムデータフロープログラミングにおけるパターン駆動型反応の合成 |
US10970138B2 (en) | 2017-05-09 | 2021-04-06 | Microsoft Technology Licensing, Llc | Modular applications using a common provisioning service |
US10310896B1 (en) * | 2018-03-15 | 2019-06-04 | Sas Institute Inc. | Techniques for job flow processing |
US11935646B1 (en) * | 2018-03-26 | 2024-03-19 | Glassbeam, Inc. | Predicting medical device failure based on operational log data |
CN111506610B (zh) * | 2020-04-20 | 2023-05-26 | 浙江中烟工业有限责任公司 | 一种面向烟草行业生产现场的实时流数据预处理方法 |
US11940786B2 (en) | 2020-06-06 | 2024-03-26 | Honeywell International Inc. | Building management system and method with virtual controller and failsafe mode |
US11782410B2 (en) | 2020-06-06 | 2023-10-10 | Honeywell International Inc. | Building management system with control logic distributed between a virtual controller and a smart edge controller |
EP3919991A3 (en) | 2020-06-06 | 2022-02-16 | Honeywell International Inc. | Method and system for configuring a building management system |
EP3919992A1 (en) | 2020-06-06 | 2021-12-08 | Honeywell International Inc. | Method and system for managing virtual controllers in a building management system |
JP2023529723A (ja) | 2020-06-15 | 2023-07-11 | ハネウェル・インターナショナル・インコーポレーテッド | 施設のためのエッジコントローラ |
US11526449B2 (en) * | 2020-08-31 | 2022-12-13 | Advanced Micro Devices, Inc. | Limited propagation of unnecessary memory updates |
US20240090154A1 (en) * | 2020-12-28 | 2024-03-14 | PassiveLogic, Inc. | Distributed building automation controllers |
US11252209B1 (en) * | 2021-07-13 | 2022-02-15 | Audacious Inquiry, LLC | Network architecture for parallel data stream analysis and modification |
US20240185612A1 (en) * | 2022-12-06 | 2024-06-06 | Kodiak Robotics, Inc. | Systems and methods for controlling a vehicle by detecting and tracking objects through associated detections |
-
2017
- 2017-03-23 JP JP2018549799A patent/JP6896759B2/ja active Active
- 2017-03-23 EP EP17771200.7A patent/EP3433769B1/en active Active
- 2017-03-23 EP EP17771196.7A patent/EP3433768A4/en active Pending
- 2017-03-23 AU AU2017238637A patent/AU2017238637B2/en active Active
- 2017-03-23 CN CN201780019780.6A patent/CN108885632B/zh active Active
- 2017-03-23 US US15/467,306 patent/US10572230B2/en active Active
- 2017-03-23 WO PCT/US2017/023906 patent/WO2017165708A1/en active Application Filing
- 2017-03-23 US US15/467,313 patent/US10564941B2/en active Active
- 2017-03-23 WO PCT/US2017/023912 patent/WO2017165713A1/en active Application Filing
- 2017-03-23 KR KR1020187030473A patent/KR102092722B1/ko active IP Right Grant
- 2017-03-23 AU AU2017238638A patent/AU2017238638B2/en active Active
- 2017-03-23 CN CN201780019779.3A patent/CN108885545B/zh active Active
- 2017-03-23 KR KR1020187030472A patent/KR102092721B1/ko active IP Right Grant
- 2017-03-23 CN CN201780019786.3A patent/CN108885580B/zh active Active
- 2017-03-23 CN CN202210437492.5A patent/CN115373977A/zh active Pending
- 2017-03-23 US US15/467,318 patent/US10127022B2/en active Active
- 2017-03-23 AU AU2017238633A patent/AU2017238633B2/en active Active
- 2017-03-23 JP JP2018549906A patent/JP2019516167A/ja active Pending
- 2017-03-23 JP JP2018549927A patent/JP7019589B2/ja active Active
- 2017-03-23 WO PCT/US2017/023911 patent/WO2017165712A1/en active Application Filing
- 2017-03-23 KR KR1020187030471A patent/KR102128571B1/ko active IP Right Grant
- 2017-03-23 CN CN202211226634.XA patent/CN115629829A/zh active Pending
- 2017-03-23 EP EP17771201.5A patent/EP3433711A4/en active Pending
-
2018
- 2018-09-23 SA SA518400085A patent/SA518400085B1/ar unknown
- 2018-09-23 SA SA518400086A patent/SA518400086B1/ar unknown
- 2018-11-13 US US16/190,105 patent/US10628135B2/en active Active
-
2020
- 2020-02-14 US US16/792,149 patent/US11561774B2/en active Active
- 2020-02-25 US US16/801,099 patent/US11226795B2/en active Active
- 2020-04-21 US US16/854,873 patent/US10977010B2/en active Active
-
2021
- 2021-04-13 US US17/229,782 patent/US11422778B2/en active Active
-
2022
- 2022-01-14 JP JP2022004285A patent/JP7371141B2/ja active Active
- 2022-01-18 US US17/648,281 patent/US12093666B2/en active Active
- 2022-02-02 JP JP2022014853A patent/JP7326510B2/ja active Active
- 2022-05-03 AU AU2022202972A patent/AU2022202972B2/en active Active
- 2022-08-22 US US17/892,927 patent/US20230367559A1/en active Pending
-
2023
- 2023-01-10 US US18/095,382 patent/US20230147358A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013513868A (ja) * | 2009-12-09 | 2013-04-22 | ザ マスワークス, インク | グラフィカル状態遷移図モデルにおける再利用候補の正規化バージョン |
JP2014506692A (ja) * | 2011-01-25 | 2014-03-17 | マイクロン テクノロジー, インク. | Fsmを実装するための専用要素の利用 |
JP2015517129A (ja) * | 2012-02-15 | 2015-06-18 | ザ マスワークス, インクThe Mathworks, Inc. | 状態機械モデルを記述する統合状態遷移表 |
Non-Patent Citations (1)
Title |
---|
藤倉 俊幸, 組み込みシステム開発に役立つ理論と手法, vol. 第1版, JPN6022054348, 1 May 2012 (2012-05-01), pages 39 - 60, ISSN: 0004961656 * |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7371141B2 (ja) | リアルタイムデータフロープログラミング言語のためのツールおよび方法 | |
Mayer et al. | The SENSORIA development environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220209 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220209 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220628 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20221221 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230110 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20230407 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230609 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20230919 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20231018 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7371141 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |