Kogito人机规则-第1部分:进一步解决流口水
Kogito計劃是我們承諾將我們的業務自動化套件引入云和更大的Kubernetes生態系統的承諾。 但這對我們鐘愛的規則引擎Drools意味著什么? 在這篇文章中,我們介紹使用規則單元的模塊化規則庫: 一個特點,一直是在Drools中7一段時間的實驗 ,但是這將是其Kogito,它會發揮更大的作用。 這是系列文章的第一篇,我們將向您概述此功能。
讓流口水更進一步
Drools是我們最新的,高性能,功能豐富的開源規則引擎 。 人們喜歡它,因為它是瑞士軍刀 ,可以解決基于規則的人工智能可以解決的許多問題。 但是隨著計算機編程領域的發展,我們還需要考慮各種方法來帶來更多Drools。 您可能已經知道, Kogito是我們努力使Drools和jBPM真正成為云原生,并且非常適合無服務器部署:我們采用Quarkus框架和GraalVM的本機二進制編譯,以實現超快速的啟動時間和低內存。腳印; 但是我們不止于此。
我們希望帶給Drools進一步發展的方式是雙重的 :一方面,我們希望通過提供更好的方法來定義規則庫中具有更好模塊概念的邊界,從而使我們的編程模型更易于推理 。 另一方面,模塊化編程的概念至少可以追溯到1970年代和Parnas最初的開創性論文 。 不用說,如果我們的貢獻到此為止,我們將不會帶來任何新的變化。 在過去的幾年中,計算技術已經發展,緩慢但穩定地迎來了多核和分布式革命 。 然而,到目前為止,許多通用編程語言并沒有真正使編寫并行或分布式程序變得簡單。 規則為基礎的編程系統,我們必須提出一些不同的機會:一個規則引擎,是偉大的 單機時,但優秀的在云中。
模塊化規則庫。 如您所知,Drools提供了一種將規則集劃分為知識庫的便捷方法。 這樣的知識庫可以組合在一起,產生更大的規則集。 當實例化一個知識庫(所謂的會話 )時,規則被放到同一執行環境( 生產內存 )中,而值( 事實 )都被插入到同一工作內存中 。
這個模型非常簡單和強大,但是從某種意義上說它也非常有限 。 這非常簡單,因為作為規則庫的用戶,您只需要擔心數據:將值插入到工作內存中,引擎就發揮了不可思議的作用。 它非常強大,因為作為規則作者,您可以依靠編寫的規則來實現復雜的推理流程,而不必擔心它們將如何觸發以及何時觸發。
同時,這種執行模型缺少所有原則,這些年來,我們一直在學習的是良好的編程實踐。 例如,沒有適當的模塊概念:不可能將一個規則與另一個規則完全隔離,也無法正確劃分工作內存。 隨著規則庫復雜性的增加,可能很難理解觸發哪些規則以及為什么觸發。 從某種意義上說,就好像您在一個不存在適當的狀態封裝的奇怪世界中進行編程一樣,好像沒有發生多年的編程語言演進一樣。
面向對象的編程。 多年來,面向對象程序設計一詞已被重載,以表示許多不同的事物。 它必須與繼承 , 狀態封裝 , 代碼重用和多態性有關 。 所有這些術語經常引起混淆,但它們并不是真正相關的:您可以重用代碼而無需繼承,可以封裝狀態而無需對象,可以編寫多態代碼而無需類。 最近,諸如Go和Rust之類的命令式編程語言沒有附帶適當的類,但是它們支持一種面向對象的形式。 C ++的父親Bjarne Stroustrup甚至在2015年發表了精彩的演講,展示了他的孩子如何在不繼承的情況下支持面向對象 。
艾倫·凱(Alan Kay)是他在施樂(Xerox)的Smalltalk生涯中的父親, 他在OOPSLA 1997的鼓舞人心的演講中說:“我組成了“面向對象”,我可以告訴你我沒有C ++ 。 實際上,艾倫·凱(Alan Kay)率先提出的對象概念更類似于參與者和微服務的概念。 在正確的面向對象程序設計中,對象通過與外部世界交換消息 (通常稱為方法)來封裝其內部狀態并公開其行為。
如今,參與者系統已經復興,消息總線對于今天我們稱為反應式編程的中心非常重要,微服務幾乎是理所當然的。 因此,我們想知道,Drools成為這種新編程環境的一流公民意味著什么?
Kogito,ergo Cloud
在下一篇文章中,我們將看到我們使用規則單元進行基于規則的模塊化編程。 規則單元將為普通知識庫構成和執行的擴展模型提供替代方案。 我們相信,規則單元將為更廣泛的用例(包括并行和分布式體系結構)留出空間。 請繼續關注它們如何適應Kogito的故事,以及它們可能為我們的自動化平臺的未來帶來的令人興奮的可能性。
翻譯自: https://www.javacodegeeks.com/2019/08/kogito-ergo-rules-part-1-bringing-drools-further.html
總結
以上是生活随笔為你收集整理的Kogito人机规则-第1部分:进一步解决流口水的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 世界十大沙漠简介(世界著名沙漠遍及世界七
- 下一篇: 郑州市高中学校排名(郑州市最好的高中排行