如何实施";“有约束力”;Java中的有色petri网?

如何实施";“有约束力”;Java中的有色petri网?,java,binding,finite-automata,geometric-arc,petri-net,Java,Binding,Finite Automata,Geometric Arc,Petri Net,我正在用Java实现一个。这是一种有限状态自动机。问题是我不知道如何实现“绑定”。换句话说,应将颜色指定给位置,并将圆弧表达式指定给圆弧。执行转换后,网络应进入新状态。因此,我不知道如何将函数分配给圆弧。 我希望我的问题是清楚的,因为我不想在这里解释彩色petri网的基础知识。如果有人能提供一个web链接,以提供有色petri网的Java代码示例,或者提供一些如何为弧分配函数的想法,我将不胜感激 请举例说明如何创建静态函数数组,然后如何引用这些函数 本文展示了一种方法 请举例说明如何创建静态函数

我正在用Java实现一个。这是一种有限状态自动机。问题是我不知道如何实现“绑定”。换句话说,应将颜色指定给位置,并将圆弧表达式指定给圆弧。执行转换后,网络应进入新状态。因此,我不知道如何将函数分配给圆弧。
我希望我的问题是清楚的,因为我不想在这里解释彩色petri网的基础知识。如果有人能提供一个web链接,以提供有色petri网的Java代码示例,或者提供一些如何为弧分配函数的想法,我将不胜感激

请举例说明如何创建静态函数数组,然后如何引用这些函数

本文展示了一种方法

请举例说明如何创建静态函数数组,然后如何引用这些函数


本文展示了一种方法。

您是否希望使用运行时反射来确定函数?还是真正的匿名“lambda”函数?或者将索引存储在预先确定的函数引用数组中?例如,arc A1有一个函数F1,类似于:函数F1(int x,int y){return(x+y)}。此处,x和y的值应取自与具有给定圆弧的过渡连接的位置。但函数可能要复杂得多。如果我决定使用带有预定义函数引用的数组“arrayF”,那么如何存储这些函数呢?也就是说,arrayF[1]=?为了继续你的例子,我认为静态函数表是
F1
F2
F3
F4
,…,
F109
,等等。这更多的是一个函数有多动态的问题?它们是否在运行时添加/扩展?或者当你编译这个项目的时候,你知道所有的函数吗?当我编译这个项目的时候,我知道所有的函数。但是,当然,函数的输入变量的值在有色petri网的执行过程中会发生变化。我很想这样做,但我的Java fu很弱——我要求澄清,因为我认为这个问题可能需要澄清。您是否希望使用运行时反射来确定函数?还是真正的匿名“lambda”函数?或者将索引存储在预先确定的函数引用数组中?例如,arc A1有一个函数F1,类似于:函数F1(int x,int y){return(x+y)}。此处,x和y的值应取自与具有给定圆弧的过渡连接的位置。但函数可能要复杂得多。如果我决定使用带有预定义函数引用的数组“arrayF”,那么如何存储这些函数呢?也就是说,arrayF[1]=?为了继续你的例子,我认为静态函数表是
F1
F2
F3
F4
,…,
F109
,等等。这更多的是一个函数有多动态的问题?它们是否在运行时添加/扩展?或者当你编译这个项目的时候,你知道所有的函数吗?当我编译这个项目的时候,我知道所有的函数。但是,当然,函数的输入变量的值在有色petri网的执行过程中会发生变化。我很想这样做,但我的Java fu很弱——我要求澄清,因为我认为这个问题可能需要澄清。