TWI791463B - 物機器 - Google Patents
物機器 Download PDFInfo
- Publication number
- TWI791463B TWI791463B TW106132126A TW106132126A TWI791463B TW I791463 B TWI791463 B TW I791463B TW 106132126 A TW106132126 A TW 106132126A TW 106132126 A TW106132126 A TW 106132126A TW I791463 B TWI791463 B TW I791463B
- Authority
- TW
- Taiwan
- Prior art keywords
- thing
- action
- machine
- graph
- things
- Prior art date
Links
- 230000009471 action Effects 0.000 claims abstract description 474
- 230000004044 response Effects 0.000 claims description 77
- 238000004891 communication Methods 0.000 claims description 48
- 230000003287 optical effect Effects 0.000 claims description 24
- 238000013473 artificial intelligence Methods 0.000 claims description 16
- 238000004422 calculation algorithm Methods 0.000 claims description 13
- 238000012545 processing Methods 0.000 claims description 12
- 102000018120 Recombinases Human genes 0.000 claims description 5
- 108010091086 Recombinases Proteins 0.000 claims description 5
- 230000005670 electromagnetic radiation Effects 0.000 claims description 3
- 239000000126 substance Substances 0.000 claims description 3
- 230000031018 biological processes and functions Effects 0.000 claims 1
- 238000000034 method Methods 0.000 abstract description 52
- 238000010586 diagram Methods 0.000 description 63
- 230000000875 corresponding effect Effects 0.000 description 44
- 241001465754 Metazoa Species 0.000 description 29
- 230000014509 gene expression Effects 0.000 description 18
- 230000006870 function Effects 0.000 description 17
- 230000008569 process Effects 0.000 description 15
- 238000012384 transportation and delivery Methods 0.000 description 15
- 230000003993 interaction Effects 0.000 description 14
- 230000027455 binding Effects 0.000 description 13
- 238000009739 binding Methods 0.000 description 13
- 239000003607 modifier Substances 0.000 description 13
- 230000008859 change Effects 0.000 description 11
- 238000007726 management method Methods 0.000 description 11
- 238000013475 authorization Methods 0.000 description 8
- 238000011156 evaluation Methods 0.000 description 8
- 230000006399 behavior Effects 0.000 description 7
- 102400000303 Collagen-like Alzheimer amyloid plaque component Human genes 0.000 description 6
- 101800001122 Collagen-like Alzheimer amyloid plaque component Proteins 0.000 description 6
- 238000013461 design Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000013499 data model Methods 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 5
- 238000010422 painting Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 239000008186 active pharmaceutical agent Substances 0.000 description 4
- LSQZJLSUYDQPKJ-NJBDSQKTSA-N amoxicillin Chemical compound C1([C@@H](N)C(=O)N[C@H]2[C@H]3SC([C@@H](N3C2=O)C(O)=O)(C)C)=CC=C(O)C=C1 LSQZJLSUYDQPKJ-NJBDSQKTSA-N 0.000 description 4
- 238000009434 installation Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 239000000463 material Substances 0.000 description 4
- 230000006855 networking Effects 0.000 description 4
- 241000894007 species Species 0.000 description 4
- 239000003795 chemical substances by application Substances 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 235000014510 cooky Nutrition 0.000 description 2
- 239000013256 coordination polymer Substances 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 235000012907 honey Nutrition 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 238000011002 quantification Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000001755 vocal effect Effects 0.000 description 2
- 244000144725 Amygdalus communis Species 0.000 description 1
- 235000011437 Amygdalus communis Nutrition 0.000 description 1
- 241000238558 Eucarida Species 0.000 description 1
- 206010020751 Hypersensitivity Diseases 0.000 description 1
- 238000004971 IR microspectroscopy Methods 0.000 description 1
- 241000699670 Mus sp. Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000002730 additional effect Effects 0.000 description 1
- 208000026935 allergic disease Diseases 0.000 description 1
- 230000007815 allergy Effects 0.000 description 1
- 235000020224 almond Nutrition 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 235000012791 bagels Nutrition 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 239000011230 binding agent Substances 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 235000008429 bread Nutrition 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 235000019219 chocolate Nutrition 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000002224 dissection Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000008921 facial expression Effects 0.000 description 1
- 210000003811 finger Anatomy 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000012060 immune response imaging Methods 0.000 description 1
- 239000004615 ingredient Substances 0.000 description 1
- 230000002262 irrigation Effects 0.000 description 1
- 238000003973 irrigation Methods 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 235000012054 meals Nutrition 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003446 memory effect Effects 0.000 description 1
- 235000012459 muffins Nutrition 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000011164 ossification Effects 0.000 description 1
- 235000014594 pastries Nutrition 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000704 physical effect Effects 0.000 description 1
- 235000013606 potato chips Nutrition 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000000779 smoke Substances 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/308—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using the Internet of Things
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/36—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
- G06Q20/367—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
-
- 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/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Accounting & Taxation (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Finance (AREA)
- Computational Linguistics (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Databases & Information Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Machine Translation (AREA)
- Stored Programmes (AREA)
- User Interface Of Digital Computer (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Architecture (AREA)
- Centrifugal Separators (AREA)
- Confectionery (AREA)
- Permanent Magnet Type Synchronous Machine (AREA)
Abstract
提供了一種物機器,此物機器具有處理器、非暫時性記憶體、非暫時性電腦可讀取媒體及可執行機器碼P(TM)。P(TM)包括具有一或更多個可執行機器碼P(TM(i))行動的第一可執行機器碼行動集合,其中各個可執行機器碼P(TM(i))行動經配置為模型的演算程序的實施方式,其中第一P(TM(i))提供在物機器的該非暫時性記憶體中自我配置第一物詞彙的行動,該物表示該處理器可執行為行動的物及可受行動作用的物集合,及其中至少一個P(TM(i))機器碼行動經執行為在物機器的非暫時性記憶體中配置第二物詞彙,此第二物詞彙表示核心詞彙,可經由此核心詞彙提供應用。
Description
此案主張於2016年9月19日所提出的標題為「THING MACHINE」的第62/396,332號的美國臨時專利申請案的權益,其整體內容特此以引用方式併入本文。此案亦以引用方式併入於2016年1月29日所提出的標題為「Optical Identity System and Methods」的第62/288,545號的美國專利申請案的整體內容。
本發明關於電腦架構及設計,且更具體而言是關於一種物機器(Thing Machine),此物機器使用多維圖表模型在非暫時性記憶體中將物機器可執行的行動及可受行動作用的物(Thing)表示為所支配(administer)的物的實例。
我們已經使用網頁瀏覽器來呈現網頁四分之一個世紀了。瀏覽器已顯著地進化了超過25年,但到頭來,其仍然使用客戶端伺服器模型來呈現網頁。在最近的瀏覽器中,小型文字檔案(cookie)資訊現在可同步在雲端中,使得我們的狀態資訊在我們所使用的設備之間共享。
在那25年期間,網路的主要存取行為是經由使用桌上型及膝上型電腦來進行的。提供網頁瀏覽器的行動設備於1996年的時期開始。九年之後,Google宣布一半以上的Google搜尋行為現在是起源於行動設備(至少在美國內)。
重要的是注意到大量的多於50億的網頁並不是行動友善的(mobile friendly)。例如,在2016年,估計54%的小型企業擁有網站,且只有彼等網站中的64%是行動友善的。因此,只有37%的小型企業擁有行動友善的網站。有趣的是,注意小型企業佔據了每年美國內一半以上的銷售量。
因為缺乏行動友善的網頁而沮喪的許多使用者已下載了零售的行動應用軟體來使得他們的體驗是更富有成效的。各個應用軟體專用於特定的業務,且應用軟體的圖標隨著下載越來越多應用軟體而消耗了螢幕顯示器上的佔據空間(real estate)而最終導致雜亂。作為最終使用者,我必須花費時間組織手機上的應用軟體,使得我可富有成效地導航無數的圖標來找到我正在搜尋的正確應用軟體。不斷更新手機的作業系統應用程式設計介面(API)需要專屬的研發團隊來確保手機應用軟體是最新的。此舉添加了許多小型企業根本不能負擔的費用。
網路啟用的語音啟動的設備變得越來越常見。一個世代的小孩正成長在知道他們可詢問他們的手機關於他們朋友的房子的方向的環境下。智慧型手機、警報鐘、智慧型手錶、智慧型TV、Amazon Echo、家用自動化系統及甚至是摩托車頭盔(Motorcycle Helmet)僅是語音啟動的設備的幾個實例。
網路啟用的設備包括了恆溫器、鎖、攝影機、發電機、咖啡機、洗衣機及烘乾機、燈光開關、保全系統、玩具、灌溉系統及許多其他設備及感測器。此互連的世界有時稱為物聯網
。
假設,若你能站在網際網路的中心中且向外看向邊緣,你會看見所有物被連接到網際網路。我們將此稱作是設備及感測器的物的聯網
。若你走到邊緣,撿起一個設備,且往回朝向中心看,你會看見所提供的服務,且此等服務稱為服務聯網
。
在某人認識到一項服務是被提供的物時,世界變得複雜,且突然在作為設備及感測器的物的聯網與為服務的物的聯網之間存在著灰色區域。實體物及虛擬物對物聯網
的意義添加了一定級別的模糊度,且此舉在市場中產生了混淆。
為了進一步複雜化物,許多實體設備通常可使用多個協定來進行通訊,例如:GSM、CDMA、LTE、SS7、Zigbee、Z-Wave、WeMo、近場通訊(NFC)、藍芽、線程(Thread)、BLE等等。例如,在使用我們的手機的情況下,我們可藉由僅將我們的手機伸向現金收銀機來使用NFC進行付款。類似地,我們可使用藍芽來將我們的手機與車用音訊系統配對及連接。在此等情況中沒有一個是設備使用網際網路協定的,然而我們仍會將手機視為物聯網的物。
自從2005年已賣出了超過3500萬個可相互運作的Z-Wave設備(Z-Wave聯盟)。Z-Wave網路控制器用來支配你的Z-Wave設備網路。技術上,網際網路就緒的Z-Wave網路控制器是用來在網際網路上通訊的,但此控制器仍然使用Z-Wave來向Z-Wave設備通訊。此舉在物聯網的定義上添加了另一層混淆性,因為Z-Wave設備是物,但它們與可能是或可能不是物聯網的物的控制器通訊。
在物聯網
的定義上完全如此混淆的情況下,也難怪國際電信聯盟在他們物聯網的說明中甚至不使用關鍵字「 網際網路
」。確實,他們將其界定為: 用於資訊社會的全球基礎結構,基於現存的及進化的可相互運作的資訊及通訊技術藉由將(實體或虛擬的)物互連來允許先進的服務(ITU-T)。 我們都可同意的一件事是:存在著物
。
我們將物分類以描述它們及歸類它們。某些物是概念,像是金錢的值、法定貨幣、例如為出生證明、版權、頭銜、銷售票據或財產的文件。物可表示事件、警示、或量測單位、地理位置,或甚至時間。其他物為物體,例如設備及感測器、手機、Ipad或網頁。甚至行動也是物,例如呈現以下形式:不要只是站在那,做點什麼。
圖1是一示意圖,繪示一個人如何可反應於命令式的命令的原始流程圖。首先,以動詞動作啟用我們的感官中的一或更多者,例如聽教練告訴你接下來要做什麼。你會使用用於特定語言的聆聽詞彙,來解析說出的用詞且產生表示命令式命令的想法。接下來,你估算命令以判定接下來要做什麼。我正確地了解了嗎?我能這樣做嗎?我想要這樣做嗎?也許我累了且我反而需要休息。
有時候我們產生回應(例如我們了解了我們被要求之事的應答),而其他時候回應是執行行動本身。我們可能豎起大姆指,作出面部表情來指示同意或不高興,或使用我們用於給定語言的口語詞彙來傳達OK。或者,回應於原地慢跑的指令,我們就開始原地慢跑。
用詞「動詞」本身是一個名詞,意指:通常是句子的主要部分中的一者且表達行動、發生或存在狀態的用詞(參照麥立曼韋伯斯特辭典(Merriman Webster Dictionary))。行動是進行某事的事實或過程。
我們可以說,某些物表達了行動,而其他物為可受行動作用的物。此舉將我們引導到物的特異性:所有事物皆為物
。
在先前技術的目前狀態中,短語「物聯網」具有多個定義,此等定義主要是針對連接到網際網路的設備及感測器,而不是例如為向訂戶提供的服務的物,此等訂戶由他們的訂戶識別碼及他們的密碼所識別,此識別碼及密碼中的各者是物。此舉對於可將要實施為機器碼的演算法程序的實施方式建模的方式提供了限制,因此添加了低效性及成本。
本發明的實施例提供了一種物機器,此物機器使用多維圖表模型在非暫時性記憶體中將此物機器可執行的行動及受此等行動作用的物表示為所支配的物的實例。
物機器包含處理器、非暫時性記憶體、非暫時性電腦可讀取媒體及可執行機器碼P(TM)。P(TM)包括具有一或更多個可執行機器碼P(TM(i))行動的第一可執行機器碼行動集合,其中各個可執行機器碼P(TM(i))行動經配置為模型的演算程序的實施方式,其中第一P(TM(i))提供在物機器的該非暫時性記憶體中自我配置第一物詞彙的行動,該物表示該處理器可執行為行動的物及可受行動作用的物集合,及其中至少一個P(TM(i))機器碼行動經執行為在物機器的非暫時性記憶體中配置第二物詞彙,此第二物詞彙表示核心詞彙,可經由此核心詞彙提供應用。
本系統及方法對電腦機能及能力且甚至是電腦的定義提供了新穎的改良,在本文中稱為物機器。
描述可執行行動的物可以圖靈機的意義來表達。圖靈機是可執行程序來從輸入變數集合判定結果集合的假想計算機器的數學模型。 對於i=(1,n)而言,TM(i)是可截取輸入集合、執行程序行動P(TM(i))及產生輸出集合的計算機器。
可能存在著任何數量的此等機器,其中各個P(TM(i))執行程序行動且潛在地產生輸出。第一P(TM(i))的輸出可為第二P(TM(i))的輸入,且P(TM(i))的集合通常可平行執行。
我們可向此等行動分配有意義的名稱,類似於我們命名例如為說話、聆聽、估算(evaluate)、回應(respond)等等的動詞的方式。藉由添加執行動詞行動,我們可要求機器執行特定命名的行動。某些機器(例如Amazon Echo或Apple Siri)可以此方式回應語音命令。Alexa,再次訂購紙巾。Siri:現在幾點?在各個實例中,我們要求機器執行某些行動,例如再次訂購一個項目或回答問題。
為了滿足要求,機器首先需要估算被要求了什麼。在某些態樣中,此舉與要求二年級生將21減去7類似。此序列包括使用英語聆聽詞彙來將詞典(lexicon)剖析成想法、估算想法指的是什麼、選擇行動、執行行動及使用英語口語詞彙來傳達回應。或者,二年級生可能聳聳他們的肩膀且回覆:我不知道。
亦注意的是,要求機器執行某些行動並不暗示著針對作出要求的各個人執行相同的動作。例如,考慮輸入到網頁瀏覽器中的URL,例如http://www.thinglanguage.com/v1/index.html。藉由輸入URL,你基本上是在要求瀏覽器取得及顯示由URL所識別的物。識別碼及相對應的資源都是物。
要求他們的瀏覽器取得及顯示相同的URL的兩個人可能擁有兩個不同的結果,即使他們都輸入了相同的URL。在一個情況下,內容可能是特定於個體的。在另一情況下,HTTP要求標頭可能包括由網路伺服器用來建構資源內容的狀態資訊。重要的是,認識到URL可識別某物但顯示什麼是不同的事。
物機器提供了一種獨特的方式,此方式基於適應於物機器的交互作用的開機物機器詞彙來管理及解譯所接收到的要求,而造成對於物機器的詞彙的更改,其中此詞彙提供了一個基礎,物機器可經由此基礎來執行行動。其結果是,且如本文中所展示地,物機器能夠解譯、行動及適應所接收到的要求,同時增加解譯及行動的能力。物機器所接收到的要求、交互作用及要求的回應是基於將事物歸類為行動物(Action Thing)(其為是行動的動詞)或可受為行動物的物作用的物(在本文中亦稱為非行動物)來執行的。
如上所述,在物的特異性中,物可表示可執行的行動,或可受可執行行動作用的物。如本文中所解釋及說明的,物機器將物組織為thing:graph,其中圖表的節點表示物,而thing:graph內的弧線表示物之間的可變(mutable)關係。
表示可執行行動的物在本文中稱為動詞物(thing:verb),而一系列的thing:verb是動詞詞彙物。動詞詞彙及可受動詞行動作用的物為詞彙物。簡而言之,在使用最小限度的詞彙的情況下,本系統及方法可使用通用量化來斷言:若曾經存在著是由物機器所接收的要求的物,則物機器剖析此要求,接著在物機器的可用詞彙的上下文下估算此要求以選擇適當的動詞,且執行動詞的相對應行動。經執行的行動造成表示回應的物的集合。此概化允許對於並不產生語法回應的某些行動而言,回應是空的物集合。有時候,遵守被執行的行動是充分的回應,例如停機動詞的情況。
概觀
下文提供了物機器及相關聯的詞彙的概觀,且包括三個主要部分: 1. 物圖表資料模型(Thing Graph Data Model)說明,將物描述為具有包括關係集合的非可變組分(non-mutable component),此關係集合包括物之間的可變關係。 2. 架構概觀,提供物機器架構的高階概觀。 3. 物語言部分,提供物語言中的書面文件的介紹。
物機器結構
圖2是依據本發明的一個實施例的示意圖,繪示物機器100的一部分。如由圖2所示,物機器100包含記憶體102、處理器104及非暫時性輔助儲存設備106,各者透過本端匯流排或允許在物機器100內進行通訊的本端介面108通訊耦接。
記憶體102具有儲存在其中的軟體120,此軟體界定本文中所述的機能。物機器100亦包含輸入及輸出(I/O)設備110(或周邊設備)。本端介面108可例如但不限於為一或更多個匯流排或其他有線或無線連接,如本領域中習知的。本端介面108可具有額外的構件,為了簡單起見忽略了此等額外構件,此等額外構件例如為用來允許通訊的控制器、緩存器(快取記憶體)、驅動器、中繼器及接收器。進一步地,本端介面108可包括位址、控制及/或資料連接以允許在上述元件之中進行適當的通訊。
處理器104是用於執行軟體(特別是儲存在記憶體102中的軟體)的硬體設備。處理器104可為任何定製的或市售的單核心或多核心處理器、中央處理單元(CPU)、在與物機器100相關聯的若干處理器之中的輔助處理器、基於半導體的微處理器(呈現微晶片或晶片組的形式)、巨集處理器或大致上用於執行軟體指令的任何設備。
記憶體102可包括揮發性記憶體構件(例如隨機存取記憶體構件(RAM,例如DRAM、SRAM、SDRAM等等))及非揮發性記憶體構件(例如ROM、硬碟、磁帶、CDROM等等)中的任何一者或組合。並且,記憶體102可併入電子、磁性、光學及/或其他類型的儲存媒體。注意,記憶體102可具有分佈式架構,其中各種元件相對於彼此位在遠端,但可由處理器104存取。
依據本發明,軟體120界定由物機器所執行的機能。記憶體102中的軟體120可包括一或更多個單獨的程式,此等程式中的各者包含用於實施物機器100的邏輯函數的可執行指令的有序列表(listing),如下文所述。作為一實例,軟體120可界定剖析器122、估算器124、執行器126及格式化器128,此等元件的功能在本文中描述。
記憶體102可包含作業系統(O/S)122。作業系統基本上控制了物機器100內的程式的執行,且提供了排程、輸入-輸出控制、檔案及資料管理、記憶體管理及通訊控制及相關的服務。
I/O設備110可包括輸入設備,例如但不限於鍵盤、滑鼠、掃描器、傳聲器等等。並且,I/O設備110亦可包括輸出設備,例如但不限於印表機、顯示器等等。最後,I/O設備110可更包括透過輸入及輸出兩者來進行通訊的設備,例如但不限於調變器/解調變器(數據機;用於存取另一設備、系統或網路)、射頻(RF)或其他收發器、電話介面、橋接器、路由器或其他設備。
在系統物機器100處於操作中時,將處理器104配置為執行儲存在記憶體102內的軟體120,以向及自記憶體102傳遞資料,且依照軟體120大致控制物機器100的操作,如上文所解釋的。
在物機器100的機能處於操作中時,將處理器104配置為執行儲存在記憶體102內的軟體120,以向及自記憶體102傳遞資料,且依照軟體120大致控制物機器100的操作。藉由處理器104讀取作業系統122(也許是緩存在處理器104內),且接著加以執行。
在以軟體120實施物機器100時,應注意的是,可將用於實施物機器100的指令儲存在任何電腦可讀取媒體上以供由任何電腦相關的設備、系統或方法使用或與任何電腦相關的設備、系統或方法結合使用。在某些實施例中,此類電腦可讀取媒體可相對應於記憶體102或儲存設備106中的任一者或兩者。在此文件的上下文下,電腦可讀取媒體是電子、磁式、光學或其他實體設備或手段,此其他實體設備或手段可包含或儲存電腦程式以供由電腦相關的設備、系統或方法使用或與電腦相關的設備、系統或方法結合使用。用於實施本系統的指令可實施於任何電腦可讀取媒體中以供由處理器或其他此類指令執行系統、裝置或設備使用或與處理器或其他此類指令執行系統、裝置或設備結合使用。儘管以藉由實例的方式提及處理器104,此類指令執行系統、裝置或設備在某些實施例中可為任何基於電腦的系統、含處理器的系統或可從指令執行系統、裝置或設備提取指令且執行此等指令的其他系統。在此文件的上下文下,「電腦可讀取媒體」可為可儲存、傳遞、傳播或輸送程式以供由處理器或其他此類指令執行系統、裝置或設備使用或與處理器或其他此類指令執行系統、裝置或設備結合使用的任何手段。
此類電腦可讀取媒體可例如但不限於為電子、磁式、光學、電磁、紅外線或半導體系統、裝置、設備或傳播媒體。電腦可讀取媒體的更特定的實例(非窮舉列表)會包括以下項目:具有一或更多個導線的電接連(電子)、可攜式電腦磁碟(磁式)、隨機存取記憶體(RAM)(電子)、唯讀記憶體(ROM)(電子)、可抹除可程式化唯讀記憶體(EPROM、EEPROM或快閃記憶體)(電子)、光纖(光學)及可攜式光碟唯讀記憶體(CDROM)(光學)。注意,電腦可讀取媒體可甚至為紙或在上面列印程式的另一合適媒體,因為程式可例如透過光掃描紙或其他媒體來電子地捕捉,接著依需要編譯、解譯或以合適的方式以其他方式處理,且接著儲存在電腦記憶體中。
在一替代性實施例中,若物機器100是以硬體實施的,則物機器100可與以下技術中的任何者或組合一同實施,各個此等技術是本領域中所習知的:具有邏輯閘以供在資料訊號上實施邏輯函數的離散邏輯電路、具有適當的組合邏輯閘的特殊應用積體電路(ASIC)、可程式化閘陣列(PGA)、現場可程式化閘極陣列(FPGA)等等。
依據本發明的第一示例性實施例,記憶體102包含物機器程序P(TM)(其為可執行的程序),此物機器程序包括物機器程序P(TM(i))的集合。本領域中的技術人員會了解的是,可將多個P(TM(i))實施在例如為(但不限於)運行Windows 10的Dell Latitude 15 3000系列膝上型電腦的單一計算機器中;使用例如為Raspberry Pi 3的晶片上系統來實施;使用單一機器中的多重計算元件來實施;或使用可直接或間接通訊的多個相異的及單獨的機器來實施。可使用隨插即用架構來實施物機器,例如(但不限於)第6363437號的美國專利「Plug and Play I2C slave」中所界定的隨插即用架構,此美國專利的整體內容以引用方式併入本文中。
第一P(TM)包括多個P(TM(i)),可配置為第二P(TM)的P(TM(i))。
物機器(TM)具有程序P(TM),此程序可作用於物的集合(例如輸入,例如要求)、執行行動且可產生物的集合(例如輸出,例如經產生的回應)。依照圖靈的可計算性模型,及依照通用的圖靈機可模擬一圖靈機,我們可假定地斷定:。此模型指示的是,我們可藉由安排此等數字中的某個數字n作為來建構P(TM)。具體而言,如本文中進一步詳細描述的,假設物機器的第一程序要求物機器的第二程序執行行動,其中第二程序的物機器可或可不為與第一程序相同的物機器;且回應於此,第二程序執行行動且向第一程序的物機器提供回應,且回應於接收此回應,第一程序的物機器的程序可依需要重新配置P(TM)。儘管重複,值得再次注意的是,此實例中所使用的第一及第二程序會是第一及第二P(TM(i))。
各個P(TM(i))是一個模型的演算實施方式(或其元件),此演算實施方式以可執行機器碼表達以執行相異的步驟序列,其中各個P(TM(i))可由P(TM(perform))執行。依據本發明,替代於數字,物機器使用詞來描述發生在給定P(TM(i))中的行動類型。在本文中進一步詳細界定了P(TM(perform))。
模型可為選出的世界部分的表示,例如現象模型或資料模型、理論模型或論域中的問題敘述(statement)模型(例如經建模來解決企業問題的應用),其中該等模型不是專有的,因為科學模型可同時為此等模型的表示,且其中可以本文中所揭露的物模型的意義來表達模型。(參照https://plato.stanford.edu/entries/models-science/關於「模型」)
具有表達為P(TM(i))的程序P的給定TM(i)不一定主要是數位處理器行動,而是可使用數位處理器來造成機械、電氣、電磁波形式、生物、化學、壓力波的產生或接收、電磁輻射的產生或接收。
藉由實例的方式,處理器行動使得向電介面施加電壓,而允許馬達行動以向前或向後的方向推進物機器。該行動可持續直到第二P(TM(i))處理器行動重設該電壓為止。因此,物機器持續執行機械行動同時允許P(TM)回應其他的thing:statements。
藉由進一步實例的方式,P(TM(i))可執行行動來與基於重組酶的狀態機(RSM)交互作用,此基於重組酶的狀態機使用輸入驅動的重組酶來操控由重組酶辨識區的重疊的及正交的對偶構成的DNA暫存器。因此,可訊問編碼在RSM中的狀態資訊或可將編碼在RSM中的狀態資訊定序。
P(TM)記憶體包含初始化所需的最小限度的P(TM(i))集合,如本說明書標題為「開機」的部分內所詳細描述的。簡而言之,依據本發明的第一示例性實施例,P(TM)包含了以下P(TM(i)):P(TM(boot));P(TM(thing));P(TM(parse));P(TM(eval));P(TM(perform));及P(TM(configure))。P(TM)的主要邏輯是執行P(TM(boot)),且接著停止。應注意的是,一開始可在P(TM)記憶體中提供額外的或較少的P(TM(i))。
以有限的可自我配置的開機物詞彙將物機器開機。P(TM(thing))行動組織物及此等物之間的可變關係作為thing:graph。某些物表示可執行的行動。可執行行動的執行可作用於物。P(TM(i))行動可要求P(TM(thing))執行與支配物相關的行動,例如但不限於設定(set)、取得(get)及復原(unset)物及/或物之間的可變關係。可藉由取得及設定物來改變物。此外,可復原及設定物。在那方面,物圖表可被視為物機器的詞彙,且該詞彙表示知識庫(物機器知道如何執行的行動及可受行動作用的物)。
應注意的是,在本揭示案的範圍中,用語「交互作用」指的是P(TM(i))造成相關的機器碼的執行。例如,若A與B「交互作用」,則A造成與B相關的機器碼的執行。
P(TM(input))及P(TM(output))行動與電磁波形設備交互作用以提供向及自P(TM)進行的通訊。此等行動與P(TM(thing))交互作用,使得輸入的內容是要求物而輸出的內容是回應物。
P(TM(parse))行動剖析內容物且與P(TM(thing))交互作用以產生表示敘述的thing:graph。在充當解譯機的機器的第一示例性實施例中,thing:graph會是可執行的thing:graph。在物機器的第二示例性實施例中,P(TM(eval))行動與P(TM(thing))交互作用以在可存取詞彙的上下文下估算thing:graph,以產生可執行的thing:graph。注意,P(TM(input))及P(TM(parse))的演算步驟可結合為由適當的P(TM(i))(例如P(TM(parse.input)))所給定的單一程序。
P(TM(perform))行動與P(TM(thing))交互作用以執行可在上面執行行動的物的上下文內的物的可執行行動。
P(TM(format))行動與P(TM(thing))交互作用以格式化回應命名空間物作為P(TM(output))行動所輸出的輸出內容回應物。注意,P(TM(format))及P(TM(output))的演算步驟可結合為由適當的P(TM(i))(例如P(TM(format.output)))所給定的單一程序。
P(TM(configure))行動與P(TM(thing))交互作用以配置P(TM(i))作為可執行的物(亦稱為主動物(active Thing)或動詞)。此舉允許更新可執行行動的詞彙。機器現在可執行的物可被添加、移除或改變複雜性範圍。注意,P(TM(i))提供了演算行動,而i指示表示此行動的名稱。此行動可為類神經網路分類器行動、電子交易行動或可經減化而實行的任何其他此類演算行動。
開機
在使用物機器100之前,物機器100執行開機過程,以便允許進行馴化及日後適應於物機器及接收到的要求的來源的環境。
每次打開物機器電源,P(TM(boot))行動與P(TM(thing))交互作用以自我配置表示包括thing:verb集合的詞彙的thing:graph,各個thing:verb表示P(TM(perform))行動可造成執行的行動及可受行動作用的物,以引導啟動(bootstrap)具有表示P(TM)的事前知識(例如機器被停機之前的最後一個已知狀態)的物的機器。若我們將經驗界定為進行某事且使得物發生的物機器的行動(支配thing:graph的P(TM(thing))),則我們可以說,物機器因為執行物而獲得了經驗(表示物機器可執行的行動的物或表示為物的知識)。
在使用該詞彙的情況下,物機器配置核心詞彙,此核心詞彙提供了一個基礎,物機器可經由此基礎執行應用。P(TM(i))的執行可因此與P(TM(thing))交互作用以改變thing:graph,且該改變可被視為事後知識(其從經驗學習到的物)。
行動可遍歷(traverse)thing:graph、格式化內容且與輔助儲存設備交互作用以留存thing:graph資訊,此資訊可接著被擷取且由用來重建thing:graph的行動所使用。
在一個實施例中,核心詞彙可經配置為包括預定的物集合,且此詞彙具有有限的預定大小及範圍。在第二實施例中,由物機器動態支配詞彙中的物集合,其中設定物(學習及添加到thing:graph)而復原其他物(遺忘及從thing:graph移除)。
物機器將物組識為圖表。一個圖表(稱為上下文圖)包括了表示命名空間的物。命名空間為附名的圖表,此等圖表用來表示物的概念性分組,例如要求、回應、任務集合、服務、動詞詞彙或甚至是應用字典。命名空間詞彙可被視為一種本體論的形式。然而,使用離散詞彙的若干命名空間可在本體論的約束下共享它們詞彙的一部分。
在自我配置圖表時,P(TM(boot))要求P(TM(thing))配置表示動詞行動的物,其中該物具有對於可執行行動的參照的表示,P(TM(perform))可造成此可執行行動的執行。示例性動詞行動包括但不限於剖析、估算、執行及配置。總而言之,該等物被稱為詞彙,而該等物的圖表是開機詞彙。物機器的開機過程自我配置有限的物機器詞彙,以表示機器的事前知識(其詞彙中的初始物)。有限的詞彙包括了動詞及可受動詞作用的物。依據本發明的第一示例性實施例,物機器的基本動詞詞彙至少包括動詞「輸入」、「輸出」、「剖析」、「估算」、「執行」及「配置」。與各個動詞相關聯的物機器程序被分別稱為P(TM(parse))、P(TM(eval))、P(TM(perform))及P(TM(configure))。如下文中詳細描述的,此舉允許物機器在自我配置的thing:verb的上下文下估算要求及執行將額外的動詞添加到動詞詞彙的配置行動。在使用此模型的情況下,物機器的動詞詞彙變得可動態配置且可依需要增加或減少大小及範圍。
自我配置的過程不僅包括接收有限的詞彙,亦包括針對各個動詞產生至少一個thing:graph。具體而言,thing:graph中的動詞是節點,非動詞亦為節點(此動詞及非動詞皆為物),而thing:graph內的弧線表示物之間的可變關係。thing:graph因此界定了以下的物之間的關係。
P(TM(thing))行動組織物及此等物之間的可變關係作為thing:graph。某些物表示行動、發生或存在狀態,而其他的物為可受行動作用的物。以有限的自我配置的開機物詞彙將物機器開機。在使用開機詞彙的情況下,物機器配置包括核心詞彙的事前知識,此核心詞彙包括物。
P(TM(input))行動與電磁波形設備交互作用以提供向P(TM)進行的通訊。本發明的實施例可將P(TM(input))與P(TM(parse))結合。此行動與P(TM(thing))交互作用,使得輸入的內容是可由剖析行動剖析的要求物。
P(TM(output))行動是可選的物。其行動與電磁波形設備交互作用以提供從P(TM)進行的通訊。
P(TM(parse))行動剖析內容物且與P(TM(thing))交互作用以產生表示敘述的thing:graph。在充當解譯機的簡單機器中,thing:graph會是可執行的thing:graph。在自適應物機器中,P(TM(eval))與P(TM(thing))交互作用以在可存取詞彙的上下文下估算thing:graph,以產生可執行的thing:graph。注意,P(TM(input))及P(TM(parse))可結合為由適當的P(TM(i))(例如P(TM(parse.input)))所給定的單一行動。
P(TM(perform))行動與P(TM(thing))交互作用以執行可在上面執行行動的物的背景內的物的行動。
P(TM(configure))行動與P(TM(thing))交互作用以將P(TM(i))配置為可執行的物。此舉允許更新可執行行動的詞彙。機器現在可執行的物可被添加、移除或改變複雜性範圍。注意,P(TM(i))提供了演算行動,而i指示表示此行動的名稱。此行動可為類神經網路分類器行動、電子交易行動或可經減化而實行的任何其他此類演算行動。
參照圖3的開機過程及示意圖,在物機器100開機時,P(TM(boot))要求P(TM(thing))產生物機器的開機詞彙(方塊202)。P(TM(thing))接收要求且產生表示開機詞彙的物(為了示例性的目的稱為「boot:」)(方塊204)。物的產生是由P(TM(thing))所執行的,此P(TM(thing))初始化物的大小的記憶體單元,其中物(亦即boot:)限定(qualify)了開機詞彙中的物。
物圖表資料模型
圖4是一圖表,此圖表是為了展示如由物機器100所執行的依據開機過程產生圖表的行為的目的而提供的。此部分界定抽象語法,此抽象語法用來基於RDF連結所有基於物的語言、規格及參考實施方式。RDF是用於表示網路中的資訊的基本架構(W3C, 2014)。RDF圖表是三元組(triples)的集合,各個三元組由主體(subject)、述詞(predicate)及客體(object)組成,如由圖4所繪示。RDF提供了三種類型的節點。節點可為IRI(參照RFC 3987)、文字(literal)或空白節點。IRI或文字指示世界中的某物,且稱為資源。
RDF物圖表是關於物的RDF圖表。其描述物的非可變組分。儘管此等組分是非可變的,它們的值是可變的。某些物是具有可執行行動的主動物,且常常稱為動詞。其他物是可受動詞行動作用的物。物可表示RDF資源、概念、事實、想法、實體、物體、實例、事件、發生、設備、感測器、服務、任務、服務、使用者、網路資源等等。
物包括了非可變的組分。物是由具有非可變組分的知識的P(TM(thing))所支配的。物的第一示例性非可變組分是名稱,此名稱是用來在論域中將一個物與另一物進行區隔的識別碼,然而重複命名的物可能存在,例如為表示列表的物的成員的重複命名物。
物的第二示例性非可變組分是值。在一個實施例中,值是如在RDF 1.1規格中所界定的RDF文字。本領域中具有通常技藝者會熟悉RDF 1.1規格,且此規格的整體內容以引用方式併入本文中。此外,本領域中具有通常技藝者可使用如由替代規格所界定的替代值表示。應注意的是,物的非可變組分值的值可為空。
物的第三示例性非可變組分是關係集。在物具有空的關係集時,則物表示空圖表。關係集是保持在第一物與第二物之間的關係集合。主要關係是關聯中的一者。關聯可為組成或聚集的形式。若物A由物B組成,則關係是不可變的。若A是包括物B的聚集體,則關係是可變的。其中,藉由實例的方式,物B可獨立於物A而存在,如由圖5所示。如所述,物是由具有非可變組分的知識的P(TM(Thing))所支配的。
第一示例性關係是thing:sttia關係,此關係使用存在量化(existential quantification)來指示:存在此主體物使得存在一客體物。此關係是可變的。此關係由圖6繪示。
客體物可表示一系列的物,例如物的列表或物的集合。此關係可使用實例修飾語(modifier)來表達,使得:存在此主體
物使得存在客體
物的實例
。取決於物的分類,物的實例可具有不同的意義。在一個情況下,實例可為成員。在另一情況下,實例可為某事的發生。
thing:is-a關係表達的是第一物是一定類型的第二物。在本文中在稱為作為後設資料的屬性(Atrribute as Metadata)的部分中進一步描述此關係。在一般的意義上,thing:is-a關係允許了物的分類。
thing:depends-on關係表示的是,主體物具有相依於客體物的相依性。可將額外的關係(例如來自UML的彼等關係)添加到RDF物圖表資料模型。此等關係會包括關聯(association)、聚集(aggregation)、有向關聯(directed association)、組成(composition)、反身關聯(reflexive association)、繼承、多重性及實現(realizaiton)。
識別碼及列表
列表是對於物的參照的表示。列表可為未綁定名稱(unbound name)(例如識別碼)或被表達為傳達二或更多個物之間的關係。列表「this」是簡單的識別碼,此識別碼指示我們正在指稱名稱等於「this」的物。列表「this.that」可指示的是,存在名稱等於「this」的物,使得存在名稱等於「that」的物。精確的列表解譯取決於列表所綁定到的命名空間,且在關於URI的部分中更詳細地涵蓋此解譯(參照RFC 3986),如下文所述。
作為後設資料的屬性
屬性描述物的固有特性或品質。屬性被表達為後設資料。thing:metadata是識別屬性類型的物,而物的值描述屬性值。
屬性可經識別為thing:metadata且後續以三元方式使用。作為一實例,thing:class屬性用來指示物的分類。類別是滿足成員資格準則的物的集合,此準則指定在給定的時刻使物是類別的成員需要什麼。用意是時變的準則。在給定時刻的延伸物(extension)是在此時間的所有成員的列表。
屬性可描述狀態。例如,可宣告一物而不指示此物的分類,且綁定行動可作用在「未綁定」的物上以將此物綁定到綁定行動可辨識的某物,即使是將此物綁定為「未知」物。綁定行動將物從未綁定狀態轉變到綁定狀態。綁定的物可為已發現(found)的或未發現的(unfound)。已發現的綁定的物指示綁定行動能夠將物綁定到此綁定行動了解的某物。未發現的綁定的物指示綁定行動被施用於物,但物不是綁定行動能夠了解的某物。
主動物
將具有對於可執行行動的參照的表示的物分類為主動物。在此上下文下,可執行行動是機器可造成執行而達成某個結果的行動,且本質上主要可為計算的、電氣的、化學的、光學的、生物的、機械的、電磁波形或其組合。
在動詞是描述行動的名詞的方面,本文中的主動物通常被稱為thing:verb,且主動物描述行動。因此,主動物的名稱是一動詞,此動詞的識別碼描述可執行的行動。
在支援分類的實施方式中,使用thing:is-a關係來將具有與可執行行動的關係的物分類為thing:verb,如由圖7所示。
動詞可作用在物的集合上。可在RDF物圖表中明確指定可受作用的物,或隱含地由分類所指定。量詞可用來將論域中的物的範圍限制於可受動詞行動作用的物。
命名空間
命名空間是表示以某種方式在邏輯上相關的物(即使是僅藉由是相同命名空間的成員而相關)的附名圖表的物。圖表包括了物及此等物的關係。如由圖8所繪示,在支援分類的圖表中,將命名空間物(Namespace Thing)分類為thing:namespace,而thing:namespace是thing:class。
上下文
上下文(context)是量化具有目前範圍的命名空間集合的物。如由圖9所示,在支援分類的圖表中,將物分類為thing:context。
上下文允許命名空間集合具有目前的範圍以供用於解參照表示物的IRI。例如,request:statement是可相對於一上下文而解析的IRI。在英語中,此舉會被表達為:存在名稱等於request的命名空間,使得存在名稱等於statement的物。
URI
URI識別一資源,而物是物機器中的此資源的表示。物具有可執行行動或為可受可執行行動作用的物。URI的一般化形式被給定為:綱目
:綱目特定部分
在物機器中,綱目
(scheme)被解譯為對於一命名空間物的參照,此命名空間物的名稱遵循URI方案的命名規約,如下文所示。此舉具有可使用RDF物圖表來表示現存的綱目名稱的優點。 命名空間名稱由字元序列組成,此序列以一字母開始且接著字母、數字、加號(「+」)、句點(「.」)或連字元(「-」)的任何組合 - RFC 3986。
如由網際網路號碼分配局(Internet Assigned Numbers Authority)所公佈的所有永久性的URI綱目為保留的命名空間名稱。保留的命名空間中的物的建模應符合用於此命名空間的經公佈的RFC的意義。例如,為了建模news:及nntp:命名空間中的物,吾人應諮詢RFC5538。經公佈的URI綱目的列表是由IANA所維護的,且可在線上在以下處取得: http://www.iana.org/assignments/uri-schemes/uri-schemes.xhtml
「URN」命名空間是保留的命名空間,且其命名空間特定的部分(namespace-specific part)是如由用於此URN命名空間的相對應的經公佈的RFC文件所界定地來解譯。經公佈的URN的列表是由IANA所維護的,且可在線上在以下處取得: http://www.iana.org/assignments/urn-namespaces/urn-namespaces.xhtml
依據命名空間的規格(綱目)來解譯列表的命名空間特定的部分
。 通用URI語法的剖析器可將任何URI的參照剖析成其主要組分。一旦綱目被判定,可在此等組分上執行進一步的綱目特定的剖析。換言之,URI通用語法是所有URI綱目的語法的母集。- RFC 3986。
然而,http:、https:及file:命名空間使用「/」字元定界符,使得參照:http://www.Thinglanguage.com/request被解譯為: 存在名稱等於「http」的Thing:Namespace,使得存在名稱等於「www.Thinglanguage.com」的物,使得存在名稱等於「request」的物。
mailto命名空間依據RFC6068來解譯參照。例如,參照:mailto:info@thinglanguage.com被解譯為: 存在名稱等於「mailto」的Thing:Namespace,使得存在名稱等於info@Thinglanguage.com的物。
亦可將OSX及IOS中所支援的Things:scheme建模。Things:URI被給定為:Things:command?parameter1=value1¶meter2...。這會被解譯為: 存在名稱等於「Things」的Thing:Namespace,使得存在名稱等於「command」的物,使得存在名稱等於「parameter1」而值等於「value1」的物的實例,且存在名稱等於「parameter2」的物的實例。
命名空間物的名稱遵循IRI綱目的命名需求(參照RFC 3987)。此舉充當將URI(IRI的一種形式,且描述於RFC 3986中)綁定到物的方式。將URI綱目
名稱綁定到命名空間物。將所有http:的URI例如綁定在http:的命名空間物內。在圖10中繪示將http URI示例性地綁定到物的行為。
滿足宣稱
基本斷言是表示滿足宣稱(satisfaction claim)的thing:assertion,且其斷言的是給定的宣稱為真。在物圖表模型中,斷言是物而不是有向邊緣標籤。參照圖11,在thing:graph中,空白節點表示滿足宣稱,而宣稱可具有對於thing:object的參照。
如由圖12所繪示,thing:assertion斷言thing:subject具有為數字的值,且因此不需要thing:object。
如由圖13所繪示,thing:assertion宣稱thing:subject的值小於thing:object的值。
滿足宣稱的真實性是藉由相對應於此宣稱的計算程序來判定的。在此方面,滿足宣稱是具有描述可受行動作用的物的相對應thing:graph的主動物。
簡單述詞的「is」部分之後可接著「not」以指示述詞的否定。例如thing:is-not-equal-to。會將thing:matches的否定指定為thing:does-not-match。
連接符
邏輯連接符用來連接兩個滿足宣稱。示例性的連接符包括(但不限於)and、or、not、implies及iff。與滿足宣稱類似,將邏輯連接符表達為物而不是表達為有向邊緣標籤。邏輯連接符物為主動物。具有連接符的圖表的實例由圖14提供。
儘管事實是,在程序性圖表中滿足宣稱估算為真(滿足)或假(未滿足),在宣告性圖表中的滿足宣稱可擴充到包括宣稱的範圍內的物的集合。
圖表類型
物圖表在其描述如何進行某事時在本質上是程序性的。例如,用來設定物的值的圖表是程序性敘述,描述用來執行任務的必要行動的敘述序列亦是程序性敘述。
物圖表在其為表示宣告的敘述時是宣告性的。HTML是宣告性敘述的實例。HTML源碼描述了文件的所需的佈局,且HTML呈現引擎將處理此HTML源碼以執行實際的佈局。
物圖表在其描述物件及此等物件的方法時是物件導向的。作為一實例,指示物件及用來設定、取得及復原物件的方法的圖表會是物件導向的。
物圖表在例如為訊息或狀態的事件驅動圖表的估算行為時是事件驅動的圖表。物圖表在其表達狀態及狀態之間的轉變以供用在有限狀態機中時是有限狀態圖表。
物圖表可為以上類型的圖表中的一或更多者的組合,例如哈雷爾狀態圖(Harel statechar)、XML狀態圖或UML狀態圖。 D. Harel及M. Politi所著的Modeling Reactive Systems with Statecharts: The STATEMATE Approach
,McGraw-Hill出版社,1998年出版。 (參照http://www.wisdom.weizmann.ac.il/~dharel/reactive_systems.html)
可執行機器碼中所表達的物機器程序P(TM(thing))在非暫時性記憶體中提供了支配物的行動及它們之間的關係。具有對於可執行行動的參照的表示的物是動詞。可執行機器碼中所表達的物機器程序P(TM(perform))提供了與P(TM(thing))交互作用以取得對於動詞物的參照及造成動詞的可執行行動(P(TM(i)))的執行的行動。行動的執行可與P(TM(thing))行動交互作用以作用在非暫時性記憶體中的物上。可執行機器碼中所表達的物機器程序P(TM(configure))提供了與P(TM(thing))交互作用以設定動詞物的行動。因此,我們可在物機器可執行為行動的物及可受行動作用的物的意義上描述問題敘述及建構解決方案。
圖15為一流程圖250,舉例說明由物機器所執行的最小限度的運行時間步驟。應注意的是,應將流程圖中的任何過程說明或方塊了解為表示包括用於實施過程中的特定邏輯函數的一或更多個指令的模組、程式段、代碼部分或步驟,且替代實施方式被包括在本發明的範圍內,其中取決於所涉及的機能,可相對於所示或論述的順序不依順序(包括實質上並行地或以相反順序)執行功能,如本發明領域中具相當技藝者會了解的。
具體而言,應注意的是,至少以下步驟是由物機器所執行的。如由方塊252所示,P(TM(i))行動演算地(例如藉由剖析輸入,或與感測器交互作用,或藉由要求物機器執行行動)產生表示讓物機器估算及執行行動的敘述的thing:graph。
此舉有用於讓獲取感測器(例如溫度、加速、海拔、經度及/或緯度、運動感測器、熱感測器、煙霧感測器或其他此類感測器)產生的資料的P(TM(i))逐步建構要估算的thing:statement及要執行的相對應的可執行thing:statement。類似地,被通知一訊號(例如事件、計時器、中斷訊號(interrupt)或警示)的P(TM(i))可與P(TM(request))交互作用以建構要估算的thing:statement及要執行的相對應的可執行thing:statement,以允許P(TM)回應其接收行為。
此類P(TM(i))的第一示例性實施例是P(TM(parse))行動,剖析XML文件產生thing:graph使得以下斷言為真: 存在著名稱等於core:print的物,使得存在著名稱等於「message」而值等於「Hello, World」的物。
在圖16中繪示相對應的thing:graph。
如由方塊254所示,P(TM(eval))行動與P(TM(thing))交互作用以存取該thing:graph及目前的動詞詞彙及與該thing:graph及目前的動詞詞彙交互作用以演算地選出適當的動詞行動及建構及設定可執行的thing:graph。應注意的是,目前的動詞詞彙可為初始的動詞詞彙或可為動態改變的動詞詞彙。
如由方塊256所示,P(TM(perform))行動與P(TM(thing))交互作用以取得可執行的thing:graph且造成thing:graph的執行。
依據本發明的替代實施例,物機器可不包含P(TM(eval))行動。在此類實施例中,P(TM(parse))解譯命令式敘述。
改變
THING:GRAPH/
核心詞彙
如先前所述,P(TM(i))可與P(TM(thing))交互作用以設定thing:graph。物的架構允許輸入及輸出的具體細節經由使用動詞行動而被抽象化及開始存在。語言、文法、語法及通訊行動本身的選擇就只是物。
可在P(TM(i))輸入串流中接收任何數量的語言及語法,且只要P(TM(parser))行動可演算地將文法語法的元素剖析成thing:graph就可剖析此等語言及語法。
語言是物,更準確地是被描述為包括詞典及文法的溝通系統。詞典是詞彙,例如語言中的用詞或短語的集合。文法施加規則,例如形態學、語意學及語法學。
行動是必須執行來溝通的物。可使用例如為閱讀及觀察的視覺溝通技能。可使用例如為寫或簽字的實體行動。可使用演講及聲音溝通技能。或者,可使用點字書寫系統。所有此等都是物,且因為它們是物,它們的行動可經建模及配置為物機器(亦即P(TM))可執行的行動。
作為一種溝通行動的形式,打手勢超越了社會。手指指向一定方向;跺腳;或你臉上的微笑的意義一般是被了解的。打手勢與手語的相異之處在於,後者使用具有良適定義的意義的經建立的表達及運動。打手勢是物。
與人類似,物機器可具有用於給定語言的閱讀詞彙、書寫詞彙、聆聽詞彙及口語詞彙。此等詞彙中的各者可處於不同的水準。物機器可藉由經配置的物來在物機器聽到詞時知道該詞的意義是什麼,但不能夠發該詞的音或正確地拼出該詞。類似地,物機器可閱讀某物,且看見此物機器不認識的詞。例如,詞「骨化」是英語語言中的動詞,意指硬得像骨頭,但可能是語言中最不常用的動詞中的一者,且因此可能不在物機器的動詞詞彙中配置經建模的實施例。
在物機器識別不熟悉的詞時,此物機器可藉由與該詞的字節交互作用來解譯該詞的意義。若物機器可偵測字根,則物機器可能能夠推斷意義。在物機器學習新的詞及如何使用該等詞時,物機器可將該等詞添加到此物機器的各種詞彙。
多語言物機器對於其所知的各個語言而言可具有不同的詞彙能力。可在阿魯巴學生的語言教育系統上對物機器建模,此等學生在學校裡學習帕皮阿門托語、荷蘭語、西班牙語及英語語言。各個物機器可針對各個語言以不同的速率發展物機器的閱讀詞彙、書寫詞彙、聆聽詞彙及口語詞彙且可能發展達到不同的能力。
物機器可依據文法及語法將敘述剖析成符記(token)物;且將符記物綁定到此等符記物的相對應詞彙中的物。可將某些物立即分類,而其他物需要考慮周圍的詞來推斷意義。
敘述的意義仍然可能是含糊的。考慮以下敘述:「Let’s eat honey」。其可能意指吃蜂蜜,或其可能意指你邀請你所愛的人開始吃飯。如本文中所詳細解釋的,為了幫助管理敘述的解譯及意義,我們介紹物動詞圖表的想法,其中起始節點是動詞名稱,而經連接的節點是可受動詞作用的物。
重要的是注意到,除了P(TM(parse))以外的其他動詞(P(TM(i)))行動可後續經配置為使得在執行時,行動與P(TM(thing))交互作用以產生thing:graph,其中可後續估算該thing:graph以產生可執行的圖表。可執行的thing:graph的執行可造成行動與P(TM(thing))交互作用,以改變P(TM(thing))所支配的物的thing:graph。此類P(TM(i))的示例性實施例是P(TM(config)),其提供與P(TM(Thing))交互作用以配置主動物的集合的行動(其中集合是一或更多主動物)。
P(TM(i))的行動可與環境交互作用以產生改變由P(TM(thing))所支配的thing:graph的要求的thing:graph表示。回應於此,P(TM(config))與P(TM(thing))交互作用以改變由P(TM(thing))所支配的thing:graph。因此,P(TM(config))的行動改變了目前的詞彙,該詞彙在本文中亦稱為核心詞彙。
參照圖17,P(TM(config))作用於由要求命名空間物所限定的物上,此物是G.id(繪示為空白節點),使得存在G.request及存在G.urr。
G.id物的名稱是P(TM(config))要配置的動詞物的識別碼。G.request是描述可受動詞物的執行作用的物的圖表。G.urr物的值是URI,此URI被解譯為用於要求執行動詞物的統一資源要求(Uniform Resource Request)。
參照圖18,my:configure版本的P(TM(config))作用於由URI request:statement所識別的物上,使得存在為詞彙識別碼(vocabulary.id)的物且使得存在為圖表ID的物使得存在G.request及G.urr。詞彙識別碼可由分類器用於在論域中演算地選出動詞物的集合以供P(TM(eval))用於估算thing:statement。
在一實施例中,P(TM(config))可與表示共享程式庫(例如動態鏈接程式庫)的物交互作用,使得將該共享程式庫動態載入程序記憶體,且解析及執行對於函數的參照以提供程序的集合及相對應的圖表,藉此允許配置多個動詞物。
在一實施例中,P(TM(config))可演算地與P(TM(eval))及P(TM(perform))交互作用以估算及執行thing:statement,此thing:statement必須被滿足作為配置動詞物集合的先決條件。該thing:statement可表示檢查取用權、版本資訊、修訂資訊、相依性、與現存動詞物的衝突、身分認證、授權、認證、安全性、硬體能力、作業系統能力或其他此類活動的要求。
在支援身分、認證及授權的實施例中,P(TM(config))行動可與P(TM(i))交互作用以識別及認證thing:statement且施加要被滿足來配置動詞物所需的授權需求。藉由實例的方式,thing:statement可能需要具有可被認證的身分的數位簽章,以判定此身分是否被授權要求P(TM(config))執行其行動。可演算地啟用各種安全模型,且該模型可能需要使用特定的硬體及P(TM(i))配置的動詞物,例如於2016年1月29日所提出的第62/288,545號的標題為「Optical Identity System and Methods」的審查中美國專利申請案中所揭露的此等硬體及動詞物,此美國專利申請案的整體內容(光學識別碼專利申請案)以引用方式併入本文中。一個實施例可使用P(TM(openssl))來提供由OpenSSL工具套件所啟用的身分、認證及授權行動(參照www.openssl.org網站)。
物的類型的實例
行動區塊是表示敘述序列的thing:graph。附名的行動區塊被稱為任務。如此,語言文法可表達讓物機器配置此物機器後續可執行的附名任務的要求。此任務是藉由執行行動區塊來執行的。行動區塊是藉由評定各個敘述以產生可執行的thing:graph來執行的。可執行的thing:graph是藉由執行相對應於可執行thing:graph中的thing:verb的行動來執行的。
在可將多個語言文法剖析器配置為可執行行動的方面,可將物機器配置為是雙語的。或者,翻譯器行動可用來從第一語言翻譯到可由經配置的剖析器行動剖析的第二語言。
因此,在我們說物機器可閱讀一本書的時候,我們指的是物機器可執行用來與從輸入設備所獲取的內容交互作用的行動,以將內容表示為thing:graph。藉由保留thing:graph作為整個物機器的子圖表,物機器行動可後續存取此內容及與此內容交互作用。
物機器可閱讀描述如何執行任務的書,且若此機器曾經被要求日後執行此類任務則保留此知識。可依主題分類任務。任務可為分類集合的成員,例如與使用http協定相關的任務;與例如為accounting:accounts.receivable、accounting:accounts.payable、banking:debits、banking:credits及banking:balance的活動相關的任務。
第一物機器可發送要針對第二物機器進行的通訊,而要求關於主題或分類的知識。回應於接收表示該知識的內容,第一物機器可與內容交互作用以據此配置物機器本身的知識。如此,第一物機器可藉由第二物機器進行學習。
物機器可提供服務。服務是回應於接收到要求而提供的物。服務與任務之間的微妙的區別是,任務是被執行的;而服務是被提供的。經由上下文來促進任務對上服務的分離,此舉可防止任務(例如移除檔案或改變動詞意義的任務)的未經授權的執行。
如所述,上下文物量化論域中的可用命名空間物的集合。命名空間物限定相關物(即使是僅藉由是相同命名空間的成員而相關)的集合。命名空間物的名稱用於解析對於物的參照。
身分是物,且如此我們可建模識別碼、認證、授權及稽核的概念以實現身分模型。身分模型的實例包括使用公鑰基礎建設、Open PGP的信賴網、生物識別技術、第三方授權等等。在使用身分的情況下,我們可引入市場作為物且允許交易。交易變成是買家與賣家之間的物、付款人與受款人之間的物。交易可涉及服務提供物(service offering Thing)、實體物、概念物或邏輯物。
身分模型允許圖表或子圖表的認證。例如,考慮表示要求的圖表,此要求包括要求方識別碼(亦即要求發起者)、內容及內容的數位簽章。可驗證識別碼的相對應憑證,且驗證內容的數位簽章。此舉允許估算行動演算地驗證要求且回應於此而選出適當的行動。在身分模型就位的情況下,我們亦可提供安全通訊模型。
保全要求內容的行為可使用密碼行動(cipher action)來建模以加密內容及後續解密內容。要求圖表可包括描述作密碼的行動及密鑰的子圖表。估算動詞的行動可施加必須首先以指定的金鑰執行指定的作密碼行為的條件作為先決條件以解密內容。藉由請求的各種組分組織在適當的子圖表中,二或更多個物機器可使用身分模型及安全通訊來演算地通訊。
在與光學識別碼SIM卡或類似的設備整合在一起時,可將物機器建模為具有覆蓋網路中的獨一身分的物(甚至是在特別指定(ad-hoc)的基礎上)。物可脫離網路,且在網路中的其他處重新接合,還保持它們的光學身分。
光學身分可相對於使用者身分而言是分立的。此舉允許物機器在覆蓋網路上驗證物機器本身及使用網路可用的內容來基於使用者的身分重新配置物機器本身。
物機器可動態地配置及重新配置其詞彙,甚至是在特別指定的基礎上。將本體論約束共享到物機器的詞典的至少一個子集的物機器集合可使用此子集(或此子集的至少一部分)來與物交互作用。若將詞彙表示為物,且物機器具有用來配置以及重新配置詞彙的動詞行動,則物機器可學習,本文中提供了此舉的實例。
參照示例性RDF物(是為了說明的目的而描述於本文中),施用以下的示例性定義。
圖表
- 一系列的點及線,此等線連接此等點及線的某些(可能為空的)子集。圖表的點最常稱為圖表頂點,但亦可稱為「節點」或就稱為「點」。類似地,連接圖表頂點的線最常稱為圖表邊緣,但亦可稱為「弧線」或「線」。
圖表節點稱為graph:node。圖表邊緣稱為graph:edge。邊緣可具有標籤,稱為graph:edge-label(label)。
有向圖表
- 有向圖表是圖表,亦即連接在一起的物件(稱為頂點或節點)的集合,其中所有邊緣(有向圖表邊緣)都從一個頂點指向另一個頂點。有向圖表有時稱為有向圖(digraph)或有向網路。
有向圖表稱為graph:directed。
有向圖表邊緣稱為graph:directed-edge。
無向圖表
- 無向圖表是圖表,亦即連接在一起的物件(稱為頂點或節點)的集合,其中所有邊緣(無向圖表邊緣)都是雙向的。無向圖表有時稱為無向網路。無向圖表稱為graph:undirected。無向圖表邊緣稱為graph:undirected-edge。
子圖表
- 主體是一圖表,此圖表的頂點及邊緣是另一圖表的子集。
有根圖表
- 有根圖表是有向圖表,其中一個節點經區隔作為起始(根)節點。
依據本系統及方法,ABNF用來描述如由P(TM(thing))所支配的物的非可變組分的表示。此外,RDF用來進一步說明如由P(TM(thing))所支配的物的非可變及可變組分的意義。
ABNF
在本文中所提供的示例性說明中,如下文中說明的擴充巴科斯-諾爾形式(augmented backus-naur form, ABNF)規格用來描述如由P(TM(thing))所支配的物。具體而言,下文描述如由P(TM(thing))所支配的物及此物的非可變組分。 scheme:scheme-name = ALPHA *( ALPHA / DIGIT / "+" / "-" / "." ) scheme:scheme-specific-part = 這是綱目特定的。針對關於綱目特定部分的細節,參照相對應於綱目名稱的RFC。若沒有此類RFC存在,則將綱目特定部分剖析成如由物語言所界定的物識別碼。否則,依據綱目符記化(tokenize)綱目特定部分。
以下的ABNF規則適用。 thing:identifier = 1*1 (scheme:scheme-name / scheme:scheme-specific-part ) thing:char-literal = char-val thing:num-literal = num-val thing:bin-literal = bin-val thing:dec-literal = dec-val thing:hex-literal = hex-val thing:value = 1* (thing:char / thing:num / thing:bin /thing:dec / thing:hex )
類別id識別物的類別。預設的分類id是URI,且由此URI所識別的物是類別。預設是thing:thing。 thing:class.id = URI
thing:set(i)是為i的物的集合。通用集合是thing:set.of(thing:thing),其為物的集合。集合不具有重複命名的物。 thing:set.of(i) = 0,*(i)
thing:list(i)是為類別i的成員的物的列表。通用集合是thing:list.of(thing:thing),其為物的列表。列表可具有重複的(i)。 thing:list.of(i) = 0,*( i )
註:在一實施例中,可將參數參照為thing:value.of(i)、thing:name.of(i)、thing:thing(thing:name.of((thing:value.of(i)))等等。
物
RDF
資源描述框架
(RDF)是用於表示網路中的資訊的框架。RDF三元組由三個組分組成:a) 主體,其為IRI或空白節點;b) 述詞,其為IRI;及客體,其為IRI、文字或空白節點。RDF三元組傳統上是以主體、述詞、客體的順序書寫的。RDF圖表是RDF三元組的集合。
RDF三元組在以下部分中用來描述物及在物圖表中,述詞指示主體與客體之間的關係類型。thing:is-a關係類型指示的是,主體是由客體所識別的物類別的成員。thing:has-a關係類型指示的是,主體具有由客體所給定的非可變組分。注意組分的值可改變,但組分不能改變。詳見關係類型。
參照P(TM(i))是對於物機器sub-i的演算程序的參照,其中i是相對於物機器的第二程序限定物機器的第一程序的識別碼。
物是如由P(TM(thing))所支配的圖表中的節點。 thing:thing thing:is-a graph:node
物具有名稱、值、類別及關係集合(relationship-set)。在提供全球資訊網的反向相容能力的較佳實施例中,命名空間物名稱是scheme:name。P(TM(thing))可設定、取得或復原物。 thing:thing thing:has-a thing:name thing:thing thing:has-a thing:value thing:thing thing:has-a thing:class.id thing:thing thing:has-a thing:relationship-set thing:name thing:is-a thing:identifier
以下規則指示的是,關係集合包括零或更多個關係。具有零個關係的關係集合是空集合。具有為空集合的關係集合的thing:thing的有根thing:graph是thing:thing的空圖表(thing:graph.empty)。 thing:relationship-set = thing:set.of(thing:relationship(s,r,o))
在以下規則中,s、r及o是參數,此等參數指示:在thing:subject(s)與thing:object(o)之間存在著relationship-type(r)。P(TM(thing))可設定、取得或復原關係。 thing:relationship(s,r,o) = thing:subject(s) thing:relationship-type(r) thing:object(o)
以下規則要被解譯為:存在名稱等於s的物。 thing:thing(s) = thing:thing 其中 is:equal.to=(thing:name.of(thing:thing) , (s))
以下規則要被解譯為:存在名稱等於s而值等於v的物。 thing:thing(s,v) = thing:thing 其中 (is:equal.to=(thing:name.of(thing:thing) , (s)) 且 is:equal.to=(thing:value.of(thing:thing) , (v)))
在一實施例中,可參照物的組分。例如,以下規則被解譯為存在[name=a]且[value=b]的物。 thing:thing( 0,1[name=a] 0,1[value=b] ) = thing:thing 其中 is:equal.to=(thing:value.of(thing:name) , (s)) 且 is:equal.to=(thing:value.of(thing:value) , (v)) thing:subject thing:is-a thing:thing thing:subject(s) thing:is-a thing:thing(s) thing:object thing:is-a thing:thing thing:object(o) thing:is-a thing:thing(o)
以下規則(s,c,o)為指示由c所給定的宣稱被(s)及可選的thing:object(o)滿足的參數。如同物,規則被解譯為存在主體物(s),使得存在滿足宣稱c,使得存在可選的客體(o)。 thing:assert(s,c,o) = *(thing:subject(s) thing:predicate(c) thing:object(o))
以下規則相當於由參數(i)所給定的物的名稱組分的值。 thing:name.of(i) = thing:value.of( (i):name)
以下規則相當於由參數(i)所給定的物的值組分的值。 thing:value.of(i) = thing:value.of( (i):value)
以下為示例性關係類型(thing:relationship-type)。 thing:is-a 主體物是由客體所指示的類別的成員。 thing:has-a 主體物具有由客體所識別的非可變組分。 thing:sttia 存在一主體物,使得存在一客體物。 thing:sttiai 存在一主體物,使得存在一客體物的實例。 thing:sttmb 存在一主體物,使得可能存在一客體物。 thing:sttina 存在一主體物,使得不存在一客體物。 thing:parent 客體物是主體物的母體(parent)。 thing:child 客體物是主體物的子體(child)。 thing:next 客體物是主體物的下一個同輩體(sibling)。 thing:prior 客體物是在主體物之前的同輩體。
thing:is及thing:is.not斷言是thing:predicate滿足宣稱。滿足宣稱可為由以下所給定的表達式的形式: thing:expression = thing:subject thing:satisfaction-claim 0,1(thing:object)
滿足宣稱由作用於宣稱上的thing:verb所斷言。此舉允許針對特定的實施例自我配置可存取的滿足宣稱的集合。滿足宣稱的子集包括: thing:is.lt 主體物的值小於客體物的值。 thing:is.lteq 主體物的值小於或等於客體物的值。 thing:is.eq 主體物的值等於客體物的值。 thing:is.gteq 主體物的值等於或大於客體物的值。 thing:is.gt 主體物的值大於客體物的值。 thing:is.not.empty 主體物的值非空。
thing:graph(s)是thing:subject(s)的圖表。thing:graph(monad)是相關物的母圖。 thing:directed-edge thing:is-a graph:directed-edge thing:directed-edge(s,r,o) thing:is-a graph:directed-edge with graph:edge-label(r) of thing:relationship(s,r,o) thing:blank.node thing:is-a thing:thing thing:rgraph(s,r,o) = thing:subject(s ) thing:directed-edge(s,r,o) thing:object(o) thing:graph.empty(s) = thing:subject(s) thing:graph(s,r,o) = thing:rgraph(s,r,o) / thing:graph.empty(s)
thing:class(class.id)是由thing:name class.id所給定的thing:thing。其具有與一紀律(discipline)的關係,此紀律存在於此類別的上下文內。 thing:class(class.id) thing:is-a thing:subject(class.id) thing:class(class.id) thing:has-a thing:relationship(thing:class(class.id), thing:sttia, thing:discipline(class.id,d)) thing:class(class.id) thing:has-a thing:relationship(thing:class(class.id), thing:sttia, thing:binding.urr) thing:discipline(class.id,d) thing:is-a thing:context(thing:class(class.id), thing:verb(d)) thing:class(c) thing:may-have-a thing:relationship(thing:class(c), thing:sttia,G.criteria(c)) G.criteria(c) thing:is-a 指示成為thing:class的成員的準則的集合的thing:graph
示例性的thing:class包括: a) thing:class(thing:char) b) thing:class(thing:num) c) thing:class(thing:bin) d) thing:class(thing:dec) e) thing:class(thing:hex)
示例性的紀律包括: a) thing:discipline(c, thing:set) b) thing: discipline (c, thing:get) c) thing: discipline (c, thing:unset)
實施例可添加修飾語(modifier)的集合來修飾P(TM(discipline(c,d))。示例性的修飾語包括: a) thing:before(thing:discipline(c,d),thing:urr(u)) b) thing:as(thing:discipline(c,d),thing:urr(u)) c) thing:after(thing:discipline(c,d),thing:urr(u))
在thing:discipline(c,v)之前估算thing:before urr,且若滿足,則估算thing:discipline(c,v)。
估算thing:as urr彷彿其為G(urr(d))。
在成功估算G.urr(d)或thing:as urr(若指定的話)之後估算thing:after urr。
藉由將類別thing:class(class.id)圖表配置為具有與紀律的適當關係來配置新的分類。
thing:verb是由P(TM(thing))所支配的thing:thing,使得存在對於可執行行動的參照的表示,此表示可解析為可執行行動,P(TM(perform))可造成此可執行行動的執行。P(TM(perform))被視為藉由造成可執行行動的執行來執行thing:verb。 thing:verb(i) thing:is-a G(P(TM(i))) G(P(TM(i))) thing:is-a thing:subject(i) G(P(TM(i))) thing:has-a thing:relationship(thing:subject(i), thing:sttia,G(request(i))) G(P(TM(i))) thing:has-a thing:relationship(thing:subject(i), thing:sttia,G(urr(i))) G(request(i)) thing:is-a 可受物P(TM(i))作用的thing:graph G(urr(i)) thing:is-a thing:urr(i)的thing:graph
thing:urr(i)是用於要求執行P(TM(i))的統一資源要求。P(TM(i))行動將thing:urr(i)的值綁定到P(TM(perform))可執行的可執行行動。在一示例性實施例中,此舉可包括綁定到非暫時性記憶體中的指令的位址,且實施例的進一步特徵可為使用一或更多個作業系統呼叫,例如fork、exec、pthread_create、connect、open、send、write、receive、read、close、wait及/或disconnect。
在估算執行P(TM(i))的要求時,P(TM(eval))與P(TM(thing))交互作用以判定P(TM(i))演算地準備P(TM(i))必須可存取的P(TM)物的圖表。在一個實施例中,是在針對P(TM(i))行動的期間所具體產生的要求命名空間的上下文下產生該圖表,且是在回應命名空間的上下文下設定回應(若有的話)。此舉允許P(TM(eval))將新的上下文推送到用於P(TM(i))的上下文堆疊上及演算地與回應命名空間交互作用以據此更新由P(TM(thing))所支配的物。
thing:verb.vocabulary是thing:thing,使得存在與thing:verb的集合的關係。 thing:verb.vocabulary (c) thing:is-a thing:subject(c) thing:verb.vocabulary (i) thing:has-a thing:relationship( thing:subject(i),thing:sttia,thing:set.of(thing:verb) ) thing:verb.vocabulary (i) thing:has-a thing:relationship( thing:subject(i),thing:sttia,G(urr(i)) ) G(urr(i)) thing:is-a thing:urr(i)的thing:graph
thing:urr(i)的相對應的可執行行動是由P(TM(i))所執行以配置用於動詞詞彙的動詞物。
示例性
thing:relationship
下文進一步說明物關係的實施例。如由圖19的有向圖表所示,名稱為x的物是名稱為y的物的前導子,y是名稱為x的物的後繼子,且述詞是使得存在一關係的物,此指示為thing:sttia。英語的解譯是:存在著名稱等於x的物,使得存在名稱等於y的物。「使得存在著」的關係是由thing:sttia邊緣標籤所指示的。
如由圖20的有向圖表所示,名稱為x的物是名稱為z的物的前導子,且述詞是「使得存在一實例」,此指示為thing:sttiai。英語的解譯是:存在著名稱等於x的物,使得存在名稱等於z的物的實例。
如由圖21的有向圖表所示,將英語的解譯給定為:存在著名稱等於x的物,使得存在名稱等於y的物,使得存在著名稱等於z的物,使得存在著對於名稱等於x的物的參照。「使得存在著對於...的參照」的關係是由thing:sttiar邊緣標籤所指示的。參照可為URI的形式,此URI可被解譯為列表。
如由圖22的有向圖表所示,名稱為x的物是thing:table。在使用下一個(next)及最後一個(last)邊緣的對偶以及母(parent)子(child)邊緣對偶的情況下,可以任一方向遍歷(traverse)此圖表。
如由圖23的有向圖表所示,多個物具有與單一物的關係。
如由圖24的有向圖表所示,名稱為「x」的物是名稱為「c」的物的類別的成員。
述詞可指示關於物的非可變組分的關係。如由圖25的有向圖表所示,關係指示名稱為「x」的物的名稱是名稱為「b」的物的類別的成員。
如由圖26的有向圖表所示,關係指示名稱為「x」的物的值是名稱為「c」的物的類別的成員。
以下為在支配圖表中的物時由P(TM(thing))所支配的示例性的物。
thing:monad
– 一元(monad)是由P(TM(thing))所支配的所有其他物可相對而識別的第一個物。有向圖表的節點為物,而有向邊緣標籤是在所連接的物之間保有(hold)的前提。一元的有向圖表指示物機器的狀態。一元與以指示為「thing:sttia」的有向邊緣標籤「使得存在著」指向上下文物的邊緣連接。
thing:context
– 上下文物表示被組織為堆疊的物的集合,其中堆疊的頂部是表示目前上下文的物。可將新的上下文物演算地推送到堆疊上或演算地彈開堆疊,以改變目前的上下文。上下文物的實例是物的集合的有向圖表的根,此等物是此上下文的範圍內的命名空間。
thing:namespace
– 命名空間是表示以某種方式在邏輯上相關的物(即使是僅藉由是相同命名空間的成員而相關)的附名圖表的物。圖表的名稱符合國際資源識別碼(IRI)綱目的命名需求。命名空間的有根的有向圖表從作為根的命名空間物開始,且被連接的節點是由命名空間物所限定的物。有向邊緣標籤指示在所連接的物之間適用的關係。
上下文物量化可用的命名空間物的集合。示例性的命名空間包括要求(request)、回應(response)、本端(local)、服務(service)、核心(core)及開機(boot)命名空間。可經由P(TM(thing))的行動來配置額外的命名空間。以下圖表對於上下文的各個命名空間而言為真,其中圖表的未附名的節點經綁定到由上下文所限定的命名空間。如由圖27的有向圖表所示,上下文包括要求、回應及本端命名空間。實施例可自我配置命名空間的集合。
將
IRI
映射到命名空間物
將IRI綱目名稱映射到命名空間物,且接著依據特定命名空間的規則映射IRI的綱目特定部分。預設行為是使用點號(「.」)字元定界符來指示「使得存在著」關係,而使用中括號(「[」及「]」)來指示「使得存在...的實例」關係。例如,參照:request:statement[1].word被解譯為: 存在名稱等於「request」的命名空間物,使得存在命稱等於「statement」的物,使得存在名稱等於「1」的物的實例,使得存在名稱等於「word」的物。
如物圖表資料模型部分中所述,如由網際網路號碼分配局所公佈的所有永久性的URI綱目為保留的命名空間名稱。保留的命名空間的完整列表在線上公佈於http://www.iotnamespaces.com/reserved。將IRI映射到保留的命名空間的步驟亦可在www.iotnamespace.com/mappings取得。
使用
XML
來識別物
將基本的XML剖析且綁定在命名空間中。此舉對於例如為由URL http://w1.weather.gov/xml/current_obs/index.xml所識別的氣象服務的服務而言是重要的,此等服務使用基本的XML格式。為了說明映射步驟,考慮如下給定的片段: <station> <station_id>PADQ</station_id> <state>AK</state> <station_name>Kodiak, Kodiak Airport</station_name> <latitude>57.75</latitude> <longitude>-152.5</longitude> <xml_url>http://weather.gov/xml/current_obs/PADQ.xml</xml_url> </station>
在基本的XML映射步驟中,將元素映射到物,而將屬性(attribute)映射為此物的屬性的實例。
XML
基架定義
從我們使用氣象站XML資料的先前實例,local:station.xml_url物具有識別表示此站的本端資料的資源的值。在擷取此資源時,我們發現其為XML版本1.0的文件,此文件部分地包含: <current_observation version="1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNSL="http://www.weather.gov/view/current_observation.xsd">
作為正式的斷言,三元組可被表達為: 存在名稱等於「current_observation」的物,使得 存在一物的實例,其中 名稱等於「xmlns:xsd」且 值等於「http://www.w3.org/2001/XMLSchema」, 且, 存在一物的實例,其中 名稱等於「xmlns:xsi」且 值等於「http://www.w3.org/2001/XMLSchema-instance」, 且, 存在一物的實例,其中 名稱等於「xsi:noNamespaceSchemaLocation」且 值等於「http://www.weather.gov/view/current_observation.xsd」。
XSD參照允許擷取XSD基架(schema),使得客體元素、子元素及屬性的有效結構可接著被表示為命名空間的物。
XML
命名空間
在XML中,受限定的名稱是經受命名空間解譯的名稱。元素及屬性兩者是受限定的名稱。在剖析依循XML命名空間規格的XML文件時,將此文件剖析成要求命名空間、經驗證且使用受限定的名稱作為物的名稱來保留文件的結構。
例如,考慮以下所給定的XML文件。書本元素包括兩個命名空間屬性;第一個屬性界定預設的XML命名空間,而第二個屬性界定isbn XML命名空間。XML 1.1規格並不需要IRI是受驗證的IRI,但是反而需要將IRI指定為語法上正確的IRI。如此,剖析行動並不將XML IRI參照映射到物的命名空間。 <?xml version="1.0"?> <book xmlns='urn:loc.gov:books' xmlns:isbn='urn:ISBN:0-395-36341-6'> <title>Cheaper by the Dozen</title> <isbn:number>1568491379</isbn:number> <notes> <!-- make HTML the default namespace for some commentary --> <p xmlns='http://www.w3.org/1999/xhtml'> This is a <i>funny</i> book! </p> </notes> </book>
正式的滿足宣稱為: 存在名稱等於「request」的命名空間物,使得 存在名稱等於「book」的物,使得 存在一實例,其中 名稱等於「xmlns」且 值等於「urn:loc.gov:books」,且 存在一實例,其中 名稱等於「xmlns:isbn」且 值等於「urn:ISBN:0-395-36341-6」。
物語言
在物圖表模型中,所有事物皆為物。某些物是命名空間,某些物是動詞,而其他物是可受動詞動作作用的物。動詞與可受動詞作用的物的集合之間的關係被表示為物動詞圖表。
分類允許推斷所要的行動的意義。在以下實例敘述中,所要的行動是使用物及時間單位來「設定」某物;然而,每個敘述所需的行動是非常不同的。 將計時器設定為06:00分鐘。 將時鐘設定為上午06:00。 將鬧鐘設定為下午06:00。
執行剖析行動來將敘述剖析為thing:graph的物圖表。估算動詞在動詞詞彙圖表的上下文下估算thing:graph,以選出候選動詞。估算動詞行動將要求圖表中的物綁定到候選動詞圖表中的物,以識別需要執行的動詞圖表實例。觸發執行行動以造成在所綁定的物的上下文下執行所識別的動詞行動。
物敘述
物語言提供了命令式及宣告式的敘述結構兩者。在一般的意義下,最小限度的開機詞彙適用於命令式敘述,而更具表達性的核心詞彙允許使用宣告式的敘述。下文提供了用於物敘述的ABNF定義。在RFC2234中界定ABNF語法。 thing:statement = statement-1 / statement-2 statement-1 = ne-pair statement-2 = listing expression [ “;” ] nv-pair = listing = DQUOTE value DQUOTE [ “;” ] ne-pair = listing = OP expression CP expression = *(ne-pair / nv-pair) listing = namespace “:” namespace-specific-part OP = “(“ CP = “}” DQUOTE = ‘”’
作為一實例,以下命令式敘述命令物機器將由列表request:my.name所識別的物設定為值John。 set=( request:uri=”request:my.name” request:value=”John” )
P(TM(bind))行動可用來將列表綁定到可受行動作用的物,使得可將上述敘述指定為: set=( request:my.name=”John” )
一般而言,相同的語法適用於物語言中的任何敘述。注意,可受動詞行動作用的物是以「(」及「)」定界符來包含的。 set=( request:uri=”local:counter” request:value=”1” ) while=( condition=( is.less.than=( request:uri=”local:counter” request:value.of=”local:max.value” ) ) action=( increment=( request:listing=”local:counter” ) ) )
物語言的簡單語法容易轉譯為其他的語言。例如,上述敘述可以JSON表達,如以下所示。 { “set”: { “request:listing”: ”local:counter”, “request:value”: ”1” }, “while”: { “condition”: { “is.less.than”: { “request:listing”: ”local:counter”, “request:value.of”: “local:max.value” }, } “action”: { “increment”: { “request:listing”: ”local:counter” } } } }
類似地,示例敘述可使用物/XML來表達。 <set> <request:listing>local:counter</request:listing> <request:value>1</request:value> </set> <while> <condition> <is.less.than> <request:listing>local:counter</request:listing> <request:value.of>local:max.value</request:value.of> </is.less.than> </condition> <action> <increment> <request:listing>local:counter</request:listing> </increment> </action> </while>
只要剖析器行動可將資料剖析成thing:graph,可使用任何數量的語言及語法。
支援多部分的資料(multipart data),如以下所示。在此實例中,我們基於設定動詞來呈現簡單的敘述。注意,並未指定request:listing。估算動詞行動將與request:graph交互作用及動詞詞彙中的相對應的動詞圖表,以將request:graph中的物綁定到可與動詞交互作用的物。在此實例中,request:listing的值預設為rcd:Contact,而request:class的值預設為thing:thing。 set=( rcd:Contact=( Name=( Last=”Amrit” First=”Vivaan” ) Email=”v.amrit@iotnamespace.com” Status=”pending” ) ) 以上敘述相當於: set=( request:listing=”rcd:Contact.Name.Last” request:value=”Amrit” request:class=”thing:thing” ) set=( request:listing=”rcd:Contact.Name.First” request:value=”Vivann” request:class=”thing:thing” ) set=( request:listing=”rcd:Contact.Email” request:value=”v.amrit@iotnamespace.com” request:class=”thing:thing” ) set=( request:listing=”rcd:Contact.Status” request:value=”pending” request:class=”thing:thing” )
宣告式敘述依循與命令式敘述相同的一般語法。為了說明差異,我們將從一個簡單的實例開始,此實例使用三個命令式敘述來初始化列表painting:Gallary作為自動實例化(auto-instanced)的物。分類為thing:auto-instance的物將使得在每次物用在設定動詞行動中時自動添加新的實例。 set=( request:listing=”painting:Gallary” request:class=”thing:auto-instance” Name=” Zhang Daqian Title=”Peach Blossom Spring” ) set=( request:listing=”painting:Gallary” Name=”Van Gogh” Title=” Almond Blossom” ) set=( request:listing=”painting:Gallary” Name=”Ylli Haruni” Title=”Cherry Blossom” )
以下的宣告式敘述接著用來在不詳述各個所需步驟的情況下表達我們想要什麼。 evaluate=( using=( request:instances.of=”painting:Gallary” request:as=”gallary:” ) for.each.time=( condition=( is.like=( request:listing=”gallary:Title” request:pattern=”^.*Blossom$” ) ) ) perform=( display=( listing[1]=”gallary:Name” listing[2]=”gallary:Title” ) ) )
將以上的輸出給定為: Van Gogh Almond Blossom Ylli Haruni Cherry Blossom
命名空間範圍
命名空間是表示以某種方式在邏輯上相關的物(即使是僅藉由是相同命名空間的成員而相關)的附名圖表的物。命名空間物是由上下文物所限定的,而圖表的名稱(命名空間的名稱)符合IRI綱目的命名需求。如由網際網路號碼分配局(Internet Assigned Numbers Authority)所公佈的所有永久性的URI綱目為保留的命名空間名稱。
分類
可將物分類為是一定類別的物的成員。所有物皆為物。某些物為整數,某些物為浮點數,而某些物為集合等等。命名空間系統與核心類別集合自我組合,額外的類別可存在於此核心類別集合上。第2章提供了關於類別的詳細資訊。
以下實例被解譯為:執行設定行動,使得存在名稱等於local的物,且此物是一命名空間,使得存在名稱等於scores的物。在此上下文下,分數(score)是物。 · set=( listing=”local:scores” )
以下實例描述將分數設定為浮點數的要求。 · set =( class=float listing=”local:scores” value=”83.25” )
通訊原詞
通訊原詞(communication Primitive)是提供用於通訊的介面的物。原詞允許通用的行動,例如連接(connect)、發送(send)、接收(receive)及中斷連接(disconnect)。將用於各種類型的通訊的通訊原詞提供為包括網路物、插座(socket)、檔案、RS232、URI綱目及統一資源要求列表。
通訊點
通訊點是與通訊原詞交互作用以使得通訊發生的物。
常規的本端檔案 · connect=( listing=file://~/mydocuments/scores.txt as=compoint:1 ) · send.line=( compoint=”compoint:1” value=”93” ) · send.line=( compoint=”compoint:1” value=”87” ) · send.line=( compoint=”compoint:1” value=”92” ) · close =( compoint=”compoint:1” )
在使用未加密的標準電子郵件的情況下 · connect=( listing=”email:johnkingburns@gmail.com” as=compoint:2) · send=( compoint=”compoint:2” value=”Subject: Meeting” ) · send=(compoint=”compoint:2” value=”John, let’s meet on Tuesday at 10:00am to discuss the plan.” ) · close=( compoint=”compoint:2” )
在使用加密的主動命名空間的情況下 · connect=( listing=”activeNamespace:john.king.burns” as=”compoint:jkb”) · send=( compoint=”compoint:jkb” value=”Subject: Meeting” ) · send=( =”compoint:jkb” value=”John, let’s meet on Tuesday at 10:00am to discuss the plan.” ) · close=( =”compoint:jkb” )
敘述
在物語言中,敘述包括了動詞及零或更多個物件name=expression的對偶。各個表達式是值表達式或name=expression對偶。綁定符可綁定點號定界的動詞修飾語。 verb[.modifier[.modifier]] name_expression name_expression : name=”(“ name_expression | value_expression “)” value_expression : quote literal end_quote : literal : “(“ mathematical_expression “)”
名稱表達式是由包含此名稱表達式的名稱所量化的。因此a=(b=1)被解譯為:存在名稱等於a的物,使得存在名稱等於b且值等於1的物。多部分的敘述(例如a=(b=1 c=2))被解譯為:存在名稱等於a的物,使得存在名稱等於b且值等於1的物,且存在名稱等於c且值等於2的物。
值的表達式是文字的,且其可由引號括起來。包括空格字元的文字值必須由引號括起來。因此,a=house、a=”house”、a=’house’是相當的。類似地,a=”red house”及a=’red house’是相當的。
數學表達式被包封在雙括號中,且不需要由引號括起來。作為一實例,a=(( 10 + -2 * (6 / 3) ))。正常的運算順序是適用的,且可使用括號來包封表達式。不支援函數,但支援數學動詞。因此,只要sprt是數學動詞詞彙中的動詞,會如吾人所會預期地估算a=(( 2 * sqrt(4) ))。
為了明確表示敘述,格式為: statement=(verb_expression Object_expression) modifier_exprssion : “.” modifier modifier_expression : modifier verb_expression : verb modifier_expression : verb Object_expression : name_expression Object_expression : name_expression
行動區塊
行動區塊是要作為單元來估算的敘述序列。此舉允許命名空間系統執行區塊且允許邏輯處理真及假的類型的敘述。行動區塊的一般語法是: action block=( statement-1 statement-2 action=( … ) statement-n )
在以下實例中,簡單行動區塊序列是以以下方式提供: · action=( set=( listing=”local:counter” value=”1” ) print=( listing=”local:counter” ) )
條件式
命名空間系統提供了行動的條件式估算。支援IF、ELSE-IF及ELSE條件式。 · if=( condition=( is.less.than=( listing=”local:number” value=’10’ )) action=( increment=( listing=”local:number” ))) else.if=( condition=( is.less.than=( listing=”local:number” value=’20’ )) action=( increment=( listing=”local:number” by.value=”2” ))) else=(action=(break))
迭代
迭代是由for及while.condition動詞行動所啟用的。 · for=( condition=( is.less.than=( lhs=”local:number” rhs=’5’) ) action=( increment=(var=”local:number) ) ) · while=( condition=( is.less.than=( lhs=”local:number” rhs=’5’) action=( increment=(var=local:number) ) )
設定
設定動詞行動將設定物,此物是依據經識別為request:class的值的分類的規則由request:listing值所給定的。在未明確指定類別時,則估算動詞行動將基於敘述中的物來判定適當的分類。
在以下敘述中,分類預設為request:class=”thing:thing”,而相對應的動詞圖表示於圖28中。 set=( request:listing=listing
request:value=expression
)
在以下敘述中,分類預設為request:class=”thing:alarm”,而相對應的動詞圖表示於圖29中。 set=( request:listing=listing
request:time=time )
用於設定的動詞敘述示於此處。隨著添加新的分類,為了支援分類的意義,額外的動詞行動可能是必要的,且此等動詞行動可使用動詞修飾語來添加到詞彙。 set=( request:listing=listing
request:value=expression
request:class=class
)
thing:graph
- thing:graph是物及其相關物的有向圖表,且可從有根的有向圖表表達為所有可能的物及它們的關係的子圖表。未附名的頂點標籤被解譯為thing:identifier。否則,一或更多個附名的非可變組分及表示可用作頂點標籤。在較佳實施例中,Name:名稱及Value:值分別用來指示thing:identifier及thing:value,若需要此類區別的話。
thing:graph中的未附名的頂點是論域中的物的集合,此物集合由滿足未附名頂點的有向圖表的未附名頂點的前導子所限定(若有的話)。
thing:subgraph
– P(TM(i))可作用於一元有根有向圖表的thing:subgraph上。
thing:statement
– 表示要估算的敘述的thing:graph。
thing:statement.declarative
– 宣告式的thing:statement。
thing:statement.imperative
– 命令式的thing:statement。
thing:statement.interrogative
– 訊問式(interrogative)的thing:statement。
thing:statement.exclamatory
– 驚嘆式(exclamatory)的thing:statement。
thing:listing
– 列表是對於物的參照的表示。受限定的列表包括了對於命名空間的參照的表示,且具有一般格式「命名空間 : 命名空間特定部分」,此格式與包括「綱目 : 綱目特定部分」的URI類似。未受限定的列表(亦稱為未綁定的列表)可由P(TM(bind))演算地限定。thing:listing是由P(TM(thing))的演算行動所解析的。
可經由使用用於給定命名空間的取得、設定及復原紀律來解析命名空間特定部分。此舉允許可預測的演算行動解析參照,即使是在命名空間特定部分的解譯是取決於被建模的命名空間時。
自由變數
對於物的參照的表示被視為自由變數。P(TM(bind))演算地將參照綁定在由上下文所界定的物的集合內。在遍歷thing:graph時,演算地更新物的上下文以反映可適用於論域內的目前的物範圍中的彼等物。考慮以下斷言: 存在一物,使得存在名稱等於Contact的物,且存在名稱等於Email的物。
開放參照「存在一物,使得」指示的是,在目前的物集合中考慮由P(TM(thing))所支配的論域中的所有可能的物。P(TM(bind))接著取消限定(disqualify)目前集合中並不保有限制「使得存在名稱等於Contact的物,且存在名稱等於Email的物」的所有此類物。
參照圖30,G.request(P(TM(i)))指示P(TM(i))可作用於要求命名空間中所限定的物上。未附名的節點指示P(TM(i))可在不以名稱識別物的情況下作用於要求命名空間中所限定的某些物上。
參照圖31,G.request(P(TM(i)))指示P(TM(i))可作用於名稱為由名稱為statement的物所限定的Contact的物上,此名稱為statement的物被限定在要求命名空間中。
參照圖32,示例性G(P(TM(i)))是包括G.request(P(TM(i)))子圖表及G.urr(P(TM(i)))子圖表的有根有向的thing:graph,此G.urr(P(TM(i)))子圖表指示P(TM(perform))將如何要求P(TM(i))執行其行動。注意,reqest:statement.Thing的組分滿足由http://www.schema.org/Thing所界定的物基架的組分。
統一資源要求
統一資源要求(URR)物是可由P(TM(thing))解譯為執行可執行行動的要求的URI。藉由實例的方式: stdlib:load///usr/local/lib/libboot.so?entry=’init’ http:get//www.iotsystems.com/index.hml http://www.iotsystem.com/index.html task:list.my.contacts?request:pattern=’[A-M].*’
URR與傳統URI之間的區別是,是在thing:namespace中的物的上下文下而不是在讓伺服器提供經識別資源的要求的上下文下估算URR。
stdlib:load物是一主動物,此主動物的可執行行動動態地載入相對應的程式庫、將對於表值(entry)物的值的參照解析為可執行行動且執行此行動。一般是使用dlopen()及dlsym()呼叫或Windows、Linux、BSD、iOS或其他此類作業系統上的等效呼叫來實施此行動。參照http://pubs.opengroup.org/onlinepubs/009695399/functions/dlopen.html
來自此行動的執行的回應是要求物機器配置與所載入的行動關聯的thing:verb的thing:statement的集合。P(TM(bind))可用來使用dlsym()或等效的作業系統呼叫來將轉移點參照(entry point reference)綁定到可執行行動。
stdlib:unload物是一主動物,此主動物的可執行行動卸載相對應的程式庫。此行動一般是使用dlclose來實施的。參照http://pubs.opengroup.org/onlinepubs/009695399/functions/dlclose.html
在使用URR對上URI時必須小心注意客戶端與伺服器資源解析度之間的區別,其中前者由物機器解析為資源,對上後者通常由伺服器解析為資源。
P(TM(i))可產生URR且要求P(TM)估算及執行適當的行動。作為一實例,P(TM(parse))可與要剖析的內容交互作用,且發現此內容呈現剖析器行動不了解的格式或語言。在此類情況下,P(TM(parse))可要求可能能夠剖析此內容的第二P(TM(i))行動的估算及執行。
具有通訊能力的第一物機器可向第二物機器傳遞要求以識別物(或其內容)。第二物機器可教示第一物機器某物表示什麼;可作用於此物的行動;及/或可使用此物來執行的任務。
核心
POSIX
詞彙
核心POSIX.1-2008界定了標準作業系統介面及環境,包括命令解譯器(或「殼(shell)」)及用來在源碼層級下支援應用可攜性的通用實用程式。其是要由應用開發者及系統實施者兩者所使用的。參照:http://pubs.opengroup.org/onlinepubs/9699919799/
核心詞彙依循POSIX.1-2008系統API,然而目前並未提供所有的應用程式設計介面。參數為物,且其中字元串與實整數之間的適當轉換是由相對應的動詞行動所提供的。物的實施例包括用於系統特定的資料的非可變組分,使得可在必要時提供指向資料結構的指示符。藉由實例的方式,POSIX標準將unlink()函數界定為「int unlink(const char *path)」,其被實施為作用於由列表request:path所識別的物上的名稱為「unlink」的動詞行動。在此實施例中,此等函數被實施為動詞物(亦即thing:verb)且配置在動詞命名空間(然而可反而使用例如為posix的合適命名空間)及適當設定以供解析參照的上下文中。
可配置特定於應用域的演算程序。常用的動詞行動(舉例而言,例如http:get)可經配置為使用HTTP協定的GET方法來擷取由URI所指定的資源。
可使用處理器間通訊或標準檔案描述符來將可執行程序配置為動詞行動。例如,/bin/date(1)命令在Unix及Linux社群中是熟知的且可被配置,然而可能需要將輸出剖析成合適的格式以供實施方式進行剖析。例如,列表bin:date可具有一可執行行動,此可執行行動要在單獨的位址空間中exec(2) /bin/date可執行程序且回向管路傳送輸出作為回應的值。URR bin:date//response:as=”data:date”被解譯為執行bin:date動詞行動且將回應(讀取自命令的標準輸出)配置為由列表data:date所給定的物的值的要求。
在使用良適界定的動詞行動集合的情況下,可將任務序列轉譯成源碼,此源碼可經編譯及執行為可執行程序以消除估算敘述及綁定物的步驟。
thing:machine
描述物機器的實施例的物是thing:machine。參照圖66,P(TM)剖析以物語言來表達的內容,此內容描述P(TM)所需的配置。P(TM)與P(TM(thing))交互作用以建構表示P(TM)的thing:graph,且該thing:graph是thing:machine物。
公鑰基礎建設領域中的技術人員可例如藉由使用X509憑證、數位簽章及使用OpenSSL身分、認證及授權演算行動,來實施認證行動以確保內容的確實性。
參照圖66,描述thing:machine的thing:graph包括指示詞彙的物的集合,此等詞彙包括: a) 開機詞彙; b) 核心詞彙;及 c) 應用運行時間詞彙; 且來自此集合的可選物包括: d) 硬體物;及 e) 作業系統物。
注意,硬體物可包括描述處理器的處理器物及一或更多個元件物。硬體物可包括詞彙物。
描述詞彙的物的集合可包括: a) 統一資源要求,用於要求載入動詞詞彙可執行行動; b) 描述thing:verb的thing:graph的內容; c) 用於詞彙的列表; d) 先決條件物; e) 紀律物; f) 識別作者的物; g) 識別分佈者的物,此分佈者可與擁有者分立; h) 識別擁有者的物,此擁有者可與作者分立; i) 在認證內容時所使用的物; j) 在授權使用內容時所使用的物;及 k) 來自https://www.schema.org/SoftwareApplication的性質(property)。
注意,應用詞彙URR使用stdfile:parse,此stdfile:parse執行讀取及剖析檔案作為要估算的thing:statement的行動。在此實施例中,敘述包括要配置的任務的集合、運行時間任務及要提供的服務的集合。在此實施例中,任務及服務包括行動區塊,且任務是藉由執行任務的行動區塊來執行的。類似地,服務是藉由執行服務的行動區塊來提供的。本領域中的技術人員可配置多個任務及服務。
以下為以物語言表達的內容的實例,其中該內容描述TM(i)。
TM:RaspberryPi3
以下為以物語言表達的內容的實例,其中該內容描述TM(i)。 TM:raspberryPi3=( datasheet=”https://cdn.sparkfun.com/datasheets/Dev/RaspberryPi/2020826.pdf” SOC=”Broadcom BCM2837” CPU=”4x ARM Cortex-A43, 1.2 GHz” RAM=”1GB LPDDR2 (900 MHz)” Ports=”HDMI” )
TM(raspberryPi3)是經配置為執行包括以下行動的P(TM)的計算機器:執行自我配置的thing:machine.boot.vocabulary可執行行動,以配置thing:machine.core.vocabulary以與thing:machine.hardware.component.part交互作用,及配置thing:machine.application.vocabulary;及執行應用運行時間。
TM(AMS.TMD26723)
以下為以物語言表達的內容的實例,其中該內容描述TM(i)。TMD26723為由AMS公司所提供的光學模組1.8v I2C介面中的數位近接偵測器、LED驅動器及IR LED(參照http://www.ams.com)。產品資料表可於http://ams.com/eng/content/download/364923/1210537/207915處取得。 TM:AMS.TMD26273=( description=”Digital proximity detector, LED driver and IR LED in an optical module” manufacturer=”AMS” website=”http://www.ams.com” datasheet=”http://ams.com/eng/content/download/364923/1210537/file/TMD2672_Datasheet_EN_v1.pdf” vocabulary=( definition=”http://www.thinglanguage/ams/tmd26273/” listing=”TM:AMS.tmd26273” urr=”stdlib:///usr/local/iotmachine/tm/libtmd2672.so?entry=’init’” ) )
TM(AMS.TMD26723)是一計算機器,此計算機器經配置為使用如由此資料表所指定地配置的i2c通訊與TM2671交互作用,且提供如以下的表格7中所列的P(TM(AMS.TMD26723))行動。
表格7
注意,在一較佳實施例中,P(TM(i))將演算地與P(TM(thing))交互作用以存取可受P(TM(i))行動作用的物及與此等物交互作用。P(TM(i))與P(TM(thing))交互作用,以針對不在由P(TM(i))行動所容許的值範圍內的任何值將狀態設定為FAILED,及將理由設定為INVALID VALUE。在一較佳實施例中,用於行動的參照名稱經配置在TMD26723命名空間中,然而第二實施例可使用不同的命名空間。
可藉由包括用來使用i2c介面開啟通往TMD26723的通訊通道的行動的實施例來包括額外的行動,因此允許此等行動作用在表示此通道的物上。此舉在一個實施例中使用多個TMD26723感測器時是有用的。
TM(piborg.ultraborg)
Ultraborg是具有超音波模組支援的精密伺服控制的使用i2c通訊的介面板。此板提供了4個HC-SR04超音波距離感測器連接器及最高4個伺服馬達連接器。HC-SR04具有30度的視野視角。
以下為以物語言表達的內容的實例,其中該內容描述TM(i)。 TM:piborg.ultraborg=( description=”Precision servo control with ultrasonic module support, interface board with i2c communication” manufacturer=”piBorg” website=”http://www.piborg.com” datasheet=” https://www.piborg.org/downloads/ultraborg/UltraBorg.PDF” vocabulary=( definition=”http://www.thinglanguage/piborg/UltraBorg/” listing=”TM:piborg.ultraborg” urr=”stdlib:///usr/local/iotmachine/tm/libtmd2672.so?entry=’init’” ) )
TM(piborg.ultraborg)是一計算機器,此計算機器經配置為使用如由資料表所指定地配置的i2c通訊與Ultraborg交互作用,且提供如由表格8所示的P(TM(piborg.ultraborg))行動。
表格8
注意,在一較佳實施例中,P(TM(i))將演算地與P(TM(thing))交互作用以存取可受P(TM(i))行動作用的物及與此等物交互作用。P(TM(i))與P(TM(thing))交互作用,以針對不在由P(TM(i))行動所容許的值範圍內的任何值將狀態設定為FAILED,及將理由設定為INVALID VALUE。
在一較佳實施例中,用於行動的參照名稱經配置在所指定的命名空間中,然而第二實施例可使用不同的列表。
在一個實施例中,HC-SR04超音波感測器安裝在可由伺服馬達運動旋轉的表面上。如此,伺服馬達可旋轉表面(例如以30度的增量)以允許超音波感測器增量地覆蓋較廣的區域。
在第二實施例中,HC-SR04超音波感測器安裝在固定位置上(例如面朝前)以使用固定的30度視野來量測最高4米的距離。
TM(Ublox.neo-6m-gps)
Neo-6M-GPS是ublox 6 GPS模組ROM的使用標準GPIO介面的晶體。
以下為以物語言表達的內容的實例,其中該內容描述TM(i)。 TM:Ublox.neo-6m-gps=( description=”Precision servo control with ultrasonic module support, interface board with i2c communication” manufacturer=”Ublox” website=”http://www.ublox.com” datasheet=” https https://www.u-blox.com/sites/default/files/products/documents/NEO-6_DataSheet_%28GPS.G6-HW-09005%29.pdf?utm_source=en%2Fimages%2Fdownloads%2FProduct_Docs%2FNEO-6_DataSheet_%28GPS.G6-HW-09005%29.pdf” vocabulary=( definition=”http://www.thinglanguage/u-blox/neo-6m-gps/” listing=”TM:u-blox.neo-6m-gps” urr=”stdlib:load///usr/local/iotmachine/tm/libneo6mgps.so?entry=’init’” ) )
TM(Ublox.neo-6m)是一計算機器,此計算機器經配置為使用如由資料表所指定地配置的一般用途i/o與u-blox Neo 6M GPS交互作用,且提供如由表格9所示的P(TM(Ublox.neo-6m))行動。
表格9
注意,在一較佳實施例中,P(TM(i))將演算地與P(TM(thing))交互作用以存取可受P(TM(i))行動作用的物及與此等物交互作用。P(TM(i))與P(TM(thing))交互作用,以針對不在由P(TM(i))行動所容許的值範圍內的任何值將狀態設定為FAILED,及將理由設定為INVALID VALUE。在一較佳實施例中,用於行動的參照名稱經配置在所指定的命名空間中,然而第二實施例可使用不同的列表。
TM(HC-SR501)
HC-SR501熱電體紅外線PIR運動感測器偵測器模組。以下為以物語言表達的內容的實例,其中該內容描述TM(i)。 TM:HC-SR501=( description=”PIR Motion Sensor” vocabulary=( definition=”http://www.thinglanguage/sensor/hc-sr501/” listing=”TM:HC-SR501” urr=”stdlib:load///usr/local/iotmachine/tm/libpir.so?entry=’init’” ) )
注意,在一較佳實施例中,P(TM(i))將演算地與P(TM(thing))交互作用以存取可受P(TM(i))行動作用的物及與此等物交互作用。P(TM(i))與P(TM(thing))交互作用,以針對不在由P(TM(i))行動所容許的值範圍內的任何值將狀態設定為FAILED,及將理由設定為INVALID VALUE。在一較佳實施例中,用於行動的參照名稱經配置在所指定的命名空間中,然而第二實施例可使用不同的列表。
Cirrus Logic
音訊卡
Cirrus Logic音訊卡(由Element14與Cirrus Logic公司協同生產)提供Raspberry Pi®的使用者與PC音效卡類似的用來在此等使用者的攝影機旁邊捕捉音訊以及試驗立體數位捕捉及回放的彈性。
以下為以物語言表達的內容的實例,其中該內容描述TM(i)。 TM:Element14.CLAC=( description=”PIR Motion Sensor” vocabulary=( definition=”http://www.thinglanguage/element14/CLAC/” listing=”TM:Element14.CLAC” urr=”stdlib:load///usr/local/iotmachine/tm/libe14clac.so?entry=’init’” ) )
TM(Element14.CLAC)是一計算機器,此計算機器經配置為:與如由資料表所指定的Cirrus Logic音訊卡介面交互作用;立體傳聲器連接到立體線輸入;兩個外部供電的立體揚聲器連接到立體線輸出;及提供如由表格11所說明的P(TM(Element14.CLAC))行動。
表格11
注意,在一較佳實施例中,P(TM(i))將演算地與P(TM(thing))交互作用以存取可受P(TM(i))行動作用的物及與此等物交互作用。P(TM(i))與P(TM(thing))交互作用,以針對不在由P(TM(i))行動所容許的值範圍內的任何值將狀態設定為FAILED,及將理由設定為INVALID VALUE。在一較佳實施例中,用於行動的參照名稱經配置在所指定的命名空間中,然而第二實施例可使用不同的列表。
Cirrus Logic音訊卡TM(Element14.CLAC)的示例性實施例由以下文件說明:https://www.element14.com/community/servlet/JiveServlet/downloadBody/65689-102-2-291406/Wolfson%20Audio%20Card%20Schematic%20Diagram.pdf
TM(TI.TMP007)
TMP007是晶圓晶片尺度封裝(WCSP)中的積體數位熱電堆溫度感測器,此溫度感測器藉由其紅外線(IR)發射來偵測遠端物體的溫度。參照http://www.ti.com/lit/ds/symlink/tmp007.pdf。
以下為以物語言表達的內容的實例,其中該內容描述TM(i)。 TM:TI.TMP007]=( manufacturer=”Texas Instruments” website=”www.ti.com” listing=”Texas Instruments:” datasheet=” http://www.ti.com/lit/ds/symlink/tmp007.pdf” vocabulary=( definition=”http://www.thinglanguage/ti/tmp007/” listing=”TM:TI.TMP007” urr=”stdlib:load///usr/local/iotmachine/tm/libtitmp007.so?entry=’init’” ) )
P(TM(i))
的實例
如先前所述,物機器包括多個TM(i),其中各個TM(i)是具有程序P(TM(i))的計算機器。不同P(TM(i))的實例包括(但不限於)以下項目。
P(TM(format))行動與P(TM(thing))交互作用以格式化回應命名空間物作為P(TM(output))行動所輸出的輸出內容回應物。注意,P(TM(format))及P(TM(output))的演算步驟可結合為由適當的P(TM(i))(例如P(TM(format.output)))所給定的單一程序。
P(TM(runtime))行動與P(TM(thing))交互作用以執行表示敘述序列的經配置的任務thing:graph,由P(TM(eval))估算各個敘述,其中相對應的可執行thing:graph要由P(TM(perform))所執行。
P(TM(runtime))演算地提供了以下行動: 1. 與P(TM(thing))交互作用以將由列表狀態所給定的物的值設定為值「satisfied」; 2. 在該物的值等於「satisfied」的同時迭代地執行以下序列: a. 與P(TM(parse))交互作用以從輸入設備讀取內容、剖析該內容及與P(TM(request))交互作用以產生相對應的thing:statement圖表; b. 與P(TM(eval))交互作用以在主動物的上下文下估算該圖表以產生可執行的thing:statement圖表;及 c. 與P(TM(perform))交互作用以執行該可執行thing:statement圖表。
可將P(TM(runtime))配置為開機主動物的集合中的主動物。P(TM(bootstrp))行動可初始化通訊通道且設定表示此通訊通道的物。P(TM(parse))行動可與P(TM(thing))交互作用以存取作為通訊通道的該物且與該物交互作用,其中是從此通訊通道讀取內容。
可將P(TM(runtime))配置為引導開機主動物的集合中的主動物。P(TM(bootstrp))行動可初始化通訊通道且設定表示此通訊通道的物,且接著要求執行P(TM(runtime))。P(TM(parse))行動可與P(TM(thing))交互作用以存取作為通訊通道的該物且與該物交互作用,其中是從此通訊通道讀取內容。
對於未知的物而言,P(TM)可與P(TM(bind))交互作用,此P(TM(bind))提供與P(TM(thing))交互作用以將未綁定的物綁定為P(TM)知道的物的分類的成員的行動。
P(TM(classifier))演算地分類被要求估算的敘述的類型作為關注分類,且針對此關注分類增量一計數。在預定的臨界值下,P(TM)將作為主題的此分類添加到P(TM)所應學習到的物的列表。P(TM)可演算地判定適當的時間來學習主題。在使用通訊設備的情況下,P(TM)可要求關於此主題的內容。此舉允許P(TM)判定其想要學習的主題類型及其想要學習的速率。例如,在75%的記憶體容量、65%的處理容量及/或60%的網路容量下運行的物機器可延緩發送關於學習的額外資源直到稍後的時間為止。在許多情況下,物機器一般會遵守關於在裡面執行此物機器的環境的關注區域。然而,藉由將隨機選擇添加到要學習的主題的列表,物機器可將其能力擴充得更為一般化。例如,為販賣產品的自動販賣機的物機器可學習提供汽車租賃所需的行動。儘管此舉可能表面上看起來是可笑的,但想想在忙碌的機場中具有多個汽車租賃機構一應俱全的自動販賣機。此類機器可學習使用網路服務以尋找哪個汽車租賃公司具有適用於消費者的選擇、預訂出租、向消費者收費且以電子郵件發送收據給此等消費者。P(TM(classifier))可提供用來分類thing:statement的行動,且P(TM(eval))使用該分類來識別在選擇主動物以滿足thing:statement時P(TM(eval))可取得的主動物的集合。可整合其他形式的人工智慧(AI)。例如,可使用符號AI、亞符號AI及統計AI演算程序。
P(TM(eval))可產生第一可執行thing:statement及造成此第一可執行thing:statement的執行,且在執行第二可執行thing:statement時使用此執行的回應。在一實施例中,第一可執行thing:statement可執行P(TM(classifier))以分類被估算的thing:statement的類型(例如主題)。回應於此,P(TM(eval))可使用分類來產生第二可執行thing:statement,或設定所產生的可執行thing:statement的可存取主動物的上下文。
參照圖33,P(TM(parse))與輸入設備(未繪示)及P(TM(thing))交互作用以提供產生要求thing:graph的行動;P(TM(eval))與P(TM(thing))交互作用以提供在可存取的可執行行動的上下文下估算要求thing:graph以產生可執行的thing:graph的行動;P(TM(perform))與P(TM(thing))交互作用以提供執行可執行的thing:graph的行動,其中該圖表是要執行P(TM(configure))以改變P(TM)可執行的可執行行動的圖表。在一實施例中,輸入設備是檔案系統設備,而內容是遵守語言文法、描述要配置的至少一個主動物的配置文件。在一較佳實施例中,剖析器行動及格式化行動遵守物語言文法。在此配置下,是從配置文件的集合配置主動物的詞彙。
參照圖34,P(TM(env))與輸入設備(未繪示)及P(TM(thing))交互作用以提供產生要求thing:graph的行動;P(TM(eval))與P(TM(thing))交互作用以提供在可執行行動的上下文下估算要求thing:graph以產生可執行的thing:graph的行動;P(TM(perform))與P(TM(thing))交互作用以提供執行可執行的thing:graph的行動,其中該圖表是要執行P(TM(configure))以改變P(TM)可執行的可執行行動的圖表。
在一較佳實施例中,輸入設備是電磁波形設備。在此配置下,基於來自環境的輸入演算地更改thing:graph(monad)的一部分,且因此,P(TM)適應於在裡面執行此P(TM)的環境的需要。
在一個環境中,P(TM)行動播放詢問使用者「我能如何服務」的音訊訊息,而第二行動記錄使用者的回應。語音轉文字行動將音訊轉換成文字,此文字經剖析為thing:graph。分類器行動演算地分類對話的主題。P(TM)向第二物機器傳遞針對關於主題的任務的要求。回應於接收到資訊,第一P(TM)演算地配置任務且執行任務。
在第二實施例中,物機器包括接收器光學子系統組件且用來訊問使用者提供的光學識別碼(OI),且回應於此而將thing:graph(monad)的一部分配置為包括特定於此使用者的可執行thing:graph。在使用者的肯定行動(例如藉由從光學讀取器移除OI)時,P(TM)遺忘特定於使用者的thing:gram(monad)的此部分。
在第三實施例中,物機器包括用來識別使用者的生物識別設備(例如EyeLock),且執行用來將thing:graph(monad)的一部分配置為包括特定於此使用者的可執行thing:graph的行動。在使用者的肯定行動(例如藉由離開生物識別設備的區域)時,P(TM)遺忘特定於使用者的thing:gram(monad)的此部分。
P(TM(thing))提供在非揮發性記憶體中演算地初始化及組織物及此等物之間的關係的表示作為thing:graph的行動。在支援類別的實施例中,P(TM(thing))包括紀律P(TM(thing:class))程序,例如:P(TM(thing:class.set)),用來將物設定為此類別的成員,此物滿足了此物的實例是意味著什麼的需求;P(TM(thing:class.get)),用來取得對於此類別的物的參照;及P(TM(thing:class.unset)),用來復原所指定的類別的物的實例。修飾語行動允許修飾(例如「之前」或「之後」)P(TM(thing))程序,因此允許「在設定之前,執行此行動」或「在設定之後,執行此行動」。
物的各個實例包括由P(TM(thing))所使用的非可變組分的集合。在較佳實施例中,該集合包括:thing:name、a thing:value及thing:relationship-set。實施例可延伸此集合以併入如經由可與P(TM(thing))交互作用的內容(例如配置檔案中的內容)所指定的額外組分。
參照圖35,在初始化期間,P(TM(thing))分配及初始化名稱等於monad的物作為物機器的thing:graph的根,且分配及初始化具有名稱context的物,及設定關係使得斷言:「存在著名稱等於monad的物,使得存在名稱等於context的物」為真。
參照圖36,上下文限定是在用於解析列表的範圍中的物集合,此列表包括一或更多個自由變數及此等自由變數之間的關係的表達式。藉由實例的方式,http://www.iotnamespace.com/thing及request:statement及statement.thing[1]是列表的實例。
參照圖37,在較佳實施例中,上下文物是thing:stack,P(TM(thing))可經由此thing:stack演算地將物推送到堆疊上或將物彈出堆疊,而因此改變上下文。P(TM(thing))在量化是在用於解析列表的範圍中的物的集合時演算地將堆疊頂部處的物用作目前的上下文。
再次參照圖36,在較佳實施例中,目前的上下文物具有一關係集合,此關係集合包括與稱為命名空間物的一或更多個物的關係。物的名稱是命名空間的名稱。P(TM(thing))演算地將命名空間物用作表示相關(即使是僅藉由被限定在相同的命名空間中而相關)物的附名物圖表的物。URI綱目名稱可為是命名空間的物的名稱。URI綱目特定部分是識別此命名空間中所限定的物的列表。
參照圖38,將具有對於可執行行動的參照的表示的物分類為主動物。主動物是thing:verb且具有相對應的主動物圖表G(P(TM(i)))。以相對應的主動物名稱替換主體節點名稱,且受G.request作用的空白節點被可受P(TM(i))作用的物的圖表替換。各個G(P(TM(i)))包括: a) G.identifier(P(TM(i))物,其名稱是識別P(TM(i))的識別碼,且是有向圖表中的根節點(主體物); b) G.urr(P(TM(i))) URI物,其值指示讓P(TM(i))作用於G.request上的要求;及 c) G.request(P(TM(i)))物圖表,指示可受P(TM(i))作用的物的集合。
參照圖39,在一實施例中,G(P(TM(i)))可包括額外的物資訊,例如包括來自執行P(TM(i))的回應的物的描述。
實施例可包括用於給定G(P(TM(i)))的多個G.request圖表以指示可受P(TM(i))作用的物的各種排列。此類實施例可更包括指示構成相對應的回應圖表的物的多個G.response圖表。
圖40是G(P(TM(thing.set)))圖表,相對應於用於在非暫時性記憶體中設定物的P(TM(Thing.set))程序。request:uri物的值是要設定的物的列表,且其值將被設定為request:value物的值(若指定的話)。若指定了request:using物,則其值是表示在設定由request:uri物的值所識別的物時要使用的物的列表。
圖41是G(P(TM(thing.get)))圖表,相對應於用於取得非暫時性記憶體中由列表request:uri所給定的物的表示的P(TM(Thing.get)程序。修飾語的名稱、值或關係集合或關係可用來指示所要求的關於物的特定資訊。將資訊儲存為由列表所給定的物的值,此列表由request:as物的值所指示。
圖42是G(P(TM(thing.unset)))圖表,相對應於用於復原來自非暫時性記憶體的物的表示的P(TM(Thing.unset)程序。要復原的物是由request:uri物的值所給定的。
本領域中的技術人員可以替代的演算程序替換P(TM(thing))以支配物及此等物的關係,以進一步允許例如為並行、持久、快取、同步化、鎖定(例如讀/寫鎖定)、所有權、許可(例如由擁有者、群組或所有人進行讀/寫/執行)的特徵。
P(TM(eval))
如由圖45所述,P(TM(eval))演算地與P(TM(thing))交互作用以提供以下行動: a) 選出要估算的thing:statement; b) 從可存取的主動物的集合選出G(P(TM(i)))作為可執行主動物; c) 初始化新的上下文物作為可執行的上下文物; d) 在可執行的上下文物的上下文下執行可執行的G(P(TM(i)))的G.urr; e) 將可執行的上下文物重設為目前的上下文物;及 f) 復原新的上下文物。
在一實施例中,步驟a及步驟b由選出滿足以下斷言的主動物的步驟組成:(存在列表等於request:statement的thing:statement,使得存在名稱等於.name的物)及(存在列表等於verb:vocabulary的物,使得存在名稱等於.name的thing:verb且物是主動物)。
在一較佳實施例中,步驟b可包括在斷言在其他情況下不被滿足時選出預設主動物的步驟。
對於具有實例的主動物而言,P(TM(eval))可包括以下步驟:選出主動物的實例,其中thing:statement是實例的G.Request圖表的子圖表。
在一實施例中,P(TM(eval))可與P(TM(bind))交互作用以包括以下步驟:使用可執行主動物的相對應的G.request圖表來綁定由thing:statement物所限定的物作為可執行的上下文物中可受主動物行動作用的物。
在一實施例中,P(TM(eval))演算地將敘述的類型分類為命令式敘述;宣告式敘述;訊問式敘述;或驚嘆式敘述,且執行主動物以估算該敘述類別。此舉允許:P(TM(eval.declarative))程序演算地估算宣告式敘述;P(TM(eval.imperative))程序演算地估算命令式敘述;P(TM(eval.interrogative))程序演算地估算訊問式敘述;及P(TM(eval.exclamatory))程序演算地估算驚嘆式敘述。
P(TM(eval))的行動可演算地選出用於可執行thing:statement的預設主動物,且可演算地估算thing:statement以判定更適當的主動物來使用。預定行動可與P(TM(thing))交互作用以增量與thing:statement的分類相關聯的計數器物,以表示物機器被要求執行thing:statement的此分類的次數,預設行動是針對此thing:statement執行的。在使用可執行的通訊行動的情況下,P(TM(i))可與第二機器通訊以獲取關於該分類的內容。P(TM(parse))行動可剖析作為thing:statement以估算及執行。如此,物機器可適應於在裡面執行此物機器的環境的需要。(此處的目標是你要求此機器作某事。)此機器選出預設的行動,接著估算你所要求的任何事以看看是否存在著更佳的行動來進行。若否,則此機器執行預設行動。預設行動分類主題,且針對此機器被要求進行關於此主題的某事的次數而增量一計數器。如此,在計數器碰到一臨界值時,此機器可要求某人教導此機器此主題或買書來閱讀關於此主題。
實施例可在上下文之間合併圖表,使得若指定response.as物,則P(TM(eval))可在復原新的上下文物之前綁定新的上下文中的response:namespace物的子圖表作為目前上下文中的response.as物的子圖表。
在一實施例中,P(TM(eval))可包括以下步驟:在執行G.urr的步驟之前將新的上下文推送到上下文堆疊上作為目前的上下文。在第二實施例中,平行處理的電腦領域中的技術人員會使用表示處理控制模塊物的執行緒特定的資料(thread specific data)的圖表的物,且該資料包括對於目前上下文的參照以供由P(TM(thing))解析列表。
參照圖43,G.request指示行動可作用於為thing:statement的request:statement上。因此,request:statement物的子圖表會需要滿足成為是thing:statement的物的類別的成員的需求。
參照圖44,G.request子圖表指示行動可作用於為thing:listing的request:using物上。若真的存在一要求命名空間物,使得不存在名稱等於statement的(thing:sttina)物,且存在名稱等於using的物,則此圖表適用。此G.request子圖表提供了用於選出估算主動物的替代方法。
明確考慮了人工智慧的演算用法。P(TM(classifier))提供用來分類thing:statement的行動,且P(TM(eval))使用該類別來識別在選擇主動物以滿足thing:statement時P(TM(eval))可取得的主動物的集合。可整合其他形式的人工智慧。例如,可使用符號AI、亞符號AI及統計AI演算程序。
Google搜尋引擎推出了主要用於學術及研究活動的TensorFlow(開放原碼機器學習程式庫)。機器學習的電腦科學領域中的技術人員可使用TensorFlow API來研發用於深度學習的P(TM(classifier))。TensorFlow API可經更改為與P(TM(thing))直接交互作用,此P(TM(thing))作為表示要配置的Tensorflow程序的主動物的集合。可經由主動物的集合來提供訓練資料。
P(TM(eval))提供以下行動:a)與P(TM(thing))交互作用以產生要求執行P(TM(classifier))以分類目前的要求thing:statement的要求分類器thing:statement;b)與P(TM(bind))交互作用以綁定分類器thing:statement作為可執行的thing:statement;c)與P(TM(perform))交互作用以執行可執行的thing:statement;及d)與P(TM(thing))交互作用以與其結果交互作用。
其結果識別與目前的要求thing:statement相關的分類(類別)。對於P(TM)所知道的物類別,P(TM(eval))與P(TM(thing))交互作用以將上下文設定為包括關於類別的詞彙且在此上下文下估算目前的要求thing:statement。
P(TM(eval))增量表示主題的計數器,以指示此主題施用於目前的要求thing:statement的次數,此舉允許分類器依據最常用的主題分類thing:statement。在P(TM)並不具有用於給定主題的詞彙時,P(TM(eval))可產生表示預設行動的thing:statement來估算。
第一P(TM)可與第二P(TM)通訊(例如經由WiFi通訊進行)以要求關於P(TM)常常被要求估算及執行的thing:statement的類別的內容。該內容可表示例如為主動物的物及可受主動物的行動作用的物(例如任務)。
實施例可以一估算行動替換P(TM(eval))以演算地執行適用於此實施例的估算,例如以下的一個實施例:支援給定語言的實施例;實施特定機器學習演算法的實施例;實施多個機器學習演算法的實施例;提供效能改良或與第二機器交互作用以估算thing:statement的實施例;與第三機器交互作用以執行thing:statement的實施例。本領域中的技術人員會了解多個演算變體在本發明的範圍內是可能的。
修飾語可用作thing:statement中的物以修飾預設的P(TM(eval))程序性行動。或者,P(TM(eval))可與P(TM(classifier))交互作用以演算地分類被估算的物的類型,且該物類型可用作修飾語以選出及執行主動物。藉由實例的方式,估算表示命令式敘述的敘述(例如「執行名稱為cleanup的任務」)是與估算表示宣告式敘述的敘述(例如「宣告名稱為cleanup的任務,此任務包括:步驟1:沖洗compoint I/O;及步驟2:關閉compoint I/O」)相異的。
藉由將可受行動作用的物的類型併入到P(TM(i))的thing:graph中及併入行動可用來回應的物的類型,可針對常見的動詞名稱(例如開啟)選出適當的行動。藉由實例的方式,以下中的各者具有非常不同的行動,然而各者使用了常見的動詞名稱:開啟我的電子郵件;開門;及開啟銀行帳戶。部分地取決於什麼被開啟而選出正確的行動。藉由包括可受行動作用的物的類型的描述,P(TM(eval))可作出關於其應產生的可執行thing:graph的適當選擇。
P(TM(parse))
P(TM(parse))提供了剖析表示要求的輸入且演算地與P(TM(request))交互作用以將物設定為表示經剖析的輸入的行動。在較佳實施例中,P(TM(parse))是XML 1.1剖析器。
參照圖46,由列表request:stream所識別的物的值是要剖析的串流。將由request:as物的值(其預設為request:statement)所識別的物設定為表示經剖析的輸入要求的thing:statement。
參照圖47,將示例性XML片段剖析為示例性圖表。注意,元素屬性是透過「使得存在一實例」關係(thing:sttiai)來指示的,而元素是透過「使得存在」關係(thing:sttia)來指示的。
參照圖48,由request:input列表所給定的物的值是要剖析的輸入。TM(eval)可基於要求圖表選出適當的G.request(P(TM(parse)))圖表,且促進適當的綁定。
注意,在Parse-1及Parse-3之間存在著細微但重要的區別,具體而言,在1中,行動將從串流進行讀取。或者,在3中,行動使用request:input列表的值(其中值是要剖析的內容)。
此舉是需要的,因為在某些情況下,你會從檔案獲取內容,而在其他情況下,行動產生內容且儲存此內容作為物的值。
P(TM(request))
P(TM(request))提供了以下行動:使用由給定為request:using物的值的列表所識別的物來演算地與P(TM(Thing))交互作用以將由給定為request:as物的值的列表所識別的物設定為thing:statement物圖表。
第一P(TM(i))可用來迭代地建構thing:statement物,且接著演算地與P(TM(request))交互作用以設定request:statement物。圖49繪示G(P(TM(request)))圖表。request:as物的預設值是request:statement。
P(TM(bind))
P(TM(bind))試圖將物綁定為給定物類別的成員而演算地施用綁定規則的集合。
藉由實例的方式,可將值匹配模式「[0-9]{1,}」的物綁定為thing:integer(具有整數值的物),而可將值匹配模式「[0-9A-Fa-f]」的物綁定為thing:hexadecimal(具有十六進位值的物)。除了基本的物類別(例如thing:thing、thing:text、thing:integer、thing:float及thing:string)以外,可使用推斷規則或基架來表達額外的類型。
參照圖50,G.request子圖表指示可受P(TM(bind))作用的物。由request:using所給定的物的值是識別綁定規則的集合的列表。由request:bind.listing所給定的物的值是識別要綁定的thing:graph的列表。由request:response.as所給定的物的值是識別thing:graph的列表,在此thing:graph中,回應是要被設定的。在request:response.as為空時,則更新被綁定的物的圖表。
P(TM(bind))可使用狀態資訊(例如未綁定或經綁定)來指示物是否已經綁定。此舉允許P(TM(bind))檢查狀態且僅在未綁定的物上執行綁定規則。P(TM(bind))可更包括「已發現」及「未發現」狀態以指示是否物已綁定且已發現或已綁定且未發現。在一較佳實施例中,P(TM(unbind))與P(TM(thing))交互作用以將物重設為未綁定、未發現的狀態。
在第一實施例中,電腦科學邏輯領域中的技術人員使用推斷規則來將物綁定為一物類別的成員。規則包括斷言及類別識別碼。P(TM(bind))與P(TM(thing))交互作用以演算地施用規則作為關於要綁定的物的斷言,且若滿足,則P(TM(bind))與P(TM(thing))交互作用以將物分類為該類別識別碼的成員。
在第二實施例中,電腦科學標記語言領域中的技術人員可使用thing:schema標記語言來描述物類別。工業標準標記基架可從http://schema.org/docs/schemas.html取得。該基架為一類型集合,各個類型與一屬性集合相關聯。參照http://schema.org/docs/documents.html的Schema.org基架資訊,此資訊以引用方式併入。
參照圖51,thing:graph被解譯為描述將物綁定為ImageObject類別的成員的成員資格需求的斷言。此解譯是表達以下內容的斷言:存在名稱等於schema的物,使得存在名稱等於ImageObject的物且物是thing:schema,使得(存在名稱等於Caption且thing:value是thing:text的物),且(存在名稱等於exifData且thing:Value是thing:text的物),且(存在名稱等於representativeOfPage且thing:value是thing:Boolean的物),且(存在名稱等於thumbnail且thing:thing是schema:ImageObject的物)。
參照圖52,呈現了由列表local:object所給定的未綁定thing:graph。
參照圖53,thing:graph繪示將local:object thing:graph綁定為schema:ImageObject物的要求(如由http://www.schema.org/ImageObject所述)。P(TM(bind))與P(TM(Thing))交互作用以判定local:object thing:graph的組分是否滿足成為schema:ImageObject的需求。local:object物狀態從未綁定轉變為已綁定。若滿足,則將節點「bound.found」添加到local:object thing:graph,且將節點的值設定為schema:ImageObject。
電腦科學邏輯領域中的技術人員可使用推斷規則來演算地作出關於物的推斷。推斷規則由作用於表示前提的thing:graph上且產生表示結論的thing:graph的程序組成。參照圖54,斷言描述將物分類為BroadcastService是什麼意思。斷言經剖析且表示為用於所指定的分類的推斷規則。P(TM(bind))提供以下行動:演算地估算所指定的thing:graph是否滿足推斷規則,且若滿足,則將thing:graph分類為所指定的分類的成員。再次參照圖54,電腦科學基架領域中的技術人員可產生用於一基架集合(例如由http://www.schema.org所公佈的可在http://schema.org/docs/full.html處取得的集合)的推斷規則。
注意,http://www.schema.org/PerformAction是關於參與執行技術的動作而不是關於執行可執行行動的機器。進一步注意,schema.org行動關於允許網站描述此等網站所允許的行動及客戶端可如何調用此等行動的詞彙。參照http://blog.schema.org/2014/04/announcing-schemaorg-actions.html,其以引用方式併入。
P(TM(perform))
P(TM(perform))藉由定位thing:statement中對於P(TM(i))的參照及使得P(TM(i))行動執行,來演算地執行可執行的thing:statement。來自行動的回應是以下任一者:滿足、未滿足或失敗。P(TM(perform))行動設定狀態物的值以指示此回應。
參照圖55,G.request子圖表指示P(TM(perform))行動作用於request:statement上。
P(TM(task))
P(TM(task))演算地與P(TM(thing))交互作用以將thing:graph支配為包括一子圖表集合的thing:task,此子圖表集合包括thing:statement的thing:list。
在一實施例中,P(TM(task))的行動可包括: a) P(TM(task.set)),用來與P(TM(thing))交互作用以設定thing:task; b) P(TM(task.get)),用來與P(TM(thing))交互作用以取得對於thing:task的參照; c) P(TM(task.unset)),用來與P(TM(thing))交互作用以復原thing:task;及 d) P(TM(task.perform)),用來與P(TM(thing))、P(TM(eval))及P(TM(perform))交互作用以估算及執行thing:task的thing:statement。
參照圖56,P(TM(task.set))與P(TM(thing))交互作用以演算地作用在由列表request:statement.task所識別的物上,此物的值是要設定為thing:task的物的列表。將request:statement.task的行動子圖表設定為thing:task物的子圖表。實施例可包括作為request:statement.task.G.request的G.request子圖表,且該子圖表表示要受任務作用的物。
P(TM(task.get))與P(TM(thing))交互作用以演算地取得thing:task的表示,且主要由需要存取此圖表的其他P(TM(i))(例如P(TM(task.perform)))所使用。
P(TM(task.unset))與P(TM(thing))交互作用以從thing:thing(monad)圖表演算地復原(移除)所指定的任務。
參照圖57,P(TM(task.perform))與P(TM(thing))、P(TM(eval))及P(TM(perform))交互作用以演算地估算及執行由thing:task的行動子圖表所給定的thing:statement子圖表的序列,此thing:task是由request:statement.task的值所識別的。
在一實施例中,thing:task圖表可包括thing:statement子圖表,此thing:statement子圖表可經估算及執行作為估算及執行thing:task行動子圖表的先決條件。此舉允許主動物集合的執行獲取表示行動子圖表的內容,以將該內容剖析為行動子圖表的thing:statement的要估算及執行的序列。其他行動可包括用來驗證、授權或拒絕thing:task的執行的識別、認證及授權。類似地,先決條件行動可用來確保在估算thing:task之前滿足先決條件,例如配置主動物。
在一實施例中,取決於狀態物的值,thing:task可包括表示用來估算及執行的thing:statement的on.status子圖表。在估算及執行各個thing:statement之後,實施例可與P(TM(thing))行動交互作用以演算地測試狀態以看看值是否滿足、未滿足或失敗且執行相對應的on.status.satisfied、on.status.unsatisfied或on.status.failed thing:statement子圖表。
取決於狀態物的值,實施例可包括表示用來估算及執行的thing:statement的on.status子圖表。在估算及執行各個thing:statement之後,實施例可與P(TM(thing))行動交互作用以演算地測試狀態以看看值是否滿足、未滿足或失敗且執行相對應的on.status.satisfied、on.status.unsatisfied或on.status.failed thing:statement子圖表。
P(TM(format))
P(TM(format))提供了以下行動:與P(TM(thing))交互作用以遍歷thing:graph及產生該thing:graph的經格式化的表示。藉由實例的方式,thing:graph的表示可依照實施例的需要經格式化為XML文件、HTML文件、物文件或其他此類格式。
參照圖58,request:statement.listing識別一物,此物的值是表示P(TM(format))要格式化的thing:graph的列表。request:statement.as識別一物,此物的值表示一thing:graph,此thing:graph表示造成的格式回應。request:statement.using識別一物,此物的值表示所需的格式。
使用的預設P(TM(format))是Thing-XML。被遍歷的thing:graph的節點經格式化為根元素。為實例的子圖表經格式化為屬性,而非實例的子圖表經格式化為內部元素。
在一實施例中,P(TM(format))可與P(TM(thing))交互作用以遍歷thing:graph以產生文字串流及P(TM(text-to-speech))以執行文字串流轉音響串流的合成行為,此音響串流包含經合成的口語文字表示。P(TM(play-audio))向音效子系統傳遞音響串流以產生音響播放。
P(TM(http:get))
P(TM(http:get))提供了以下行動:演算地與P(TM(thing))交互作用以產生URI;傳遞針對由URI所識別的資源的HTTP GET方法要求;接收HTTP回應;及產生表示HTTP回應的thing:graph,此HTTP回應包括response.headers thing:subgraph及response.entity thing:subgraph。
電腦科學網路服務領域中的技術人員可使用一HTTP方法主動物集合來在詞彙中提供HTTP方法,例如:connect、delete、get、head、options、post、put及trace。可相對於http:命名空間而配置方法集合。類似地,本領域中的技術人員可提供與HTTPS協定相關的方法集合,且可將該集合配置為https:命名空間的主動物。
參照圖59,URI物限定域物、路徑物及限定標頭物的要求物。P(TM(http:get))與P(TM(thing))交互作用以演算地與URI物交互作用以產生HTTP Get方法要求(繪示於圖60中)且向域網路服務傳遞該要求。回應於此,P(TM(http:get))接收回應(參照圖61)。
參照圖61,P(TM(http:get))執行以下行動:從HTTP Get方法要求接收回應;剖析此回應且與P(TM(thing))交互作用以設定表示此回應的thing:graph,例如圖62中所示的thing:graph。
可將request.header物配置為具有一要求標頭欄組分的集合,各個組分被表達為由request.header所限定的物。類似地,回應於接收及剖析回應標頭,可將response.header物配置為具有一回應標頭欄組分的集合,各個組分被表達為一物。
在一實施例中,P(TM(http:get))執行與P(TM(thing))交互作用以取得表示在此回應中可接受的媒體類型的物的集合的行動,且據此將接受要求(Accept request)標頭欄添加到要求標頭thing:subgraph。在第二實施例中,P(TM(http:get))執行與P(TM(thing))交互作用以取得在此回應中可接受的編碼的集合的行動,且據此將接受編碼(Accept-Encoding)標頭欄添加到要求標頭。
P(TM(parse.html))
P(TM(parse.html))與P(TM(thing))交互作用以演算地提供將表示HTML內容的thing:graph的行動剖析成thing:graph的集合。
參照圖63,P(TM(parse.html))作用於request:content物上,此物的值是一列表,此列表表示值是要剖析的HTML內容的物。將限定在與HTML內容相同的域內的嵌在HTML中的錨點鏈結分類為內部鏈結,且添加到由request:links.internal物的值所識別的物的thing:graph。類似地,將外部鏈結添加到由request:links.external物的值所識別的物的thing:graph。將未加標籤的文字儲存到由request:text物的值所識別的物的值。將HTML標籤添加到由request:architecture物的值所識別的物的thing:graph。將微資料添加到由request:microdata物的值所識別的thing:graph。
參照圖64,繪示了HTML內容中的示例性微資料。P(TM(parse.html))提供以下行動:與P(TM(thing))交互作用以剖析該內容,及將微資料表示為thing:graph,如圖65中所示。
如所示,第一基架可包括第二基架,例如組織(Organization)可包括位址,如由http://www.schema.org所述。
TM(openssl)
P(TM(openssl))的部分被涵蓋在包括在此揭示案中的OpenSSL授權協議下。TM(openssl)是一計算機器,此計算機器經配置為具有OpenSSL開放原碼軟體及程序P(TM(Openssl))。OpenSSL熟知於現有技術中且廣泛地與網路服務一同用來提供TLS及SSL協定行動(一般用途的加密程式庫)及支援用於公鑰基礎建設的程式。詳見http://www.openssl.org。
在學習P(TM(openssl)) thing:verb時,P(TM)可執行通常由憑證機構所提供的行動集合。例如,電腦科學公鑰基礎建設的領域中的技術人員可使用P(TM(openssl))動詞行動來:加密內容;解密內容;產生散列碼;產生憑證簽署要求;簽署憑證;產生自我簽署憑證;驗證憑證要求(certificate request);驗證憑證;廢止憑證;演算地檢驗憑證的組分;產生數位簽章;驗證數位簽章;提供一般是與憑證機構相關聯的服務集合;授權用於一定用途的憑證使用;及允許使用SSL/TLS協定。
對於與P(TM)一同使用,OpenSSL源碼經更改為使得原始的C源碼函數可與P(TM(thing))交互作用以將物參照為參數。電腦科學領域中的技術人員可更改類似的現存源碼程式庫及使用配置行動來配置額外的P(TM(i))。
一般而言,將OpenSSL命令配置為P(TM)可執行的行動,其中將命令名稱配置為thing:verb,而將可受命令作用的參數配置為可受thing:verb行動作用的物。
P(TM(i))中的若干部分可作用在表示資料的內容上,此內容可經進一步分類為:憑證簽署要求;憑證;密碼;私密金鑰;公開金鑰;配置資訊;要廢止的憑證;延伸物;隨機資料;或可受行動作用的某些其他類型的物。在某些情況下,內容由P(TM(i))剖析且被表示為物圖表中的物,而在其他情況下,內容被用作由列表所給定的物的值。在許多情況下,可將可受行動作用的物指定為Thing.urr,此Thing.urr被解譯為針對此物的統一資源要求。類似地,P(TM(i))可演算地產生表示資料的內容,此內容可例如如上所述地經進一步分類。
在某些情況下,內容可由P(TM(i))剖析且被表示為thing:graph中的物,而在其他情況下,內容可被用作由列表所給定的物的值。行動可與系統設備驅動器交互作用以獲取內容或將內容儲存在第二儲存設備中、向第二P(TM)傳遞內容或向感測器或設備傳遞內容。
一般而言,對於可具有值的物而言,可將物指定為由P(TM(evaluate))估算以產生可執行thing:graph的thing:statement中的thing:name.urr=URR(其中URR是統一資源要求)。為了明確起見,此舉將稱為步驟1。
在遍歷thing:statement thing:graph時,P(TM(evaluate))將看見thing:name.urr且估算URR以產生可執行的thing:graph。執行可執行的thing:graph以產生回應thing:graph。步驟1中的P(TM(evaluate))將在估算及綁定thing:statement物時使用回應thing:graph。
在以下頁面中提供了P(TM(openssl))行動的特定實例以將充分的解釋提供給讀者以接著提供依循相同格式的openssl命令的其餘部分。
P(TM(openssl.ca))
P(TM(openssl.ca))提供了最小限度的憑證機構的行動。
P(TM(openssl.x509))
P(TM(openssl.x509))提供了以下行動:提供憑證資訊、將憑證轉換成各種形式、簽署憑證要求(與迷你憑證機構類似)或編輯憑證信任設定。
P(TM(openssl.genrsa))
P(TM(openssl.req))
P(TM(OI))
TM(OI)是具有程序P(TM(OI))的計算機器,此程序經配置為與光學讀取器設備驅動器交互作用以提供包括以下的行動: a. 設定讀取角度(P(TM(OI:set.angle))); b. 設定位置(P(TM(OI:set.position))); c. 光學訊問(optically interrogate)光學識別碼(P(TM(OI:interrogate))); d. 產生相對應的數位資料點陣圖(P(TM(OI:generate)));及 e. 與P(TM(thing))交互作用以產生表示代碼頁的thing:graph。
類似地,可將‘545 IOT-模組的演算行動實施為要被配置為用於P(TM)內的P(TM(i))的集合。因此,可將'545的教示實施為表示行動的物及可受行動作用的物的集合。
示例性
P(TM)
示例性的P(TM)包括如下的起動(startup)、主要(main)及關機(shutdown)的步驟。 1. P(TM(startup)); 2. P(TM(main));及 3. P(TM(shutdown))。
在一實施例中,將P(TM)儲存在物機器的非暫時性輔助儲存設備中。在第二實施例中,將P(TM)如於2016年1月29日所提出且標題為「Optical Identifier System and Methods」的第62/288,545號的美國專利申請案中所述地編碼在光學識別碼的代碼頁中,此美國專利申請案的整體內容以引用方式併入本文中。具有光學子組件的物機器可光學訊問光學識別碼以在可執行記憶體中呈現程式化指令(programmatic instruction)的表示。
TM的第一程序(例如開機引導程序)使得處理器執行用來將P(TM)載入到可執行處理器記憶體中(例如從代碼頁、輔助非暫時性儲存器載入,或如使用電磁波形設備來接收地載入)的行動,且使得處理器執行P(TM)。
P(TM(startup))提供以下行動: 1. 執行P(TM(thing))以在非暫時性記憶體中初始化P(TM) thing:subject(monad)作為表示在一定時刻的P(TM)的狀態的thing:graph的根。 2. 執行P(TM(boot)),其提供了用於與P(TM(thing))交互作用以自我配置表示開機計算程序的開機主動物的集合的行動,此等開機計算程序包括P(TM(eval)、P(TM(perform))及P(TM(configure));及 3. 執行P(TM(bootstrap)),其提供了用於以下步驟的行動:與P(TM(eval))交互作用以在開機主動物的上下文下估算thing:statement以產生可執行的thing:statement,及與P(TM(perform))交互作用以造成執行相對應於該可執行thing:statement的主動物的計算程序以引導開始在經配置的主動物的上下文下執行主要應用。
在一較佳實施例中,P(TM(boot))執行用來自我配置表示開機計算程序的開機主動物的行動,此等開機計算程序包括以下步驟: 1. P(TM(eval)),提供用於以下步驟的行動:與P(TM(thing))交互作用以在由P(TM(thing))所支配的非暫時性記憶體中在經配置主動物集合的上下文下估算thing:statement圖表,以建構包括表示該集合中的主動物的至少一個物的可執行thing:statement圖表; 2. P(TM(perform)),提供用於以下步驟的行動:與P(TM(thing))交互作用以藉由造成執行主動物的相對應G.urr可執行行動來執行可執行的thing:statement圖表; 3. P(TM(request)),提供用於以下步驟的行動:與P(TM(thing))交互作用以設定表示要估算的thing:statement的thing:graph; 4. P(TM(parse)),提供用於以下步驟的行動:剖析輸入及與P(TM(request))交互作用以設定該要求thing:statement;及 5. P(TM(configure)),提供用於與P(TM(thing))交互作用以改變經配置主動物的集合的行動。
P(TM(bootstrap))演算地執行以下行動: 1. 與P(TM(parse))交互作用以剖析內容及與P(TM(request))交互作用以產生相對應的thing:statement圖表; 2. 與P(TM(eval))交互作用以在主動物的上下文下估算該圖表以產生可執行的thing:statement圖表;及 3. 與P(TM(perform))交互作用以執行該可執行thing:statement圖表。
在一實施例中,至少一個要求表示用來配置相對應於P(TM(i))的主動物的要求。
在一實施例中,至少一個主動物表示提供以下行動的程序:與P(TM(thing))交互作用以參照thing:graph(monad)的子圖表作為表示thing:statement的序列的thing:graph;與P(TM(eval))交互作用以估算該thing:statement;及與P(TM(perform))交互作用以執行相對應的可執行thing:statement。在一較佳實施例中,該主動物名稱的名稱等於action,而該主動物的G.urr的值是stdlib://usr/local/lib/libaction.so?entry=action。P(TM(configure))使用Linux作業系統的dlopen函數呼叫來動態載入程式庫libaction.so,且使用Linux作業系統的dlsym函數呼叫來將對於表值的值的參照(在此實例中,值是action)解析為記憶體中的可執行指令。
P(TM(action))作用於表示要估算的thing:statement的列表的thing:graph上,且該thing:graph是thing:action。對於thing:action的各個thing:statement,P(TM(action))與P(TM(eval))交互作用以估算thing:statement,且與P(TM(perform))交互作用以執行相對應的可執行thing:statement。
在該實施例中,至少一個要求是用來配置thing:action。回應於執行相對應的可執行thing:statement,P(TM(eval))與P(TM(perform))交互作用以執行用來配置thing:action的計算程序。可將thing:action配置在thing:thing圖表的上下文下,例如thing:task、thing:conditional或thing:while的上下文下。
P(TM(main))與P(TM(eval))交互作用以估算thing:graph。在第一較佳實施例中,要估算的thing:graph是使用列表main:main來識別的。在第二較佳實施例中,要估算的thing:thing:thing是使用列表task:main來識別的。在估算圖表時,P(TM(eval))定位thing:thing圖表的thing:action子圖表,且P(TM(perform))與P(TM(action))交互作用以估算及執行thing:action的敘述。
P(TM(shutdown))與P(TM(eval))交互作用以估算thing:thing圖表。在一較佳實施例中,要估算的thing:task是使用列表task:shutdown來識別的。
第二示例性P(TM)可包括P(TM(i)),此P(TM(i))提供關於電子付款及處理的行動,例如用來進行付款的行動;接收付款的行動;及調整電子錢包平衡的行動。此類實施例可使用一般是與數位錢包(例如比特幣錢包)的使用一同提供的API來實施。此舉允許thing:statement表示用來接收付款或進行付款的要求。藉由實例的方式,https://block.io/api/v2/get_balance/?api_key=BITCOIN、DOGECOIN或LITECOIN API KEY是用來如他們網站上的Block.IO所述地取得BitCoin、DogeCoin或LiteCoin帳戶的平衡的API呼叫:https://www.block.io/docs/basic。或者,吾人可使用Go Coin API(關於電子錢包的描述及可用的API,請參照http://www.gocoin.com)。因此,物機器可進行付款、接受付款、檢視交易歷史、檢查平衡及在其他情況下以數位貨幣、優惠券或點數(例如與由美國運通(American Express)或其他信用卡供應商所提供的獎勵點類似的獎勵點)的形式工作。明確了解的是,付款或接收付款是本揭示案的一個整體組分,且此類API是經由主動物來實施的。
作業系統領域中的一般技術人員可設計及研發物作業系統P(TM(os))。本發明可由電腦科學作業系統設計的現有技術領域中的技術人員所使用,且可將TM(os)實施為具有程序P(TM(os))的計算機器,此程序P(TM(os))提供以下行動:演算地與P(TM(thing))交互作用以支配要表示作業系統的根的thing:subject(os)物。將作業系統的組分支配為thing:subject(os)的子圖表。
P(TM(os))可包括P(TM(1,n))的集合,此P(TM(1,n))的集合提供關於作業系統的行動的程序集合,例如:過程管理、I/O管理、記憶體管理、同步化、記憶體管理、錯誤處置、開機、保護及用來運行下層硬體元件的核心。P(TM(scheduler))可如本領域中的技術人員會了解地被整合以允許工件排程。程式相依性圖表、系統相依性圖表及用來進一步強化物作業系統的能力的其他此類圖表的演算使用是經明確考慮的。
可實施各種類型的作業系統,例如單使用者或多使用者;單任務或多任務;分佈式、嵌入式、即時或虛擬作業系統。示例性組分包括用於過程管理、記憶體管理、檔案系統管理、輸入/輸出管理、輔助儲存器管理、聯網、保護系統及命令解譯器系統的程序。
物可表示具有子圖表的過程控制模塊,此等子圖表表示過程的資訊,例如過程id、狀態、優先性、程式計數器、cpu暫存器、i/o資訊、會計資訊或由作業系統實施例所需要的其他資訊。物可表示執行緒控制模塊。
設備驅動器、運行佇列、就緒佇列、等待佇列、檔案系統、檔案、儲存設備、記憶體、中斷訊號、事件、使用者、群組及其他此類作業系統組分可全被表示為物。
鼓勵讀者從Nick Blundell的「Writing a Simple Operating System from Scratch」、H. M. Deitel的「Operating Systems 2nd
Edition」開始且參加多個關於作業系統設計的課程以了解超出此案範圍的作業系統設計。
由本系統及方法提供人工智慧的演算使用。P(TM(classifier))提供用來分類thing:statement的行動,且P(TM(eval))使用該分類來識別在選擇主動物以滿足thing:statement時P(TM(eval))可取得的主動物的集合。可整合其他形式的人工智慧。例如,可使用符號AI、亞符號AI及統計AI演算程序。
NeurBot
及機器學習
本系統及方法可例如由NeurBot等等所使用。
我們成長在有許多機械設備(例如鎖、手錶、販賣機等等)的環境下,此等設備實質上執行通常是回應使用者供能的機械事件的行動。在一簡化的實例中,我們將鑰匙放到鎖中,且轉動鑰匙以將鎖上鎖或解鎖。我們將25美分放到膠球機中,轉動旋鈕,且此機器發放膠球。
想要建立設備,此等設備實質上首先估算:對此設備要求了什麼。若機器可在執行行動之前估算此類要求,則很可能達成。若物機器可將要求表示為物,且通訊、協定、剖析器及格式器全為物,則第一物機器可從第二物機器演算地學習某些物。此等物機器在本文中稱為「NeurBot」。
學習被界定為經由經驗、研究或藉由被教導而獲取知識或技能。物機器將知識建模為表示行動及可受行動作用的物的物。物機器的事前知識包括在機器的初始化期間被表示為物的事實、資訊、動詞(意指主動物)及技能(意指任務及服務)。若我們將機器建立得像是具有受限的事前知識的小孩,則我們可讓機器基於其經驗學習新事物(事後知識)嗎?依據本系統及方法,答案為是。
針對示例性的用途,讓我們從自動販賣機開始。存在用於自動販賣機的許多可能的配置,各個配置具有一或更多個特徵,例如:提供數量折扣、誘因、預訂預先付款、回饋點、多產品折扣等等。此自動販賣機的實例由美國專利6575363所提供,其整體內容以引用方式併入本文中,其提供了對於此類自動販賣機設計的描述及參考。
在許多情況下,自動販賣機擁有者仍然依賴送貨員收集錢及作出關於補給的決策。為了走向物一點,可將自動販賣機設計為物機器。將運動感測器、揚聲器、傳聲器、GPS定位器、LCD顯示器及WiFi網際網路連接添加到物機器。在另一實例中,可添加紅外線熱偵測器。
配置關於庫存管理的主動物的集合,使得機器可在其庫存量低或缺貨時通知網路服務。擁有者/承包商將接著排定遞送日期以讓司機從機器收集錢及將額外的產品放到自動販賣機中以供銷售。實質上,機器是為擁有者工作的,且擁有者維護金錢、庫存及一般而言維護此機器。
依據本發明,將物機器改變為NeurBot且允許機器機器為自己工作而不是為擁有者工作。亦即,NeurBot需要學習且適應其環境。為了如此進行,需要NeurBot具有身分且具有對於金錢的某種級別的控制。
在此示例性實施例中,NeurBot使用光學識別碼作為SIM卡的等效物以具有識別碼。NeurBot經設計為僅接受電子付款及關於交易的添加的主動物,包括用來接受付款、進行付款及用於付款處理的電子錢包。依據本發明的一個實施例,NeurBot可僅花費其電子錢包帳戶中所擁有的,然而可使用其他的財務資源方法學。
NeurBot使用其帳戶中的金錢以針對額外的庫存付購買的錢。在使用簡單網路服務的情況下,提供了讓NeurBot從以選取的產品列表。此列表可例如包括:產品名稱;UPC碼;製造商;成分列表;單價;預期的最佳有效日期;最低訂購量;尺寸;重量;可用數量;及過敏聲明。NeurBot選出項目,且在使用其識別碼的情況下,我們可判定NeurBot的地理位置及判定運輸費。
NeurBot進行購買且電子地付貨品的錢。送貨司機出現而將產品安裝到機器中。藉由開啟API,其他供應商可廣告他們自己的要經由自動販賣機販售的產品。供應商可允許搜尋引擎(例如Google)索引化他們的網站,而NeurBot可搜尋Google關於新的供應商。NeurBot將能夠搜尋供應商及擴大可供經由自動販賣機購買的物的類型。
然而,為了讓NeurBot延伸到原始的產品提供網路服務之外,會需要供應商知道NeurBot定位在哪裡以判定運輸及將產品安裝到NeurBot中的行為。可將NeurBot配置為具有GPS設備,使得NeurBot可傳達其位置。
亦可將NeurBot配置為具有溫度計以量測超過24小時時段的溫差。在使用其地理位置來將此溫度與可透過網路取得的氣象服務(例如wunderground.com)進行比較的情況下,NeurBot可判定其是否是在建築物裡面或建築物外面;及是否其是否處於日光直射下。或者,具有光感測器的NeurBot可試圖推斷一天的各種時間的光變化以判定其是否是在建築物的裡面或外面。NeurBot可在判定適當的產品選擇時使用此資訊或來自不同輸入/輸出設備的其他資訊。例如,若處於日光直射下,NeurBot可選擇選出洋芋片而不選出巧克力產品,因為前者更傾向於在較高溫下損壞。
定位在建築物外面的NeurBot可能注意到肇因於惡劣天氣的銷售量的顯著降低。藉由使用其地理位置,NeurBot可與基於網路的氣象服務交互作用以預知壞天氣且據此調整其採購單以確保販售最新鮮的可能產品。
假設,遞送服務可外包,使得反而是Uber司機遞送服務的等效服務供應及安裝產品。或者,Amazon無人機可遞送預先配置的容器中的包裹,此容器可被投到自動販賣機中且機械地安插以供容易配給。以任一方式,讓我們假設我們解決了額外庫存的遞送及安裝的考量且聚焦在關於此環境的其他任務上。
在NeurBot演算地計算貨品的成本以及遞送及安裝的成本時,其可演算地提高產品的價格(mark up the product)使得NeurBot可在每次銷售中賺取利潤。一般而言,機器的擁有者會決定差額,但在此情況下,我們讓NeurBot作出此決策。NeurBot保持在一整天中的預定區間期間的運動感測器熄滅(go off)的次數的計數。藉由比較每週的每一天的區間計數,其可演算地判定每天的潛在消費者的交通計數。其亦可尋找其每天最忙碌的時間及其每天最不忙碌的時間。
在其每天最不忙碌的期間,NeurBot可購買線上書本以學習庫存追蹤、投標詢價、價格比較、遞送服務及甚至學習如何分析銷售趨勢。為了這樣做,NeurBot跟我們目前管理為網路服務的線上書本商店開啟帳戶。線上書本提供了內容。如同我們已經學習的,在內容是以NeurBot剖析器可剖析為thing:statement的文法撰寫時,則NeurBot可估算敘述。
在使用事後知識的情況下,NeurBot會能夠針對額外的庫存招標、線上查詢具有最佳價格、運輸因素及搬運成本的供應商或甚至雇用遞送服務來依需要補充庫存。其可使用此資訊來判定其貨品成本且基於所需的差額來設定零售價。
NeurBot可收集關於銷售的資料及分析銷售趨勢以調整售價,以判定重新訂購級別及履行訂單所需的時間。其甚至可判定產品何時將要過期且作出市場決策,例如在購買第二產品的情況下折扣第一產品,或僅折扣單一產品以將其移出庫存。其可查看賣不好的產品,且在促銷活動中提供彼等產品(最低限度地提高價格、折扣、購買某些其他東西就送...等等)。其可基於需要量設定價格。例如,在中午時間有著更多的消費者,所以增加價格5%直到下午1點為止。
在NeurBot準備好發出採購單時,其可查看其庫存且判定,基於目前的銷售趨勢及遞送時間,其應重新訂購產品A,即使產品A的庫存數仍高於其重新訂購點。此與運輸及安裝成本有關。在基於現有的銷售趨勢預期產品A在2天內達到其重新訂購點時現在僅重新訂購產品B且遞送時間是3天,會是沒有意義的。在此情況下,NeurBot可作出此判定且同時訂購產品A及產品B兩者。
在分析趨勢時,NeurBot可查看銷售歷史以判定是否產品A的銷售最常包括了產品B的銷售,且看看產品A的銷售是否在產品B缺貨時下降。在此類情況下,其可確保產品B的正確訂購級別以鼓勵消費者購買產品A及產品B兩者。若產品C的銷售時常包括產品B的銷售,則機器可在一半的A及一半的C已被賣掉時重新訂購產品B。
NeurBot可與使用者互動。其可詢問消費者他們下次是否會偏好不同類型的產品。在使用分類器的情況下,其可分類產品的類型及計算給定類型的產品被要求的次數。如此,在下了新的訂單時,NeurBot可搜尋相關的產品,且在這樣做時,其開始適應(意指NeurBot正在提供更佳的服務)於其環境中。
沒有什麼阻止NeurBot學習團體(association)(為了共同的目的而組織的物機器群組)。NeurBot可閱讀描述團體及提供相同物所需的任務的書本,例如: 1) 如何產生團體; 2) 如何廣告其可用性; 3) 如何將其推銷給其他的NeurBot; 4) 會員資格需求; 5) 如何識別、認證及授權會員參與; 6) 如何申請會員資格;及 7) 如何使用其會員數的大小來協商交易。
二或更多個NeurBot可起始一團體且開始共享資訊,例如在每年的各種時間期間賣最好的產品。它們可共享額外的資料,例如及時提供產品的供應商、產品選擇最多的供應商、有數量折扣的供應商等等。團體收集資料且關聯之。有了一段時間的充足的資料,團體使用標準樣板來開啟網站服務,且向訂戶提供此資訊。其他NeurBot可訂閱以獲取用於它們自己的購買決策的資料。團體可電子地向訂戶收取會員費,且管理其自己的應收帳款。團體可代替會員徵求產品投標以傳遞批量訂單中接著分發到各種會員的任何節省款項。目前,可以受控環境執行此舉,但我們可輕易移除控制機構且允許NeurBot它們自己這樣做。
在使用運動感測器的情況下,NeurBot可判定在給定區域內是否存在移動且自動播放關於自動販賣機中的產品中的一者的商業廣告。藉由計數運動感測器的觸發,其可估算附近的客流量,且從其他機構徵求廣告投標以顯示它們的廣告來收費。
NeurBot可總是詢問使用者還有什麼事是NeurBot能做的。使用者可回應,且若NeurBot可滿足要求,則很好。否則,NeurBot可使用分類器來嘗試及判定關於要求的主題。藉由保持其被詢問租借車輛的次數的計數,例如,其可查詢其可閱讀的電子書來學習如何使用企業租車(Enterprise Car Rental)網路服務來租車。
NeurBot可學習如何管理其本身的詞彙以基於硬體限制確保適當的處理。在NeurBot的儲存空間不足時,其可詢問第二NeurBot關於增加第二儲存空間的資訊,而第二NeurBot可教它開啟Amazon雲端儲存服務帳戶所需的任務。
讓我們假設在你購買之前有免費試用,則一開始不會需要付款。若雲端帳戶服務接受電子付款,則只要有足夠的利潤付款,NeurBot可保持帳戶開啟。
類似地,若NeurBot需要更多處理能力,則沒有其不能開啟物機器帳戶來添加額外的處理能力的理由。假設第二NeurBot有一個很好的工作且保持其客戶開心,但並不需要其擁有所有處理能力。其可學習如何銷售其過量的容量且使其可用於第二NeurBot(可能要收費)。
其他的關注區域包括了隨機性。NeurBot可隨機學習原本不相關的主題。若存在著可執行工作及賺錢的充足數量的機器,則此等機器可擴充它們的能力。事實上,此等機器可學習如何在不同的使用領域中實質上開闢新的業務。物機器可學習存在著稱為自動割草機(包括John Deere Tango E5或Husqvarna Automower)的物。
NeurBot了解遞送服務從點A向點B遞送某物。結果是,其可遞送自動割草機。機器可購買自動割草機,開啟網站以供訂戶註冊及付割草的錢,且使用遞送服務來向及自正確的位置輸送割草機。可將無人機及其他手段用於輸送。
最後,考慮廚房烤麵包機的角色。其烤麵包、貝果、鬆餅、糕點及其他此類項目。烤麵包機是非常直截了當的類型的機器,且你會覺得沒有多大的空間來創新為NeurBot。然而,考慮正在烤他們的麵包的人通常是在附近。烤麵包機可與主NeurBot通訊以獲取內容且僅透過音訊或在烤麵包機的螢幕上轉播此內容。烤麵包機可告訴他們關於天氣、新聞、事件、訊息、電子郵件、新產品發售及其他此類資訊。
相同的原理適用於任何機器,其中此機器可預知使用者是在附近的。若你正在使用Keuring咖啡機,你很可能相當靠近它,但若你正在沖泡一整壺咖啡,你可能在正在沖泡你的咖啡的同時離開房間以帶狗出去。NeurBot可使用電磁波形以彼此同步化它們的通訊,且使用演算法來判定使用者的接近量。如此,設備可使用人不能聽見的聲波來通訊。此舉會允許機器基於演算地產生的使用者接近量來調整它們的音量。
儘管此等實例看起來是不切實際的,但此等實例及更多實例是物機器架構所允許的。可閱讀書本;彼此學習物;重新程式化它們自己以在它們的環境中變得更有用的機器為由本發明所提供的物。可經程式化為學習財務的機器可學習差額的值且賺取利潤。其可使用金錢來購買書本且學習甚至更多事物,或為了額外的儲存空間及/或處理能力開啟雲端帳戶。
本領域中的技術人員將理解的是,可在不脫離本發明的範圍或精神的情況下對於本發明的結構作出各種更改及變化。綜上所述,所要的是,若是本發明的更改及變化落在以下的申請專利範圍及它們等效物的範圍內,則本發明涵蓋此等更改及變化。
100‧‧‧物機器102‧‧‧記憶體104‧‧‧處理器106‧‧‧非暫時性輔助儲存設備108‧‧‧本端介面110‧‧‧輸入及輸出(I/O)設備120‧‧‧軟體122‧‧‧剖析器/作業系統(O/S)124‧‧‧估算器126‧‧‧執行器128‧‧‧格式化器202‧‧‧方塊204‧‧‧方塊252‧‧‧方塊254‧‧‧方塊256‧‧‧方塊
附隨的圖式被包括來提供本發明的進一步了解,且被併入此說明書及構成此說明書的一部分。此等繪圖中的元件不一定是按照比例的,反而重點是放在清楚繪示本發明的原理上。此等繪圖繪示本發明的實施例且與說明書一起用來解釋本發明的原理。
圖1是一示意圖,繪示一個人如何可反應於命令式的命令的原始流程圖。
圖2是依據本發明的一個實施例的示意圖,繪示物機器的一部分。
圖3為一示意圖,繪示物機器的開機過程。
圖4是一圖表,此圖表是為了展示如由物機器所執行的依據開機過程產生圖表的行為的目的而提供的。
圖5為一圖表,繪示物B相對於物A單獨存在的關係(relationship)。
圖6為一圖表,繪示thing:sttia關係。
圖7為一圖表,繪示使用thing:is-a關係來將具有與可執行行動的關係的THING分類為thing:verb。
圖8為支援分類(classification)的圖表,其中將命名空間(Namespace)物分類為thing:namespace,而thing:namespace是thing:class。
圖9為一圖表,繪示支援分類,其中將THING分類為thing:context。
圖10為一示意圖,繪示示例性地將http URI連結到物。
圖11為一圖表,繪示thing:graph,其中空白節點表示滿足宣稱,且此宣稱可具有對於thing:object的參照。
圖12為一圖表,繪示thing:assertion斷言(assert)thing:subject具有為數字的值,且因此不需要thing:object。
圖13是一圖表,繪示thing:assertion宣稱thing:subject的值小於thing:object的值的時候。
圖14為具有連接符的圖表的實例。
圖15為一流程圖,舉例說明由物機器所執行的最小限度的運行時間步驟。
圖16為thing:graph,使得P(TM(i))是P(TM(parse))行動,而解析XML文件產生thing:graph使得以下斷言為真:存在著名稱(name)等於core:print的物,使得存在著名稱等於「message」而值(value)等於「Hello, World」的物。
圖17是一圖表,使得P(TM(config))作用於由要求(request)命名空間物所限定的物上,此物是G.id(繪示為空白節點),使得存在G.request及存在G.urr。
圖18是一圖表,繪示作用於由URI request:statement所識別的物上的my:configure版本的P(TM(config))。
圖19是一有向圖表,繪示名稱為x的物是名稱為y的物的前導子(predecessor),y是名稱為x的物的後繼子,且述詞是使得存在一關係的物,此指示為thing:sttia。
圖20是一有向圖表,繪示名稱為x的物是名稱為z的物的前導子,且述詞是「使得存在一實例」,此指示為thing:sttiai。
圖21為英語解譯的有向圖表。
圖22為一有向圖表,繪示名稱為x的物是thing:table。
圖23是一有向圖表,圖示多個物具有與單一物的關係。
圖24是一有向圖表,繪示名稱為「x」的物是名稱為「c」的物的類別(class)的成員。
圖25是一有向圖表,繪示一關係,此關係指示名稱為「x」的物的名稱是名稱為「b」的物的類別的成員。
圖26是一有向圖表,繪示一關係,此關係指示名稱為「x」的物的值是名稱為「c」的物的類別的成員。
圖27是一有向圖表,繪示上下文包括要求、回應及本端命名空間。
圖28是一動詞圖表,圖示將分類預設為request:class=”thing:thing”。
圖29是相對應於預設為request:class=”thing:alarm”的分類的動詞圖表。
圖30是一圖表,繪示G.request(P(TM(i)))指示P(TM(i))可作用於要求命名空間中所限定的物上。
圖31是一圖表,繪示G.request(P(TM(i)))指示P(TM(i))可作用於名稱為由名稱為statement的物所限定的Contact的物上,此名稱為statement的物經限定在要求命名空間中。
圖32是一圖表,繪示示例性G(P(TM(i)))是包括G.request(P(TM(i)))子圖表及G.urr(P(TM(i)))子圖表的有根有向的thing:graph,此G.urr(P(TM(i)))子圖表指示P(TM(perform))將如何要求P(TM(i))執行其行動。
圖33是一示意圖,將物機器繪示為通用圖靈機。
圖34是一示意圖,將物機器繪示為自適應類神經自動機(Neural Bot)。
圖35是一圖表,繪示在初始化期間,P(TM(thing))分配及初始化具有等於monad的名稱的物作為物機器的thing:graph的根。
圖36是一圖表,繪示上下文限定是在用於解析列表的範圍中的物集合,此列表包括一或更多個自由變數及此等自由變數之間的關係的表達式。
圖37是一圖表,繪示上下文物是thing:stack,P(TM(thing))可經由此thing:stack演算地將物推送到堆疊上或將物彈出(pop off)堆疊,而因此改變上下文。
圖38為一圖表,繪示將具有對於可執行行動的參照的表示的物分類為主動物。
圖39為一圖表,繪示G(P(TM(i)))可包括額外的物資訊,例如包括來自執行P(TM(i))的回應的物的描述。
圖40是一G(P(TM(thing.set)))圖表,相對應於用於在非暫時性記憶體中設定物的P(TM(Thing.set))程序。
圖41是一G(P(TM(thing.get)))圖表,相對應於用於取得非暫時性記憶體中由列表request:uri所給定的物的表示的P(TM(Thing.get)程序。
圖42是一G(P(TM(thing.unset)))圖表,相對應於用於復原來自非暫時性記憶體的物的表示的P(TM(Thing.unset)程序。
圖43是一圖表,繪示G.request指示行動可作用於為thing:statement的request:statement上。
圖44為一G.request子圖表,指示行動可作用於為thing:listing的request:using物上。
圖45為一圖表,繪示P(TM(eval))演算地與P(TM(thing))交互作用。
圖46為一圖表,繪示由列表request:stream所識別的物的值是要剖析的串流(stream)。
圖47為一示例性圖表,繪示示例性XML片段的剖析。
圖48是一圖表,繪示由request:input列表所給定的物的值是要剖析的輸入。
圖49繪示G(P(TM(request)))圖表。
圖50是一G.request子圖表,繪示可受P(TM(bind))作用的物。
圖51是一thing:graph,此thing:graph被解譯為描述將物綁定為ImageObject類別的成員的成員資格需求的斷言。
圖52是由列表local:object所給定的未綁定thing:graph。
圖53是一thing:graph,繪示將local:object thing:graph綁定為schema:ImageObject物的要求。
圖54為一斷言,描述將物分類為BroadcastService是什麼意思。
圖55是一G.request子圖表,指示P(TM(perform))行動作用在request:statement上。
圖56是一圖表,繪示與P(TM(thing))交互作用以演算地作用在由列表request:statement.task所識別的物上的P(TM(task.set)),此物的值是要設定為thing:task的物的列表。
圖57是一圖表,繪示與P(TM(thing))、P(TM(eval))及P(TM(perform))交互作用的P(TM(task.perform))。
圖58是一圖表,繪示識別物的request:statement.listing,此物的值是表示P(TM(format))要格式化的thing:graph的列表。
圖59是一圖表,繪示URI物限定域物(domain Thing)、路徑物及限定標頭物的要求物。
圖60為所產生的HTTP取得方法(Get Method)要求的說明。
圖61為由P(TM(http:get))所接收的回應的說明。
圖62是藉由剖析回應及與P(TM(thing))交互作用造成的thing:graph集合。
圖63是一圖表,繪示作用於request:content物上的P(TM(parse.html)),此物的值是一列表,此列表表示值是要剖析的HTML內容的物。
圖64是示例性HTML內容中的微資料的說明。
圖65是一thing:graph,表示來自P(TM(parse.html))的微資料,此P(TM(parse.html))提供與P(TM(thing))交互作用以剖析內容的行動。
圖66繪示剖析以物語言來表達的內容的P(TM),此內容描述P(TM)所需的配置。
國內寄存資訊 (請依寄存機構、日期、號碼順序註記) 無
國外寄存資訊 (請依寄存國家、機構、日期、號碼順序註記) 無
100‧‧‧物機器
102‧‧‧記憶體
104‧‧‧處理器
106‧‧‧非暫時性輔助儲存設備
108‧‧‧本端介面
110‧‧‧輸入及輸出(I/O)設備
120‧‧‧軟體
122‧‧‧剖析器/作業系統(O/S)
124‧‧‧估算器
126‧‧‧執行器
128‧‧‧格式化器
Claims (27)
- 一種物機器,包括:一處理器、非暫時性記憶體及非暫時性電腦可讀取媒體;及可執行機器碼P(TM),包括具有一或更多個可執行機器碼P(TM(i))行動的一第一可執行機器碼行動集合,其中各個可執行機器碼P(TM(i))行動經配置為一模型的一演算程序的一實施方式,其中一第一P(TM(i))提供在該物機器的該非暫時性電腦可讀取媒體中自我配置附名物的一第一詞彙的一第一行動,該第一詞彙表示該處理器可執行為行動的該等附名物及可受一行動作用的附名物集合,及其中該物機器自我組合一物的序列,該物的序列表示一敘述(statement)的序列,每個物為該第一詞彙中的附名物,及其中該物機器執行一第一附名行動以作用於該敘述來估算並執行敘述,及其中至少一個附名行動經執行為在該物機器的該非暫時性電腦可讀取媒體中使用該第一詞彙配置附名物的一第二詞彙,該第二詞彙表示一核心詞彙,可經由該核心詞彙描述應用,及 其中該物機器執行至少一個附名行動以取得表示描述一應用的一敘述的序列的一物的序列,及其中該物機器執行一第二附名行動以作用於該敘述來執行該應用。
- 如請求項1所述的物機器,更包括:一第二可執行機器碼P(TM(i))行動集合,各個可執行機器碼P(TM(i))行動實施為機器碼;要求內容,依據一語言文法及語法來表達,該一或更多個P(TM(i))可與該語言文法及語法交互作用以將一第一要求物設定為表示該要求內容;經配置為剖析要求內容且設定表示該要求內容的一第二要求物的一P(TM(i));用來在目前詞彙的上下文下估算一第三要求物以設定一可執行物的一P(TM(i));用來執行該可執行物的一P(TM(i));及表示執行該模型所需的運行時間的至少一個P(TM(i))。
- 如請求項2所述的物機器,其中該P(TM)中的該一或更多個P(TM(i))是使用單一個該物機器中的多個計算組分來實施的。
- 如請求項3所述的物機器,其中該P(TM)中的該一或更多個P(TM(i))是使用直接通訊的多個該物機器來實施的。
- 如請求項3所述的物機器,其中該P(TM)中的該一或更多個P(TM(i))是使用間接通訊的多個該物機器來實施的。
- 如請求項3所述的物機器,其中該第一P(TM(i))使用i2c通訊來與一第二P(TM(i))通訊。
- 如請求項3所述的物機器,其中該應用關於電子付款及處理。
- 如請求項3所述的物機器,其中該應用關於由以下項目所組成的群組中的一或更多者的使用:一數位錢包、一數位錢幣、一數位符記、一數位回饋點、進行一付款及接收一付款。
- 如請求項3所述的物機器,其中該一或更多個可執行機器碼P(TM(i))行動關於由以下項目所組成的群組中的一或更多者:一電氣行動、一機械行動、一電磁波形設備的使用、一生物行動、一化學行動、一壓力波的產生、一壓力波的接收、電磁輻射的產生及電磁輻射的接收。
- 如請求項3所述的物機器,其中該一或更多個可執行機器碼P(TM(i))行動關於: 一第二行動,用來與一基於重組酶的狀態機(RSM)交互作用,該基於重組酶的狀態機使用輸入驅動的重組酶來操控由重組酶辨識區的重疊的及正交的對偶構成的DNA暫存器。
- 如請求項10所述的物機器,其中可訊問編碼在RSM中的狀態資訊。
- 如請求項10所述的物機器,其中可將編碼在RSM中的狀態資訊定序。
- 如請求項3所述的物機器,其中該一或更多個P(TM(i))行動關於一人工智慧演算法的使用。
- 如請求項13所述的物機器,其中該人工智慧演算法是選自由以下項目所組成的群組:一符號AI演算法、一亞符號AI演算法及一統計AI演算法。
- 如請求項3所述的物機器,其中該一或更多個P(TM(i))行動與環境交互作用,且回應於此,該P(TM)配置可適用於該環境的一可執行行動詞彙。
- 如請求項3所述的物機器,更包括一光學子系統組件,其中該一或更多個P(TM(i))提供了以下行動:訊問一使用者提供的光學識別碼,且回應於此,配置一使用者特定的詞彙。
- 如請求項16所述的物機器,更包括回應於一使用者肯定行動而執行遺忘該使用者特定詞彙的部分的行動的一P(TM(i))行動。
- 如請求項3所述的物機器,更包括一電磁設備及提供以下行動的一P(TM(i)):與該電磁設備交互作用以識別一使用者及配置一使用者特定的詞彙。
- 如請求項18所述的物機器,其中該電磁設備是一生物識別設備。
- 如請求項18所述的物機器,更包括提供以下行動的一P(TM(i)):回應於一使用者肯定行動,遺忘該使用者特定詞彙。
- 如請求項3所述的物機器,其中該物機器經配置為藉由執行一經驗獲得行動來獲得經驗。
- 如請求項3所述的物機器,其中該物機器經配置為學習關於一主題的一動詞詞彙。
- 如請求項22所述的物機器,其中該動詞詞彙表示該物機器可執行為行動的複數個可執行的行動及可受該等可執行的行動作用的該等物。
- 如請求項23所述的物機器,其中該複數個可執行的行動的一第一個可執行的行動選出該主題。
- 如請求項24所述的物機器,其中該複數個可執行的行動的一第二個可執行的行動選出開始學習的一時間。
- 如請求項24所述的物機器,其中該複數個可執行的行動的一第三個可執行的行動估算用來選出一適當時間來開始學習的準則。
- 如請求項3所述的物機器,其中該物機器經配置為藉由執行關於由以下項目所組成的群組中的至少一者的一行動來獲得知識:閱讀、聆聽、分類、推斷及學習。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662396332P | 2016-09-19 | 2016-09-19 | |
US62/396,332 | 2016-09-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201814505A TW201814505A (zh) | 2018-04-16 |
TWI791463B true TWI791463B (zh) | 2023-02-11 |
Family
ID=61619834
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106132126A TWI791463B (zh) | 2016-09-19 | 2017-09-19 | 物機器 |
Country Status (8)
Country | Link |
---|---|
US (4) | US11270223B2 (zh) |
EP (2) | EP3516484A4 (zh) |
JP (2) | JP7563881B2 (zh) |
CN (1) | CN110088772B (zh) |
AU (1) | AU2017326638B2 (zh) |
CA (1) | CA3076333A1 (zh) |
TW (1) | TWI791463B (zh) |
WO (1) | WO2018053492A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8874477B2 (en) | 2005-10-04 | 2014-10-28 | Steven Mark Hoffberg | Multifactorial optimization system and method |
US11249986B2 (en) * | 2019-12-17 | 2022-02-15 | Paypal, Inc. | Managing stale connections in a distributed system |
US20220283826A1 (en) * | 2021-03-08 | 2022-09-08 | Lexie Systems, Inc. | Artificial intelligence (ai) system and method for automatically generating browser actions using graph neural networks |
CN113104036B (zh) * | 2021-04-01 | 2022-03-22 | 武汉理工大学 | 一种基于无向网络系统的车辆协同编队控制方法 |
KR102470483B1 (ko) * | 2021-10-26 | 2022-11-25 | 쿠팡 주식회사 | 배달원 미션 정보를 제공하는 방법 및 그 전자 장치 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050273218A1 (en) * | 1995-06-07 | 2005-12-08 | Automotive Technologies International, Inc. | System for obtaining vehicular information |
US20080033897A1 (en) * | 2006-08-02 | 2008-02-07 | Lloyd Kenneth A | Object Oriented System and Method of Graphically Displaying and Analyzing Complex Systems |
TW200834357A (en) * | 2006-12-01 | 2008-08-16 | Microsoft Corp | Adaptive help system and user interface |
US20080201476A1 (en) * | 2004-02-11 | 2008-08-21 | Shankar Ramaswamy | Persistence Of Inter-Application Communication Patterns And Behavior Under User Control |
US20130080307A1 (en) * | 2005-10-04 | 2013-03-28 | Steven M. Hoffberg | Multifactorial optimization system and method |
TW201517017A (zh) * | 2013-10-18 | 2015-05-01 | Via Tech Inc | 語言模型的建立方法、語音辨識方法及電子裝置 |
US20160140267A1 (en) * | 2014-11-17 | 2016-05-19 | Asml Netherlands B.V. | Process based metrology target design |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6363437B1 (en) | 1999-01-07 | 2002-03-26 | Telefonaktiebolaget Lm Ericsson (Publ) | Plug and play I2C slave |
US6575363B1 (en) | 1999-12-29 | 2003-06-10 | David Leason | Vending machine |
US7797282B1 (en) * | 2005-09-29 | 2010-09-14 | Hewlett-Packard Development Company, L.P. | System and method for modifying a training set |
WO2007147166A2 (en) | 2006-06-16 | 2007-12-21 | Quantum Leap Research, Inc. | Consilence of data-mining |
JP4839424B2 (ja) | 2008-12-15 | 2011-12-21 | インターナショナル・ビジネス・マシーンズ・コーポレーション | プログラムの解析を支援するための方法、並びにそのコンピュータ・プログラム及びコンピュータ・システム |
CN101887368A (zh) * | 2010-06-29 | 2010-11-17 | 上海本略信息科技有限公司 | 需求云语言 |
CN103377252B (zh) * | 2012-04-28 | 2018-03-27 | 国际商业机器公司 | 在物联网中进行数据过滤的方法和装置 |
WO2014130568A1 (en) | 2013-02-19 | 2014-08-28 | Interdigital Patent Holdings, Inc. | Information modeling for the future internet of things |
US9594555B2 (en) * | 2014-04-07 | 2017-03-14 | Quikkly Ltd. | Computer readable storage media for invoking direct actions and processes and systems utilizing same |
US20160019294A1 (en) * | 2014-07-18 | 2016-01-21 | Convida Wireless, Llc | M2M Ontology Management And Semantics Interoperability |
US9461976B1 (en) | 2015-03-25 | 2016-10-04 | Mcafee, Inc. | Goal-driven provisioning in IoT systems |
KR102314272B1 (ko) | 2015-04-30 | 2021-10-20 | 삼성전자주식회사 | 서비스 공유 장치 및 방법 |
AU2015401016B2 (en) * | 2015-07-02 | 2021-02-04 | Halliburton Energy Services, Inc. | Cognitive computing meeting facilitator |
US9443192B1 (en) * | 2015-08-30 | 2016-09-13 | Jasmin Cosic | Universal artificial intelligence engine for autonomous computing devices and software applications |
US9967330B2 (en) * | 2015-12-01 | 2018-05-08 | Dell Products L.P. | Virtual resource bank for localized and self determined allocation of resources |
US10607150B2 (en) * | 2016-02-23 | 2020-03-31 | Splunk Inc. | Machine-learning data analysis tool |
US10204341B2 (en) * | 2016-05-24 | 2019-02-12 | Mastercard International Incorporated | Method and system for an efficient consensus mechanism for permissioned blockchains using bloom filters and audit guarantees |
-
2017
- 2017-09-19 TW TW106132126A patent/TWI791463B/zh active
- 2017-09-19 JP JP2019537021A patent/JP7563881B2/ja active Active
- 2017-09-19 AU AU2017326638A patent/AU2017326638B2/en active Active
- 2017-09-19 EP EP17851776.9A patent/EP3516484A4/en not_active Ceased
- 2017-09-19 US US15/708,842 patent/US11270223B2/en active Active
- 2017-09-19 CN CN201780071044.5A patent/CN110088772B/zh active Active
- 2017-09-19 WO PCT/US2017/052232 patent/WO2018053492A1/en unknown
- 2017-09-19 CA CA3076333A patent/CA3076333A1/en active Pending
- 2017-09-19 EP EP22157132.6A patent/EP4099186A1/en active Pending
-
2022
- 2022-01-28 US US17/587,658 patent/US11704596B2/en active Active
- 2022-10-11 JP JP2022163094A patent/JP7603646B2/ja active Active
-
2023
- 2023-05-26 US US18/324,349 patent/US20230297892A1/en not_active Abandoned
-
2024
- 2024-09-12 US US18/882,917 patent/US20250005458A1/en active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050273218A1 (en) * | 1995-06-07 | 2005-12-08 | Automotive Technologies International, Inc. | System for obtaining vehicular information |
US20080201476A1 (en) * | 2004-02-11 | 2008-08-21 | Shankar Ramaswamy | Persistence Of Inter-Application Communication Patterns And Behavior Under User Control |
US20130080307A1 (en) * | 2005-10-04 | 2013-03-28 | Steven M. Hoffberg | Multifactorial optimization system and method |
US20080033897A1 (en) * | 2006-08-02 | 2008-02-07 | Lloyd Kenneth A | Object Oriented System and Method of Graphically Displaying and Analyzing Complex Systems |
TW200834357A (en) * | 2006-12-01 | 2008-08-16 | Microsoft Corp | Adaptive help system and user interface |
TW201517017A (zh) * | 2013-10-18 | 2015-05-01 | Via Tech Inc | 語言模型的建立方法、語音辨識方法及電子裝置 |
US20160140267A1 (en) * | 2014-11-17 | 2016-05-19 | Asml Netherlands B.V. | Process based metrology target design |
Non-Patent Citations (1)
Title |
---|
網路文獻 Nathaniel Roquet等4人 "Synthetic recombinase-based state machines in living cells" 2016/7/22 https://science.sciencemag.org/content/sci/353/6297/aad8559.full.pdf * |
Also Published As
Publication number | Publication date |
---|---|
US20230297892A1 (en) | 2023-09-21 |
US20220156644A1 (en) | 2022-05-19 |
EP3516484A4 (en) | 2020-03-25 |
EP3516484A1 (en) | 2019-07-31 |
TW201814505A (zh) | 2018-04-16 |
JP7603646B2 (ja) | 2024-12-20 |
CA3076333A1 (en) | 2018-03-22 |
JP2022191361A (ja) | 2022-12-27 |
WO2018053492A1 (en) | 2018-03-22 |
AU2017326638A1 (en) | 2019-05-16 |
US11704596B2 (en) | 2023-07-18 |
EP4099186A1 (en) | 2022-12-07 |
US20180082216A1 (en) | 2018-03-22 |
JP7563881B2 (ja) | 2024-10-08 |
CN110088772A (zh) | 2019-08-02 |
JP2019537808A (ja) | 2019-12-26 |
US11270223B2 (en) | 2022-03-08 |
US20250005458A1 (en) | 2025-01-02 |
AU2017326638B2 (en) | 2022-09-15 |
CN110088772B (zh) | 2024-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI797099B (zh) | 物機器系統及方法 | |
AU2022287596B2 (en) | Methods and systems for secure and reliable identity-based computing | |
JP7603646B2 (ja) | シングマシン | |
US11468406B2 (en) | Method of converting language-based written contract to smart legal contract using natural language processing | |
EP3759656A1 (en) | System and method for a thing machine to perform models | |
Santos et al. | Blockchain-based loyalty management system | |
TWI871165B (zh) | 一種用於在模型中執行所要動詞動作的基於電腦之方法 | |
US12001575B2 (en) | Automated validation and security for digital assets in a computer environment | |
Gunawardana | Balancing Interoperability and Data Sensitivity: A Design Science approach to building a zero-knowledge API for Healthcare Data | |
Krishna et al. | MedBlockSure: Blockchain‐based insurance system |