r/compsci • • 8d ago

RuleFlow: A research engine/framework and terminal IDE (Not AI Slop)

Main Website: https://www.ruleflow.org/

For the past year, I have been developing a framework to simulate certain discrete systems for a research team at my university (paid for by the School of Engineering and Physics, but I had the freedom to license it under MIT). As it turns out, I got carried away generalizing it to work for many, many different types of complex systems (String Rewriting Systems, Cellular Automata, etc.) and ended up creating our own domain-specific language.

The website's landing page has a bunch of GIF-style examples... so you should be able to get a good idea of what this project is about.

If any of y'all are interested in this, feel free to take a look and try it out!

EDIT:

Out of the interest of not being "vague", here are some more details. RuleFlow was developed with a primary focus on analyzing causality in Sequential Substitution Systems. This is why there is a major focus on causal graphs, cellular identity, etc. While originally developed for Sequential Sub Systems, we generalized the DSL to support many types of rewriting systems by providing the user with flags and directives to control how rules behave. Furthermore, we bootstrapped Python and the Wolfram Language so that complex rulesets could be scaffolded as macros. The main goal of RuleFlow is NOT simply to simulate systems (there's already plenty of software for that, such as Golly and even just Mathematica), but to provide extensive tooling for causal analysis.

Here is some interesting research from our (small) team:

My job has been to provide better research tooling, extending what we already have in Mathematica code to open source and free Python.

103 Upvotes

9 comments sorted by

5

u/GreatCosmicMoustache 8d ago

Neat! Is this connected to the Wolfram Physics Project or other discrete spacetime models? The causal graph ideas seem to be of that lineage

3

u/sciencenerd_1943 8d ago

Yes, definitely "Wolfram" inspired. While Stephen Wolfram has separated himself from the scientific community in many ways, many of his ideas and research tracks still have merit. Our research team has been exploring more mathematical/theoretical directions, though. The goal of creating RuleFlow was to provide open-source tooling for causal analysis. More details in my edit above.

1

u/GreatCosmicMoustache 7d ago

Right. My understanding is that much of the causal hypergraph stuff was pioneered by Jonathan Gorard, and not really Wolfram himself, though he provided the foundation. Gorard's work, that I've read anyway, was about constructing a framework to study the limit behavior of certain types of hypergraph rewriting systems, which turns out to be Lorentzian manifolds and that kind of partial order continuous math that is relevant in physics. I'm curious what you guys are doing with it

2

u/sciencenerd_1943 5d ago

Our research has focused more on the mathematical properties of SSS systems (their rule sets and the properties of algorithms that can enumerate them), along with the analysis of causal networks in general as of late (see the early conference paper on I-Cat compression). Lately, the team has been applying these ideas in biophysics and music theory, to name a few. Several new papers are currently in the making as a result.

What's so cool about our team is that it is mostly composed of ambitious undergrads (myself included), along with several professors who lead and contribute to the team. In this open-ended type of research, there is a lot more freedom than the time-restricted pressure to publish papers by deadlines, as is often the case in other REUs (and academia in general).

1

u/jyatesdotdev 6d ago edited 6d ago

This is really cool, thanks for sharing! I feel like it goes way over my head but can’t wait to play around with it!

EDIT: also appreciate the code quality standards you have, so nice to see.

1

u/sciencenerd_1943 5d ago

Thanks for the compliment! Submit any issues you may find to the repo. This project is still sort of in an early, research-oriented stage.

-9

u/VictoryMotel 8d ago

Everything you wrote is very vague. You didn't even name the university, let alone what problem this solves.

7

u/sciencenerd_1943 8d ago

I edited my post to have some more details and background info. I initially assumed enough info on the website. My bad.

8

u/synept 8d ago

It's for simulating discrete systems. That's the problem it solves.