Under what circumstances will an aspect arise in software? Generate highscale networks?
If we can answer the above questions, can we also answer the circumstances under which new neurons and the links of new neurons are generated?
3. Then there is artificial intelligence, symbolism (Graph), connectionism (ANN)
Wild intelligence is an ability, a kind of energy with strong generalization ability. Intelligent
energy can be seen behind abilities such as running, hunting, picking, making tools,
courtship, communication, etc., so it is called intelligence.
A simple understanding of artificial intelligence
Machine Translated by Google
4. If we can answer the above questions, can we also answer the circumstances under which new neurons and the links of new neurons are generated?
Under what circumstances will an aspect arise in software? Generate high-
scale networks?
Machine Translated by Google
5. SoC: Separation of Concerns "Separation of
Concerns" , even though it may not be perfect, is currently
the only available way to organize your thoughts.
Edsger W. Dijkstra
"On the Function of Scientific Thought"
"The design principle of all things"
Machine Translated by Google
6. Scattered in the system and difficult to encapsulate
Orthogonal concerns are
easy to encapsulate
cross-cutting concerns
Lacking methods and tools, is aspect-oriented programming the latest attempt? Learn from nature?
Functional programming, object-oriented programming
"Crosscutting Concerns"
Machine Translated by Google
7. Journal of Software: Evolution and Process · March 2016
Mario Luca Bernardi, Marta Cimitile and Giuseppe Di Lucca
Examples of cross-cutting concerns
Image source: Mining static and dynamic crosscutting concerns: A role-based approach
(Note how the green cross-cutting code validation is scattered across the various vertical modules)
Machine Translated by Google
9. Scattered in the system and difficult to encapsulate
Orthogonal concerns are
easy to encapsulate
cross-cutting concerns
Functional programming, object-oriented programming Lacking methods and tools, is aspect-oriented programming the latest attempt? Learn from nature?
There is a pain called "crosscutting concerns"
Machine Translated by Google
11. Recent attempts: Aspect Oriented Programming encapsulates cross-
cutting concerns into programming semantics as Aspect
Machine Translated by Google
13. SoC: Separation of Concerns "Separation of
Concerns" , even though it may not be perfect, is currently
the only available way to organize your thoughts.
Edsger W. Dijkstra
"On the Function of Scientific Thought"
"The design principle of all things"
Machine Translated by Google
14. SoC: Separation of Concerns "Separation of
Concerns" , even though it may not be perfect, is currently
the only available way to organize your thoughts.
Edsger W. Dijkstra
"On the Function of Scientific Thought"
"The design principle of all things"
Machine Translated by Google
15. Movement, the basis of animal survival, requires the cooperation of all parts of the body and is a typical system
cross-cutting.
The cells differentiate into legs that allow the radiolarians to move in water with
limited movement. Corresponds to process-oriented programming.
The most primitive movement, single-cell radiolaria
How Nature Deals with Crosscutting Concerns—Movement
Machine Translated by Google
16. Cell shrinkage, object call
Communication between objects in object-oriented software is very similar to
primitive multicellular animals without nervous systems, such as sponges. Cells
communicate directly through gap junctions to produce simple movements. The
communicating cells must know the existence of each other (object name).
MuscleCell sponge_cell = new MuscleCell();
sponge_cell.contract();
TAGTAL LABS
Seawater is expelled through the contraction and relaxation of cells, and the
sponge floats in the seawater to obtain nutrients.
Machine Translated by Google
17. However, they are often clumsy, inflexible, and difficult to maintain.
TAGTAL LABS
Various forms of glass sponges
"Original" OO can also build complex systems
Machine Translated by Google
18. Nerve cells generate more complex movements to 'prey'
http://musculuscomplexio.weebly.com/hydra-oligactis.html
Leech's mouthparts create complex movements to capture single-celled microorganisms
"Transverse" nervous systems first appeared in coelenterates (such as leeches).
Neurons are partially separated from the potentiators (muscle cells) and form a nerve
center-less neural network through which neural signals are broadcast throughout the
body to stimulate all muscle cells to produce simple, slow predatory movements.
TAGTAL LABS
Machine Translated by Google
19. Redundant system, and difficult to produce complex movements. The occurrence of new motor
organs also requires more complex motor control. The central nervous system of vertebrates,
Aspect of Aspect
TAGTAL LABS
Earthworms create complex movements using reusable components
Machine Translated by Google
20. Each earthworm body segment contains the "code" for how to
produce movement by alternating actions of longitudinal and
circular muscles - the ganglion, a "single-purpose" aspect.
TAGTAL LABS
https://upload.wikimedia.org/wikipedia/commons/e/ea/Annelid_redone_w_white_background.svg
Reusable motion components—body segments
Machine Translated by Google
22. Aspect
object object
Analogy: Nerve + Muscle vs Aspect + Object
VS
TAGTAL LABS
Both Neuron and Aspect are "encapsulation" of cross-cutting concerns.
Machine Translated by Google
25. Advice
axon
point of contact between synaptic axon and target cell
Point Cut
Code points where aspect intersects with the target
object
Signal Transduction
Code point context acquisition mechanism for target
objects
join
point
Code snippets, injected at the join point and run
in the context of the target object, can change the
running state of the object.
Components that connect neurons to target
cells
Signal transduction is the process by which
chemical or physical signals are transmitted
through cells as a series of molecular events,
ultimately causing a cellular response.
Neurons Aspect
Machine Translated by Google
26. Advice, which is similar to neuron signal transduction logic, is the logic to implement
cross-cutting. It can change the behavior of the target object synapsed by its own
PointCut's connection point, and can be activated by the connection point. The
activated Advice performs certain operations, such as before(), around(), and
after(), in the context of the join point to achieve crosscutting. Advice is not accessible
to any object. In other words, the object cannot call the operation of Advice, thus
ensuring cross-cutting modularity.
Advice vs Transduction
Machine Translated by Google
27. Aspects can pass information from target to target. We call it PointCut, which transfers
information from the target to the aspect where it belongs, similar to the dendrites of a neuron.
PointCut together with join point adds a new communication mechanism similar to synaptic
communication in the OO paradigm. PointCut is the main execution unit of Aspect and is
able to obtain the context of the target object synapsed by its own connection point (we
also call it the context of the connection point). A PointCut connected to at least one Advice
can have multiple connection points, which are program execution points similar to cell
membrane receptors defined in an object or aspect. It can be a method call, method
execution, etc., through which PointCut synapses with an object or aspect. In contrast, the
direction of impulse transmission in the axon of most neurons is always from the base of
the axon to its terminal, the information in PointCut is transmitted directly in both directions, i.e.
Point Cut vs AXON
Machine Translated by Google
28. In order to meet the needs of survival, animals have developed more complex
modes of movement through evolution, such as jetting, swimming, crawling,
running, flying, jumping, walking...
Complex behaviors are not accomplished by direct communication between muscle cells, but by centralized
control by nerve centers. Obviously, this method can reduce the complexity of the animal. Otherwise, for example,
every muscle cell on the body segment must have the same "movement logic". We could say that nature has
encapsulated "crosscutting" into ganglia (neurons). This phenomenon is more common in vertebrates (Fig. 1).
The extreme example is the cortex, where the most complex "crosscuttings" such as emotions and learning
abilities are well processed.
Aspect of AspectThe depth of the hierarchy
Machine Translated by Google
30. The sensory neuron in neuronal network is
implemented as an aspect whichhas two pointcuts ,
axon() and dendrite(), similar to that of neuron.
Machine Translated by Google
31. MotorNeuron is an aspect similar to SensoryNeuron. However there are
two differences between SensoryNeuron and MotorNeuron.
Machine Translated by Google
32. If we can answer the above questions, can we also answer the circumstances under which new neurons and the links between new neurons are generated?
Under what circumstances will an aspect arise in software? Generate high-
scale networks?
Machine Translated by Google
33. The transfer probability is recorded as
reflected on the Internet
Noise level.
Represents possible transitions and their probabilities in the causal structure network, transitions between nodes
The average value of Shannon entropy on all nodes represents the causal structure of the network.
(normalized according to the total weight of the network), its Shannon entropy
Effective information = Shannon entropy of causal structured
network - mean value of Shannon entropy of each node
The vector contains the sum of each node's incoming weights from its previous neighbor.
a definite distribution. If all nodes are linked to the same node then
causal emergence
Machine Translated by Google
40. It may be surprising that evolving networks are so inefficient. However,
as we will show, inefficiency can actually indicate the presence of
informative (macro) dependencies in the system. That is, the low
efficiency may reflect the fact that biological systems often contain
higher-scale causal structures, as we will demonstrate in the next section.
Machine Translated by Google
42. Causal emergence occurs when a reorganized network GM (macro scale) has more
effective information EI than the original network G (micro scale). In general, less
efficient networks (EIs that are smaller relative to their network size) are more likely to
emerge because these networks can be remapped to reduce their uncertainty.
Searching the space of possible recombination ways can identify or approximate the
macroscopic network scale that maximizes EI.
Macro nodes may be in the same network as micro nodes. Existing methods for
searching network mapping that maximize EI: two-node combination method (three-
node combination is too computationally expensive), greedy search (local optimal solution)
Machine Translated by Google