精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

當前位置:新聞中心行業動態 → 正文

微軟開源P語言,實現安全的異步事件驅動編程

責任編輯:editor004 作者:Sergio De Simone |來源:企業網D1Net  2016-10-17 12:14:45 本文摘自:INFOQ

微軟最近開源了P語言,致力于在Linux、macOS和Windows上編寫安全的異步事件驅動程序。

微軟將P描述為一種領域特定語言,對異步系統的組件間通信進行建模,例如嵌入式、網絡或分布式系統。P程序是通過有限狀態機(finite state machine)來定義的,這些狀態機會并發運行。每個狀態機都有一個輸入隊列、狀態、轉換、機器本地存儲,并且可以發送異步信息給其他狀態機。在P中的基本操作要么是更新本地存儲,發送消息,要么就是創建新的狀態機。如下的代碼片段展示了如何使用P來描述一個狀態及其轉換。除此之外,它還展現了如何發送消息或創建新的狀態機:

...start state Init { entry { server = new Server(); raise SUCCESS; } on SUCCESS goto SendPing;state SendPing { entry { send server, PING, this; raise SUCCESS; } on SUCCESS goto WaitPong;}...

按照微軟的說法,P程序能夠使用模型檢查功能來進行核實。這樣的話,就允許開發人員確保所有的事件均能得到及時地處理。對于P程序來說,要想保證響應性,它的狀態機就要處理每個狀態上所有可以出隊(dequeue)的事件。這種做法并不一定總是可行,因此對一些事件可能會進行延遲處理。在這種情況下,語言能夠確保某個事件不會無限期延遲。P編譯器能夠核實程序的狀態,還可以生成C代碼,并交給C編譯器執行,另外,它還可以輸出Zing模型,用于系統測試。Zing是一個針對并發程序的開源模型檢查器,它能夠系統性地暴露一個模型所有可能出現的狀態。

微軟使用P語言實現和檢驗了Windows 8 USB設備驅動棧的核心功能。按照微軟的說法,工程師使用P來序列化大量來自硬件、操作系統、功能驅動以及其他驅動組件的不同事件,提升了性能和可靠性。他們尤其指出,在新的USB hub驅動中,非法內存訪問和競態條件的數量不那么明顯了,同時,枚舉時間快了30%,也沒有觀察到worker條目餓死的現象。

查看英文原文:Microsoft Open-Sources P Language for Safe Async Event-Driven Programming

關鍵字:開源事件

本文摘自:INFOQ

x 微軟開源P語言,實現安全的異步事件驅動編程 掃一掃
分享本文到朋友圈
當前位置:新聞中心行業動態 → 正文

微軟開源P語言,實現安全的異步事件驅動編程

責任編輯:editor004 作者:Sergio De Simone |來源:企業網D1Net  2016-10-17 12:14:45 本文摘自:INFOQ

微軟最近開源了P語言,致力于在Linux、macOS和Windows上編寫安全的異步事件驅動程序。

微軟將P描述為一種領域特定語言,對異步系統的組件間通信進行建模,例如嵌入式、網絡或分布式系統。P程序是通過有限狀態機(finite state machine)來定義的,這些狀態機會并發運行。每個狀態機都有一個輸入隊列、狀態、轉換、機器本地存儲,并且可以發送異步信息給其他狀態機。在P中的基本操作要么是更新本地存儲,發送消息,要么就是創建新的狀態機。如下的代碼片段展示了如何使用P來描述一個狀態及其轉換。除此之外,它還展現了如何發送消息或創建新的狀態機:

...start state Init { entry { server = new Server(); raise SUCCESS; } on SUCCESS goto SendPing;state SendPing { entry { send server, PING, this; raise SUCCESS; } on SUCCESS goto WaitPong;}...

按照微軟的說法,P程序能夠使用模型檢查功能來進行核實。這樣的話,就允許開發人員確保所有的事件均能得到及時地處理。對于P程序來說,要想保證響應性,它的狀態機就要處理每個狀態上所有可以出隊(dequeue)的事件。這種做法并不一定總是可行,因此對一些事件可能會進行延遲處理。在這種情況下,語言能夠確保某個事件不會無限期延遲。P編譯器能夠核實程序的狀態,還可以生成C代碼,并交給C編譯器執行,另外,它還可以輸出Zing模型,用于系統測試。Zing是一個針對并發程序的開源模型檢查器,它能夠系統性地暴露一個模型所有可能出現的狀態。

微軟使用P語言實現和檢驗了Windows 8 USB設備驅動棧的核心功能。按照微軟的說法,工程師使用P來序列化大量來自硬件、操作系統、功能驅動以及其他驅動組件的不同事件,提升了性能和可靠性。他們尤其指出,在新的USB hub驅動中,非法內存訪問和競態條件的數量不那么明顯了,同時,枚舉時間快了30%,也沒有觀察到worker條目餓死的現象。

查看英文原文:Microsoft Open-Sources P Language for Safe Async Event-Driven Programming

關鍵字:開源事件

本文摘自:INFOQ

電子周刊
回到頂部

關于我們聯系我們版權聲明隱私條款廣告服務友情鏈接投稿中心招賢納士

企業網版權所有 ©2010-2024 京ICP備09108050號-6 京公網安備 11010502049343號

^
  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 犍为县| 闸北区| 普兰县| 环江| 林州市| 永修县| 中江县| 安西县| 枝江市| 桐城市| 穆棱市| 瑞安市| 新绛县| 通辽市| 马公市| 铜梁县| 五莲县| 连平县| 辽阳市| 宜良县| 和顺县| 夏津县| 邵阳县| 南开区| 缙云县| 岐山县| 大石桥市| 桐城市| 乌拉特中旗| 高唐县| 仁寿县| 新河县| 永年县| 盈江县| 西充县| 邛崃市| 承德县| 驻马店市| 浮山县| 余姚市| 克山县|