设为首页 | 收藏本站
185 1521 8668

FEEL足够友好表达语言

发表时间:2025-03-10 15:47作者:Together规则引擎
文章附图

一、什么是FEEL?

FEEL(足够友好的表达语言)是一种强大而灵活的标准表达,由OMG®(对象管理组)开发的语言,作为决策模型和符号的一部分 (DMN™)国际标准。

它是在许多领域建模和管理决策逻辑的宝贵工具,包括医疗保健、金融、保险和供应链管理。FEEL专为决策建模和执行,对业务用户来说是人类可读的,同时仍然保持复杂决策所需的表达能力。它的简单性表现力与领域无关功能性、强大的类型、可扩展性和标准化使 FEEL 成为表示的宝贵工具并以清晰有效的方式执行复杂的决策逻辑。使用FEEL的组织享受更好的乐趣协作、提高生产力和更准确的决策。

二、什么是表达式语言

FEEL是一种低代码表达式语言,但是表达式语言脚本语言和编程语言之间有什么区别呢?它们都是用于编写代码的不同类型的语言,但它们具有独特的特征和用途。

l 表达式语言

表达式语言主要用于数据操作和配置目的。他们是专注于计算表达式,而不是提供成熟的编程功能。表达语言本质上通常是函数式的,这意味着在执行时表达式将替换为结果值。是什么使它们对开发人员和专业人士都具有吸引力?对于开发人员来说与通用开发语言相比,它们通常更简单,使用更有限语法编程语言或脚本语言。由于其简单性,表达式语言通常更具可读性对于非程序员或没有广泛编码背景的用户来说更易于使用。FEEL是一个 标准表达式语言。

l 脚本语言

脚本语言提供抽象和更高级别的结构,在开发中使用它们比其他编程语言更容易、更简洁。它们通常解释而不是编译,这意味着代码由解释器逐行执行,而不是在执行之前转换为机器代码。脚本语言比较Python、JavaScriptgroovy和 Ruby。

l 编程语言

编程语言是通用计算机语言,旨在表达算法和指令以执行各种任务和创建应用程序。 它们提供了用于开发复杂算法、数据结构和用户界面的广泛特性和功能。由于可以将代码直接编译为机器代码,因此与脚本语言相比,它们提供了更好的性能。编程语言的示例包括 C++、Java 和 C#。

FEEL类似Microsoft Power FX(Excel公式语言)吗?

FEEL和Power FX都是用于数据、业务规则和表达式的表达式语言,但在不同的背景。Power FX是一种基于Excel公式语言的低代码编程语言,量身定制对于Microsoft Power Platform,在处理复杂的决策逻辑方面存在一些限制。一旦业务逻辑变得有点棘手,Power FX表达式往往变得非常复杂,难以阅读和维护。 FEEL是一种人类可读的决策建模语言,专为业务分析师和领域专家,提供一组丰富的功能来定义决策逻辑,包括对数据的支持转换、嵌套决策结构和迭代。FEEL提供清晰的逻辑和数据分离,使理解和维护复杂的决策模型变得更加容易。

虽然Power FX在Microsoft Power Platform中具有可视化开发环境,但FEEL主要用于支持 DMN 和流程编排平台的业务规则和决策管理系统。 FEEL是跨多个BPM和决策管理平台的语言标准,提供互操作性,而 Power FX 与 Microsoft Power Platform 服务紧密集成。

FEEL对于技术人员和商务人士的优势。

l FEEL的技术优势

决策焦点语言

FEEL 专为决策建模和业务规则而设计。 它提供了一组丰富的内置函数和运算符,专为常见决策任务而定制。 这种以决策为中心的性质使得 FEEL 具有高度的表现力和高效的复杂业务逻辑建模能力。

表现力

FEEL 支持常见的数学运算、字符串操作、日期和时间函数、时间逻辑等等。这种表现力使复杂的决策规则能够以简洁和直观的方式。

决策表支持

FEEL具有对决策表的原生支持,决策表是表示决策逻辑的常用技术。决策表提供规则和结果的表格表示形式,使其易于理解和维护复杂的决策逻辑。

强类型化和类型推断

FEEL是一种强类型语言,这意味着它强制执行严格的类型检查。此功能有助于防止通过确保值和操作兼容来消除常见的编程错误。

对FEEL的盒装表达式支持

盒装表达式允许直观地构建FEEL表达式和语句 包括:

If, then, else语句

For, in, return语句

List成员资格声明

...等等。

这些可视化结构以及自动完成功能使创建、阅读和理解变得复杂 表达式易于建模和调试。

灵活性和模块化

FEEL 支持模块化规则定义和可重用表达式,促进代码重用和可维护性。它允许创建决策模型和规则集,这些模型和规则集可以轻松扩展、修改和更新为业务需求发生变化。这种灵活性确保了决策过程的敏捷性。

测试和调试

FEEL 表达式可以独立于较大的应用程序或系统进行测试和调试。这使用户能够在部署之前验证和验证决策逻辑,确保准确性和可靠性。 FEEL还提供错误处理和异常机制,帮助识别和解决决策模型中的问题。

执行效率

FEEL表达式旨在高效执行,提供快速且可扩展的性能。 FEEL引擎通常使用优化的评估算法和数据结构来确保决策逻辑的高速执行,即使对于复杂的规则集也是如此。

集成FEEL

可以轻松与其他编程语言和平台集成。许多决策管理系统和业务规则引擎支持将FEEL 表达式与其他代码一起执行,或作为更大的应用程序。这样就可以通过服务将决策逻辑无缝集成到现有IT中体系结构和工作流。

扩展

FEEL可以通过特定领域的功能和运营商进行扩展,以满足特定行业或业务的需求域。可以定义这些扩展以封装常见计算、业务规则或行业特定的逻辑,实现更大的可重用性和模块化。

互操作性

FEEL 还支持在不同组织和应用程序之间共享和重用决策模型。

TogetherFEEL的支持

最全面的 FEEL 实施

Together为 DMN 提供业界最全面的建模和自动化工具,包括对 FEEL 表达式语言的完整语法、文法和函数的支持。 要了解有关Together支持的基本类型、逻辑运算符、算术运算符、间隔、语句、提取和过滤器的更多信息,请参阅Together规则引擎使用手册。

FEEL盒装表达式

盒装表达式是决策逻辑的直观描述。 Together的可视化编辑器使非程序员和专业程序员都可以轻松创建盒装表达式和 FEEL 表达式。

FEEL函数

Together内置整套FEEL函数,可在编辑器中选择。可视化编辑器还为用户提供的自定义FEEL功能提供支持

自动完成

Together FEEL自动完成功能建议变量和函数名称,包括限定名称 编辑表达式时键入,从而节省时间并提高准确性。

FEEL作为一种通用表达语言

Together还将国际标准FEEL表达语言的可用性扩展到支持OMG标准的工作流BPMN) 和案例管理 (CMMN) 可视化建模器。例如,FEEL 表达式可用于 在 BPMN 中提供网关逻辑,在 CMMN 中为哨兵提供 If 部分条件表达式。

FEEL验证和调试

Together 提供 FEEL 验证和实时全功能调试功能。了解更多 关于测试和调试,请阅读Together规则引擎使用手册。

文章分类: DMN建模
分享到:
精选文章
公众号
关于我们
联系方式
让您的业务更自动化、智能化!
联系邮箱:   zhangy@jee-soft.cn       wangyl@jee-soft.cn
185 1521 8668
183 3562 2627
联系电话: