diff --git a/workflow-engine-server/pom.xml b/workflow-engine-server/pom.xml
index 934ed9487..f2d0c0098 100644
--- a/workflow-engine-server/pom.xml
+++ b/workflow-engine-server/pom.xml
@@ -142,6 +142,11 @@
cn.axzo
riven-api
+
+ com.googlecode.aviator
+ aviator
+ 5.4.3
+
diff --git a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/Main.java b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/Main.java
new file mode 100644
index 000000000..1f6b3da0a
--- /dev/null
+++ b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/Main.java
@@ -0,0 +1,25 @@
+package cn.axzo.workflow.server;
+
+import com.googlecode.aviator.AviatorEvaluator;
+import com.googlecode.aviator.AviatorEvaluatorInstance;
+import com.googlecode.aviator.EvalMode;
+import com.googlecode.aviator.Expression;
+import com.googlecode.aviator.Options;
+
+import java.util.List;
+
+/**
+ * TODO
+ *
+ * @author wangli
+ * @since 2024-11-28 10:06
+ */
+public class Main {
+ public static void main(String[] args) throws Exception {
+ AviatorEvaluatorInstance engine = AviatorEvaluator.newInstance(EvalMode.ASM);
+ engine.setOption(Options.TRACE_EVAL, false);
+
+ Expression exp = engine.compile(" for i in range(0,10) { p(i);}");
+ exp.execute();
+ }
+}
diff --git a/workflow-engine-server/src/main/resources/examples/basic.av b/workflow-engine-server/src/main/resources/examples/basic.av
new file mode 100644
index 000000000..845d2e75a
--- /dev/null
+++ b/workflow-engine-server/src/main/resources/examples/basic.av
@@ -0,0 +1,10 @@
+let a = 99;
+let b = 0xFF;
+let c = -99;
+
+println(a + b);
+println(a / b);
+println(a - b + c);
+println(a + b * c);
+println(a - (b - c));
+println(a / b * b + a % b);
\ No newline at end of file
diff --git a/workflow-engine-server/src/main/resources/examples/hello.av b/workflow-engine-server/src/main/resources/examples/hello.av
new file mode 100644
index 000000000..1bbe1f175
--- /dev/null
+++ b/workflow-engine-server/src/main/resources/examples/hello.av
@@ -0,0 +1 @@
+println("hello,AviatorScript!");
\ No newline at end of file
diff --git a/workflow-engine-server/src/main/resources/examples/use.av b/workflow-engine-server/src/main/resources/examples/use.av
new file mode 100644
index 000000000..03559bf3d
--- /dev/null
+++ b/workflow-engine-server/src/main/resources/examples/use.av
@@ -0,0 +1,18 @@
+## examples/use.av
+
+use java.util.*;
+
+let list = new ArrayList(10);
+
+seq.add(list, 1);
+seq.add(list, 2);
+
+p("list[0]=#{list[0]}");
+p("list[1]=#{list[1]}");
+
+let set = new HashSet();
+seq.add(set, "a");
+seq.add(set, "a");
+
+p("set type is: " + type(set));
+p("set is: #{set}");