The original implementatio is in Java with AspectJ extension.

https://www.researchgate.net/publication/331274514_Aspect-Oriented_a_Candidate_for_the_Biologically_Inspired_Programming_Paradigm_for_Neural_Networks_and_Evolvable_Software

To leverage the AI related Python libs, let’s reimplement it in Python.

Summary

The generalized action integral for a Selfbit system:

$GI = ∫t₁t₂[½m(α̇² + β̇²) − V(|α|², |β|²)]dt$

represents the dynamic optimization of self-referential and external-referential behaviors. The least-action path derived from this integral shows how the Selfbit evolves over time, balancing effort (kinetic energy) against intrinsic preferences or constraints (potential energy). This framework has significant applications in physics, AI, and self-organizing systems.

$$ ∣S⟩=α∣Self⟩+β∣Other⟩|S⟩ = \alpha|Self⟩ + \beta|Other⟩ $$

To better simulate the behavior of AspectJ, we can further abstract the AONeuron class to make it similar to AspectJ's Aspect class. We will create a base Aspect class that can be inherited by AONeuron, SensoryNeuron, and MotorNeuron.

Aspect Class

class Aspect:
    def __init__(self):
        pass

    def pointcut(self, join_point):
        def decorator(func):
            def wrapper(*args, **kwargs):
                return func(*args, **kwargs)
            return wrapper
        return decorator

    def before_advice(self, join_point):
        def decorator(func):
            def wrapper(*args, **kwargs):
                self.before(join_point)
                return func(*args, **kwargs)
            return wrapper
        return decorator

    def after_advice(self, join_point):
        def decorator(func):
            def wrapper(*args, **kwargs):
                result = func(*args, **kwargs)
                self.after(join_point)
                return result
            return wrapper
        return decorator

    def around_advice(self, join_point):
        def decorator(func):
            def wrapper(*args, **kwargs):
                self.before(join_point)
                result = func(*args, **kwargs)
                self.after(join_point)
                return result
            return wrapper
        return decorator

AONeuron Class

class AONeuron(Aspect):
    def __init__(self):
        super().__init__()
        self.transmitter_to_release = False
        self.transmitter_received = False

    def axon_pointcut(self):
        return self.pointcut("axon")

    def dendrite_pointcut(self):
        return self.pointcut("dendrite")

    def axon_advice(self):
        def decorator(func):
            def wrapper(*args, **kwargs):
                return self.transmitter_received
            return wrapper
        return decorator

    def dendrite_advice(self):
        def decorator(func):
            def wrapper(*args, **kwargs):
                result = func(*args, **kwargs)
                self.transmitter_received = result
                return result
            return wrapper
        return decorator

SensoryNeuron Class

class SensoryNeuron(AONeuron):
    def __init__(self):
        super().__init__()

MotorNeuron Class